Felo API PlatformFelo API Platform

Handleidingen

Kanalen en providerrouting

Koppel een model met X-Felo-Channel aan een specifieke aanbieder en begrijp standaardrouting, prijsstelling en fallback.

Een model kan via meerdere upstream-providers worden aangeboden. Standaard kiest Felo een provider voor je. Heb je een specifieke leverancier nodig, stuur dan de X-Felo-Channel-verzoekheader mee met een of meer openbare kanaalcodes.

Ondersteunde endpoints

X-Felo-Channel wordt geaccepteerd op elk generatie-endpoint van de Model API:

EndpointProtocol
POST /api/v1/chat/completionsOpenAI Chat Completions
POST /api/v1/responsesOpenAI Responses
POST /api/v1/messagesAnthropic Messages
POST /api/v1/images/generationsBeeldgeneratie
POST /api/v1/videos/generationsVideogeneratie
POST /api/v1/decisionsBeslissingen

De header geldt niet voor de Data API (/v1/beta) of de Felo API's (/v2).

Headerwaarden

De waarde is een geordende, door komma's gescheiden lijst van openbare kanaalcodes:

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

Regels uit de openbare specificatie van de Model API:

  • Laat de header weg om de standaardroute te gebruiken.
  • default is alleen een geldige waarde als je die los gebruikt. Combineer default niet met kanaalcodes.
  • Openbare kanaalcodes komen uit het veld channels[].code van het model in de catalogus. Gebruik de code, niet de weergavenaam van de leverancier.
  • Alleen uitvoerbare, gepubliceerde kanalen zijn routeerbaar.

Standaardroutering

Als je de header weglaat of default los verstuurt, kiest het platform de provider. In walletmodus doorzoekt het de effectieve volgorde van openbare kanalen van het model in omgekeerde richting, slaat niet-gepubliceerde of niet-beschikbare kanalen over en kiest de provider van het eerste beschikbare kanaal. Het kan beschikbare endpoints van die provider meenemen met hetzelfde upstream-model-ID en hetzelfde serviceniveau.

Je hoeft X-Felo-Channel: default niet mee te sturen; de header weglaten is de normale manier om de standaardroute te gebruiken.

Expliciete routering

Als je kanaalcodes meestuurt, worden ze gevalideerd in de volgorde waarin je ze vermeldt. Alleen de providergroep van het eerste kanaal wordt gebruikt. Er is geen automatische terugval naar een andere provider.

Een kanalenlijst is dus een selectie, geen beleid voor nieuwe pogingen. Heb je failover nodig, implementeer die dan in je applicatie: stuur een nieuw verzoek met een ander kanaal nadat het eerste is mislukt.

Oudere providerheaders kunnen X-Felo-Channel niet overschrijven. Als een andere header in je client ook om een provider vraagt, heeft X-Felo-Channel voorrang.

Prijzen

Elk openbaar kanaal publiceert zijn eigen standaardtarieven en kortingsfactor. De prijs die op de modeldetailpagina bij een leverancier wordt getoond, is de klantprijs van dat kanaal. Het kanaal dat je vastzet, bepaalt van welke provider het tarief geldt.

Vergelijk voordat je een kanaal vastzet voor een workload met veel verkeer de leveranciersrijen op de modelpagina en lees Modellen en prijzen.

Een kanaalcode vinden

  1. Open de modeldetailpagina en zoek de leverancierstabel.
  2. Zoek de leverancier op bij de bijbehorende openbare kanaalcode. De code is de stabiele identificatie die de API gebruikt.
  3. Lees je de catalogus rechtstreeks, gebruik dan channels[].code en controleer runnable.

claude-haiku-5-5 publiceert bijvoorbeeld meerdere kanalen, waaronder anthropic (de standaard), azure, google-vertex-global en claude-cc. De rij claude-cc toont een eigen korting, dus als je dat kanaal vastzet, veranderen zowel de provider als het tarief.

Voorbeelden

Chat Completions vastgezet op één kanaal:

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 met hetzelfde kanaal:

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."}]
  }'

Standaardroutering, zonder routeringsheader:

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."}]
  }'

Gerelateerd