Roteamento de provedores
Um modelo costuma ser atendido por mais de um provedor — bytedance/seedance-2.0, por exemplo, vem tanto de volcengine quanto de byteplus. A ofox seleciona o provedor automaticamente; provider.type fixa a requisição em um provedor específico.
Roteamento padrão
Sem o campo provider, a ofox distribui a requisição por peso entre os canais que atendem aquele modelo no momento. Qual provedor atende uma requisição específica não é previsível.
Fixar um provedor
Informe o nome do provedor no campo type. A posição do campo difere conforme o tipo de modelo:
O protocolo nativo do Gemini ignora extra_body.provider no corpo — a requisição é concluída, a restrição simplesmente não se aplica e não há erro algum. Nesse protocolo, use o cabeçalho X-OfoxAI-Provider-Type. O contrato de campo por protocolo está em API · Roteamento de provedores.
Modelos de chat
cURL
curl https://api.ofox.io/v1/chat/completions \
-H "Authorization: Bearer $OFOX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic/claude-sonnet-5.5",
"messages": [{ "role": "user", "content": "..." }],
"extra_body": {
"provider": { "type": "bedrock" }
}
}'Com os SDKs oficiais da OpenAI, extra_body precisa existir como chave literal no corpo da requisição. O SDK de TypeScript envia exatamente como está escrito no objeto de parâmetros. O argumento extra_body= do SDK de Python mescla o conteúdo no nível superior do corpo, então a chave precisa ser aninhada um nível a mais, ou enviada como cabeçalho.
Provedores disponíveis
Os provedores atualmente suportados pela ofox estão listados abaixo. Os nomes curtos, entre parênteses, equivalem ao nome completo; ambos podem ser usados:
Nem todo provedor atende todo modelo. Quais atendem um modelo específico — e quais protocolos cada um suporta — aparece na página desse modelo no catálogo de modelos . Os mesmos dados estão disponíveis por código como provider_cards[], retornado por GET /v2/models/catalog/{provider}/{slug}?include=provider_price.
Modelos de chat
Os modelos de chat se distribuem pela maioria dos provedores acima. A correspondência exata e o suporte a protocolos constam na página de cada modelo.
Modelos de vídeo
A família bytedance/seedance-* é atendida pelos dois provedores abaixo, cujas políticas de conteúdo diferem:
byteplus permite que o seedance gere conteúdo não adequado para todos os públicos (NSFW), enquanto volcengine aplica moderação padrão. provider.type: "byteplus" precisa ser informado explicitamente quando esse conteúdo for necessário; caso contrário, a distribuição por peso pode encaminhar a requisição para volcengine, onde a moderação vai recusá-la.