گفتگو و متن
پاسخها (قالب Responses)
قالب Responses شرکت OpenAI، بدون ذخیرهٔ گفتگو در سرور. Codex CLI و SDKهای تازهٔ OpenAI با آن به 1ai وصل میشوند.
/v1/responsesاین مسیر قالب Responses شرکت OpenAI را برای هر مدل گفتگوی 1ai میپذیرد. Codex CLI با آن کار میکند.
بدون ذخیرهٔ گفتگو
1ai گفتگو را نگه نمیدارد: store همیشه false است و باید کل input را هر بار بفرستید. فیلدهای previous_response_id، conversation، background و prompt با 400 unsupported_parameter رد میشوند.
نام مدل
نام کامل مدل را بدهید، مثل openai/gpt-5.4-mini. نامهایی که با gpt-، o و رقم، codex- یا chatgpt- شروع میشوند بدون صاحب هم پذیرفته میشوند: gpt-5.4-mini همان openai/gpt-5.4-mini است.
ابزارها
functionوnamespaceروی همهٔ مدلها کار میکنند.custom،local_shellوtool_searchسمت کلاینت فقط روی مدلهای OpenAI که این قالب را مستقیم میفهمند کار میکنند، وگرنه400 tool_unsupported.web_searchفقط روی مدلی که قیمت جستوجوی وب دارد اجرا میشود و هر جستوجو جدا حساب میشود (پنج جستوجو از قبل نگه داشته میشود). روی مدل دیگر بدون خطا کنار گذاشته میشود، چون Codex آن را در هر نوبت میفرستد.- هر ابزار دیگر (
code_interpreter،file_search،mcpو مانند آن)400 tool_unsupportedمیدهد.
استدلال
reasoning.effort و text.format (json_schema یا json_object) پذیرفته میشوند. آیتم reasoning با encrypted_content به همان مدل بسته است؛ در نوبت بعد همانطور که گرفتید پس بفرستید.
استریم با رویدادهای response.* میرسد و رویداد آخر یکی از response.completed، response.incomplete یا response.failed است. هزینهٔ درخواست غیر استریم در هدر x-1ai-credits میآید.
نمونهها
curl https://1ai.ir/v1/responses \
-H "Authorization: Bearer $ONEAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-5.4-mini",
"instructions": "You are a concise assistant.",
"input": "Give me a one-line summary of what HTTP caching does.",
"max_output_tokens": 200
}'{
"id": "resp_3e7a1c9d5b2f4a8e9c0d6b1f4a2e7c53",
"object": "response",
"created_at": 1794484800,
"model": "openai/gpt-5.4-mini",
"store": false,
"tools": [],
"tool_choice": "auto",
"parallel_tool_calls": true,
"metadata": {},
"instructions": "You are a concise assistant.",
"temperature": null,
"top_p": null,
"max_output_tokens": 200,
"error": null,
"incomplete_details": null,
"status": "completed",
"output": [
{
"id": "msg_3e7a1c9d5b2f4a8e9c0d6b1f0",
"type": "message",
"role": "assistant",
"status": "completed",
"content": [
{
"type": "output_text",
"text": "HTTP caching stores copies of responses so repeat requests can be served without asking the origin server again.",
"annotations": []
}
]
}
],
"usage": {
"input_tokens": 29,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens": 22,
"output_tokens_details": {
"reasoning_tokens": 0
},
"total_tokens": 51
}
}هدرها
AuthorizationstringالزامیBearer sk-1ai-...با کلید API شما.
بدنهی درخواست
modelstringالزامینام کامل مدل، مثل
openai/gpt-5.4-mini.inputstring | arrayالزامییک رشته (یک پیام کاربر) یا آرایهای از آیتمها تا 8192 مورد: پیام با
role(user،assistant،system،developer) وcontentاز بخشهایinput_text،input_imageوinput_file، و آیتمهایfunction_call،function_call_outputوreasoning.instructionsstringدستور سیستمی.
max_output_tokensintegerسقف توکن خروجی، از 1 تا 10,000,000.
streambooleanپیشفرض:falseپاسخ را بهصورت رویدادهای
response.*بفرست.toolsarrayابزارها، حداکثر 1024 مورد. ابزار تابعی بهصورت تخت است، نه تو در تو.
ویژگیهای داخلی
typestringالزامیfunction،namespace،web_search،custom،local_shellیاtool_search.namestringنام تابع.
descriptionstringتوضیح کار تابع.
parametersobjectورودی تابع بهصورت JSON Schema.
strictbooleanپیروی دقیق از طرح.
tool_choicestring | objectnone،auto،requiredیا{ "type": "function", "name": "..." }.parallel_tool_callsbooleanاجازهٔ چند فراخوانی ابزار در یک نوبت.
temperaturenumberبه مدل میرسد.
top_pnumberبه مدل میرسد.
reasoningobjectتنظیم استدلال.
ویژگیهای داخلی
effortstringمیزان استدلال.
مقادیر مجاز:minimallowmediumhighxhighmax
textobjectقالب متن خروجی.
ویژگیهای داخلی
formatobject{ "type": "json_schema", "name": "...", "schema": { ... }, "strict": true }یا{ "type": "json_object" }.
storebooleanنادیده گرفته میشود؛ همیشه
false.
خطاها
unsupported_parameter400previous_response_id،conversation،backgroundیاpromptفرستادهاید.tool_unsupported400نوع ابزار روی این مدل در دسترس نیست.
invalid_request400بدنه نادرست است؛
paramفیلد مشکلدار را میگوید.invalid_api_key401کلید نادرست، غیرفعال یا منقضی است.
insufficient_credits402اعتبار کافی نیست.
model_not_found404مدل وجود ندارد یا در دسترس شما نیست.
rate_limit_exceeded429به سقف نرخ رسیدهاید.
صفحههای مرتبط
- تکمیل گفتگوپاسخ یک مدل گفتگو را به قالب OpenAI میگیرید: متن ساده، استریم، فراخوانی ابزار و ورودی تصویر، با همان SDK رسمی OpenAI.
- پیامها (قالب Anthropic)قالب Messages شرکت Anthropic برای همهٔ مدلهای گفتگو. SDK رسمی Anthropic و Claude Code با همین مسیر به 1ai وصل میشوند.
- استریمقالب SSE در چت، پایان استریم، قطعهی usage با مقدار اعتبار، خطای میانهی راه و رفتار هنگام قطع شدن اتصال.
- کش پرامپتچگونه بخش ثابت پرامپت را علامت بزنید، هزینهی خواندن و نوشتن کش چگونه حساب میشود و cached_tokens کجا دیده میشود.