Felo API PlatformFelo API Platform

Bramka LLM

Bramka LLM z wbudowaną warstwą danych

Trzy bazowe adresy URL, jeden klucz, jeden balans. Czat, obrazy, wideo i modele decyzyjne — na Twoim obecnym SDK; wyszukiwanie, dokumenty i slajdy — z tego samego balansu, od jednej dziesiątej oficjalnej ceny dostawcy.

  • ⁦10⁩%

    Cena startowa względem oficjalnej ceny API dostawcy

  • ⁦5,000+⁩

    API w tym samym katalogu

Bramka ma zwykle jedną powierzchnię. Tutaj są trzy.

Dzielą konto, klucz i balans, ale odpowiadają na inne pytania i mają różne bazowe adresy URL. Rozpoznanie, którą wywołujesz, to cała sztuka.

PowierzchniaBazowy URLDo czego
API modeliopenapi.felo.ai/api/v1 · openapi.felo.ai/apiBezpośrednie wywołanie modelu językowego, obrazów, wideo lub decyzyjnego
API danychopenapi.felo.ai/v1/betaWywołanie wskazanego zewnętrznego dostawcy danych lub wyszukiwania
Felo APIsopenapi.felo.ai/v2Własne procesy Felo: wyszukiwanie, biuro, ekstrakcja, wiedza

Jeden klucz obejmuje wszystkie trzy. Doładowanie kupuje kredyty usługowe w USD, a wywołanie modelu, wywołanie API danych i proces Felo schodzą z tego samego — bez osobnego konta u każdego dostawcy.

Przeczytaj dokumentację

Sześć punktów końcowych, nie jeden

Wszystko pod /api/v1 to wywołanie modelu, ale rodzaj modelu decyduje, który punkt końcowy może odpowiedzieć; każdy zwraca też własny format.

Punkt końcowyProtokółZwraca
POST /api/v1/chat/completionsOpenAI Chat CompletionsStrumień lub jedna odpowiedź
POST /api/v1/responsesOpenAI ResponsesStrumień lub jedna odpowiedź
POST /api/v1/messagesAnthropic MessagesStrumień lub jedna odpowiedź
POST /api/v1/images/generationsKoperta obrazów OpenAItask_id do odpytywania
POST /api/v1/videos/generationsKoperta wideo OpenAItask_id do odpytywania
POST /api/v1/decisionsSchemat decyzji FeloTypowane odpowiedzi, bez strumienia

Trzy powierzchnie czatu to implementacje natywne, a nie warstwa translacji: każda wysyła zdarzenia we własnym protokole, więc strumień parsujesz dokładnie tak jak dziś.

Punkt końcowy wybieraj po rodzaju modelu, nie na wyczucie

Każdy model w katalogu ma model_kind, a rodzaj decyduje, który punkt końcowy może go wywołać. Rozpoznanie jest bezpłatne: czyta lokalny 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_kindPunkt końcowy
chatResponses, Chat Completions lub Messages — zależnie od tego, co model obsługuje
image_generationPOST /api/v1/images/generations
video_generationPOST /api/v1/videos/generations
decisionsPOST /api/v1/decisions

Filtr ?provider= zostawia jednego dostawcę, ?exclude_video_and_decisions=true — tylko czat i obrazy. Obecność w katalogu to nie obietnica: model wideo nie odpowie na żądanie czatu, a API zwróci model_kind_mismatch.

Trasa domyślna albo jeden nagłówek wybierający dostawcę

Jeden model może być obsługiwany przez kilka kanałów nadrzędnych, każdy z własnym dostawcą i opublikowaną stawką. Bez nagłówka platforma wybierze kanał sama; z X-Felo-Channel wybierasz Ty.

# first channel only — no automatic fallback
X-Felo-Channel: claude-cc
X-Felo-Channel: claude-cc,anthropic  # ordered selection, not a retry list
  • Wartość to uporządkowana lista publicznych kodów kanałów z channels[].code modelu, sprawdzana w kolejności, w jakiej ją zapiszesz.
  • Wysyłana jest tylko grupa dostawcy pierwszego kanału i według stawki tego kanału płacisz.
  • Nie ma automatycznego przełączania. Lista kanałów to wybór, a nie polityka ponowień: jeśli dostawca zawiedzie, wyślij ponownie z aplikacji, z innym kanałem.

X-Felo-Channel działa na wszystkich sześciu punktach generowania powyżej. Nie dotyczy API danych ani Felo APIs: tam żądanie trafia do dostawcy wskazanego w samym żądaniu.

Przeczytaj dokumentację

Ile naprawdę kosztuje wywołanie

Wywołania modeli rozliczane są za tokeny — wejście, wyjście, pamięć podręczna — z mnożnikiem rabatu kanału. Stawki podajemy za 1 mln tokenów dla czytelności, ale rozliczenie idzie z precyzją do tokena według bieżącego zrzutu cen, więc krótkie żądanie nie jest zaokrąglane do miliona.

  • Stawki pamięci podręcznej stosuje się tylko wtedy, gdy odpowiedź protokołu zgłasza użycie pamięci; model bez takiego raportowania rozlicza wszystko po stawce wejściowej.
  • Wyszukiwanie w sieci, które usługa modelu faktycznie wykonała i zgłosiła, kosztuje $0.01 za wyszukiwanie.
  • Niektóre modele mają progi zależne od rozmiaru promptu: Claude Haiku 5.5 kosztuje $0.10 na wejściu i $0.50 na wyjściu za 1 mln tokenów do promptu 100K tokenów, a powyżej — $0.50 i $2.50 za całe żądanie.
  • Pierwsze doładowanie od $1. Bez subskrypcji, bez opłaty za stanowisko, bez minimalnych zobowiązań: nieużywany klucz nic nie kosztuje.

Wywołania API danych i procesy Felo schodzą z tego samego balansu, każde według własnej opublikowanej podstawy: za udane żądanie, za zwrócony element albo za faktyczne zużycie.

Stawki i kredyty

Dwa limity, które wyglądają podobnie i są zupełnie różne

Brak kredytów to 402 INSUFFICIENT_CREDITS. Zbyt szybkie wywołania to 429 RATE_LIMITED. Czekanie usuwa drugie i nigdy nie usuwa pierwszego.

StatusKodCo zrobić
401UNAUTHORIZEDPopraw lub wystaw klucz ponownie
402INSUFFICIENT_CREDITSDoładuj w rozliczeniach konsoli i wyślij ponownie
404zależne od punktu końcowegoSprawdź identyfikator modelu, zadania lub trasy
429RATE_LIMITEDPoczekaj na Retry-After i ponów
5xxCHAT_FAILED, SERVICE_UNAVAILABLEPonów z wykładniczym opóźnieniem i jitterem

Dziś udokumentowane twarde limity ma tylko /v2/chat. Wywołania modeli też mogą być ograniczane po stronie dostawcy, co objawia się jako 429 — czytaj X-RateLimit-* i Retry-After, zamiast wpisywać liczby na sztywno. Każda odpowiedź zawiera request_id, a wysłany przez Ciebie X-Request-Id wraca w odpowiedzi, więc logi się schodzą.

Przeczytaj dokumentację

Obrazy i wideo kończą się w tle

Oba punkty generowania zwracają task_id zamiast wyniku. Wyślij, odpytuj, odbierz — i pamiętaj: po utworzeniu zadania większość błędów przychodzi jako 200 z końcowym statusem, a nie jako błąd 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

Najpierw status, potem wynik: failed i interrupted też są odpowiedzią, a przyczynę podaje error.message. Jeśli przy wysyłaniu dostałeś 402, zadanie nigdy nie powstało. SuperAgent działa inaczej — zwraca stream_key i wysyła zdarzenia przez SSE, więc nie ma czego odpytywać.

Przeczytaj dokumentację

Zmień bazowy URL, klient zostaje

Oba SDK działają bez zmian, gdy bazowy URL wskazuje tutaj. npx feloapi-cli setup zapisze tę samą konfigurację dla 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"}

Identyfikatory modeli nie są wspólne dla wszystkich dostawców. Wybierz model z katalogu, zanim przełączysz bazowy URL, inaczej pierwsze wywołanie zwróci 404.

Ta połowa, którą bramka zwykle zostawia Tobie

Bramka LLM kieruje wywołania modeli. Tutaj ten sam klucz sięga też do katalogu ⁦5,000+⁩ API — więc krok wyszukiwania w Twoim agencie, wygenerowane przez niego slajdy i odczytany dokument schodzą z tych samych kredytów, a nie z trzech kolejnych dostawców.

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

Wywołania API danych idą pod /v1/beta do wskazanych dostawców — Tavily, Exa, Apollo i reszty katalogu — każdy według własnej opublikowanej podstawy.

Wszystkie API

Gdzie bramka się kończy

  • Brak automatycznego przełączania między kanałami — ponowienia zostają w Twojej aplikacji i to jest celowe.
  • Obecność w katalogu nie gwarantuje zgodności: każdy rodzaj modelu ma jedną powierzchnię wywołania.
  • Nie ma udokumentowanego limitu platformy dla wywołań modeli, ale limit dostawcy nadrzędnego nadal obowiązuje.
  • Kredyty są przedpłacone, bezzwrotne i nie podlegają wypłacie — doładuj tyle, ile zamierzasz wydać.

Sześć pytań o bramkę LLM

Czym jest bramka LLM?

Jednym punktem końcowym przed wieloma dostawcami modeli, dzięki czemu kod rozmawia z jednym bazowym URL, jednym kluczem i jednym balansem zamiast z kilkunastoma SDK różnych firm. Bramka AI robi to samo; ta dodatkowo sprzedaje API danych, których potrzebuje agent.

Czy mogę zachować swoje SDK OpenAI lub Anthropic?

Tak. Chat Completions i Responses mają kształt OpenAI, a Messages jest natywne. Bazowe adresy to https://openapi.felo.ai/api/v1 i https://openapi.felo.ai/api — o poziom wyżej, bo to SDK samo dopisuje /v1/messages.

Skąd wiem, który model wywołać?

GET /api/v1/models wymienia wszystkie rodzaje wraz z kanałami i stawkami; modele wideo i decyzyjne mają własne listy. Sprawdź model_kind i wywołaj pasujący punkt końcowy. Obecność na liście nie znaczy, że model przyjmie każde wywołanie.

Czy przy awarii dostawcy następuje przełączenie?

Nie i jest to celowe. Lista kanałów to wybór, a nie polityka ponowień: wysyłany jest tylko pierwszy. Przełączanie należy do Twojej aplikacji, gdzie widać błąd, budżet i wariant zapasowy, którego naprawdę chcesz.

Ile to kosztuje?

Każdy model ma stawkę Felo zaczynającą się od jednej dziesiątej oficjalnej ceny dostawcy, a płacisz według stawki wybranego kanału. Przedpłata, rozliczenie za wywołanie, pierwsze doładowanie od $1, bez subskrypcji.

Czy mogę wywoływać obrazy, wideo i API danych?

Tak. Jeden klucz sięga do modeli czatu, obrazów, wideo i decyzyjnych oraz katalogu ⁦5,000+⁩ API pod /v1/beta — wszystko schodzi z jednego balansu.

Sprawdź na jednym wywołaniu

Utwórz klucz, doładuj balans i skieruj swoje SDK na jeden bazowy URL.