LLM gateway
LLM gateway s datovou vrstvou v ceně
Tři základní URL, jeden klíč, jeden zůstatek. Chat, obrázky, video a rozhodovací modely se SDK, které už používáte; hledání, dokumenty a slajdy ze stejných kreditů — od desetiny oficiální ceny poskytovatele.
10%
Startovní sazba vůči oficiální ceně API poskytovatele
5,000+
API ve stejném katalogu
Gateway má obvykle jedno rozhraní. Tahle tři.
Sdílejí účet, klíč i zůstatek, ale odpovídají na jiné otázky a žijí na jiných základních URL. Vědět, kterou voláte, je celý trik.
| Rozhraní | Základní URL | K čemu |
|---|---|---|
| API modelů | openapi.felo.ai/api/v1 · openapi.felo.ai/api | Volat přímo jazykový, obrázkový, video nebo rozhodovací model |
| Datové API | openapi.felo.ai/v1/beta | Volat pojmenovaného poskytovatele dat nebo hledání třetí strany |
| Felo APIs | openapi.felo.ai/v2 | Vlastní workflow Felo: hledání, kancelář, extrakce, znalosti |
Jeden klíč pokrývá všechna tři. Dobití kupuje servisní kredity v dolarech a volání modelu, volání datového API i workflow Felo se strhávají ze stejného zůstatku — žádný samostatný účet na poskytovatele.
Přečíst dokumentaciŠest endpointů, ne jeden
Vše pod /api/v1 je volání modelu, ale typ modelu určuje, který endpoint může odpovědět — a každý endpoint vrací svůj vlastní formát.
| Endpoint | Protokol | Vrací |
|---|---|---|
POST /api/v1/chat/completions | OpenAI Chat Completions | Stream nebo jednu odpověď |
POST /api/v1/responses | OpenAI Responses | Stream nebo jednu odpověď |
POST /api/v1/messages | Anthropic Messages | Stream nebo jednu odpověď |
POST /api/v1/images/generations | Obal obrázků OpenAI | task_id k dotazování |
POST /api/v1/videos/generations | Obal videa OpenAI | task_id k dotazování |
POST /api/v1/decisions | Rozhodovací schéma Felo | Typované odpovědi, bez streamu |
Tři chatová rozhraní jsou nativní implementace, ne překladová vrstva: každé vysílá události ve svém protokolu, takže stream parsujete stejně jako dosud.
Endpoint vybírejte podle typu modelu, ne odhadem
Každý model v katalogu nese model_kind a typ určuje, který endpoint ho může volat. Zjištění je zdarma: čte lokální katalog.
# 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 nebo Messages podle toho, co model podporuje |
image_generation | POST /api/v1/images/generations |
video_generation | POST /api/v1/videos/generations |
decisions | POST /api/v1/decisions |
Filtrujte přes ?provider= na jednoho poskytovatele, nebo ?exclude_video_and_decisions=true skryje vše kromě chatu a obrázků. Být v katalogu není slib: video model neodpoví na chatový požadavek a API vrátí model_kind_mismatch.
Výchozí trasa, nebo hlavička pro volbu poskytovatele
Model může obsluhovat několik upstream kanálů, každý s vlastním poskytovatelem a zveřejněnou sazbou. Bez hlavičky jeden vybere platforma; s X-Felo-Channel vybíráte vy.
# first channel only — no automatic fallback
X-Felo-Channel: claude-cc
X-Felo-Channel: claude-cc,anthropic # ordered selection, not a retry list- Hodnota je uspořádaný seznam veřejných kódů kanálů z
channels[].codemodelu, ověřovaný v pořadí, v jakém ho napíšete. - Volá se jen skupina poskytovatele prvního kanálu a platíte sazbu tohoto kanálu.
- Automatické přepnutí neexistuje. Seznam kanálů je volba, ne politika opakování — když poskytovatel selže, pošlete to znovu ze své aplikace jiným kanálem.
X-Felo-Channel funguje na šesti generačních endpointech výše. Nevztahuje se na datové API ani Felo APIs: ta jdou k poskytovateli, kterého uvedete v požadavku.
Kolik volání skutečně stojí
Volání modelů se účtují po tokenech — vstup, výstup i cache — s násobitelem slevy kanálu. Sazby se zobrazují za milion tokenů kvůli čitelnosti, ale účtování používá přesnost na token z aktuálního cenového snapshotu: krátký požadavek se nikdy nezaokrouhlí na milion.
- Ceník cache platí jen tehdy, když odpověď protokolu hlásí využití cache; model, který ho nehlásí, účtuje vše vstupní sazbou.
- Webové hledání, které modelová služba provede a nahlásí, stojí $0.01 za hledání.
- Některé modely účtují po pásmech podle velikosti promptu: Claude Haiku 5.5 stojí $0.10 za vstup a $0.50 za výstup na milion tokenů do promptu 100K tokenů, nad tím $0.50 a $2.50 za celý požadavek.
- První dobití je $1. Žádné předplatné, žádný poplatek za uživatele, žádný minimální závazek — neaktivní klíč nic nestojí.
Volání datového API a workflow Felo jdou ze stejného zůstatku, každé podle svého zveřejněného základu: za úspěšný požadavek, za vrácenou položku nebo podle skutečného využití.
Sazby a kredityDvě limity, které vypadají stejně a nejsou
Prázdný zůstatek vrací 402 INSUFFICIENT_CREDITS. Příliš rychlá volání vrací 429 RATE_LIMITED. Čekání vyřeší druhé a nikdy první.
| Stav | Kód | Co dělat |
|---|---|---|
| 401 | UNAUTHORIZED | Opravte nebo vygenerujte klíč znovu |
| 402 | INSUFFICIENT_CREDITS | Dobijte v účtování konzole a požadavek pošlete znovu |
| 404 | závisí na endpointu | Zkontrolujte ID modelu, ID úlohy nebo cestu |
| 429 | RATE_LIMITED | Počkejte na Retry-After a zkuste to znovu |
| 5xx | CHAT_FAILED, SERVICE_UNAVAILABLE | Zkuste to znovu s exponenciálním backoffem a jitterem |
Dnes dokumentuje tvrdé limity jen /v2/chat. Volání modelů mohou být omezena i upstream a to se projeví jako 429 — čtěte X-RateLimit-* a Retry-After, místo abyste čísla zadrátovali. Každá odpověď nese request_id a hlavička X-Request-Id, kterou pošlete, se vrací beze změny, takže vaše a naše logy jdou spárovat.
Obrázky a video dobíhají na pozadí
Oba generační endpointy vrací task_id místo výsledku. Odeslat, dotázat se, vyzvednout — a pozor: jakmile úloha vznikne, většina selhání přichází jako 200 s koncovým stavem, ne jako HTTP chyba.
# 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Čtěte stav dřív než výsledek: failed a interrupted jsou také odpovědi a error.message řekne proč. 402 při odeslání znamená, že úloha nikdy nevznikla. SuperAgent funguje jinak: vrací stream_key a tlačí události přes SSE, takže není co dotazovat.
Změňte základní URL, klienta si nechte
Obě SDK fungují beze změny, jakmile základní URL míří sem. npx feloapi-cli setup zapíše stejnou konfiguraci pro Claude Code i 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ů nejsou napříč poskytovateli stejná. Vyberte z katalogu, než přepnete základní URL, jinak první volání vrátí 404.
Polovina, kterou vám gateway obvykle nechá
LLM gateway směruje volání modelů. Tady stejný klíč dosáhne i katalogu API s 5,000+ — takže vyhledávací krok vašeho agenta, slajdy, které vytvoří, i dokument, který si přečte, se účtují ze stejných kreditů, ne u tří dalších poskytovatelů.
- Search
- PPT Task
- SuperAgent
- Web Fetch
- X Search
- Mindmap
- Landing Page Task
- LiveDoc
- YouTube Subtitling
Volání datového API jdou k pojmenovaným poskytovatelům pod /v1/beta — Tavily, Exa, Apollo a zbytek katalogu — každé podle svého zveřejněného základu.
Kde gateway končí
- Žádné automatické přepínání kanálů — logika opakování patří do vaší aplikace, a to záměrně.
- Být v katalogu negarantuje kompatibilitu; každý typ modelu má jedno volací rozhraní.
- Pro volání modelů není zdokumentovaný žádný platformní rate limit, ale limit upstream poskytovatele platí vždy.
- Kredity jsou předplacené, nevratné a nelze je vybrat — dobijte, kolik hodláte utratit.
Šest otázek o LLM gateway
Co je LLM gateway?
Vstupní bod před mnoha poskytovateli modelů, aby váš kód mluvil s jednou základní URL, jedním klíčem a jedním zůstatkem místo tuctu SDK. AI gateway dělá totéž; tahle navíc prodává datová API, která agent potřebuje.
Můžu si nechat SDK pro OpenAI nebo Anthropic?
Ano. Chat Completions a Responses mají tvar OpenAI a Messages je nativní. Základní URL jsou https://openapi.felo.ai/api/v1 a https://openapi.felo.ai/api — o úroveň výš, protože to SDK si /v1/messages přidává samo.
Jak zjistím, který model volat?
GET /api/v1/models vypíše všechny typy s kanály a sazbami; video a rozhodovací modely mají vlastní seznamy. Přečtěte model_kind a volejte odpovídající endpoint. Být v seznamu neznamená, že model přijme každý endpoint.
Přepne se to, když poskytovatel spadne?
Ne, a je to záměr. Seznam kanálů je volba, ne politika opakování: volá se jen první. Přepínání patří do vaší aplikace, kde vidíte chybu, rozpočet i fallback, který skutečně chcete.
Kolik to stojí?
Každý model má sazbu Felo, která začíná na desetině oficiální ceny poskytovatele, a kanál, který zafixujete, určuje placenou sazbu. Předplacené, účtované za volání, první dobití $1, bez předplatného.
Můžu volat i obrázky, video a datová API?
Ano. Jeden klíč dosáhne na chatové, obrázkové, video i rozhodovací modely a katalog API s 5,000+ za /v1/beta — vše se účtuje ze stejných kreditů.
Zkuste to jedním voláním
Vytvořte klíč, dobijte a namiřte SDK, které už používáte, na základní URL.