Felo API PlatformFelo API Platform

Gerbang LLM

Gerbang LLM dengan lapisan data terbina dalam

Tiga URL asas, satu kunci, satu baki. Chat, imej, video dan model keputusan dengan SDK yang anda sudah guna; carian, dokumen dan slaid pada kredit yang sama — bermula pada satu persepuluh harga rasmi penyedia.

  • ⁦10⁩%

    Kadar permulaan, berbanding harga API rasmi penyedia

  • ⁦5,000+⁩

    API dalam katalog yang sama

Gerbang biasanya hanya ada satu permukaan. Yang ini ada tiga.

Ketiganya berkongsi akaun, kunci dan baki anda, tetapi menjawab soalan berbeza dan berada pada URL asas berbeza. Mengetahui yang mana anda panggil ialah inti persoalannya.

PermukaanURL asasUntuk apa
API modelopenapi.felo.ai/api/v1 · openapi.felo.ai/apiMemanggil terus model bahasa, imej, video atau keputusan
API dataopenapi.felo.ai/v1/betaMemanggil penyedia data atau carian pihak ketiga mengikut nama
Felo APIsopenapi.felo.ai/v2Aliran kerja milik Felo: carian, pejabat, pengekstrakan, pengetahuan

Satu kunci meliputi ketiga-tiganya. Satu tambah nilai membeli kredit perkhidmatan dalam dolar, dan panggilan model, panggilan API data serta aliran kerja Felo ditolak daripada baki yang sama — tiada akaun berasingan bagi setiap penyedia.

Baca dokumentasi

Enam endpoint, bukan satu

Semua di bawah /api/v1 ialah panggilan model, tetapi jenis model menentukan endpoint mana yang boleh menjawab — dan setiap endpoint memulangkan formatnya sendiri.

EndpointProtokolMemulangkan
POST /api/v1/chat/completionsOpenAI Chat CompletionsStrim atau satu respons
POST /api/v1/responsesOpenAI ResponsesStrim atau satu respons
POST /api/v1/messagesAnthropic MessagesStrim atau satu respons
POST /api/v1/images/generationsSarung imej OpenAItask_id untuk ditanya status
POST /api/v1/videos/generationsSarung video OpenAItask_id untuk ditanya status
POST /api/v1/decisionsSkema keputusan FeloRespons bertaip, tanpa strim

Tiga permukaan chat ialah pelaksanaan asli, bukan lapisan penterjemah: setiap satu menghantar peristiwa dalam protokolnya sendiri, jadi anda menghuraikan strim sama seperti sekarang.

Pilih endpoint mengikut jenis model, bukan meneka

Setiap model dalam katalog membawa model_kind, dan jenis itu menentukan endpoint mana yang boleh memanggilnya. Pencariannya percuma: ia membaca katalog setempat.

# 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 atau Messages, mengikut sokongan model
image_generationPOST /api/v1/images/generations
video_generationPOST /api/v1/videos/generations
decisionsPOST /api/v1/decisions

Tapis dengan ?provider= untuk melihat satu penyedia sahaja, atau ?exclude_video_and_decisions=true untuk menyembunyikan segala-galanya kecuali chat dan imej. Tersenarai dalam katalog bukan janji: model video tidak menjawab permintaan chat, dan API memulangkan model_kind_mismatch.

Laluan lalai, atau header untuk memilih penyedia

Satu model boleh dilayan oleh beberapa saluran huluan, setiap satu dengan penyedia dan kadar terbitnya sendiri. Tanpa header, platform memilih satu; dengan X-Felo-Channel, anda yang memilih.

# first channel only — no automatic fallback
X-Felo-Channel: claude-cc
X-Felo-Channel: claude-cc,anthropic  # ordered selection, not a retry list
  • Nilai ialah senarai tertib kod saluran awam daripada channels[].code model, disahkan mengikut urutan yang anda tulis.
  • Hanya kumpulan penyedia saluran pertama dihubungi, dan kadar saluran itulah yang anda bayar.
  • Tiada peralihan automatik. Senarai saluran ialah pilihan, bukan dasar cubaan semula — jika satu penyedia gagal, hantar semula daripada aplikasi anda dengan saluran lain.

X-Felo-Channel berfungsi pada enam endpoint penjanaan di atas. Ia tidak terpakai pada API data atau Felo APIs: panggilan itu menuju penyedia yang anda namakan dalam permintaan.

Baca dokumentasi

Berapa sebenarnya kos satu panggilan

Panggilan model dicaj mengikut token — input, output dan cache — dengan pendarab diskaun saluran. Kadar diterbitkan per juta token untuk mudah dibaca, tetapi pengebilan menggunakan ketepatan per token daripada snapshot harga semasa: permintaan pendek tidak pernah dibundarkan ke satu juta.

  • Kadar cache hanya terpakai apabila respons protokol melaporkan penggunaan cache; model yang tidak melaporkannya akan mencaj semuanya pada kadar input.
  • Carian web yang dijalankan dan dilaporkan oleh perkhidmatan model berharga $0.01 setiap carian.
  • Sesetengah model berperingkat mengikut saiz prompt: Claude Haiku 5.5 berharga $0.10 input dan $0.50 output per juta token sehingga prompt 100K token, melebihi itu $0.50 dan $2.50 untuk keseluruhan permintaan.
  • Tambah nilai pertama ialah $1. Tiada langganan, tiada caj setiap pengguna, tiada komitmen minimum — kunci yang tidak digunakan tidak berharga.

Panggilan API data dan aliran kerja Felo juga ditolak daripada baki yang sama, masing-masing mengikut asas terbitnya: setiap permintaan berjaya, setiap item yang dipulangkan, atau mengikut penggunaan sebenar.

Lihat kadar dan kredit

Dua had yang kelihatan sama tetapi tidak

Baki habis memulangkan 402 INSUFFICIENT_CREDITS. Memanggil terlalu cepat memulangkan 429 RATE_LIMITED. Menunggu menyelesaikan yang kedua dan tidak pernah yang pertama.

StatusKodApa perlu dibuat
401UNAUTHORIZEDBetulkan atau jana semula kunci
402INSUFFICIENT_CREDITSTambah nilai dalam pengebilan konsol, kemudian hantar semula
404bergantung pada endpointSemak ID model, ID tugas atau laluan
429RATE_LIMITEDTunggu Retry-After, kemudian cuba lagi
5xxCHAT_FAILED, SERVICE_UNAVAILABLECuba lagi dengan backoff eksponen dan jitter

Setakat ini hanya /v2/chat mendokumenkan had keras. Panggilan model juga boleh dihadkan di huluan, dan itu muncul sebagai 429 — baca X-RateLimit-* dan Retry-After dan jangan hard-code nombornya. Setiap respons membawa request_id, dan header X-Request-Id yang anda hantar dipulangkan sebagaimana adanya, jadi log anda dan log kami boleh dipadankan.

Baca dokumentasi

Imej dan video selesai di latar belakang

Kedua-dua endpoint penjanaan memulangkan task_id dan bukan hasil. Hantar, tanya status, ambil — dan ambil perhatian: selepas tugas dicipta, kebanyakan kegagalan datang sebagai 200 dengan status akhir, bukan ralat 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

Baca status sebelum hasil: failed dan interrupted juga respons, dan error.message menerangkan sebabnya. 402 semasa menghantar bermakna tugas itu tidak pernah dicipta. SuperAgent berbeza: ia memulangkan stream_key dan menolak peristiwa melalui SSE, jadi tiada apa untuk ditanya status.

Baca dokumentasi

Tukar URL asas, kekalkan klien

Kedua-dua SDK berjalan tanpa perubahan sebaik URL asas menghala ke sini. npx feloapi-cli setup menulis konfigurasi yang sama untuk Claude Code dan 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 model tidak sama antara penyedia. Pilih daripada katalog sebelum menukar URL asas, jika tidak panggilan pertama akan menjawab 404.

Separuh yang biasanya ditinggalkan gerbang kepada anda

Gerbang LLM mengalih panggilan model. Di sini kunci yang sama juga mencapai katalog API sebanyak ⁦5,000+⁩ — jadi langkah carian ejen anda, slaid yang dihasilkannya dan dokumen yang dibacanya semula dicaj pada kredit yang sama, bukan pada tiga penyedia tambahan.

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

Panggilan API data menuju penyedia bernama di bawah /v1/beta — Tavily, Exa, Apollo dan selebihnya — masing-masing dengan asas terbitnya sendiri.

Semak semua API

Di mana gerbang berhenti

  • Tiada peralihan automatik antara saluran — logik cubaan semula berada dalam aplikasi anda, dan itu disengajakan.
  • Tersenarai dalam katalog tidak menjamin keserasian; setiap jenis model hanya ada satu permukaan panggilan.
  • Tiada had kadar peringkat platform yang didokumenkan untuk panggilan model, tetapi had penyedia huluan tetap terpakai.
  • Kredit ialah prabayar, tidak boleh dikembalikan dan tidak boleh dikeluarkan — tambah nilai sebanyak yang anda jangka akan digunakan.

Enam soalan tentang gerbang LLM

Apakah gerbang LLM?

Satu titik masuk di hadapan banyak penyedia model, supaya kod anda bercakap dengan satu URL asas, satu kunci dan satu baki dan bukan selusin SDK. Gerbang AI melakukan perkara yang sama; yang ini turut menjual API data yang diperlukan ejen.

Bolehkah saya kekalkan SDK OpenAI atau Anthropic?

Boleh. Chat Completions dan Responses berbentuk OpenAI, dan Messages adalah asli. URL asasnya https://openapi.felo.ai/api/v1 dan https://openapi.felo.ai/api — satu tahap di atasnya, kerana SDK itu menambah /v1/messages sendiri.

Bagaimana saya tahu model mana untuk dipanggil?

GET /api/v1/models menyenaraikan semua jenis bersama saluran dan kadarnya; model video dan keputusan ada senarai sendiri. Baca model_kind dan panggil endpoint yang sepadan. Tersenarai tidak bermakna setiap endpoint menerima model itu.

Adakah peralihan jika penyedia mati?

Tiada, dan itu disengajakan. Senarai saluran ialah pilihan, bukan dasar cubaan semula: hanya yang pertama dihubungi. Peralihan ialah urusan aplikasi anda, kerana di situ kelihatan ralat, bajet dan sandaran yang anda benar-benar mahukan.

Berapa kosnya?

Setiap model mempunyai kadar Felo yang bermula pada satu persepuluh harga rasmi penyedia, dan saluran yang anda tetapkan menentukan kadar yang dibayar. Prabayar, dicaj setiap panggilan, tambah nilai pertama $1, tanpa langganan.

Boleh saya panggil imej, video dan API data juga?

Boleh. Satu kunci mencapai model chat, imej, video dan keputusan serta katalog API sebanyak ⁦5,000+⁩ di sebalik /v1/beta — semuanya dicaj pada kredit yang sama.

Cuba dengan satu panggilan

Cipta kunci, tambah nilai dan halakan SDK yang anda sudah guna ke URL asas.