Anthropic: Claude Opus 4.7 (batch)
Claude Opus 4.7 ออกแบบสำหรับงานวิศวกรรมซับซ้อน และการวิเคราะห์เอกสารกับภาพที่มีรายละเอียดเล็ก ให้ความสำคัญเป็นพิเศษกับการปฏิบัติตามคำสั่งอย่างแม่นยำและการตรวจสอบผลลัพธ์
เกี่ยวกับโมเดล
คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก
งานวิศวกรรมที่รอบคอบ
Anthropic สร้าง Claude Opus 4.7 สำหรับงานพัฒนาที่ซับซ้อนและต่อเนื่อง การนำเสนอเน้นการทำงานตามลำดับ การใส่ใจคำสั่ง และการหาวิธีตรวจสอบผลของตนเองก่อนส่งคำตอบสุดท้าย โมเดลเหมาะกับการศึกษาปัญหายากในโค้ด และการเตรียมเนื้อหาทางวิชาชีพที่ต้องการทั้งคำตอบทางเทคนิคและการนำเสนอชัดเจน
Opus 4.7 ปฏิบัติตามถ้อยคำอย่างตรงตัว ควรกำหนดงานด้วยขอบเขตชัดเจน ว่าต้องเปลี่ยนส่วนใด ตรวจสอบอะไร และผลลัพธ์ควรเป็นอย่างไร หากเงื่อนไขใช้กับทุกส่วนของงาน ควรระบุเช่นนั้น ผู้ผลิตยังเน้นการใช้บันทึกในหน่วยความจำแบบไฟล์สำหรับงานต่อเนื่อง แต่การอ่านและเก็บบันทึกเหล่านี้ต้องใช้เครื่องมือของแอปพลิเคชัน
มองเห็นแผนผังหนาแน่นและภาพหน้าจอส่วนติดต่อ
โมเดลรับ ข้อความและภาพ แล้วส่งกลับเป็น ข้อความ อินพุตภาพรองรับความละเอียดได้ถึง 2576 พิกเซลในด้านยาว หรือประมาณ 3,75 เมกะพิกเซล มีประโยชน์สำหรับภาพหน้าจอที่มีเนื้อหาหนาแน่น การสกัดข้อมูลจากแผนภาพซับซ้อน และงานที่ใช้ภาพตัวอย่างรายละเอียดสูง
รูปแบบอินพุตภาพทั่วไปของผู้ผลิตคือ JPEG/PNG/GIF/WebP โดยใช้เฟรมแรกของภาพเคลื่อนไหว สำหรับการวิเคราะห์แบบเนทีฟ ด้านยาวมีขนาด 2576 พิกเซล และใช้โทเคนภาพ 4784 โทเคน ภาพขนาดใหญ่จะถูกย่อก่อนวิเคราะห์ การรองรับไฟล์และพารามิเตอร์ขึ้นอยู่กับวิธีที่แอปพลิเคชันใช้
ความละเอียดสูงช่วยรักษารายละเอียด แต่ไม่ได้ทำให้ความเข้าใจภาพปราศจากข้อผิดพลาด เอาต์พุตอาจเป็นคำอธิบาย โครงสร้างข้อมูล หรือโค้ด การสร้างและแก้ไขตัวภาพเองไม่ใช่ความสามารถด้านเอาต์พุตของโมเดล การควบคุมส่วนติดต่อต้องอาศัยเครื่องมือที่แสดงหน้าจอให้โมเดลเห็นและดำเนินการในแอปพลิเคชัน
ความลึกและขนาดของงาน
บริบทมีขนาด 1 ล้านโทเคน คำตอบในโหมดทั่วไปยาวได้สูงสุด 128 พันโทเคน รองรับการใช้เหตุผลแบบปรับตัว แต่เวอร์ชันนี้ไม่มี extended thinking แบบกำหนดเองผ่าน budget_tokens ระดับมาตรฐานของ effort คือ high และยังมี low, medium, xhigh และ max ระดับ xhigh เป็นตัวเลือกแยกระหว่าง high กับ max สำหรับงานวิศวกรรมและงานของเอเจนต์ที่ต่อเนื่อง
ที่ระดับความพยายามต่ำ โมเดลจำกัดการทำงานอยู่เฉพาะสิ่งที่ขออย่างเคร่งครัดเป็นพิเศษ สำหรับการวิจัยซับซ้อน ผู้ผลิตแนะนำให้เผื่อพื้นที่เพียงพอสำหรับการใช้เหตุผลและคำตอบ เวอร์ชันนี้ปรับปรุงวิธีแบ่งข้อความเป็นโทเคนแล้ว ข้อความปริมาณเท่ากันจึงอาจไม่ได้มีความยาวในหน่วยโทเคนตามที่คุ้นเคยจากเวอร์ชันก่อน
เงื่อนไขการทำงาน
ขอบเขตความรู้ในตัวที่เชื่อถือได้คือ มกราคม 2026 การวิจัยข้อมูลปัจจุบัน การทำงานกับเอกสาร และการรันโค้ดใช้ข้อมูลและเครื่องมือที่แอปพลิเคชันจัดให้ Opus 4.7 มีกลไกป้องกันที่อาจบล็อกคำขอด้านความมั่นคงปลอดภัยไซเบอร์ที่ต้องห้ามหรือมีความเสี่ยงสูง การใส่ใจตรวจสอบผลลัพธ์มีประโยชน์ในการทำงาน แต่ยังต้องตรวจสอบการเปลี่ยนแปลงและข้อสรุปสุดท้ายในสภาพแวดล้อมที่นำไปใช้
Ailoot Ultra · การประมวลผลแบบชุด POST /v1/batches anthropic/claude-opus-4.7:batch
anthropic/claude-opus-4.7:batch
anthropic/claude-opus-4.7:batchเริ่มต้น
Claude Opus 4.7 ออกแบบสำหรับงานวิศวกรรมซับซ้อน และการวิเคราะห์เอกสารกับภาพที่มีรายละเอียดเล็ก ให้ความสำคัญเป็นพิเศษกับการปฏิบัติตามคำสั่งอย่างแม่นยำและการตรวจสอบผลลัพธ์
- อินพุตที่รองรับ
- ข้อความ
- ผลลัพธ์
- ข้อความ
ใช้งานได้ใน Ailoot · อินพุตและเมธอด
Ailoot Ultra · การประมวลผลแบบชุด POST /v1/batches
- ขาเข้า
text- ขาออก
text- รูปแบบเอาต์พุต
- JSON ของ results[].response.body ที่ส่งกลับโดยตรง
| ฟิลด์ | ประเภท | ข้อกำหนด | ค่าและข้อจำกัด | ค่าเริ่มต้น |
|---|---|---|---|---|
ฟิลด์endpoint | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด /v1/chat/completions | ค่าเริ่มต้น— |
ฟิลด์model | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด anthropic/claude-opus-4.7:batch | ค่าเริ่มต้น— |
ฟิลด์requests | ประเภทbatch_item[] | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด จำนวนรายการขั้นต่ำ: 1 | ค่าเริ่มต้น— |
ฟิลด์requests[].custom_id | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด | ค่าเริ่มต้น— |
ฟิลด์requests[].body.messages | ประเภทmessage[] | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด | ค่าเริ่มต้น— |
ฟิลด์completion_window | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด 24h | ค่าเริ่มต้น— |
ฟิลด์provider | ประเภทobject|null | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด | ค่าเริ่มต้น— |
ฟิลด์requests[].body.model | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด anthropic/claude-opus-4.7:batch, anthropic/claude-opus-4.7 | ค่าเริ่มต้น— |
ฟิลด์provider.only | ประเภทstring[] | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด anthropic | ค่าเริ่มต้น— |
ฟิลด์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.005 / 1K โทเค็น ขาออก · โทเค็นเอาต์พุต $0.025 / 1K โทเค็น ขาเข้า · การอ่านแคช $0.0005 / 1K โทเค็น ขาเข้า · การเขียนแคช $0.00625 / 1K โทเค็น ขาเข้า · การเขียนแคช, 1 ชั่วโมง $0.01 / 1K โทเค็น |
| การตั้งค่าระดับความยาวคำขอ 1 | ตารางอัตราค่าบริการ— | โทเค็นบริบท มากกว่า0 | โทเค็นบริบท ไม่เกินและรวมค่าไม่มีขีดจำกัดสูงสุด | ค่าบริการ ขาเข้า · โทเค็นอินพุต $0.005 / 1K โทเค็น ขาออก · โทเค็นเอาต์พุต $0.025 / 1K โทเค็น ขาเข้า · การอ่านแคช $0.0005 / 1K โทเค็น ขาเข้า · การเขียนแคช $0.00625 / 1K โทเค็น ขาเข้า · การเขียนแคช, 1 ชั่วโมง $0.01 / 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":"anthropic/claude-opus-4.7: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 ['anthropic/claude-opus-4.7:batch', 'anthropic/claude-opus-4.7']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"anthropic/claude-opus-4.7: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 anthropic/claude-opus-4.7:batch
ชื่อพาธเมธอดอื่น
ใช้พาธเมธอดที่แสดงด้านบน
ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล
FAQ · Anthropic: Claude Opus 4.7 (batch)
- มีอินพุตและผลลัพธ์ใดบ้าง?
POST /v1/batches·anthropic/claude-opus-4.7:batch:text→text- คำขอใช้ฟิลด์ใดบ้าง?
POST /v1/batches·anthropic/claude-opus-4.7:batch:endpoint,model,requests,completion_window,provider- มีข้อจำกัดใดบ้าง?
POST /v1/batches·anthropic/claude-opus-4.7:batch:requests.min_items:1