Felo API PlatformFelo API Platform

Przewodniki

Kanały i routing dostawców

Przypnij model do konkretnego dostawcy nagłówkiem X-Felo-Channel i poznaj domyślny routing, ceny i reguły fallbacku.

Model może być obsługiwany przez kilku dostawców upstream. Domyślnie Felo wybiera dostawcę za Ciebie. Gdy potrzebujesz konkretnego dostawcy, wyślij nagłówek żądania X-Felo-Channel z jednym lub kilkoma publicznymi kodami kanałów.

Obsługiwane endpointy

X-Felo-Channel jest akceptowany na każdym endpointcie generowania Model API:

EndpointProtokół
POST /api/v1/chat/completionsOpenAI Chat Completions
POST /api/v1/responsesOpenAI Responses
POST /api/v1/messagesAnthropic Messages
POST /api/v1/images/generationsGenerowanie obrazów
POST /api/v1/videos/generationsGenerowanie wideo
POST /api/v1/decisionsDecyzje

Nie dotyczy Data API (/v1/beta) ani Felo APIs (/v2).

Wartości nagłówka

Wartość to uporządkowana, rozdzielona przecinkami lista publicznych kodów kanałów:

X-Felo-Channel: claude-cc
X-Felo-Channel: claude-cc,anthropic
X-Felo-Channel: default

Zasady z publicznej specyfikacji Model API:

  • Pomiń nagłówek, aby użyć trasy domyślnej.
  • default jest prawidłową wartością tylko wtedy, gdy występuje samodzielnie. Nie łącz go z kodami kanałów.
  • Publiczne kody kanałów pochodzą z pola channels[].code modelu w katalogu. Używaj kodu, a nie nazwy wyświetlanej dostawcy.
  • Trasowalne są tylko uruchamialne, opublikowane kanały.

Routing domyślny

Gdy pominiesz nagłówek lub wyślesz samodzielnie default, platforma wybiera dostawcę. W trybie portfela skanuje efektywną publiczną kolejność kanałów modelu w odwrotnej kolejności, pomija kanały nieopublikowane lub niedostępne i wybiera dostawcę pierwszego dostępnego kanału. Może uwzględnić dostępne endpointy tego dostawcy z tym samym identyfikatorem modelu upstream i poziomem usługi.

Nie musisz wysyłać X-Felo-Channel: default; pominięcie nagłówka to normalny sposób korzystania z trasy domyślnej.

Routing jawny

Gdy wysyłasz kody kanałów, są one walidowane w podanej kolejności. Przesyłana jest tylko grupa dostawcy pierwszego kanału. Nie ma automatycznego przełączania awaryjnego na innego dostawcę.

Oznacza to, że lista kanałów to wybór, a nie zasada ponawiania. Jeśli potrzebujesz przełączania awaryjnego, zaimplementuj je w aplikacji: wyślij nowe żądanie z innym kanałem, gdy pierwszy zawiedzie.

Starsze nagłówki dostawców nie mogą nadpisać X-Felo-Channel. Jeśli inny nagłówek w kliencie również prosi o dostawcę, X-Felo-Channel ma pierwszeństwo.

Ceny

Każdy publiczny kanał publikuje własne standardowe stawki i mnożnik rabatu. Cena wyświetlana dla dostawcy na stronie szczegółów modelu to cena klienta tego kanału. Przypięty kanał określa dostawcę, którego stawka obowiązuje.

Przed przypięciem kanału dla obciążenia o dużym wolumenie porównaj wiersze dostawców na stronie modelu i przeczytaj Modele i ceny.

Znajdowanie kodu kanału

  1. Otwórz stronę szczegółów modelu i znajdź tabelę dostawców.
  2. Dopasuj dostawcę do jego publicznego kodu kanału. Kod to stabilny identyfikator używany przez API.
  3. Jeśli czytasz katalog bezpośrednio, użyj channels[].code i sprawdź runnable.

Na przykład claude-haiku-5-5 publikuje kilka kanałów, w tym anthropic (domyślny), azure, google-vertex-global i claude-cc. Wiersz claude-cc pokazuje własny rabat, więc przypięcie go zmienia zarówno dostawcę, jak i stawkę.

Przykłady

Chat Completions przypięty do jednego kanału:

curl https://openapi.felo.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Felo-Channel: claude-cc" \
  -d '{
    "model": "claude-haiku-5-5",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "Summarize this change in one sentence."}]
  }'

Anthropic Messages z tym samym kanałem:

curl https://openapi.felo.ai/api/v1/messages \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Felo-Channel: claude-cc" \
  -d '{
    "model": "claude-haiku-5-5",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "Summarize this change in one sentence."}]
  }'

Routing domyślny, bez nagłówka routingu:

curl https://openapi.felo.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-haiku-5-5",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "Summarize this change in one sentence."}]
  }'

Powiązane