Responses
MarkdownNuevo formato OpenAI: una entrada, salida tipada, herramientas y razonamiento. Lo utiliza Codex CLI.
Guía completa
https://api.ailoot.ai/v1/responsescurl https://api.ailoot.ai/v1/responses \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6.1-sol",
"instructions": "Responde brevemente.",
"input": "¿En qué se diferencia TCP de UDP?"
}' from openai import OpenAI
import os
client = OpenAI(max_retries=0, base_url="https://api.ailoot.ai/v1", api_key=os.environ["AILOOT_API_KEY"])
resp = client.responses.create(
model="gpt-6.1-sol",
instructions="Responde brevemente.",
input="¿En qué se diferencia TCP de UDP?",
)
print(resp.output_text)import OpenAI from "openai";
const client = new OpenAI({ maxRetries: 0, baseURL: "https://api.ailoot.ai/v1", apiKey: process.env.AILOOT_API_KEY });
const resp = await client.responses.create({
model: "gpt-6.1-sol",
instructions: "Responde brevemente.",
input: "¿En qué se diferencia TCP de UDP?",
});
console.log(resp.output_text);{
"id": "resp_67f1…",
"object": "response",
"status": "completed",
"model": "gpt-6.1-sol",
"output": [
{
"type": "message",
"role": "assistant",
"content": [
{ "type": "output_text", "text": "TCP garantiza la entrega y el orden; UDP no, pero es más rápido…" }
]
}
],
"usage": { "input_tokens": 24, "output_tokens": 61, "total_tokens": 85 }
}Autenticación
- Authorizationheaderobligatorio
Clave en formato
Bearer sk-…. También se admiten los encabezadosx-api-keyox-goog-api-key.
Cuerpo de la solicitud
- modelstringobligatorio
ID de modelo con formato Responses. El catálogo incluye 53: GPT, Claude, DeepSeek, Qwen, Kimi, GLM, MiniMax y Grok. Los modelos Gemini no están disponibles en este formato.
- inputstring | arrayobligatorio
Texto de la solicitud o un arreglo de mensajes y partes (texto e imágenes).
- instructionsstringopcional
Instrucción de sistema.
- streambooleanopcional
Flujo de eventos SSE; el último evento es
response.completed. El texto de pago llega en un solo bloque después de calcular el costo. - max_output_tokensintegeropcional
Número máximo de tokens de respuesta, incluido el razonamiento. Si no se indica, Ailoot establece 4096 (o menos, si el máximo de respuesta del modelo es inferior). Para respuestas largas, indica el límite explícitamente. Las solicitudes con
previous_response_idy herramientas integradasweb_searchocode_interpretertoman en cuenta, para las nuevas solicitudes de texto, estimaciones separadas del contexto guardado y del trabajo de las herramientas; no implican automáticamente una reserva por el costo de toda la ventana de entrada. Las reservas aceptadas anteriormente conservan sus condiciones originales. Para las imágenes, el video y el audio de salida se reserva el costo completo del resultado. Si la reserva calculada supera el saldo disponible o el límite de la clave y el modelo y el método lo admiten, Ailoot puede reducirmax_tokens(max_output_tokensen Responses) al número de tokens que se pueda pagar, sin bajar de 256 tokens ni del mínimo del método si es mayor, y lo comunica en el encabezadoX-Ailoot-Max-Tokens-Capped. La posibilidad de reducir el límite se comprueba para el modelo de texto y el método específicos. Se aplica a las rutas de texto Gemini compatibles, tanto en el formato nativo de Gemini como en Anthropic Messages;deepseek-ai/deepseek-v4.1-flash,meta/llama-3.2-11b-vision-instruct,meta/muse-glimmer-30b,nvidia/ising-calibration-1.5-31b,nvidia/nemotron-3-nano-omni-30b-a3b-reasoning,nvidia/nemotron-3-super-120b-a12b,nvidia/nemotron-3-ultra-550b-a55b,nvidia/nemotron-3.5-content-safety,nvidia/nemotron-3.5-lightning-30b-a3b,nvidia/riva-translate-4b-instruct-v1.1,nvidia/riva-translate-4b-instruct-v2,poolside/laguna-xs-2.1,z-ai/glm-5.3-flashen los formatos Chat Completions y Messages, cuando el modelo los admite. Salida : al calcular la reserva de una nueva solicitud de texto, se estima con base en la longitud típica de respuesta y las condiciones aceptadas. El límite solicitado se indica mediantemax_tokens(max_output_tokensen Responses). El límite solicitado no coincide automáticamente con el número de tokens usado para calcular la reserva ni garantiza la longitud real de la respuesta en un modelo sin un límite confiable. El valor predeterminado de 4096 solo se aplica a las rutas correspondientes; la regla concreta depende del modelo y del método. - reasoningobjectopcional
{"effort": "low" | "medium" | "high"}para los modelos de razonamiento. - toolsarrayopcional
Funciones que el modelo puede invocar.
- textobjectopcional
Formato de respuesta, por ejemplo,
{"format": {"type": "json_schema", ...}}. - temperaturenumberopcional
Aleatoriedad de la respuesta, si el modelo la admite.
Respuesta
- outputarray
Elementos de respuesta: mensajes (
message), razonamiento y llamadas a funciones. En los SDK resulta práctico usaroutput_text. - statusstring
completed,incomplete(se alcanzó el límite) ofailed. - usageobject
input_tokens,output_tokens,total_tokens.