Skip to Content
Referência da APIProtocolo compatível com OpenAIChat Completions

Chat Completions

Crie respostas de completação de chat. Suporta geração de texto, entrada multimodal, function calling, streaming e mais.

Para novos projetos, recomendamos a Responses API. A Responses API separa instructions de input, então as instruções de sistema aproveitam o Prompt Caching automaticamente, com maior taxa de acerto de cache e custo e latência bem menores. O Chat Completions continua com suporte de longo prazo; integrações existentes não precisam migrar.

Endpoint

POST https://api.ofox.io/v1/chat/completions

Parâmetros da requisição

ParâmetroTipoObrigatórioDescrição
modelstring✅Identificador do modelo, ex: openai/gpt-6.1-sol
messagesarray✅Array de mensagens
temperaturenumber—Temperatura de amostragem 0-2, padrão 1
max_tokensnumber—Número máximo de tokens gerados
streamboolean—Habilitar resposta em streaming
top_pnumber—Parâmetro de amostragem nucleus
frequency_penaltynumber—Penalidade de frequência -2 a 2
presence_penaltynumber—Penalidade de presença -2 a 2
toolsarray—Definições de ferramentas disponíveis (Function Calling)
tool_choicestring/object—Estratégia de seleção de ferramenta
response_formatobject—Formato de resposta (JSON Mode)
providerobject—Extensão OfoxAI: configuração de roteamento e failover

Formato da Message

interface Message { role: 'system' | 'user' | 'assistant' | 'tool' content: string | ContentPart[] // Texto ou conteúdo multimodal name?: string tool_calls?: ToolCall[] // Chamadas de ferramenta em mensagens do assistant tool_call_id?: string // ID da chamada para mensagens de tool } // Conteúdo multimodal type ContentPart = | { type: 'text'; text: string } | { type: 'image_url'; image_url: { url: string; detail?: 'auto' | 'low' | 'high' } }

Exemplos de requisição

Terminal
curl https://api.ofox.io/v1/chat/completions \ -H "Authorization: Bearer $OFOX_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "openai/gpt-6.1-sol", "messages": [ {"role": "system", "content": "Você é um assistente útil."}, {"role": "user", "content": "Explique o que é um API Gateway"} ], "temperature": 0.7 }'

Formato da resposta

{ "id": "chatcmpl-abc123", "object": "chat.completion", "created": 1703123456, "model": "openai/gpt-6.1-sol", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "Um API Gateway é um..." }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 25, "completion_tokens": 150, "total_tokens": 175 } }

Resposta em streaming

Defina stream: true para habilitar resposta SSE em streaming:

stream.py
stream = client.chat.completions.create( model="openai/gpt-6.1-sol", messages=[{"role": "user", "content": "Conte uma história"}], stream=True ) for chunk in stream: content = chunk.choices[0].delta.content if content: print(content, end="", flush=True)

Formato da resposta em streaming

Cada chunk é enviado via SSE:

data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Olá"},"finish_reason":null}]} data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":" mundo"},"finish_reason":null}]} data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]} data: [DONE]

Entrada multimodal (Vision)

Envie imagens para o modelo analisar:

response = client.chat.completions.create( model="openai/gpt-6.1-sol", messages=[{ "role": "user", "content": [ {"type": "text", "text": "O que há nesta imagem?"}, {"type": "image_url", "image_url": {"url": "https://example.com/image.jpg"}} ] }] )

Modelos com suporte a vision: openai/gpt-6.1-sol, anthropic/claude-sonnet-5.5, google/gemini-3.8-flash e outros. Veja o guia de compreensão visual.

Function Calling

Veja o guia de Function Calling.

Última atualização em