วิธีใช้งาน Claude Fable 5.1 API ทีละขั้นตอนพร้อม Apidog

คู่มือ API Claude Fable 5.1 ทีละขั้นตอน: การเรียกใช้ครั้งแรก, ความพยายาม, การสตรีม, การใช้เครื่องมือแบบเข้มงวดแทนการบังคับเลือกเครื่องมือ, กลไกสำรอง, การอัปเดตความคืบหน้า, การตรวจสอบแคช

Ashley Innocent

Ashley Innocent

2 September 2026

วิธีใช้งาน Claude Fable 5.1 API ทีละขั้นตอนพร้อม Apidog

Apidog สำหรับองค์กร

การติดตั้งแบบ On-Premises

SSO & RBAC

รองรับมาตรฐาน SOC 2

สำรวจ Apidog Enterprise

Claude Fable 5.1 เปิดตัวเมื่อวันที่ 1 กันยายน 2026 และ ID โมเดล API คือสตริง claude-fable-5-1 โดยไม่มีส่วนต่อท้ายวันที่ มีค่าใช้จ่ายเท่ากับ Fable 5 คือ 10 ดอลลาร์ต่อล้านโทเค็นอินพุต และ 50 ดอลลาร์ต่อล้านโทเค็นเอาต์พุต โดยที่การอ่านแคชลดลงเหลือ 0.25 ดอลลาร์ต่อล้าน และมีการเปลี่ยนแปลงที่สำคัญสามประการที่ Fable 5 ไม่มี

คู่มือนี้จะนำเสนอทุกขั้นตอน: การขอคีย์, การส่งคำขอครั้งแรก, การควบคุมความพยายาม, การสตรีม, การใช้เครื่องมือโดยไม่ต้องบังคับ tool_choice, การสำรองกรณีปฏิเสธ, การอัปเดตความคืบหน้า, และการอ่านอ็อบเจกต์ usage เพื่อยืนยันว่าแคชของคุณทำงานในอัตราใหม่ ทุกคำขอเป็น HTTP ธรรมดาพร้อม JSON คุณจึงสามารถสร้างและดีบักได้ใน Apidog ก่อนที่จะนำไปใช้ในโค้ดแอปพลิเคชัน

หากคุณกำลังย้ายบริการ Fable 5 หรือ Opus 5 ที่มีอยู่ แทนที่จะเริ่มใหม่ โปรดอ่าน คู่มือการย้ายข้อมูลฉบับเต็ม ไปพร้อมกับคู่มือนี้ สำหรับภาพรวมของโมเดล เริ่มต้นที่ Claude Fable 5.1 คืออะไร

ก่อนการเรียกใช้ครั้งแรก: สามสิ่งที่ส่งคืนค่า 400

1. การคิดไม่สามารถตั้งค่าได้ ทำได้แค่ชี้นำเท่านั้น Fable 5.1 ใช้การคิดแบบปรับตัวได้ในการร้องขอทุกครั้ง ละเว้นฟิลด์ thinking หรือส่ง {"type": "adaptive"} ทั้ง {"type": "disabled"} และ {"type": "enabled", "budget_tokens": N} จะส่งคืนค่า 400 หากคุณมาจาก Opus 5 ซึ่งยอมรับ disabled ที่ระดับ high หรือต่ำกว่า ให้ลบออกและควบคุมการใช้จ่ายด้วย output_config.effort แทน

2. การบังคับใช้เครื่องมือถูกยกเลิกแล้ว tool_choice: {"type": "any"} และ {"type": "tool", "name": "..."} จะส่งคืน tool_choice: type "tool" and "any" are not supported for this model. วิธีแก้ปัญหาอยู่ในขั้นตอนการใช้เครื่องมือด้านล่าง

3. องค์กรของคุณต้องการการเก็บรักษาข้อมูล 30 วัน Fable 5.1 เป็นโมเดลที่อยู่ภายใต้การคุ้มครอง (Covered Model) คำขอจากองค์กรหรือพื้นที่ทำงานที่ไม่มีการเก็บรักษาข้อมูลจะส่งคืน 400 invalid_request_error โดยไม่มีเบาะแสอื่นใด หากการเรียกใช้ครั้งแรกของคุณล้มเหลวและเนื้อหาดูถูกต้อง ให้ตรวจสอบการเก็บรักษาก่อนสิ่งอื่นใด

ทั้งสามประการนี้ได้รับการบันทึกไว้ในเอกสารของ Anthropic มีอะไรใหม่ใน Claude Fable 5.1

ขั้นตอนที่ 1: ขอ API key

ลงชื่อเข้าใช้ Claude Console เปิดส่วน API keys ในการตั้งค่าองค์กรของคุณ และสร้างคีย์ คัดลอกเพียงครั้งเดียวเท่านั้น คุณจะไม่สามารถอ่านกลับได้ในภายหลัง ส่งออกแทนที่จะวางลงในโค้ด:

export ANTHROPIC_API_KEY="sk-ant-..."

ใน Apidog จัดเก็บเป็นตัวแปรสภาพแวดล้อมชื่อ ANTHROPIC_API_KEY และอ้างอิงเป็น {{ANTHROPIC_API_KEY}} ในส่วนหัว เพื่อให้คีย์ไม่ถูกบันทึกในเนื้อหาคำขอที่บันทึกไว้

ขั้นตอนที่ 2: ส่งคำขอแรกของคุณ

สร้าง POST ไปยัง https://api.anthropic.com/v1/messages พร้อมส่วนหัวสามรายการ: x-api-key, anthropic-version: 2023-06-01, และ content-type: application/json

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-fable-5-1",
    "max_tokens": 16000,
    "messages": [
      {"role": "user", "content": "Explain the difference between idempotent and safe HTTP methods, with one example each."}
    ]
  }'

การเรียกเดียวกันใน Python ด้วย SDK อย่างเป็นทางการ:

import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-fable-5-1",
    max_tokens=16000,
    messages=[{"role": "user", "content": "Explain the difference between idempotent and safe HTTP methods, with one example each."}],
)

if response.stop_reason == "refusal":
    print("declined:", response.stop_details.category if response.stop_details else None)
else:
    for block in response.content:
        if block.type == "text":
            print(block.text)

สองนิสัยที่ควรสร้างจากการเรียกครั้งแรกคือ ตรวจสอบ stop_reason ก่อนอ่าน content เพราะการปฏิเสธจากตัวจัดประเภทคือ HTTP 200 ที่มีอาร์เรย์เนื้อหาว่างเปล่า และให้ max_tokens มีพื้นที่เพียงพอ มันจะจำกัดโทเค็นการคิดบวกโทเค็นการตอบกลับรวมกัน และการคิดจะทำงานอยู่เสมอ ดังนั้นค่าที่แคบซึ่งปรับแต่งสำหรับโมเดลที่ไม่มีการคิดจะถูกตัดทอนที่นี่

การตอบกลับจะประกอบด้วยบล็อก thinking ซึ่งข้อความเป็นค่าว่างภายใต้ display เริ่มต้นเป็น "omitted" ซึ่งเป็นที่คาดไว้ ส่งกลับไปโดยไม่มีการเปลี่ยนแปลงในการตอบกลับครั้งถัดไป

ขั้นตอนที่ 3: ควบคุมค่าใช้จ่ายและความลึกด้วย effort

พารามิเตอร์ effort คือตัวควบคุมหลักของ Fable 5.1 มันจะอยู่ภายใน output_config ไม่ใช่ที่ระดับบนสุด และยอมรับค่า low, medium, high, xhigh, และ max ค่าเริ่มต้นคือ high

{
  "model": "claude-fable-5-1",
  "max_tokens": 16000,
  "output_config": {"effort": "medium"},
  "messages": [{"role": "user", "content": "Summarize this changelog in five bullets."}]
}

คำแนะนำจาก Anthropic: เริ่มต้นที่ high จากนั้นลองใช้ค่าอื่นๆ กับการประเมินของคุณเอง และทำการทดสอบซ้ำแม้ว่าคุณจะเคยทำกับ Fable 5 มาแล้วก็ตาม เพราะชื่อระดับไม่สอดคล้องกับปริมาณการคิดที่เท่ากันในแต่ละโมเดล พวกเขาอ้างว่า medium ใกล้เคียงกับ Fable 5 ในราคาที่ต่ำกว่า และ low มักจะสามารถแข่งขันกับ Opus และ Sonnet ในแง่ของค่าใช้จ่ายต่อภารกิจ มีพฤติกรรมเฉพาะสองอย่างเกี่ยวกับ effort ที่ควรรู้: ที่ระดับ low, Fable 5.1 จะเรียกใช้เครื่องมือค้นหาและเรียกข้อมูลน้อยลง และตอบจากหน่วยความจำมากขึ้น และที่ระดับ xhigh และ max มันสามารถร่างงานที่ต้องส่งมอบที่ยาวในการคิดจากนั้นเขียนใหม่ ดังนั้นให้ตั้งค่า max_tokens สำหรับทั้งสองกรณี

การเปลี่ยน effort ระหว่างการสนทนา (เบต้า) บน Fable 5 การเปลี่ยน effort ระดับบนสุดระหว่างคำขอจะล้างคำนำหน้าที่ถูกแคชไว้ บน Fable 5.1 ข้อความ role: "system" ที่มีเนื้อหาว่างเปล่าและ output_config จะเปลี่ยน effort ตั้งแต่การตอบกลับของผู้ใช้ครั้งถัดไปโดยไม่ทำให้แคชเสียไป มันต้องใช้ส่วนหัวเบต้า mid-conversation-output-config-2026-07-01 และเนมสเปซ client.beta.messages

response = client.beta.messages.create(
    model="claude-fable-5-1",
    max_tokens=16000,
    output_config={"effort": "high"},
    betas=["mid-conversation-output-config-2026-07-01"],
    messages=[
        {"role": "user", "content": "Plan a migration from SQLite to PostgreSQL in three short steps."},
        {"role": "assistant", "content": "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts."},
        {"role": "system", "content": [], "output_config": {"effort": "low"}},
        {"role": "user", "content": "Summarize the plan in one sentence."},
    ],
)

การลด effort ด้วยวิธีนี้เชื่อถือได้ การเพิ่ม effort ทำงานได้ดีที่สุดสำหรับการกระโดดครั้งใหญ่ เช่น จาก low ไป xhigh คู่มือพารามิเตอร์ effort สำหรับ Opus 5 ครอบคลุมห้าระดับอย่างละเอียด และความหมายเดียวกันก็ใช้ได้ที่นี่

ขั้นตอนที่ 4: สตรีมการตอบกลับ

Fable 5.1 สำหรับงานยากสามารถใช้เวลาหลายนาทีเมื่อใช้ effort สูง ดังนั้นให้สตรีมสิ่งใดก็ตามที่อาจใช้เวลานาน SDK กำหนดให้ต้องสตรีมสำหรับค่า max_tokens ใกล้ขีดจำกัด 128,000 เพื่อหลีกเลี่ยงการหมดเวลาของ HTTP

with client.messages.stream(
    model="claude-fable-5-1",
    max_tokens=64000,
    messages=[{"role": "user", "content": "Write a test plan for a rate-limited public API."}],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)
    final = stream.get_final_message()

print(final.stop_reason, final.usage.output_tokens)

ใน Apidog การตอบกลับจากการสตรีมจะแสดงผลเมื่อมาถึง ซึ่งเป็นวิธีที่เร็วที่สุดในการดูว่าการตอบกลับที่มี high-effort ใช้เวลาคิดนานเท่าใดก่อนที่จะมีโทเค็นข้อความแรก

ขั้นตอนที่ 5: เพิ่มการใช้เครื่องมือโดยไม่ต้องบังคับ

กำหนดเครื่องมือในลักษณะเดียวกับ Fable 5 สิ่งที่เปลี่ยนแปลงคือวิธีที่คุณรับประกันการเรียกใช้ บน Fable 5 คุณสามารถบังคับได้ด้วย tool_choice: {"type": "tool", ...} บน Fable 5.1 นั่นจะส่งคืนค่า 400 เพราะการเรียกที่ถูกบังคับจะข้ามการคิดและโมเดลจะเขียนกระบวนการทำงานลงในอาร์กิวเมนต์

วิธีแก้ไขมีสามส่วน: ให้ tool_choice เป็น auto, ระบุชื่อเครื่องมือในคำสั่ง, และตั้งค่า strict: true (การใช้เครื่องมือแบบเข้มงวด) บนเครื่องมือที่มี additionalProperties: false ในสคีมาเพื่อให้การตรวจสอบอาร์กิวเมนต์ถูกต้องเสมอ

record_summary_tool = {
    "name": "record_summary",
    "description": "Record the structured summary of the document.",
    "strict": True,
    "input_schema": {
        "type": "object",
        "properties": {"summary": {"type": "string"}},
        "required": ["summary"],
        "additionalProperties": False,
    },
}

response = client.messages.create(
    model="claude-fable-5-1",
    max_tokens=16000,
    tools=[record_summary_tool],
    tool_choice={"type": "auto"},
    messages=[{"role": "user", "content": "Summarize: The meeting moved to Thursday. Call the record_summary tool with your result."}],
)

หากการเรียกที่ถูกบังคับมีอยู่เพียงเพื่อให้ได้ JSON กลับมา ให้ใช้ structured outputs (output_config.format) แทนการใช้เครื่องมือเลย หากแอปพลิเคชันของคุณ ไม่ใช่ผู้ใช้ ต้องการการเรียกเฉพาะในการตอบกลับปัจจุบันของการสนทนาแบบหลายรอบ ให้เพิ่มข้อความ role: "system" หลังจากการตอบกลับของผู้ใช้ล่าสุดที่ระบุชื่อเครื่องมือและบอกว่าการเรียกนั้นจำเป็น และเก็บข้อความนั้นไว้ในประวัติหลังจากนั้น tool_choice: {"type": "none"} ยังคงใช้ได้สำหรับการตอบกลับที่ไม่ควรเรียกใช้เครื่องมือ

ลูปเอเจนต์เองไม่มีการเปลี่ยนแปลง: เมื่อ stop_reason เป็น tool_use ให้ดำเนินการบล็อก tool_use ทุกบล็อก ส่งคืนบล็อก tool_result ทั้งหมดในข้อความผู้ใช้หนึ่งข้อความ และเพิ่มการตอบกลับของผู้ช่วยกลับไปตามที่ส่งคืนมาอย่างถูกต้อง รวมถึงบล็อกการคิดด้วย ข้อกำหนดสุดท้ายนี้มีความสำคัญต่อ Fable 5.1 มากกว่าโมเดลก่อนหน้าใดๆ ด้วยเหตุผลที่ คู่มือการคิดที่เก็บรักษาไว้ อธิบาย

พฤติกรรมหนึ่งที่ต้องระวัง: ในลูปยาวๆ ที่การอ่านอิสระถัดไปถูกบอกเป็นนัยโดยงานเท่านั้น Fable 5.1 อาจส่งคำขอเครื่องมือหนึ่งรายการต่อรอบ ในขณะที่ Fable 5 จะส่งหลายรายการพร้อมกัน วิธีแก้ไขของ Anthropic คือการเพิ่มข้อความกระตุ้นหนึ่งประโยคหลังจากข้อความผลลัพธ์ของเครื่องมือแต่ละรายการ: "First privately list what you need next; then request every item that doesn’t depend on another’s result in this one response." ส่งเป็นข้อความระบบที่จำกัดขอบเขตของรอบ (clear_at: "next_user_message", ส่วนหัวเบต้า mid-conversation-system-clear-at-2026-08-21) และปล่อยสำเนาที่เคยมีอยู่ก่อนหน้านี้ไว้ตามเดิม

ขั้นตอนที่ 6: จัดการการปฏิเสธด้วย fallbacks

Fable 5.1 ใช้ตัวจัดประเภทความปลอดภัย คำขอที่ถูกปฏิเสธจะส่งคืนเป็น HTTP 200 พร้อม stop_reason: "refusal" และอ็อบเจกต์ stop_details ที่ระบุหมวดหมู่: cyber, bio, frontier_llm, reasoning_extraction, หรือ general_harms การปฏิเสธก่อนที่จะมีผลลัพธ์ใดๆ จะไม่ถูกเรียกเก็บเงิน

เลือกใช้ fallbacks เป็นค่าเริ่มต้น รูปแบบที่ง่ายที่สุดคือ fallbacks: "default" พร้อมส่วนหัวเบต้า server-side-fallback-2026-07-01 ซึ่งจะลองคำขอที่ถูกปฏิเสธซ้ำกับโมเดลที่ Anthropic แนะนำสำหรับหมวดหมู่นั้น สำหรับ Fable 5.1 เป้าหมายที่อนุญาตคือ claude-opus-4-8 และ claude-opus-5

response = client.beta.messages.create(
    model="claude-fable-5-1",
    max_tokens=16000,
    fallbacks="default",
    betas=["server-side-fallback-2026-07-01"],
    messages=[{"role": "user", "content": "Audit this authentication middleware for logic bugs."}],
)

fallback_ran = any(
    entry.type == "fallback_message" for entry in (response.usage.iterations or [])
)
if fallback_ran and response.stop_reason != "refusal":
    print("served by", response.model)

การตอบกลับจะระบุชื่อโมเดลที่ให้บริการในฟิลด์ model ระดับบนสุด และบล็อกเนื้อหา fallback จะทำเครื่องหมายการส่งต่อ เก็บส่วนบล็อกนั้นไว้ในตำแหน่งที่ปรากฏเมื่อคุณตอบกลับ สองข้อจำกัด: fallbacks จะถูกปฏิเสธบน Batches API และไม่สามารถใช้งานได้บน Bedrock, Google Cloud, หรือ Foundry ซึ่งคุณจะต้องลงทะเบียน BetaRefusalFallbackMiddleware ของ SDK บนไคลเอ็นต์แทน คู่มือการจัดการการปฏิเสธ ครอบคลุมการเรียกเก็บเงิน, การกำหนดเส้นทางแบบคงที่, และการลองซ้ำด้วยตนเองพร้อมเครดิต fallback

ขั้นตอนที่ 7: รับการอัปเดตความคืบหน้าในระหว่างรอบที่ยาวนาน

ระหว่างการเรียกใช้เครื่องมือ Fable 5.1 จะเขียนบันทึกสั้นๆ เกี่ยวกับสิ่งที่พบและสิ่งที่กำลังจะทำต่อไป แต่ละบันทึกจะมาในรูปแบบบล็อก thinking ของตัวเองก่อนการเรียกใช้เครื่องมือทันที และภายใต้ display เริ่มต้น บล็อกเหล่านั้นจะว่างเปล่า ตั้งค่า display: "updates" พร้อมส่วนหัวเบต้า thinking-display-updates-2026-08-18 เพื่อรับเป็นข้อความในขณะที่การให้เหตุผลยังคงซ่อนอยู่

{
  "model": "claude-fable-5-1",
  "max_tokens": 16000,
  "thinking": {"type": "adaptive", "display": "updates"},
  "tools": [...],
  "messages": [{"role": "user", "content": "Review the PRs open against our billing service."}]
}

บล็อก thinking ใดๆ ที่มีข้อความไม่ว่างเปล่าจะกลายเป็นบรรทัดสถานะที่คุณสามารถแสดงผลได้ Fable 5.1 จะเขียนบล็อกเหล่านี้น้อยกว่า Fable 5 ดังนั้นหาก UI ของคุณขึ้นอยู่กับการบรรยาย ให้ลบบรรทัดพรอมต์ใดๆ ที่บอกโมเดลให้เก็บผลการค้นหาสำหรับคำตอบสุดท้ายด้วย

ขั้นตอนที่ 8: อ่านออบเจกต์ usage สำหรับอัตราแคช 0.25 ดอลลาร์

การแคชพรอมต์ คือจุดที่การเปลี่ยนแปลงราคาของ Fable 5.1 มีผล วาง cache_control บนส่วนนำหน้าที่เสถียรและยืนยันการเข้าถึงใน usage:

response = client.messages.create(
    model="claude-fable-5-1",
    max_tokens=16000,
    system=[{"type": "text", "text": LONG_STABLE_SYSTEM_PROMPT, "cache_control": {"type": "ephemeral"}}],
    messages=[{"role": "user", "content": "Which endpoints in the spec lack an error schema?"}],
)
u = response.usage
print(u.input_tokens, u.cache_creation_input_tokens, u.cache_read_input_tokens)

ในการส่งครั้งแรก cache_creation_input_tokens จะไม่เป็นศูนย์ (คิดค่าบริการ 12.50 ดอลลาร์ต่อล้านสำหรับ TTL 5 นาที) ในการส่งครั้งที่สองภายในห้านาที cache_read_input_tokens ควรจะไม่เป็นศูนย์ โดยคิดค่าบริการที่ 0.25 ดอลลาร์ต่อล้าน หากยังคงเป็นศูนย์ในคำขอที่เหมือนกัน แสดงว่ามีบางอย่างในคำนำหน้าเปลี่ยนแปลงทุกครั้ง: การประทับเวลาในพรอมต์ระบบ, JSON ที่ไม่ได้เรียงลำดับ, อาร์เรย์เครื่องมือที่แตกต่างกัน ขนาดพรอมต์ที่แคชได้ขั้นต่ำคือ 512 โทเค็น

ข้อเท็จจริงเกี่ยวกับการแคชสองประการที่เฉพาะเจาะจงสำหรับโมเดลนี้ เนื่องจากค่าใช้จ่ายในการพลาดแคชสูงกว่าการเข้าแคชถึง 40 เท่า การรักษาให้แคชพร้อมใช้งานจึงมีความสำคัญมากกว่าที่เคยเป็นมาใน Fable 5 และทั้ง effort ต่อข้อความและข้อความระบบที่จำกัดขอบเขตการตอบกลับมีอยู่บางส่วนเพื่อให้คุณสามารถเปลี่ยนแปลงสิ่งต่างๆ ได้ระหว่างเซสชันโดยไม่ต้องรีเซ็ต และการแก้ไขแบบเดียวกันที่รีเซ็ตแคช (การสร้าง system ใหม่, การแก้ไขการตอบกลับก่อนหน้า) ตอนนี้ยังทำให้บล็อกการคิดไม่ถูกต้อง ดังนั้นวินัยในการเพิ่มเท่านั้นจึงมีประโยชน์สองเท่า

ทดสอบและดีบักขั้นตอนทั้งหมดใน Apidog

บันทึกแต่ละขั้นตอนข้างต้นเป็นคำขอใน Apidog collection เดียว: การเรียกครั้งแรก, รูปแบบ effort, การสตรีม, ลูปเครื่องมือ, fallback, การตรวจสอบแคช ใช้ตัวแปรสภาพแวดล้อมสำหรับคีย์และสำหรับ model เพื่อให้การสลับ collection ทั้งหมดระหว่าง claude-fable-5 และ claude-fable-5-1 ใช้เพียงการแก้ไขครั้งเดียว จากนั้นเพิ่มการยืนยัน: stop_reason ไม่ใช่ refusal ในพรอมต์ทดสอบที่เป็นมิตรของคุณ, usage.cache_read_input_tokens มากกว่าศูนย์ในคำขอแคชครั้งที่สอง และไม่มีรายการ input_transformations ที่มี reason: "prefix_binding_mismatch" เมื่อคุณรันด้วยส่วนหัว thinking-binding รัน collection ก่อนและหลังการเปลี่ยนแปลงใดๆ ดาวน์โหลด Apidog เพื่อตั้งค่า collection เดียวกันนี้สามารถใช้เป็นการตรวจสอบ CI ผ่าน Apidog CLI ได้

ข้อผิดพลาดและสิ่งที่อาจเจอ

คำถามที่พบบ่อย

ID โมเดลสำหรับ Claude Fable 5.1 API คืออะไร? claude-fable-5-1 บน Amazon Bedrock คือ anthropic.claude-fable-5-1; Google Cloud, Microsoft Foundry และ Claude Platform บน AWS ใช้ claude-fable-5-1

ฉันจำเป็นต้องมี beta header เพื่อใช้ Claude Fable 5.1 หรือไม่? ไม่จำเป็น โมเดลพื้นฐาน, การคิดแบบปรับตัว, effort, เครื่องมือ และการแคชทั้งหมดทำงานบนส่วนหัวมาตรฐาน anthropic-version: 2023-06-01 beta header จำเป็นสำหรับ effort ต่อข้อความ, ข้อความระบบที่จำกัดขอบเขตการตอบกลับ, การอัปเดตความคืบหน้า, fallbacks ฝั่งเซิร์ฟเวอร์ และการควบคุม thinking-binding เท่านั้น

ฉันสามารถบังคับให้เรียกใช้เครื่องมือบน Claude Fable 5.1 ได้หรือไม่? ไม่ได้ tool_choice any และ tool จะส่งคืนค่า 400 ใช้ auto, ระบุชื่อเครื่องมือในพรอมต์ และตั้งค่า strict: true สำหรับอาร์กิวเมนต์ที่ถูกต้องตามสคีมา หรือใช้ structured outputs สำหรับการดึง JSON

เอาต์พุตสูงสุดของ Claude Fable 5.1 API คือเท่าไร? 128,000 โทเค็นบน Messages API สตรีมสำหรับสิ่งที่มีขนาดใหญ่ Batch API เบต้า 300,000 โทเค็นไม่ได้ระบุไว้สำหรับ Fable 5.1

ฉันจะดูการอ่านแคชที่ถูกกว่าได้อย่างไร? ดูที่ usage.cache_read_input_tokens ในคำขอซ้ำ โทเค็นเหล่านั้นจะถูกเรียกเก็บเงินที่ 0.25 ดอลลาร์ต่อล้านบน Fable 5.1 เทียบกับ 1 ดอลลาร์บน Fable 5 และ 0.50 ดอลลาร์บน Opus 5 รายละเอียดราคา จะคำนวณตัวเลขให้

คู่มือ Fable 5 API ยังคงใช้ได้อยู่หรือไม่? ส่วนใหญ่แล้ว คู่มือ Fable 5 API ครอบคลุมเอนด์พอยต์เดียวกัน แต่ตัวอย่างการใช้เครื่องมือที่ถูกบังคับตอนนี้จะส่งคืนค่า 400 และคู่มือนั้นเก่ากว่า effort ต่อข้อความและการอัปเดตความคืบหน้า

ปุ่ม

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API