Referência da API

Responses

POST/v1/responses

O formato da Responses API da OpenAI — campo input único, itens de saída estruturados e resumos de raciocínio para modelos que os oferecem.

#Parâmetros da requisição

  • modelstringobrigatório

    ID do modelo em /v1/models. O gateway determina o provedor upstream a partir desse valor.

  • inputstring | arrayobrigatório

    O prompt: uma string simples ou um array de itens de entrada.

  • instructionsstringopcional

    Orientação no nível do sistema, equivalente a uma mensagem de sistema.

  • streambooleanopcional

    Transmite eventos SSE response.* em vez de um único corpo JSON.

  • max_output_tokensintegeropcional

    Limite máximo de tokens gerados; também limita a estimativa de cota pré-reservada.

  • toolsarrayopcional

    Declarações de funções que o modelo pode chamar — veja o guia de chamada de ferramentas.

  • previous_response_idstringopcional

    Encadeie um novo turno a uma resposta anterior sem reenviar o histórico.

#Compactar uma conversa longa

POST/v1/responses/compact

A compactação condensa uma conversa que ficou grande demais para continuar sendo reenviada e retorna a versão reduzida para seguir adiante. É a chamada que agentes de código fazem quando uma sessão se aproxima do limite de contexto.

  • modelstringobrigatório

    Um modelo que suporta compactação. Os demais rejeitam este caminho com unsupported_endpoint.

  • inputarray | stringopcional

    A conversa a compactar, no formato input da Responses.

  • instructionsstring | arrayopcional

    O que preservar ao compactar — por exemplo, "keep every file path and decision".

  • previous_response_idstringopcional

    Continua a partir de uma resposta armazenada em vez de reenviar todo o histórico.

compacted.json
{
  "id": "resp_…",
  "object": "response",
  "created_at": 1789000000,
  "output": [ /* the compacted conversation */ ],
  "usage": {"input_tokens": 8120, "output_tokens": 240, "total_tokens": 8360}
}

Nunca em streaming, sempre cobrado por tokens

A compactação não tem versão em streaming — stream:true não faz parte desta requisição. Ela é cobrada como qualquer outra chamada da Responses pelos tokens que lê e escreve, então compacte de forma deliberada, não a cada turno.

#Erros relacionados

  • 400 invalid_request_errorCorpo malformado ou parâmetro não suportado por este modelo.
  • 401Bearer token inválido ou ausente. Não há error.code neste caminho — verifique o status.
  • 402 insufficient_user_quotaO saldo da carteira não cobre a estimativa pré-reservada.
  • 429Limitação por chave. Corpo vazio; aguarde o Retry-After. Um 429 que traz insufficient_user_quota indica, na verdade, o limite de gastos diário.
  • 503 model_not_foundModelo desconhecido, ou nenhum canal saudável o atende no momento.

Tabela completa de códigos de erro →

#Exemplo de requisição

curl https://www.aisplice.store/v1/responses \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-luna",
    "input": "Say hello."
  }'

#Resposta

response.json
{
  "id": "resp_…",
  "object": "response",
  "model": "gpt-5.6-luna",
  "output": [{
    "type": "message",
    "role": "assistant",
    "content": [{"type": "output_text", "text": "Hello!"}]
  }],
  "usage": {"input_tokens": 9, "output_tokens": 3, "total_tokens": 12}
}

Ainda com problemas?

Envie para nós o ID da requisição ou a mensagem de erro e vamos investigar.