Felo API PlatformFelo API Platform

Guide

Canali e routing dei fornitori

Fissa un modello a un fornitore specifico con X-Felo-Channel e comprendi il routing predefinito, la tariffazione e il fallback.

Un modello può essere servito tramite diversi provider upstream. Per impostazione predefinita, Felo sceglie un provider per te. Quando ti serve un fornitore specifico, invia l'header di richiesta X-Felo-Channel con uno o più codici canale pubblici.

Endpoint supportati

X-Felo-Channel è accettato su ogni endpoint di generazione della Model API:

EndpointProtocollo
POST /api/v1/chat/completionsOpenAI Chat Completions
POST /api/v1/responsesOpenAI Responses
POST /api/v1/messagesAnthropic Messages
POST /api/v1/images/generationsGenerazione di immagini
POST /api/v1/videos/generationsGenerazione di video
POST /api/v1/decisionsDecisioni

Non si applica alla Data API (/v1/beta) né alle Felo API (/v2).

Valori dell'header

Il valore è un elenco ordinato, separato da virgole, di codici canale pubblici:

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

Regole dalla specifica pubblica della Model API:

  • Ometti l'header per usare la route predefinita.
  • default è un valore valido solo se usato da solo. Non combinarlo con i codici canale.
  • I codici canale pubblici provengono dal campo channels[].code del modello nel catalogo. Usa il codice, non il nome visualizzato del fornitore.
  • Sono instradabili solo i canali eseguibili e pubblicati.

Routing predefinito

Quando ometti l'header, o invii default da solo, la piattaforma sceglie il provider. In modalità wallet analizza l'ordine effettivo dei canali pubblici del modello al contrario, salta i canali non pubblicati o non disponibili e seleziona il provider del primo canale disponibile. Può includere endpoint disponibili di quel provider con lo stesso ID modello upstream e lo stesso livello di servizio.

Non devi inviare X-Felo-Channel: default; omettere l'header è il modo normale per usare la route predefinita.

Routing esplicito

Quando invii dei codici canale, vengono convalidati nell'ordine in cui li elenchi. Viene inoltrato solo il gruppo di provider del primo canale. Non esiste alcun fallback automatico a un altro provider.

Questo significa che un elenco di canali è una selezione, non una politica di retry. Se ti serve il failover, implementalo nella tua applicazione: invia una nuova richiesta con un canale diverso dopo che il primo ha fallito.

Gli header legacy dei provider non possono sovrascrivere X-Felo-Channel. Se un altro header nel tuo client richiede anch'esso un provider, X-Felo-Channel ha la precedenza.

Prezzi

Ogni canale pubblico pubblica le proprie tariffe standard e il proprio moltiplicatore di sconto. Il prezzo mostrato per un fornitore nella pagina di dettaglio del modello è il prezzo cliente di quel canale. Il canale che vincoli determina il provider la cui tariffa si applica.

Prima di vincolare un canale per un carico di lavoro ad alto volume, confronta le righe dei fornitori nella pagina del modello e leggi Modelli e prezzi.

Trovare un codice canale

  1. Apri la pagina di dettaglio del modello e individua la tabella dei fornitori.
  2. Abbina il fornitore al suo codice canale pubblico. Il codice è l'identificatore stabile usato dall'API.
  3. Se leggi il catalogo direttamente, usa channels[].code e controlla runnable.

Per esempio, claude-haiku-5-5 pubblica diversi canali, tra cui anthropic (il predefinito), azure, google-vertex-global e claude-cc. La riga claude-cc mostra uno sconto proprio, quindi vincolarla cambia sia il provider sia la tariffa.

Esempi

Chat Completions vincolata a un solo canale:

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 con lo stesso canale:

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 predefinito, senza header di routing:

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

Correlati