Felo API PlatformFelo API Platform

Guides

Canaux et routage des fournisseurs

Épinglez un modèle à un fournisseur précis avec X-Felo-Channel et comprenez le routage par défaut, la tarification et le fallback.

Un modèle peut être servi par plusieurs fournisseurs upstream. Par défaut, Felo choisit un fournisseur pour vous. Lorsque vous avez besoin d'un fournisseur spécifique, envoyez l'en-tête de requête X-Felo-Channel avec un ou plusieurs codes de canal publics.

Endpoints pris en charge

X-Felo-Channel est accepté sur chaque endpoint de génération du Model API :

EndpointProtocole
POST /api/v1/chat/completionsOpenAI Chat Completions
POST /api/v1/responsesOpenAI Responses
POST /api/v1/messagesAnthropic Messages
POST /api/v1/images/generationsGénération d'images
POST /api/v1/videos/generationsGénération vidéo
POST /api/v1/decisionsDécisions

Il ne s'applique pas au Data API (/v1/beta) ni aux API Felo (/v2).

Valeurs de l'en-tête

La valeur est une liste ordonnée, séparée par des virgules, de codes de canal publics :

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

Règles issues de la spécification publique du Model API :

  • Omettez l'en-tête pour utiliser la route par défaut.
  • default n'est une valeur valide que lorsqu'elle est utilisée seule. Ne la combinez pas avec des codes de canal.
  • Les codes de canal publics proviennent du champ channels[].code du modèle dans le catalogue. Utilisez le code, pas le nom d'affichage du fournisseur.
  • Seuls les canaux publiés et exécutables sont routables.

Routage par défaut

Lorsque vous omettez l'en-tête, ou envoyez default seul, la plateforme choisit le fournisseur. En mode wallet, elle parcourt à l'envers l'ordre effectif des canaux publics du modèle, ignore les canaux non publiés ou indisponibles et sélectionne le fournisseur du premier canal disponible. Elle peut inclure des endpoints disponibles de ce fournisseur avec le même ID de modèle upstream et le même niveau de service.

Vous n'avez pas besoin d'envoyer X-Felo-Channel: default ; omettre l'en-tête est la façon normale d'utiliser la route par défaut.

Routage explicite

Lorsque vous envoyez des codes de canal, ils sont validés dans l'ordre où vous les listez. Seul le groupe de fournisseurs du premier canal est soumis. Il n'y a pas de repli automatique vers un autre fournisseur.

Cela signifie qu'une liste de canaux est une sélection, pas une politique de nouvelle tentative. Si vous avez besoin de basculement, implémentez-le dans votre application : envoyez une nouvelle requête avec un autre canal après l'échec du premier.

Les en-têtes fournisseur hérités ne peuvent pas remplacer X-Felo-Channel. Si un autre en-tête de votre client demande aussi un fournisseur, X-Felo-Channel a la priorité.

Tarification

Chaque canal public publie ses propres tarifs standard et multiplicateur de remise. Le prix affiché pour un fournisseur sur la page de détail du modèle est le prix client de ce canal. Le canal que vous épinglez détermine le fournisseur dont le tarif s'applique.

Avant d'épingler un canal pour une charge de travail à fort volume, comparez les lignes fournisseurs sur la page des modèles et lisez Modèles et tarifs.

Trouver un code de canal

  1. Ouvrez la page de détail du modèle et trouvez le tableau des fournisseurs.
  2. Faites correspondre le fournisseur à son code de canal public. Le code est l'identifiant stable utilisé par l'API.
  3. Si vous lisez directement le catalogue, utilisez channels[].code et vérifiez runnable.

Par exemple, claude-haiku-5-5 publie plusieurs canaux, dont anthropic (celui par défaut), azure, google-vertex-global et claude-cc. La ligne claude-cc affiche sa propre remise : l'épingler change donc à la fois le fournisseur et le tarif.

Exemples

Chat Completions épinglé à un canal :

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 avec le même canal :

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

Routage par défaut, sans en-tête de routage :

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

Voir aussi