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.
| Permukaan | URL asas | Untuk apa |
|---|---|---|
| API model | openapi.felo.ai/api/v1 · openapi.felo.ai/api | Memanggil terus model bahasa, imej, video atau keputusan |
| API data | openapi.felo.ai/v1/beta | Memanggil penyedia data atau carian pihak ketiga mengikut nama |
| Felo APIs | openapi.felo.ai/v2 | Aliran 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 dokumentasiEnam 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.
| Endpoint | Protokol | Memulangkan |
|---|---|---|
POST /api/v1/chat/completions | OpenAI Chat Completions | Strim atau satu respons |
POST /api/v1/responses | OpenAI Responses | Strim atau satu respons |
POST /api/v1/messages | Anthropic Messages | Strim atau satu respons |
POST /api/v1/images/generations | Sarung imej OpenAI | task_id untuk ditanya status |
POST /api/v1/videos/generations | Sarung video OpenAI | task_id untuk ditanya status |
POST /api/v1/decisions | Skema keputusan Felo | Respons 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_kind | Endpoint |
|---|---|
chat | Responses, Chat Completions atau Messages, mengikut sokongan model |
image_generation | POST /api/v1/images/generations |
video_generation | POST /api/v1/videos/generations |
decisions | POST /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[].codemodel, 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.
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 kreditDua 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.
| Status | Kod | Apa perlu dibuat |
|---|---|---|
| 401 | UNAUTHORIZED | Betulkan atau jana semula kunci |
| 402 | INSUFFICIENT_CREDITS | Tambah nilai dalam pengebilan konsol, kemudian hantar semula |
| 404 | bergantung pada endpoint | Semak ID model, ID tugas atau laluan |
| 429 | RATE_LIMITED | Tunggu Retry-After, kemudian cuba lagi |
| 5xx | CHAT_FAILED, SERVICE_UNAVAILABLE | Cuba 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.
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, resultBaca 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.
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.
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.