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 modelo | Caminho do campo |
|---|---|
| Modelos de chat | extra_body.provider.type |
| Modelos de vídeo | provider.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.
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",
"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:
| Provedor | Descrição |
|---|---|
openai | OpenAI :API oficial da família GPT |
anthropic | Anthropic :API oficial da família Claude |
gemini | Google 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 |
aliyun | Alibaba Cloud Bailian :plataforma de serviços de modelos da Alibaba Cloud |
volcengine | Volcengine Ark :plataforma da ByteDance para a China continental |
byteplus | BytePlus :plataforma da ByteDance para fora da China continental |
deepseek | DeepSeek :API oficial da família DeepSeek |
moonshot | Moonshot AI :API oficial da família Kimi |
zhipu | Zhipu AI :API oficial da família GLM |
minimax | MiniMax :API oficial da família MiniMax |
grok | xAI :API oficial da família Grok |
jina | Jina AI :modelos de embedding e reranking |
tencent | Tencent 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:
| Provedor | Descrição | Política de conteúdo |
|---|---|---|
volcengine | Volcengine Ark, plataforma da ByteDance para a China continental | Moderação padrão |
byteplus | BytePlus, plataforma da ByteDance para fora da China continental | Permite 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.type | Condição |
|---|---|
invalid_provider_type | O valor não está na enumeração de provedores: nome escrito errado ou grafia já descontinuada. |
provider_type_unavailable | O provedor existe, mas não atende este modelo. Em modelos de chat a mensagem de erro também lista os que atendem. |