Responses
MarkdownIl nuovo formato OpenAI: un input, output tipizzato, strumenti e ragionamento. È usato da Codex CLI.
Guida 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": "Rispondi brevemente.",
"input": "Qual è la differenza tra TCP e 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="Rispondi brevemente.",
input="Qual è la differenza tra TCP e 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: "Rispondi brevemente.",
input: "Qual è la differenza tra TCP e 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 garantisce la consegna e l’ordine, UDP no, ma è più veloce…" }
]
}
],
"usage": { "input_tokens": 24, "output_tokens": 61, "total_tokens": 85 }
}Autorizzazione
- Authorizationheaderobbligatorio
Chiave nel formato
Bearer sk-…. Sono accettati anche gli headerx-api-keyoppurex-goog-api-key.
Corpo della richiesta
- modelstringobbligatorio
ID del modello con formato Responses. Nel catalogo ce ne sono 53: GPT, Claude, DeepSeek, Qwen, Kimi, GLM, MiniMax e Grok. I modelli Gemini non sono disponibili in questo formato.
- inputstring | arrayobbligatorio
Testo della richiesta oppure array di messaggi e parti (testo, immagini).
- instructionsstringfacoltativo
Istruzione di sistema.
- streambooleanfacoltativo
Flusso di eventi SSE; l’ultimo evento è
response.completed. Il testo a pagamento arriva in un unico blocco dopo il calcolo del costo. - max_output_tokensintegerfacoltativo
Numero massimo di token della risposta, ragionamento incluso. Se non specificato, Ailoot imposta 4096 (o meno, se il limite di risposta del modello è inferiore). Per risposte lunghe imposta il limite esplicitamente. Le richieste con
previous_response_ide con strumenti integratiweb_searchoppurecode_interpreterper le nuove richieste testuali usano stime separate del contesto salvato e del lavoro degli strumenti; non passano automaticamente al costo dell’intera finestra di input. Le riserve accettate in precedenza mantengono le condizioni originarie. Per immagini, video e audio in output viene riservato l’intero costo del risultato. Se la riserva calcolata non rientra nel saldo disponibile o nel limite della chiave, per un modello e un metodo supportati Ailoot può ridurremax_tokens(max_output_tokensin Responses) al volume pagabile, ma non sotto 256 token o il minimo superiore previsto dal metodo, e lo comunica nell’headerX-Ailoot-Max-Tokens-Capped. La possibilità di riduzione viene verificata per il modello testuale specifico e il metodo. Si applica alle rotte testuali Gemini supportate, nel formato nativo Gemini e nel formato 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— nei formati Chat Completions e Messages (quando supportati dal modello). Output — ai fini della riserva per una nuova richiesta testuale, viene stimato in base alla lunghezza tipica della risposta e alle condizioni accettate. Il limite richiesto si imposta tramitemax_tokens(max_output_tokensin Responses). Il limite richiesto non coincide automaticamente con il numero di token usato per calcolare la riserva e non garantisce la lunghezza effettiva della risposta di un modello senza un vincolo affidabile. Il valore iniziale 4096 si applica solo alle relative rotte; la regola specifica dipende dal modello e dal metodo. - reasoningobjectfacoltativo
{"effort": "low" | "medium" | "high"}per i modelli di ragionamento. - toolsarrayfacoltativo
Funzioni che il modello può chiamare.
- textobjectfacoltativo
Formato della risposta, ad esempio
{"format": {"type": "json_schema", ...}}. - temperaturenumberfacoltativo
Casualità della risposta, se il modello la supporta.
Risposta
- outputarray
Elementi della risposta: messaggi (
message), ragionamento, chiamate a funzioni. Nell’SDK è comodo usareoutput_text. - statusstring
completed,incomplete(limite raggiunto) oppurefailed. - usageobject
input_tokens,output_tokens,total_tokens.