Responses
MarkdownNouveau format OpenAI : une entrée, une sortie typée, des outils et du raisonnement. Codex CLI l’utilise.
Guide complet
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": "Réponds brièvement.",
"input": "Quelle est la différence entre TCP et 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="Réponds brièvement.",
input="Quelle est la différence entre TCP et 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: "Réponds brièvement.",
input: "Quelle est la différence entre TCP et 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 garantit la livraison et l’ordre ; UDP ne le garantit pas, mais est plus rapide…" }
]
}
],
"usage": { "input_tokens": 24, "output_tokens": 61, "total_tokens": 85 }
}Autorisation
- Authorizationheaderobligatoire
Clé au format
Bearer sk-…. Les en-têtes suivants conviennent aussi :x-api-keyoux-goog-api-key.
Corps de la requête
- modelstringobligatoire
ID de modèle au format Responses. Le catalogue en compte 53 : GPT, Claude, DeepSeek, Qwen, Kimi, GLM, MiniMax et Grok. Les modèles Gemini ne sont pas disponibles dans ce format.
- inputstring | arrayobligatoire
Texte de la requête ou tableau de messages et de parties (texte, images).
- instructionsstringfacultatif
Instruction système.
- streambooleanfacultatif
Flux d’événements SSE; le dernier événement est
response.completed. Le texte facturé arrive en un seul bloc après le calcul du coût. - max_output_tokensintegerfacultatif
Nombre maximal de jetons de réponse, raisonnement compris. Si aucune limite n’est définie, Ailoot utilise 4096 (ou moins si la limite de réponse du modèle est plus basse). Pour les réponses longues, indiquez explicitement la limite. Les requêtes avec
previous_response_idet avec les outils intégrésweb_searchoucode_interpreterpour les nouvelles requêtes textuelles, tiennent compte d’estimations distinctes du contexte enregistré et de l’utilisation des outils ; elles ne passent pas automatiquement au coût de toute la fenêtre d’entrée. Les réserves acceptées antérieurement conservent leurs conditions initiales. Pour les images, la vidéo et l’audio en sortie, le coût total du résultat est réservé. Si la réserve calculée dépasse le solde disponible ou le plafond de la clé, Ailoot peut, pour un modèle et une méthode pris en charge, réduiremax_tokens(max_output_tokensdans Responses) à un volume finançable, sans descendre sous 256 jetons ni sous le minimum de cette méthode s’il est plus élevé, et l’indique dans l’en-têteX-Ailoot-Max-Tokens-Capped. La possibilité de réduire la limite se vérifie pour le modèle textuel précis et la méthode. Elle s’applique aux routes textuelles Gemini prises en charge, au format natif Gemini et au format 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-flash— aux formats Chat Completions et Messages, lorsque le modèle les prend en charge. Sortie — pour la réserve d’une nouvelle requête textuelle, elle est estimée selon une longueur de réponse typique et les conditions acceptées. La limite demandée est définie parmax_tokens(max_output_tokensdans Responses). La limite demandée ne correspond pas automatiquement au nombre de jetons utilisé pour calculer la réserve et ne garantit pas la longueur réelle de réponse d’un modèle sans limite fiable. La valeur initiale de 4096 ne s’applique qu’aux routes concernées ; la règle précise dépend du modèle et de la méthode. - reasoningobjectfacultatif
{"effort": "low" | "medium" | "high"}pour les modèles de raisonnement. - toolsarrayfacultatif
Fonctions que le modèle peut appeler.
- textobjectfacultatif
Format de réponse, par exemple
{"format": {"type": "json_schema", ...}}. - temperaturenumberfacultatif
Caractère aléatoire de la réponse, si le modèle le prend en charge.
Réponse
- outputarray
Éléments de réponse : messages (
message), raisonnement et appels de fonctions. Dans les SDK, il est pratique de récupéreroutput_text. - statusstring
completed,incomplete(limite atteinte) oufailed. - usageobject
input_tokens,output_tokens,total_tokens.