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 également :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 tokens 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 faible). Pour les réponses longues, indiquez explicitement la limite. Les requêtes avec
previous_response_idet avec les outils intégrésweb_searchoucode_interpreterutilisent pour les nouvelles requêtes textuelles des estimations distinctes du contexte enregistré et de l’utilisation des outils ; elles ne passent pas automatiquement au coût de la totalité de la fenêtre d’entrée. Les réservations déjà acceptées conservent leurs conditions d’origine. Pour les images, la vidéo et l’audio en sortie, le coût total du résultat est réservé. Si la réservation calculée ne peut pas être couverte par 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) jusqu’au volume finançable, sans descendre sous 256 tokens ou le minimum plus élevé de la méthode, et l’indique dans l’en-têteX-Ailoot-Max-Tokens-Capped. La possibilité de réduire la limite est vérifiée 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 est estimée, pour la réservation d’une nouvelle requête textuelle, à partir d’une longueur de réponse typique et des 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 tokens utilisé pour calculer la réservation et ne garantit pas la longueur réelle de la réponse d’un modèle dépourvu de limitation fiable. La valeur initiale 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.