Referencia de la API

Responses

POST/v1/responses

El formato de la Responses API de OpenAI — un único campo input, elementos de salida estructurados y resúmenes de razonamiento en los modelos que los ofrecen.

#Parámetros de la solicitud

  • modelstringobligatorio

    ID de modelo de /v1/models. El gateway determina el proveedor upstream a partir de este valor.

  • inputstring | arrayobligatorio

    El prompt: un string simple o un array de elementos de entrada.

  • instructionsstringopcional

    Instrucciones a nivel de sistema, equivalentes a un mensaje system.

  • streambooleanopcional

    Transmite eventos SSE response.* en lugar de un único cuerpo JSON.

  • max_output_tokensintegeropcional

    Límite superior de tokens generados; también limita la estimación de cuota reservada previamente.

  • toolsarrayopcional

    Declaraciones de funciones que el modelo puede llamar — consulta la guía de llamadas a herramientas.

  • previous_response_idstringopcional

    Encadena un turno de seguimiento a una respuesta anterior sin reenviar el historial.

#Compactar una conversación larga

POST/v1/responses/compact

La compactación condensa una conversación que ha crecido más de lo que quieres seguir reenviando y devuelve la versión abreviada para continuar con ella. Es la llamada que hacen los agentes de código cuando una sesión se acerca al límite de contexto.

  • modelstringobligatorio

    Un modelo que admita compactación. Los demás rechazan esta ruta con unsupported_endpoint.

  • inputarray | stringopcional

    La conversación que se compactará, en formato input de Responses.

  • instructionsstring | arrayopcional

    Qué conservar al compactar — por ejemplo, "conserva todas las rutas de archivo y decisiones".

  • previous_response_idstringopcional

    Continúa a partir de una respuesta almacenada en lugar de reenviar todo el historial.

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

Sin streaming, siempre facturado por tokens

La compactación no tiene versión en streaming — stream:true no forma parte de esta solicitud. Su precio es el de cualquier otra llamada a Responses según los tokens que lee y escribe, así que compacta de forma deliberada y no en cada turno.

#Errores relacionados

  • 400 invalid_request_errorCuerpo mal formado o parámetro no admitido para este modelo.
  • 401Bearer token no válido o ausente. Esta ruta no tiene error.code — compara por el estado.
  • 402 insufficient_user_quotaEl saldo de la billetera no cubre la estimación reservada previamente.
  • 429Limitación por clave. Cuerpo vacío; espera el Retry-After. Un 429 que sí incluye insufficient_user_quota indica en cambio un límite de gasto diario.
  • 503 model_not_foundModelo desconocido, o ningún canal sano lo atiende ahora mismo.

Tabla completa de códigos de error →

#Ejemplo de solicitud

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."
  }'

#Respuesta

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}
}

¿Sigues con el problema?

Envíanos el ID de solicitud o el mensaje de error y lo revisaremos.