OpenAI Chat Completions
Enviar uma requisição pela operação Chat Completions compatível com OpenAI do RunAPI.
Visão geral
Use a operação Chat Completions compatível com OpenAI do RunAPI com um modelo compatível e os formatos de requisição e resposta do protocolo.
Início rápido
- Crie uma Chave de API e defina-a como RUNAPI_API_KEY.
- Escolha um modelo compatível, depois envie os parâmetros de caminho e o corpo JSON documentados.
- Leia a resposta JSON ou os eventos enviados pelo servidor exibidos para esta operação e trate os erros de protocolo.
Endpoint
- URL base
https://runapi.ai- Versão do contrato
v1- Autenticação preferida
Authorization: Bearer YOUR_API_TOKEN
Portadores de autenticação
O RunAPI aceita cada carrier listado abaixo. Os exemplos gerados usam o cabeçalho preferido do protocolo.
- header - Preferido
Authorization: Bearer YOUR_API_TOKEN- header
x-api-key: YOUR_API_TOKEN- header
x-goog-api-key: YOUR_API_TOKEN- query
?key=YOUR_API_TOKEN
Modelos compatíveis
Abra uma página de modelo para ver preços atuais, limites de taxa e detalhes de uso comercial.
Exibir 60 modelos compatíveis
- claude-fable-5-1
- claude-fable-5
- claude-sonnet-5
- claude-opus-5
- claude-opus-4-8
- claude-opus-4-7
- claude-opus-4-6
- claude-sonnet-4-6
- claude-opus-4-5-20251101
- claude-sonnet-4-5-20250929
- claude-haiku-4-5-20251001
- claude-opus-4-1-20250805
- gpt-5.5
- gpt-5.5-pro
- gpt-5.4
- gpt-5.4-mini
- gpt-5.4-nano
- gpt-5.4-pro
- gpt-5.3-codex
- gpt-5.3-codex-spark
- gpt-5.2
- gpt-5.6-luna
- gpt-5.6-sol
- gpt-5.6-terra
- gpt-6-astra
- gemini-3.7-flash
- gemini-3.6-flash
- gemini-3.5-flash
- gemini-3.1-pro-preview
- gemini-3-flash-preview
- gemini-2.5-pro
- gemini-2.5-flash
- deepseek-v4-flash-vision-exp
- deepseek-v4-pro
- deepseek-v4-flash
- glm-5.3
- glm-5.2
- glm-5.1
- glm-5-turbo
- glm-5
- glm-4.7
- glm-4.6
- glm-4.5
- glm-4.5-air
- kimi-k3
- kimi-k2.7-code
- kimi-k2.6
- kimi-k2.5
- MiniMax-M3
- MiniMax-M2.7
- MiniMax-M2.7-highspeed
- MiniMax-M2.5
- MiniMax-M2.5-highspeed
- MiniMax-M2.1
- MiniMax-M2
- mimo-v2.5-pro
- mimo-v2.5
- grok-4.20-0309-non-reasoning
- grok-4.5
- grok-4.3
Contrato de solicitação
Apenas os campos com evidências de suporte tanto no protocolo público quanto no RunAPI são listados. Campos adicionais no corpo JSON são repassados diretamente.
Corpo JSON9 campos
max_tokens["integer", "null"]Limite de tokens de geração de compatibilidade mantido para modelos suportados; o suporte a modelos pode variar.
messagesarrayMensagens da conversa no formato OpenAI Chat Completions.
messages[].content["string", "array"]messages[].rolestringmodelstringIdentificador de modelo do RunAPI retornado pelo catálogo de modelos compatível.
stream["boolean", "null"]Retornar chunks de Chat Completions como server-sent events.
Padrão:false
temperature["number", "null"]Temperatura de amostragem; o suporte pode variar conforme o modelo.
toolsarrayFerramentas que o modelo pode chamar.
top_p["number", "null"]Probabilidade de nucleus sampling; o suporte pode variar conforme o modelo.
Exemplo de solicitação
{
"messages": [
{
"content": "Summarize one practical improvement for an API deployment.",
"role": "user"
}
],
"model": "gpt-5.4",
"stream": false
}
Resposta síncrona
Esquema
{
"additionalProperties": true,
"properties": {
"choices": {
"type": "array"
},
"created": {
"type": "integer"
},
"id": {
"type": "string"
},
"model": {
"type": "string"
},
"object": {
"const": "chat.completion",
"type": "string"
},
"usage": {
"additionalProperties": true,
"properties": {
"completion_tokens": {
"type": "integer"
},
"prompt_tokens": {
"type": "integer"
},
"total_tokens": {
"type": "integer"
}
},
"required": [
"prompt_tokens",
"completion_tokens",
"total_tokens"
],
"type": "object"
}
},
"required": [
"id",
"object",
"created",
"model",
"choices"
],
"type": "object"
}
Exemplo
{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"content": "Hello! How can I help today?",
"role": "assistant"
}
}
],
"created": 1785196800,
"id": "chatcmpl_example",
"model": "gpt-5.4",
"object": "chat.completion",
"usage": {
"completion_tokens": 8,
"prompt_tokens": 12,
"total_tokens": 20
}
}
Evento SSE: chunk
Esquema
{
"additionalProperties": true,
"properties": {
"choices": {
"type": "array"
},
"created": {
"type": "integer"
},
"id": {
"type": "string"
},
"model": {
"type": "string"
},
"object": {
"const": "chat.completion.chunk",
"type": "string"
},
"usage": {
"oneOf": [
{
"additionalProperties": true,
"properties": {
"completion_tokens": {
"type": "integer"
},
"prompt_tokens": {
"type": "integer"
},
"total_tokens": {
"type": "integer"
}
},
"required": [
"prompt_tokens",
"completion_tokens",
"total_tokens"
],
"type": "object"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"object",
"choices"
],
"type": "object"
}
Exemplo
{
"choices": [
{
"delta": {
"content": "Hello"
},
"finish_reason": null,
"index": 0
}
],
"id": "chatcmpl_example",
"object": "chat.completion.chunk",
"usage": null
}
Erro de protocolo: invalid_request
Esquema
{
"additionalProperties": true,
"properties": {
"error": {
"additionalProperties": true,
"properties": {
"code": {
"type": [
"string",
"null"
]
},
"message": {
"type": "string"
},
"param": {
"type": [
"string",
"null"
]
},
"type": {
"type": "string"
}
},
"required": [
"message",
"type"
],
"type": "object"
}
},
"required": [
"error"
],
"type": "object"
}
Exemplo
{
"error": {
"code": null,
"message": "messages is required",
"param": "messages",
"type": "invalid_request_error"
}
}
Uso
Esquema
{
"additionalProperties": true,
"properties": {
"completion_tokens": {
"type": "integer"
},
"prompt_tokens": {
"type": "integer"
},
"total_tokens": {
"type": "integer"
}
},
"required": [
"prompt_tokens",
"completion_tokens",
"total_tokens"
],
"type": "object"
}
Exemplo
{
"completion_tokens": 8,
"prompt_tokens": 12,
"total_tokens": 20
}
Exemplos de Código Gerados
Cada exemplo em cURL, JavaScript e Python envia a requisição validada deste contrato sem exigir um SDK específico do protocolo.
Instalar
pip install requests
import requests
response = requests.post(
"https://runapi.ai/v1/chat/completions",
headers={"Authorization": "Bearer YOUR_API_TOKEN", "Content-Type": "application/json"},
json={"model": "gpt-5.4", "messages": [{"role": "user", "content": "Summarize one practical improvement for an API deployment."}], "stream": False}
)
response.raise_for_status()
print(response.json())