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 las cabecerasx-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 array 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 único bloque después de calcular el coste. - 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 expresamente. Las solicitudes con
previous_response_idy herramientas integradasweb_searchocode_interpretertienen en cuenta, para las nuevas solicitudes de texto, estimaciones separadas del contexto guardado y del trabajo de las herramientas; no pasan automáticamente al coste de toda la ventana de entrada. Las reservas aceptadas anteriormente conservan sus condiciones originales. Para imágenes, vídeo y audio de salida se reserva el coste completo del resultado. Si la reserva calculada no cabe en el saldo disponible o en el límite de la clave, Ailoot puede reducir, para un modelo y un método admitidos,max_tokens(max_output_tokensen Responses) hasta un volumen que pueda pagarse, sin bajar de 256 tokens ni de un mínimo superior establecido para ese método, y lo comunica en la cabeceraX-Ailoot-Max-Tokens-Capped. La posibilidad de reducir el límite se comprueba para el modelo de texto y el método concretos. Se aplica a las rutas de texto admitidas de Gemini en su formato nativo y 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 : para la reserva de una nueva solicitud de texto, se estima según la longitud típica de la respuesta y las condiciones aceptadas. El límite solicitado se especifica 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 una limitación fiable. El valor inicial 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 puede llamar el modelo.
- 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 ha alcanzado el límite) ofailed. - usageobject
input_tokens,output_tokens,total_tokens.