Felo API PlatformFelo API Platform

Cổng LLM

Cổng LLM có sẵn lớp dữ liệu

Ba URL gốc, một khóa, một số dư. Chat, ảnh, video và mô hình quyết định bằng SDK bạn đang dùng; tìm kiếm, tài liệu và slide trên cùng số tín dụng — từ một phần mười giá chính thức của nhà cung cấp.

  • ⁦10⁩%

    Giá khởi điểm, so với giá API chính thức của nhà cung cấp

  • ⁦5,000+⁩

    API trong cùng danh mục

Một cổng thường chỉ có một bề mặt. Cổng này có ba.

Chúng dùng chung tài khoản, khóa và số dư, nhưng trả lời những câu hỏi khác nhau và nằm ở URL gốc khác nhau. Biết mình đang gọi cái nào chính là mấu chốt.

Bề mặtURL gốcDùng để làm gì
API mô hìnhopenapi.felo.ai/api/v1 · openapi.felo.ai/apiGọi thẳng mô hình ngôn ngữ, ảnh, video hoặc quyết định
API dữ liệuopenapi.felo.ai/v1/betaGọi một nhà cung cấp dữ liệu hoặc tìm kiếm bên thứ ba theo tên
Felo APIsopenapi.felo.ai/v2Quy trình riêng của Felo: tìm kiếm, văn phòng, trích xuất, tri thức

Một khóa dùng cho cả ba. Một lần nạp mua tín dụng dịch vụ bằng USD, và lệnh gọi mô hình, lệnh gọi API dữ liệu, quy trình Felo đều trừ từ cùng số dư — không có tài khoản riêng cho từng nhà cung cấp.

Đọc tài liệu

Sáu endpoint, không phải một

Mọi thứ dưới /api/v1 đều là lệnh gọi mô hình, nhưng loại mô hình quyết định endpoint nào có thể trả lời — và mỗi endpoint trả về định dạng riêng.

EndpointGiao thứcTrả về
POST /api/v1/chat/completionsOpenAI Chat CompletionsStream hoặc một phản hồi
POST /api/v1/responsesOpenAI ResponsesStream hoặc một phản hồi
POST /api/v1/messagesAnthropic MessagesStream hoặc một phản hồi
POST /api/v1/images/generationsVỏ bọc ảnh của OpenAIMột task_id để hỏi trạng thái
POST /api/v1/videos/generationsVỏ bọc video của OpenAIMột task_id để hỏi trạng thái
POST /api/v1/decisionsLược đồ quyết định của FeloPhản hồi có kiểu, không stream

Ba bề mặt chat là triển khai gốc, không phải lớp dịch: mỗi bề mặt phát sự kiện theo giao thức của riêng nó, nên bạn phân tích stream y hệt như hiện nay.

Chọn endpoint theo loại mô hình, đừng đoán

Mỗi mô hình trong danh mục mang một model_kind, và loại đó quyết định endpoint nào có thể gọi nó. Việc tra cứu miễn phí: nó đọc danh mục cục bộ.

# discover before you call — free, reads the catalog
GET /api/v1/models   # every kind, with channels and rates
GET /api/v1/models/{model_id}  # one model, in detail
GET /api/v1/videos/models     # video_generation only
GET /api/v1/decisions/models  # decisions only
model_kindEndpoint
chatResponses, Chat Completions hoặc Messages, tùy mô hình hỗ trợ gì
image_generationPOST /api/v1/images/generations
video_generationPOST /api/v1/videos/generations
decisionsPOST /api/v1/decisions

Lọc bằng ?provider= để chỉ xem một nhà cung cấp, hoặc ?exclude_video_and_decisions=true để ẩn mọi thứ trừ chat và ảnh. Có mặt trong danh mục không phải lời hứa: mô hình video không trả lời yêu cầu chat, và API trả model_kind_mismatch.

Tuyến mặc định, hoặc một header để tự chọn nhà cung cấp

Một mô hình có thể được phục vụ bởi nhiều kênh thượng nguồn, mỗi kênh có nhà cung cấp và mức giá công bố riêng. Không có header thì nền tảng tự chọn; có X-Felo-Channel thì bạn chọn.

# first channel only — no automatic fallback
X-Felo-Channel: claude-cc
X-Felo-Channel: claude-cc,anthropic  # ordered selection, not a retry list
  • Giá trị là danh sách mã kênh công khai có thứ tự, lấy từ channels[].code của mô hình, được kiểm tra theo đúng thứ tự bạn viết.
  • Chỉ nhóm nhà cung cấp của kênh đầu tiên được gọi, và bạn trả giá của kênh đó.
  • Không có chuyển kênh tự động. Danh sách kênh là một lựa chọn, không phải chính sách thử lại — nếu một nhà cung cấp lỗi, hãy gửi lại từ ứng dụng của bạn với kênh khác.

X-Felo-Channel hoạt động trên sáu endpoint tạo sinh ở trên. Nó không áp dụng cho API dữ liệu hay Felo APIs: những lệnh gọi đó đi tới nhà cung cấp bạn nêu trong yêu cầu.

Đọc tài liệu

Một lệnh gọi thực sự tốn bao nhiêu

Lệnh gọi mô hình tính theo token — đầu vào, đầu ra và cache — nhân với hệ số giảm giá của kênh. Giá hiển thị theo triệu token cho dễ đọc, nhưng việc tính tiền dùng độ chính xác tới từng token của bảng giá hiện hành: một yêu cầu ngắn không bao giờ bị làm tròn lên một triệu.

  • Giá cache chỉ áp dụng khi phản hồi giao thức báo có dùng cache; mô hình không báo thì tính toàn bộ theo giá đầu vào.
  • Tìm kiếm web do dịch vụ mô hình tự thực hiện và báo cáo có giá $0.01 mỗi lần.
  • Một số mô hình chia bậc theo độ dài prompt: Claude Haiku 5.5 giá $0.10 đầu vào và $0.50 đầu ra mỗi triệu token cho prompt tới 100K token, vượt mức đó là $0.50 và $2.50 cho toàn bộ yêu cầu.
  • Lần nạp đầu tiên là $1. Không thuê bao, không phí theo người dùng, không cam kết tối thiểu — khóa không dùng thì không tốn gì.

Lệnh gọi API dữ liệu và quy trình Felo cũng trừ từ số dư đó, mỗi loại theo mức giá công bố của nó: mỗi yêu cầu thành công, mỗi mục trả về hoặc theo mức dùng thực tế.

Xem giá và tín dụng

Hai giới hạn trông giống nhau nhưng không phải

Hết số dư trả 402 INSUFFICIENT_CREDITS. Gọi quá nhanh trả 429 RATE_LIMITED. Chờ đợi giải quyết cái thứ hai và không bao giờ giải quyết cái thứ nhất.

Mã trạng tháiMã lỗiCần làm gì
401UNAUTHORIZEDSửa hoặc tạo lại khóa
402INSUFFICIENT_CREDITSNạp tiền trong phần thanh toán của console rồi gửi lại
404phụ thuộc endpointKiểm tra ID mô hình, ID tác vụ hoặc đường dẫn
429RATE_LIMITEDChờ Retry-After rồi thử lại
5xxCHAT_FAILED, SERVICE_UNAVAILABLEThử lại với backoff lũy thừa và jitter

Hiện chỉ /v2/chat công bố giới hạn cứng. Lệnh gọi mô hình cũng có thể bị giới hạn ở thượng nguồn, và điều đó hiện ra dưới dạng 429 — hãy đọc X-RateLimit-* và Retry-After thay vì hard-code con số. Mỗi phản hồi mang một request_id, và header X-Request-Id bạn gửi đi được trả lại nguyên vẹn, để log của bạn và của chúng tôi khớp nhau.

Đọc tài liệu

Ảnh và video hoàn tất ở chế độ nền

Cả hai endpoint tạo sinh trả về task_id thay vì kết quả. Gửi, hỏi trạng thái, lấy kết quả — và lưu ý: một khi tác vụ đã tạo, phần lớn lỗi đến dưới dạng 200 kèm trạng thái kết thúc, không phải lỗi HTTP.

# submit, then poll the task
POST /api/v1/images/generations       → task_id
GET  /api/v1/images/generations/{id}  → status, result
POST /api/v1/videos/generations       → task_id
GET  /api/v1/videos/generations/{id}  → status, result

Đọc trạng thái trước khi đọc kết quả: failed và interrupted cũng là phản hồi, và error.message nói lý do. 402 khi gửi nghĩa là tác vụ chưa từng được tạo. SuperAgent khác: nó trả stream_key và đẩy sự kiện qua SSE, nên không có gì để hỏi trạng thái.

Đọc tài liệu

Đổi URL gốc, giữ nguyên client

Cả hai SDK chạy không cần sửa gì khi URL gốc trỏ về đây. npx feloapi-cli setup ghi cùng cấu hình đó cho Claude Code và Codex.

# OpenAI SDK
base_url = "https://openapi.felo.ai/api/v1"

# Anthropic SDK — one level up; the SDK appends /v1/messages
base_url = "https://openapi.felo.ai/api"

# pin a provider (optional)
default_headers = {"X-Felo-Channel": "claude-cc"}

ID mô hình không giống nhau giữa các nhà cung cấp. Hãy chọn trong danh mục trước khi đổi URL gốc, nếu không lệnh gọi đầu tiên sẽ trả 404.

Phần mà một cổng thường để bạn tự lo

Cổng LLM định tuyến lệnh gọi mô hình. Ở đây cùng một khóa còn chạm tới danh mục gồm ⁦5,000+⁩ API — nên bước tìm kiếm của agent, slide nó tạo ra và tài liệu nó đọc lại đều trừ từ cùng số tín dụng, không phải thêm ba nhà cung cấp.

  • Search
  • PPT Task
  • SuperAgent
  • Web Fetch
  • X Search
  • Mindmap
  • Landing Page Task
  • LiveDoc
  • YouTube Subtitling

Lệnh gọi API dữ liệu đi tới các nhà cung cấp có tên dưới /v1/beta — Tavily, Exa, Apollo và phần còn lại của danh mục — mỗi bên theo mức giá công bố của mình.

Xem mọi API

Cổng dừng ở đâu

  • Không tự chuyển kênh — logic thử lại nằm ở ứng dụng của bạn, có chủ đích.
  • Có mặt trong danh mục không bảo đảm tương thích; mỗi loại mô hình chỉ có một bề mặt gọi.
  • Không có giới hạn tần suất cấp nền tảng nào được công bố cho lệnh gọi mô hình, nhưng giới hạn của nhà cung cấp thượng nguồn vẫn áp dụng.
  • Tín dụng trả trước, không hoàn lại và không rút được — hãy nạp đúng mức bạn định dùng.

Sáu câu hỏi về cổng LLM

Cổng LLM là gì?

Một điểm vào đặt trước nhiều nhà cung cấp mô hình, để mã của bạn nói chuyện với một URL gốc, một khóa và một số dư thay vì cả chục SDK. Cổng AI cũng vậy; cổng này bán thêm các API dữ liệu mà một agent cần.

Tôi có giữ được SDK OpenAI hoặc Anthropic không?

Có. Chat Completions và Responses giữ dạng của OpenAI, Messages là gốc. URL gốc là https://openapi.felo.ai/api/v1 và https://openapi.felo.ai/api — cao hơn một cấp vì SDK đó tự nối thêm /v1/messages.

Làm sao biết nên gọi mô hình nào?

GET /api/v1/models liệt kê mọi loại kèm kênh và giá; mô hình video và quyết định có danh sách riêng. Đọc model_kind rồi gọi endpoint tương ứng. Có trong danh sách không có nghĩa endpoint nào cũng nhận mô hình đó.

Nhà cung cấp sập thì có tự chuyển không?

Không, và đó là cố ý. Danh sách kênh là lựa chọn, không phải chính sách thử lại: chỉ kênh đầu được gọi. Việc chuyển kênh thuộc về ứng dụng của bạn, nơi bạn thấy lỗi, ngân sách và phương án dự phòng mình thật sự muốn.

Giá bao nhiêu?

Mỗi mô hình có mức giá Felo bắt đầu từ một phần mười giá chính thức của nhà cung cấp, và kênh bạn cố định quyết định mức giá bạn trả. Trả trước, tính theo lệnh gọi, lần nạp đầu $1, không thuê bao.

Có gọi được ảnh, video và API dữ liệu không?

Có. Một khóa chạm tới mô hình chat, ảnh, video và quyết định và danh mục ⁦5,000+⁩ API phía sau /v1/beta — tất cả trừ từ cùng số tín dụng.

Thử bằng một lệnh gọi

Tạo khóa, nạp tiền và trỏ SDK bạn đang dùng về một URL gốc.