Responses
MarkdownĐịnh dạng mới của OpenAI: một đầu vào, đầu ra có kiểu dữ liệu, công cụ và suy luận. Codex CLI sử dụng định dạng này.
Hướng dẫn đầy đủ
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": "Trả lời ngắn gọn.",
"input": "TCP khác UDP ở điểm nào?"
}' 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="Trả lời ngắn gọn.",
input="TCP khác UDP ở điểm nào?",
)
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: "Trả lời ngắn gọn.",
input: "TCP khác UDP ở điểm nào?",
});
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 bảo đảm việc truyền dữ liệu và thứ tự, còn UDP thì không, nhưng nhanh hơn…" }
]
}
],
"usage": { "input_tokens": 24, "output_tokens": 61, "total_tokens": 85 }
}Xác thực
- Authorizationheaderbắt buộc
Khóa có dạng
Bearer sk-…. Cũng có thể dùng các headerx-api-keyhoặcx-goog-api-key.
Phần thân yêu cầu
- modelstringbắt buộc
ID mô hình hỗ trợ định dạng Responses. Danh mục có 53 mô hình như vậy: GPT, Claude, DeepSeek, Qwen, Kimi, GLM, MiniMax, Grok. Các mô hình Gemini không khả dụng ở định dạng này.
- inputstring | arraybắt buộc
Văn bản yêu cầu hoặc mảng tin nhắn và các phần (văn bản, hình ảnh).
- instructionsstringkhông bắt buộc
Chỉ dẫn hệ thống.
- streambooleankhông bắt buộc
Luồng sự kiện SSE; sự kiện cuối cùng là
response.completed. Văn bản tính phí được gửi thành một khối sau khi tính chi phí. - max_output_tokensintegerkhông bắt buộc
Số token tối đa của phản hồi, bao gồm suy luận. Nếu không chỉ định, Ailoot đặt 4096 (hoặc thấp hơn nếu giới hạn phản hồi của mô hình thấp hơn). Với phản hồi dài, hãy chỉ định giới hạn rõ ràng. Các yêu cầu có
previous_response_idvà các yêu cầu dùng công cụ tích hợpweb_searchhoặccode_interpretervới yêu cầu văn bản mới sẽ xét riêng các ước tính cho ngữ cảnh đã lưu và hoạt động của công cụ, thay vì tự động chuyển sang chi phí của toàn bộ cửa sổ đầu vào. Các khoản tạm giữ đã được chấp thuận trước đây giữ nguyên điều kiện ban đầu. Với đầu ra hình ảnh, video và âm thanh, toàn bộ chi phí của kết quả được tạm giữ. Nếu khoản tạm giữ đã tính vượt quá số dư khả dụng hoặc hạn mức của khóa, với mô hình và phương thức được hỗ trợ, Ailoot có thể giảmmax_tokens(max_output_tokenstrong Responses) đến mức có thể thanh toán, nhưng không thấp hơn 256 token hoặc mức tối thiểu cao hơn của phương thức đó, và thông báo qua tiêu đềX-Ailoot-Max-Tokens-Capped. Khả năng giảm giới hạn được kiểm tra cho mô hình văn bản cụ thể và phương thức. Cơ chế này áp dụng cho các tuyến văn bản Gemini được hỗ trợ ở định dạng Gemini gốc và định dạng 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— ở các định dạng Chat Completions và Messages (nếu mô hình hỗ trợ các định dạng đó). Đầu ra được ước tính theo độ dài câu trả lời thông thường và các điều kiện đã chấp thuận để tính khoản tạm giữ cho một yêu cầu văn bản mới. Giới hạn yêu cầu được đặt quamax_tokens(max_output_tokenstrong Responses). Giới hạn yêu cầu không tự động bằng số token dùng để tính khoản tạm giữ, và không bảo đảm độ dài câu trả lời thực tế của mô hình không có cơ chế giới hạn đáng tin cậy. Giá trị ban đầu 4096 chỉ áp dụng cho các tuyến tương ứng; quy tắc cụ thể phụ thuộc vào mô hình và phương thức. - reasoningobjectkhông bắt buộc
{"effort": "low" | "medium" | "high"}dành cho các mô hình suy luận. - toolsarraykhông bắt buộc
Các hàm mà mô hình có thể gọi.
- textobjectkhông bắt buộc
Định dạng phản hồi, ví dụ
{"format": {"type": "json_schema", ...}}. - temperaturenumberkhông bắt buộc
Mức độ ngẫu nhiên của phản hồi, nếu mô hình hỗ trợ.
Phản hồi
- outputarray
Các phần tử phản hồi: tin nhắn (
message), suy luận, lời gọi hàm. Trong SDK, cách lấy tiện lợi làoutput_text. - statusstring
completed,incomplete(đã chạm giới hạn) hoặcfailed. - usageobject
input_tokens,output_tokens,total_tokens.