OpenAI: GPT-5.4 (batch)
GPT-5.4 ผสานการให้เหตุผล การเขียนโค้ด ความเข้าใจภาพ และการใช้คอมพิวเตอร์แบบเนทีฟสำหรับงานวิชาชีพที่ซับซ้อน ส่งข้อความ ภาพ และคำอธิบายงานที่ชัดเจน เพื่อพัฒนาเอกสาร โค้ด หรือผลลัพธ์หลายขั้นตอนในสภาพแวดล้อมที่เชื่อมต่อเครื่องมือ
เกี่ยวกับโมเดล
คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก
GPT-5.4 เป็นโมเดลการให้เหตุผลอเนกประสงค์ของ OpenAI สำหรับงานวิชาชีพที่ซับซ้อน รุ่นนี้ผสานการเขียนโค้ด การให้เหตุผล และเวิร์กโฟลว์เอเจนต์กับงานเอกสาร สเปรดชีต และงานนำเสนอ รับข้อความและภาพและสร้างข้อความ ผู้ผลิตยังระบุการใช้คอมพิวเตอร์แบบเนทีฟของโมเดลในสภาพแวดล้อมการทำงานที่เชื่อมต่อไว้
สำหรับงานความรู้ ให้ส่งข้อมูลที่เกี่ยวข้อง ผู้อ่านเป้าหมาย และข้อกำหนดของชิ้นงานสุดท้าย ตัวอย่างงานคือเปลี่ยนเอกสารโครงการหลายฉบับเป็นสรุปเพื่อการตัดสินใจ พร้อมข้อเท็จจริงที่ให้มา ความสัมพันธ์ระหว่างข้อเท็จจริง และเงื่อนไขที่รองรับข้อเสนอแนะ งานสเปรดชีตหรืองานนำเสนอยังต้องมีข้อมูลต้นทางและโครงสร้างหรือแม่แบบที่ผลลัพธ์ควรยึดตาม เครื่องมือในสภาพแวดล้อมเป็นผู้สร้างหรือแก้ไขไฟล์จริง ส่วนคำตอบเป็นลายลักษณ์อักษรของโมเดลอธิบายหรือชี้นำงานนั้น
สำหรับการเขียนโค้ด ให้ส่งพฤติกรรมที่ตั้งใจ ไฟล์โครงการที่เกี่ยวข้อง และข้อจำกัดที่การเปลี่ยนแปลงต้องรักษา ขอข้อเสนอการพัฒนาโค้ดหรือการตรวจทานเฉพาะจุดซึ่งเชื่อมกับพฤติกรรมนั้น เอกสารเปิดตัวอธิบายเวิร์กโฟลว์ที่ยาวขึ้นโดยผสานการใช้เครื่องมือ การปรับปรุงผลลัพธ์ซ้ำ และการตรวจสอบ สำหรับงานภาพหรือการใช้คอมพิวเตอร์ ให้ส่งภาพหน้าจอจริงหรือข้อมูลอ้างอิงและวัตถุประสงค์ โมเดลตีความหน้าจอและเลือกการดำเนินการได้ สภาพแวดล้อมที่เชื่อมต่อเป็นผู้ทำการดำเนินการและส่งสถานะใหม่กลับมา
ข้อกำหนด GPT-5.4 ของ OpenAI ระบุหน้าต่างบริบท 1,050,000 โทเค็นและเอาต์พุตสูงสุด 128,000 โทเค็น โดยมีวันที่ตัดความรู้ 31 สิงหาคม 2025 ตัวเลือกระดับความเข้มข้นในการให้เหตุผลคือ none, low, medium, high และ xhigh ค่าเริ่มต้นคือ none บริบทรองรับข้อมูลที่ให้มา ผลลัพธ์เครื่องมือที่เกี่ยวข้อง การให้เหตุผล และคำตอบสุดท้าย รักษานิยามของงานและเกณฑ์ความสำเร็จให้ชัดเจน โดยเฉพาะเมื่อหลายขั้นตอนขึ้นอยู่กับหลักฐานก่อนหน้า
ผู้พัฒนาระบุอินเทอร์เฟซ Responses, Chat Completions และ Batch การสตรีม Structured Outputs การเรียกใช้ฟังก์ชัน อินพุตไฟล์และภาพ การค้นหาเว็บและไฟล์ และการแคชพรอมต์ เครื่องมือมีการสร้างภาพ การรันโค้ด การดำเนินการ shell และ patch แบบโฮสต์ ทักษะ การใช้คอมพิวเตอร์ การเชื่อมต่อ MCP และการค้นหาเครื่องมือ เอกสารเปิดตัวอธิบายการค้นหาเครื่องมือว่าเป็นการหานิยามเครื่องมือที่ต้องใช้เมื่อเกี่ยวข้อง แทนการใส่นิยามทั้งหมดแบบเต็มลงในบริบทเริ่มต้น แอปพลิเคชันจัดการการดำเนินการของตนและให้ผลลัพธ์จริง
เอกสารเปิดตัวยังอธิบายการแยกวิเคราะห์เอกสารและความเข้าใจภาพความละเอียดสูงที่ดีขึ้น รวมถึงงานวิชาชีพที่กว้างขึ้นซึ่งรวมข้อมูลจากหลายแหล่งบนเว็บ เตรียมอินพุตที่อ่านได้และระบุรายละเอียดสำคัญต่อคำถาม เลือกผลลัพธ์สุดท้ายที่เป็นรูปธรรมและหลักฐานสำหรับตรวจสอบ เช่น การเปลี่ยนแปลงที่เสนอและพฤติกรรมที่ได้รับผลกระทบ ชุดข้อค้นพบที่มีโครงสร้าง หรือเอกสารที่เป็นไปตามข้อกำหนดที่ให้ แยกผลของการดำเนินการด้วยเครื่องมือที่เสร็จแล้วจากขั้นที่ยังต้องทำ เพื่อให้ชิ้นงานสุดท้ายใช้ดำเนินงานต่อได้
Ailoot Ultra · การประมวลผลแบบชุด POST /v1/batches openai/gpt-5.4:batch
openai/gpt-5.4:batchเริ่มต้น
GPT-5.4 ผสานการให้เหตุผล การเขียนโค้ด ความเข้าใจภาพ และการใช้คอมพิวเตอร์แบบเนทีฟสำหรับงานวิชาชีพที่ซับซ้อน ส่งข้อความ ภาพ และคำอธิบายงานที่ชัดเจน เพื่อพัฒนาเอกสาร โค้ด หรือผลลัพธ์หลายขั้นตอนในสภาพแวดล้อมที่เชื่อมต่อเครื่องมือ
- อินพุตที่รองรับ
- ข้อความ
- ผลลัพธ์
- ข้อความ
ใช้งานได้ใน Ailoot · อินพุตและเมธอด
Ailoot Ultra · การประมวลผลแบบชุด POST /v1/batches
- ขาเข้า
text- ขาออก
text- รูปแบบเอาต์พุต
- JSON ของ results[].response.body ที่ส่งกลับโดยตรง
| ฟิลด์ | ประเภท | ข้อกำหนด | ค่าและข้อจำกัด | ค่าเริ่มต้น |
|---|---|---|---|---|
ฟิลด์endpoint | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด /v1/chat/completions | ค่าเริ่มต้น— |
ฟิลด์model | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด openai/gpt-5.4:batch | ค่าเริ่มต้น— |
ฟิลด์requests | ประเภทbatch_item[] | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด จำนวนรายการขั้นต่ำ: 1 | ค่าเริ่มต้น— |
ฟิลด์requests[].custom_id | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด | ค่าเริ่มต้น— |
ฟิลด์requests[].body.messages | ประเภทmessage[] | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด | ค่าเริ่มต้น— |
ฟิลด์completion_window | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด 24h | ค่าเริ่มต้น— |
ฟิลด์provider | ประเภทobject|null | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด | ค่าเริ่มต้น— |
ฟิลด์requests[].body.model | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด openai/gpt-5.4:batch, openai/gpt-5.4 | ค่าเริ่มต้น— |
ฟิลด์provider.only | ประเภทstring[] | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด openai | ค่าเริ่มต้น— |
ฟิลด์provider.allow_fallbacks | ประเภทboolean|null | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด false, null | ค่าเริ่มต้น— |
พารามิเตอร์และวงจรการทำงานของเมธอด
| พารามิเตอร์ | ข้อกำหนด |
|---|---|
พารามิเตอร์content_type | ข้อกำหนดapplication/json |
พารามิเตอร์required | ข้อกำหนดendpoint, model, requests |
พารามิเตอร์material_types | ข้อกำหนดtext |
พารามิเตอร์representation | ข้อกำหนดส่ง requests[] ไว้ในคำขอโดยตรง โดยแต่ละรายการมี custom_id และ body |
พารามิเตอร์request_endpoint_profile | ข้อกำหนด/v1/chat/completions |
พารามิเตอร์file_material | ข้อกำหนดผู้เรียกใช้อาจอ่านไฟล์ JSONL ที่เข้ารหัส UTF-8 จากเครื่องของตนลงใน requests[] ได้ ไม่มีการใช้ค่าระบุวัตถุประสงค์การอัปโหลด input_file_id หรือการอ้างอิงไฟล์ หากไม่มีข้อมูลของลูกค้าหรือข้อมูลว่าง ให้หยุดการเตรียมก่อนส่ง POST |
พารามิเตอร์serialization_order | ข้อกำหนดendpoint, model, provider (หากระบุมา), completion_window (หากระบุมา), requests อยู่ท้ายสุด |
พารามิเตอร์optional_controls | ข้อกำหนดprovider.only, provider.allow_fallbacks, completion_window |
พารามิเตอร์schema_scope | ข้อกำหนดเนื้อหาคำขอ Chat Completions แบบข้อความ ภายในโครงสร้างคำขอแบบชุดที่ส่งโดยตรงตามที่ระบุในเอกสาร |
วงจรการทำงาน: asynchronous
GET /v1/batches/{operation_id} · ค่า response.id จริงจากการตอบกลับคำขอสร้างครั้งเดิม โดยใช้ผู้ใช้/คีย์/กลุ่มเดิม
ราคา
ข้อมูลอัตราราคาไม่ได้เพิ่มตัวเลือกคำขอ พารามิเตอร์ที่รองรับระบุไว้สำหรับเมธอดที่เลือก
- โหมดรวดเร็ว
- ไม่ได้ระบุ เมื่อเลือกโหมดรวดเร็ว
- โหมดยืดหยุ่น
- ไม่ได้ระบุ เมื่อเลือกโหมด flex
- ระดับการใช้เหตุผลสูงสุด
- ไม่ได้ระบุ เมื่อใช้การปรับตามค่าเริ่มต้น (default) สำหรับระดับการใช้เหตุผลสูงสุด
- การคิดราคาแคชแบบระบุชัด
- ไม่ได้เปิดใช้ เมื่อร้องขอแคชแบบระบุชัด
อัตราค่าบริการ Ailoot
ราคาตามการตั้งค่า
เทียบค่าบริการแต่ละรายการกับเงื่อนไขที่แสดง เลือกใช้อัตราเดียวสำหรับแต่ละชุดการตั้งค่าที่เป็นตัวเลือกทดแทนกัน
| การตั้งค่า | ตารางอัตราค่าบริการ | โทเค็นบริบท มากกว่า | โทเค็นบริบท ไม่เกินและรวมค่า | ค่าบริการ |
|---|---|---|---|---|
| การตั้งค่าอัตราราคาพื้นฐานของโทเคน | ตารางอัตราค่าบริการอัตราพื้นฐาน | โทเค็นบริบท มากกว่า— | โทเค็นบริบท ไม่เกินและรวมค่าไม่มีขีดจำกัดสูงสุด | ค่าบริการ ขาเข้า · โทเค็นอินพุต $0.0025 / 1K โทเค็น ขาออก · โทเค็นเอาต์พุต $0.015 / 1K โทเค็น ขาเข้า · การอ่านแคช $0.00025 / 1K โทเค็น ขาเข้า · การเขียนแคช — / 1K โทเค็น ขาเข้า · การเขียนแคช, 1 ชั่วโมง — / 1K โทเค็น |
| การตั้งค่าระดับความยาวคำขอ 1 | ตารางอัตราค่าบริการ— | โทเค็นบริบท มากกว่า0 | โทเค็นบริบท ไม่เกินและรวมค่า272,000 | ค่าบริการ ขาเข้า · โทเค็นอินพุต $0.0025 / 1K โทเค็น ขาออก · โทเค็นเอาต์พุต $0.015 / 1K โทเค็น ขาเข้า · การอ่านแคช $0.00025 / 1K โทเค็น ขาเข้า · การเขียนแคช — / 1K โทเค็น ขาเข้า · การเขียนแคช, 1 ชั่วโมง — / 1K โทเค็น |
| การตั้งค่าระดับความยาวคำขอ 2 | ตารางอัตราค่าบริการ— | โทเค็นบริบท มากกว่า272,000 | โทเค็นบริบท ไม่เกินและรวมค่าไม่มีขีดจำกัดสูงสุด | ค่าบริการ ขาเข้า · โทเค็นอินพุต $0.005 / 1K โทเค็น ขาออก · โทเค็นเอาต์พุต $0.0225 / 1K โทเค็น ขาเข้า · การอ่านแคช $0.0005 / 1K โทเค็น ขาเข้า · การเขียนแคช — / 1K โทเค็น ขาเข้า · การเขียนแคช, 1 ชั่วโมง — / 1K โทเค็น |
Ailoot กันยอดเงินประมาณการไว้ก่อนส่งคำขอ หลังได้ผลลัพธ์ จะคิดค่าบริการสุดท้ายตามการใช้งานที่วัดได้ การคิดค่าบริการแบบสตรีมใช้บันทึกการใช้งานสุดท้าย วิธีกันยอดเงินและคิดค่าบริการสุดท้าย →
ตัวอย่างคำขอ
Ailoot Ultra · การประมวลผลแบบชุด
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"openai/gpt-5.4:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
import json, os
from pathlib import Path
from urllib.request import Request, urlopen
def prepare_requests(customer_path):
path = Path(customer_path)
if not path.is_file(): raise ValueError("Customer JSONL file is missing")
items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
if not items: raise ValueError("Customer JSONL contains no requests")
ids = set()
for item in items:
if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
cid = item["custom_id"]
if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
ids.add(cid)
if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
supplied_model = item["body"].get("model")
if supplied_model is not None and supplied_model not in ['openai/gpt-5.4:batch', 'openai/gpt-5.4']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"openai/gpt-5.4:batch", "requests":items}
if __name__ == "__main__":
material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
body = prepare_requests(material)
key = os.environ.get("AILOOT_API_KEY", "")
if not key: raise SystemExit("Set AILOOT_API_KEY")
request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
with urlopen(request) as response:
raw = response.read()
Path("batch-create-response.json").write_bytes(raw)
print(raw.decode("utf-8"))
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.
รับและบันทึกผลลัพธ์
Ailoot Ultra · การประมวลผลแบบชุด
JSON ของ results[].response.body ที่ส่งกลับโดยตรง
GET /v1/batches/{operation_id}
ตรวจสอบสถานะงาน
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
เก็บผลลัพธ์ที่เสร็จสมบูรณ์ทั้งหมด
เก็บทุกการตอบกลับ ไฟล์ และส่วนเนื้อหาที่ส่งกลับมาอย่างครบถ้วน
เก็บ JSON สถานะเดิมให้ครบถ้วน รวมถึงผลลัพธ์/custom_id ทุกรายการ และเนื้อหาการตอบกลับหรือข้อผิดพลาดทั้งหมด บันทึก results[] ที่เสร็จสมบูรณ์เป็น JSONL โดยไม่กรองข้อมูล
เมื่อต้องตรวจสอบการตอบกลับต้นฉบับ
เก็บ ID การดำเนินการเดิมไว้ การตอบกลับ 503 result_pending_check มี X-Should-Retry:false ห้ามส่งงานแบบชุดเดิมซ้ำเด็ดขาดเมื่อยังไม่ทราบสถานะของงาน
ฟิลด์การตอบกลับ
| ฟิลด์ | ประเภท |
|---|---|
ฟิลด์results[].custom_id | ประเภทstring |
ฟิลด์results[].response.body.choices[].message.content | ประเภทstring|null |
ฟิลด์results[].error | ประเภทobject|null |
ฟิลด์usage | ประเภทobject|null |
ฟิลด์id | ประเภทstring |
ฟิลด์model | ประเภทstring |
ฟิลด์endpoint | ประเภทstring |
ฟิลด์status | ประเภทstring |
ฟิลด์request_counts | ประเภทobject |
ฟิลด์results[].id | ประเภทstring |
ฟิลด์results[].response.status_code | ประเภทinteger |
ฟิลด์results[].response.request_id | ประเภทstring |
ข้อผิดพลาดและขั้นตอนถัดไป
| การตอบกลับ | เงื่อนไข | ขั้นตอนถัดไป |
|---|---|---|
การตอบกลับ400 · invalid_request_error | เงื่อนไขโครงสร้างคำขอแบบส่งโดยตรงตามเอกสารไม่ถูกต้อง มีคีย์ซ้ำ หรือมีข้อขัดแย้งเกี่ยวกับตัวตนของรายการหรือความสามารถของโมเดลที่กำหนดไว้ | ขั้นตอนถัดไปแก้ไขฟิลด์ที่ระบุให้ถูกต้องก่อนส่งคำขอใหม่ทุกครั้ง |
การตอบกลับ401 · authentication_error | เงื่อนไขคีย์ API ไม่ถูกต้อง | ขั้นตอนถัดไปใช้คีย์ Ailoot ที่ได้รับอนุญาต |
การตอบกลับ403 · permission_error | เงื่อนไขกลุ่มสำหรับการประมวลผลแบบชุดไม่พร้อมใช้งาน | ขั้นตอนถัดไปตรวจสอบสิทธิ์ของคีย์/กลุ่ม |
การตอบกลับ422 · invalid_request_error | เงื่อนไขการประมวลผลแบบชุดเรียกเก็บเงินจากยอดเงินคงเหลือ คำขอสร้างที่ใช้การเรียกเก็บผ่านการสมัครสมาชิกจะถูกปฏิเสธ | ขั้นตอนถัดไปใช้กลุ่มที่ได้รับอนุญาตให้เรียกเก็บเงินจากยอดเงินคงเหลือ |
การตอบกลับ422 · price_unavailable | เงื่อนไขไม่สามารถคำนวณราคาล่วงหน้าสำหรับข้อมูลนำเข้าของงานแบบชุดได้ | ขั้นตอนถัดไปเก็บการตอบกลับไว้ และใช้ข้อมูลนำเข้าตามเอกสารของ API ประเภทนั้น |
การตอบกลับ402 · billing_error | เงื่อนไขไม่สามารถกันยอดเงินสำรองสำหรับการประมวลผลแบบชุดได้ | ขั้นตอนถัดไปแก้ไขเงื่อนไขการรับคำขอให้เรียบร้อยก่อนส่งคำขอใหม่ |
การตอบกลับ503 · price_unavailable | เงื่อนไขราคาของวิธีประมวลผลแบบชุด/อัตราราคาของระบบไม่พร้อมใช้งาน | ขั้นตอนถัดไปเก็บการตอบกลับไว้ ห้ามแทนที่ด้วยราคาอื่น |
การตอบกลับ503 · api_error | เงื่อนไขเส้นทางที่ระบุไว้ของผู้ให้บริการต้นทางไม่พร้อมใช้งาน | ขั้นตอนถัดไปเก็บการตอบกลับไว้เพื่อแก้ไขเส้นทางการส่งคำขอ |
การตอบกลับ503 · result_pending_check | เงื่อนไขผลลัพธ์เดิมต้องได้รับการตรวจสอบ โดยมี X-Should-Retry:false | ขั้นตอนถัดไปเก็บค่า operation_id/id เดิมไว้แล้วอ่านสถานะของการดำเนินการนั้น ห้ามส่ง POST เดิมซ้ำเด็ดขาด |
การตอบกลับ404 · not_found | เงื่อนไขไม่พบการดำเนินการตรวจสอบสถานะงานแบบชุด หรือการดำเนินการนั้นเป็นของตัวตนอื่น | ขั้นตอนถัดไปใช้ค่า id เดิมให้ตรงทุกตัว พร้อมผู้ใช้/คีย์/กลุ่มเดิม |
ชื่ออื่น
ชื่ออื่นของโมเดล
Ailoot Ultra openai/gpt-5.4:batch
ชื่อพาธเมธอดอื่น
ใช้พาธเมธอดที่แสดงด้านบน
ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล
FAQ · OpenAI: GPT-5.4 (batch)
- มีอินพุตและผลลัพธ์ใดบ้าง?
POST /v1/batches·openai/gpt-5.4:batch:text→text- คำขอใช้ฟิลด์ใดบ้าง?
POST /v1/batches·openai/gpt-5.4:batch:endpoint,model,requests,completion_window,provider- มีข้อจำกัดใดบ้าง?
POST /v1/batches·openai/gpt-5.4:batch:requests.min_items:1