Felo API PlatformFelo API Platform

Leitfäden

Kanäle und Anbieter-Routing

Binden Sie ein Modell mit X-Felo-Channel an einen bestimmten Anbieter und verstehen Sie Standard-Routing, Preisberechnung und Fallback.

Ein Modell kann über mehrere Upstream-Anbieter bereitgestellt werden. Standardmäßig wählt Felo einen Anbieter für Sie. Wenn Sie einen bestimmten Anbieter benötigen, senden Sie den Anfrage-Header X-Felo-Channel mit einem oder mehreren öffentlichen Kanalcodes.

Unterstützte Endpoints

X-Felo-Channel wird an jedem Generierungs-Endpoint der Model API akzeptiert:

EndpointProtokoll
POST /api/v1/chat/completionsOpenAI Chat Completions
POST /api/v1/responsesOpenAI Responses
POST /api/v1/messagesAnthropic Messages
POST /api/v1/images/generationsBildgenerierung
POST /api/v1/videos/generationsVideogenerierung
POST /api/v1/decisionsDecisions

Für die Data API (/v1/beta) und die Felo APIs (/v2) gilt er nicht.

Header-Werte

Der Wert ist eine geordnete, durch Kommas getrennte Liste von öffentlichen Kanalcodes:

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

Regeln aus der öffentlichen Model API-Spezifikation:

  • Lassen Sie den Header weg, um die Standardroute zu verwenden.
  • default ist nur dann ein gültiger Wert, wenn er allein verwendet wird. Kombinieren Sie ihn nicht mit Kanalcodes.
  • Öffentliche Kanalcodes stammen aus dem Feld channels[].code des Modells im Katalog. Verwenden Sie den Code, nicht den Anzeigenamen des Anbieters.
  • Nur ausführbare, veröffentlichte Kanäle lassen sich routen.

Standard-Routing

Wenn Sie den Header weglassen oder default allein senden, wählt die Plattform den Anbieter. Im Wallet-Modus durchsucht sie die effektive Reihenfolge der öffentlichen Kanäle des Modells in umgekehrter Richtung, überspringt nicht veröffentlichte oder nicht verfügbare Kanäle und wählt den Anbieter des ersten verfügbaren Kanals. Sie kann verfügbare Endpoints dieses Anbieters mit derselben Upstream-Modell-ID und Service-Stufe einschließen.

Sie müssen X-Felo-Channel: default nicht senden; das Weglassen des Headers ist der normale Weg, die Standardroute zu verwenden.

Ausdrückliches Routing

Wenn Sie Kanalcodes senden, werden sie in der von Ihnen angegebenen Reihenfolge validiert. Nur die Anbietergruppe des ersten Kanals wird übermittelt. Es gibt kein automatisches Failover zu einem anderen Anbieter.

Das bedeutet: Eine Kanalliste ist eine Auswahl, keine Wiederholungsrichtlinie. Wenn Sie Failover benötigen, implementieren Sie es in Ihrer Anwendung: Senden Sie nach dem Fehlschlagen des ersten Kanals eine neue Anfrage mit einem anderen Kanal.

Legacy-Anbieter-Header können X-Felo-Channel nicht überschreiben. Wenn ein anderer Header in Ihrem Client ebenfalls einen Anbieter anfordert, hat X-Felo-Channel Vorrang.

Preise

Jeder öffentliche Kanal veröffentlicht seine eigenen Standardtarife und seinen Rabattmultiplikator. Der für einen Anbieter auf der Modell-Detailseite angezeigte Preis ist der Kundenpreis dieses Kanals. Der Kanal, den Sie binden, bestimmt den Anbieter, dessen Tarif gilt.

Bevor Sie einen Kanal für eine Last mit hohem Volumen binden, vergleichen Sie die Anbieterzeilen auf der Modellseite und lesen Sie Modelle und Preise.

Kanalcode finden

  1. Öffnen Sie die Modell-Detailseite und suchen Sie die Anbietertabelle.
  2. Ordnen Sie den Anbieter seinem öffentlichen Kanalcode zu. Der Code ist die stabile Kennung, die von der API verwendet wird.
  3. Wenn Sie den Katalog direkt lesen, verwenden Sie channels[].code und prüfen Sie runnable.

Beispiel: claude-haiku-5-5 veröffentlicht mehrere Kanäle, darunter anthropic (der Standard), azure, google-vertex-global und claude-cc. Die Zeile claude-cc zeigt ihren eigenen Rabatt, sodass das Binden dieses Kanals sowohl den Anbieter als auch den Tarif ändert.

Beispiele

Chat Completions, an einen Kanal gebunden:

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 mit demselben Kanal:

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

Standard-Routing ohne Routing-Header:

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

Verwandte Themen