Responses
Markdownรูปแบบใหม่ของ OpenAI: อินพุตเดียว เอาต์พุตที่ระบุชนิด เครื่องมือ และการให้เหตุผล Codex CLI ใช้รูปแบบนี้
คู่มือฉบับเต็ม
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": "ตอบให้กระชับ",
"input": "TCP ต่างจาก 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="ตอบให้กระชับ",
input="TCP ต่างจาก 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: "ตอบให้กระชับ",
input: "TCP ต่างจาก 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 รับประกันการส่งถึงปลายทางและลำดับข้อมูล ส่วน UDP ไม่รับประกัน แต่เร็วกว่า…" }
]
}
],
"usage": { "input_tokens": 24, "output_tokens": 61, "total_tokens": 85 }
}การยืนยันสิทธิ์
- Authorizationheaderจำเป็น
คีย์ในรูปแบบ
Bearer sk-…. ใช้เฮดเดอร์ต่อไปนี้ได้เช่นกันx-api-keyหรือx-goog-api-key.
เนื้อหาคำขอ
- modelstringจำเป็น
ID ของโมเดลที่ใช้รูปแบบ Responses ในแค็ตตาล็อกมี 53 โมเดล: GPT, Claude, DeepSeek, Qwen, Kimi, GLM, MiniMax, Grok โมเดล Gemini ไม่รองรับรูปแบบนี้
- inputstring | arrayจำเป็น
ข้อความคำขอ หรืออาร์เรย์ของข้อความและส่วนต่าง ๆ (ข้อความ ภาพ)
- instructionsstringไม่จำเป็น
คำสั่งระบบ
- streambooleanไม่จำเป็น
สตรีมอีเวนต์ SSE; อีเวนต์สุดท้ายคือ
response.completed. ข้อความที่คิดค่าบริการจะส่งมาเป็นบล็อกเดียวหลังคำนวณราคา - max_output_tokensintegerไม่จำเป็น
คำขอที่มี
previous_response_idและใช้เครื่องมือในตัวweb_searchหรือcode_interpreterเมื่อเป็นคำขอข้อความใหม่ จะใช้ค่าประเมินบริบทที่บันทึกไว้และการทำงานของเครื่องมือแยกต่างหาก โดยไม่เปลี่ยนไปสำรองค่าใช้จ่ายของหน้าต่างอินพุตทั้งหมดโดยอัตโนมัติ ยอดเงินสำรองที่ตกลงไว้ก่อนหน้านี้ยังคงใช้เงื่อนไขเดิม สำหรับเอาต์พุตที่เป็นภาพ วิดีโอ และเสียง จะสำรองค่าใช้จ่ายของผลลัพธ์เต็มจำนวน หากยอดเงินสำรองที่คำนวณได้เกินยอดเงินคงเหลือที่ใช้ได้หรือวงเงินของคีย์ สำหรับโมเดลและเมธอดที่รองรับ Ailoot อาจลดค่าmax_tokens(max_output_tokensใน Responses) ให้เหลือปริมาณที่ชำระได้ แต่ต้องไม่ต่ำกว่า 256 โทเคนหรือขั้นต่ำของเมธอดนั้นหากสูงกว่า และจะแจ้งเรื่องนี้ในส่วนหัวX-Ailoot-Max-Tokens-Capped. ความสามารถในการลดขีดจำกัดจะตรวจสอบแยกตามโมเดลข้อความและเมธอดนั้น โดยใช้กับเส้นทางคำขอข้อความของ Gemini ที่รองรับ ในรูปแบบ Gemini เนทีฟและรูปแบบ 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— ในรูปแบบ Chat Completions และ Messages (สำหรับรูปแบบที่โมเดลรองรับ) เอาต์พุต สำหรับการสำรองเงินของคำขอข้อความใหม่ จะประเมินจากความยาวคำตอบตามปกติและเงื่อนไขที่ตกลงไว้ ขีดจำกัดที่ขอจะกำหนดผ่านmax_tokens(max_output_tokensใน Responses) ขีดจำกัดที่ขอไม่ได้เท่ากับจำนวนโทเคนที่ใช้คำนวณยอดเงินสำรองโดยอัตโนมัติ และไม่ได้รับประกันความยาวคำตอบจริงของโมเดลที่ไม่มีขีดจำกัดที่เชื่อถือได้ ค่าเริ่มต้น 4096 ใช้กับเส้นทางที่เกี่ยวข้องเท่านั้น กฎที่ใช้ขึ้นอยู่กับโมเดลและเมธอด - reasoningobjectไม่จำเป็น
{"effort": "low" | "medium" | "high"}สำหรับโมเดลที่ใช้การให้เหตุผล - toolsarrayไม่จำเป็น
ฟังก์ชันที่โมเดลเรียกใช้ได้
- textobjectไม่จำเป็น
รูปแบบคำตอบ เช่น
{"format": {"type": "json_schema", ...}}. - temperaturenumberไม่จำเป็น
ระดับความสุ่มของคำตอบ หากโมเดลรองรับ
คำตอบ
- outputarray
ส่วนต่าง ๆ ของคำตอบ: ข้อความ (
message), การให้เหตุผล และการเรียกฟังก์ชัน ใน SDK สามารถอ่านได้สะดวกจากoutput_text. - statusstring
completed,incomplete(ถึงขีดจำกัด) หรือfailed. - usageobject
input_tokens,output_tokens,total_tokens.