Skip to Content
DocsRecursos avançadosRoteamento de provedores

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:

Tipo de modeloCaminho do campo
Modelos de chatextra_body.provider.type
Modelos de vídeoprovider.type

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.

Terminal
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", "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:

ProvedorDescrição
openaiOpenAI :API oficial da família GPT
anthropicAnthropic :API oficial da família Claude
geminiGoogle AI :API oficial da família Gemini
azure_foundry (foundry)Azure AI Foundry :plataforma de hospedagem de modelos no Microsoft Azure
aws_bedrock (bedrock)Amazon Bedrock :serviço de hospedagem de modelos na AWS
google_vertex (vertex)Vertex AI :plataforma de hospedagem de modelos no Google Cloud
aliyunAlibaba Cloud Bailian :plataforma de serviços de modelos da Alibaba Cloud
volcengineVolcengine Ark :plataforma da ByteDance para a China continental
byteplusBytePlus :plataforma da ByteDance para fora da China continental
deepseekDeepSeek :API oficial da família DeepSeek
moonshotMoonshot AI :API oficial da família Kimi
zhipuZhipu AI :API oficial da família GLM
minimaxMiniMax :API oficial da família MiniMax
grokxAI :API oficial da família Grok
jinaJina AI :modelos de embedding e reranking
tencentTencent Cloud Hunyuan :plataforma de serviços de modelos da Tencent Cloud

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:

ProvedorDescriçãoPolítica de conteúdo
volcengineVolcengine Ark, plataforma da ByteDance para a China continentalModeração padrão
byteplusBytePlus, plataforma da ByteDance para fora da China continentalPermite conteúdo não adequado para todos os públicos (NSFW)

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.

Erros comuns

error.typeCondição
invalid_provider_typeO valor não está na enumeração de provedores: nome escrito errado ou grafia já descontinuada.
provider_type_unavailableO provedor existe, mas não atende este modelo. Em modelos de chat a mensagem de erro também lista os que atendem.
Last updated on