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:
| Endpoint | Protocol |
|---|---|
POST /api/v1/chat/completions | OpenAI Chat Completions |
POST /api/v1/responses | OpenAI Responses |
POST /api/v1/messages | Anthropic Messages |
POST /api/v1/images/generations | Beeldgeneratie |
POST /api/v1/videos/generations | Videogeneratie |
POST /api/v1/decisions | Beslissingen |
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: defaultRegels uit de openbare specificatie van de Model API:
- Laat de header weg om de standaardroute te gebruiken.
defaultis alleen een geldige waarde als je die los gebruikt. Combineerdefaultniet met kanaalcodes.- Openbare kanaalcodes komen uit het veld
channels[].codevan 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
- Open de modeldetailpagina en zoek de leverancierstabel.
- Zoek de leverancier op bij de bijbehorende openbare kanaalcode. De code is de stabiele identificatie die de API gebruikt.
- Lees je de catalogus rechtstreeks, gebruik dan
channels[].codeen controleerrunnable.
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."}]
}'