Responses
MarkdownNowy format OpenAI: jedno wejście, typowane wyjście, narzędzia i rozumowanie. Korzysta z niego Codex CLI.
Pełny przewodnik
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": "Odpowiadaj krótko.",
"input": "Czym różni się TCP od 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="Odpowiadaj krótko.",
input="Czym różni się TCP od 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: "Odpowiadaj krótko.",
input: "Czym różni się TCP od 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 gwarantuje dostarczenie i kolejność, UDP nie, ale jest szybszy…" }
]
}
],
"usage": { "input_tokens": 24, "output_tokens": 61, "total_tokens": 85 }
}Autoryzacja
- Authorizationheaderwymagany
Klucz w postaci
Bearer sk-…. Można też użyć nagłówkówx-api-keylubx-goog-api-key.
Treść żądania
- modelstringwymagany
ID modelu z formatem Responses. W katalogu jest ich 53: GPT, Claude, DeepSeek, Qwen, Kimi, GLM, MiniMax, Grok. Modele Gemini nie są dostępne w tym formacie.
- inputstring | arraywymagany
Tekst żądania lub tablica wiadomości i części (tekst, obrazy).
- instructionsstringopcjonalny
Instrukcja systemowa.
- streambooleanopcjonalny
Strumień zdarzeń SSE; ostatnie zdarzenie —
response.completed. Płatny tekst przychodzi w jednym bloku po obliczeniu kosztu. - max_output_tokensintegeropcjonalny
Maksymalna liczba tokenów odpowiedzi, łącznie z rozumowaniem. Jeśli nie podano limitu, Ailoot ustawia 4096 (lub mniej, jeśli limit odpowiedzi modelu jest niższy). Dla długich odpowiedzi podaj limit jawnie. Żądania z
previous_response_idi ze wbudowanymi narzędziamiweb_searchlubcode_interpreterprzy nowych żądaniach tekstowych uwzględniają osobne oszacowania zachowanego kontekstu i pracy narzędzi; nie przechodzą automatycznie na koszt całego okna wejściowego. Wcześniej zaakceptowane rezerwacje zachowują pierwotne warunki. Dla obrazów, wideo i dźwięku na wyjściu rezerwuje się pełny koszt wyniku. Jeśli obliczona rezerwacja nie mieści się w dostępnym saldzie lub limicie klucza, dla obsługiwanego modelu i metody Ailoot może zmniejszyćmax_tokens(max_output_tokensw Responses) do rozmiaru możliwego do opłacenia, ale nie poniżej 256 tokenów lub wyższego minimum danej metody, i informuje o tym w nagłówkuX-Ailoot-Max-Tokens-Capped. Możliwość zmniejszenia limitu sprawdza się dla konkretnego modelu tekstowego i metody. Dotyczy ona obsługiwanych tekstowych tras Gemini w natywnym formacie Gemini i w formacie 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— w formatach Chat Completions i Messages (tam, gdzie model je obsługuje). Wyjście na potrzeby rezerwacji nowego żądania tekstowego jest szacowane na podstawie typowej długości odpowiedzi i przyjętych warunków. Żądany limit ustawia się za pomocąmax_tokens(max_output_tokensw Responses). Żądany limit nie jest automatycznie równy liczbie tokenów, na podstawie której obliczono rezerwację, i nie gwarantuje rzeczywistej długości odpowiedzi modelu bez niezawodnego ograniczenia. Wartość początkowa 4096 jest stosowana tylko na odpowiednich trasach; konkretna reguła zależy od modelu i metody. - reasoningobjectopcjonalny
{"effort": "low" | "medium" | "high"}dla modeli rozumujących. - toolsarrayopcjonalny
Funkcje, które model może wywołać.
- textobjectopcjonalny
Format odpowiedzi, na przykład
{"format": {"type": "json_schema", ...}}. - temperaturenumberopcjonalny
Losowość odpowiedzi, jeśli model ją obsługuje.
Odpowiedź
- outputarray
Elementy odpowiedzi: wiadomości (
message), rozumowanie, wywołania funkcji. W SDK wygodnie użyćoutput_text. - statusstring
completed,incomplete(osiągnięto limit) lubfailed. - usageobject
input_tokens,output_tokens,total_tokens.