DEV Community

Cover image for วิธีใช้ Claude Haiku 5.5 API
Thanawat Wongchai
Thanawat Wongchai

Posted on Originally published at apidog.com

วิธีใช้ Claude Haiku 5.5 API

ในการใช้ Claude Haiku 5.5 API ให้ส่งคำขอ POST ไปที่ https://api.anthropic.com/v1/messages พร้อมระบุ "model": "claude-haiku-5-5" ส่งคีย์ผ่านเฮดเดอร์ x-api-key และใช้ anthropic-version: 2023-06-01 ค่าใช้จ่ายคือ $0.10/$0.50 ต่อหนึ่งล้านโทเค็นอินพุต/เอาต์พุตสำหรับ prompts ที่มีขนาดไม่เกิน 100K โทเค็น และ $0.50/$2.50 เมื่อเกินขีดจำกัดดังกล่าว โมเดลรองรับบริบทสูงสุด 1M โทเค็น เอาต์พุตสูงสุด 128K โทเค็น โดยค่าเริ่มต้นใช้ medium effort และเปิด adaptive thinking

ลองใช้ Apidog วันนี้

Anthropic เปิดตัว Haiku 5.5 เมื่อวันที่ 7 ตุลาคม 2026 และเป็น Haiku รุ่นแรกที่รองรับระดับความพยายาม (effort levels) ดูข้อมูลจำเพาะและตำแหน่งผลิตภัณฑ์ได้ที่ Claude Haiku 5.5 คืออะไร บทความนี้จะแสดงการเรียก API ด้วย curl, Python และ TypeScript รวมถึงการตั้งค่า effort, thinking, caching, batch, refusal และ toolsets สำหรับ agent คุณสามารถบันทึกและตรวจสอบคำขอทั้งหมดด้วย Apidog

ภาพรวม Claude Haiku 5.5 API

พารามิเตอร์ พฤติกรรมของ Haiku 5.5
รหัสโมเดล claude-haiku-5-5 (Bedrock: anthropic.claude-haiku-5-5); ไม่มีชื่อแทนแยกต่างหาก
ราคาต่อ MTok สำหรับ prompts สูงสุด 100K โทเค็น $0.10 สำหรับอินพุต, $0.50 สำหรับเอาต์พุต, $0.01 สำหรับการอ่านแคช
ราคาต่อ MTok สำหรับ prompts เกิน 100K โทเค็น $0.50 สำหรับอินพุต, $2.50 สำหรับเอาต์พุต, $0.05 สำหรับการอ่านแคช
บริบท / เอาต์พุตสูงสุด 1M / 128K; 300K ใน Batch โดยใช้เฮดเดอร์เบต้า output-300k-2026-03-24
output_config.effort low, medium (ค่าเริ่มต้น), high, xhigh, max
thinking adaptive เป็นค่าเริ่มต้น; disabled ใช้ได้เฉพาะที่ระดับ high หรือต่ำกว่า
thinking.display ฟิลด์ thinking ว่างเปล่าเป็นค่าเริ่มต้น; summarized จะคืนข้อความที่อ่านได้
temperature, top_p, top_k ค่าที่ไม่ใช่ค่าเริ่มต้นจะคืนค่า 400
Assistant prefill คืนค่า 400 แม้ปิด thinking
prompt ที่แคชได้ขั้นต่ำ 512 โทเค็น (4,096 ใน Haiku 4.5)

แหล่งที่มา: หน้าโมเดล Haiku 5.5 และ เอกสารราคา Claude API

การเรียกใช้ Claude Haiku 5.5 API ครั้งแรก

สร้างคีย์ใน Claude Console โดยดูขั้นตอนได้จากคู่มือคีย์ Anthropic API จากนั้นเก็บคีย์ไว้ในตัวแปรสภาพแวดล้อม ห้ามใส่คีย์ลงในซอร์สโค้ดโดยตรง

export ANTHROPIC_API_KEY="your-api-key"
Enter fullscreen mode Exit fullscreen mode

ส่งคำขอแรกด้วย curl:

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-haiku-5-5",
    "max_tokens": 4096,
    "output_config": {"effort": "medium"},
    "thinking": {"type": "adaptive", "display": "summarized"},
    "messages": [{
      "role": "user",
      "content": "Classify this ticket as billing, bug, or feature request: The export button times out on large projects."
    }]
  }'
Enter fullscreen mode Exit fullscreen mode

Python

Python SDK จะอ่าน ANTHROPIC_API_KEY จาก environment โดยอัตโนมัติ:

import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-haiku-5-5",
    max_tokens=4096,
    output_config={"effort": "medium"},
    thinking={"type": "adaptive", "display": "summarized"},
    messages=[
        {
            "role": "user",
            "content": "Classify this ticket as billing, bug, or feature request: The export button times out on large projects.",
        }
    ],
)

for block in response.content:
    if block.type == "thinking":
        print("[thinking]", block.thinking)
    elif block.type == "text":
        print(block.text)

print(response.stop_reason, response.usage)
Enter fullscreen mode Exit fullscreen mode

TypeScript

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic();

const response = await client.messages.create({
  model: "claude-haiku-5-5",
  max_tokens: 4096,
  output_config: { effort: "medium" },
  thinking: { type: "adaptive", display: "summarized" },
  messages: [
    {
      role: "user",
      content:
        "Classify this ticket as billing, bug, or feature request: The export button times out on large projects.",
    },
  ],
});

for (const block of response.content) {
  if (block.type === "text") {
    console.log(block.text);
  }
}

console.log(response.stop_reason, response.usage);
Enter fullscreen mode Exit fullscreen mode

จุดที่ควรตรวจสอบในโค้ด:

  1. อ่าน response.content ตามค่า type เสมอ เพราะการตอบกลับอาจเริ่มด้วยบล็อก thinking ทำให้ content[0].text เกิดข้อผิดพลาดได้
  2. เผื่อพื้นที่ให้ max_tokens เนื่องจาก thinking tokens นับรวมในขีดจำกัดนี้
  3. อย่าส่ง temperature, top_p, top_k, budget_tokens หรือ assistant prefill เพราะโมเดลนี้จะตอบกลับ 400
  4. หากย้ายจากโค้ดเดิม ให้ตรวจสอบความเปลี่ยนแปลงในคู่มือ Haiku 5.5 เทียบกับ Haiku 4.5

เลือกระดับความพยายาม (effort level)

กำหนด effort ผ่าน output_config.effort ซึ่งส่งผลโดยตรงต่อคุณภาพ ความหน่วง และค่าใช้จ่าย คู่มือการสร้าง prompt แนะนำแนวทางเริ่มต้นดังนี้:

  • low: ถูกที่สุดและเร็วที่สุด เหมาะกับแชท งานเครื่องมือสั้น ๆ และคำขอปริมาณมาก
  • medium: ค่าเริ่มต้น เหมาะเป็นจุดเริ่มต้นสำหรับงานส่วนใหญ่ รวมถึง agentic coding
  • high: สำหรับงานที่ต้องใช้ความรู้ งาน agent ที่ซับซ้อนขึ้น และงานที่ต้องทำตามคำสั่งอย่างเคร่งครัด
  • xhigh และ max: ใช้เมื่อผลการประเมินของคุณแสดงว่าคุณภาพดีขึ้นอย่างคุ้มค่า

ผลการทดสอบ OSWorld 2.1 ชุดย่อยแบบออฟไลน์ของ Anthropic แสดงต้นทุนและคะแนนต่อระดับดังนี้:

ความพยายาม คะแนน ค่าใช้จ่ายต่อการพยายาม
low 42.0% $0.0695
medium 53.3% $0.1257
high 61.3% $0.1827
xhigh 67.6% $0.2792
max 72.4% $0.6111

การเปลี่ยนจาก xhigh เป็น max ทำให้ต้นทุนเพิ่มขึ้นมากกว่าสองเท่า แต่คะแนนเพิ่มขึ้นไม่ถึงห้าจุด ดูผลการทดสอบเพิ่มเติมได้ที่รายละเอียดเกณฑ์มาตรฐานของ Haiku 5.5

ที่ระดับ xhigh ในบทสนทนาหลายรอบ โมเดลอาจเขียนคำตอบทั้งหมดลงใน thinking และจบเทิร์นโดยไม่มีข้อความที่แสดงผล ตรวจสอบ text output ว่าว่างหรือไม่ก่อนส่งให้ผู้ใช้

ควบคุมการคิด (thinking)

Adaptive thinking เปิดใช้งานเป็นค่าเริ่มต้น โดยบล็อก thinking จะมีฟิลด์ thinking ว่างเปล่าและมีเพียง signature หากต้องการสรุปที่อ่านได้สำหรับ log หรือ UI ให้กำหนด display: "summarized":

{
  "thinking": {
    "type": "adaptive",
    "display": "summarized"
  }
}
Enter fullscreen mode Exit fullscreen mode

หากต้องการลด thinking ให้ลด effort แทนการสั่งให้โมเดล “ตอบตรง ๆ” เพราะคำสั่งลักษณะนี้ไม่สามารถหยุด thinking ได้ในการทดสอบของ Anthropic

คุณสามารถปิด thinking ได้เมื่อใช้ effort ระดับ high หรือต่ำกว่า:

{
  "model": "claude-haiku-5-5",
  "max_tokens": 1024,
  "thinking": {"type": "disabled"},
  "output_config": {"effort": "low"},
  "messages": [{
    "role": "user",
    "content": "Extract the invoice number from: INV-2291, due Nov 3."
  }]
}
Enter fullscreen mode Exit fullscreen mode

การส่ง payload เดียวกันโดยใช้ xhigh หรือ max จะได้สถานะ 400

สำหรับ multi-turn conversation หรือ agent loop:

  • ส่งคืนทุกบล็อก thinking โดยไม่แก้ไข
  • เก็บประวัติข้อความแบบ append-only
  • อย่าแก้ไข system, tools หรือ messages ที่อยู่ก่อนบล็อก thinking ที่ส่งกลับ
  • บล็อก thinking ใช้ได้เฉพาะบัญชีที่สร้างบล็อกนั้น หรือบัญชีที่เชื่อมโยงกัน

การบังคับ tool_choice ด้วย any หรือชื่อเครื่องมือใช้งานได้ แต่การตอบกลับจะเริ่มด้วย tool call และไม่มีบล็อก thinking

แคช prompts และงานแบตช์

Prompt caching ช่วยลดต้นทุนสำหรับส่วนของ prompt ที่ใช้ซ้ำ สำหรับ prompts ที่ไม่เกิน 100K โทเค็น:

  • อินพุตใหม่: $0.10 ต่อ MTok
  • อ่านจากแคช: $0.01 ต่อ MTok
  • เขียนแคช TTL 5 นาที: $0.125 ต่อ MTok
  • เขียนแคช TTL 1 ชั่วโมง: $0.20 ต่อ MTok

Haiku 5.5 แคช prompt ที่มีอย่างน้อย 512 โทเค็นได้ ลดลงจาก 4,096 โทเค็นใน Haiku 4.5 จึงเหมาะกับ system prompt และรายการเครื่องมือที่คงที่

กำหนด cache_control ให้ส่วนที่เสถียร:

{
  "model": "claude-haiku-5-5",
  "max_tokens": 1024,
  "system": [{
    "type": "text",
    "text": "You are a support triage assistant. <long, stable policy text here>",
    "cache_control": {"type": "ephemeral"}
  }],
  "messages": [{
    "role": "user",
    "content": "Ticket: refund not received after 10 days."
  }]
}
Enter fullscreen mode Exit fullscreen mode

การเปลี่ยน effort ระดับบนสุดระหว่างคำขอจะทำให้แคชใช้ไม่ได้ หากต้องเปลี่ยน effort ในบทสนทนาแต่ยังต้องการรักษาแคช ให้ใช้ per-message effort ผ่านเฮดเดอร์เบต้า mid-conversation-output-config-2026-07-01 บน Claude API และ Google Cloud

อ่านรายละเอียดเพิ่มเติมได้จากเอกสาร prompt caching และคำอธิบายการแคช prompt

สำหรับงานที่รอผลได้ Message Batches API ลดราคาอินพุตและเอาต์พุตได้ถึง 50%:

ขนาด prompt อินพุตต่อ MTok เอาต์พุตต่อ MTok
สูงสุด 100K โทเค็น $0.05 $0.25
มากกว่า 100K โทเค็น $0.25 $1.25

Batch ยังเป็นวิธีเดียวที่เข้าถึงเอาต์พุต 300K โทเค็น โดยต้องใช้เฮดเดอร์เบต้า output-300k-2026-03-24

ให้ระวังเส้นแบ่ง 100K โทเค็น เพราะ prompts ที่เกิน 100,000 โทเค็นมีราคาสูงขึ้น ดูตัวอย่างต้นทุนได้ที่คู่มือราคา Haiku 5.5

จัดการกับ stop_reason: "refusal"

Haiku 5.5 มีตัวจำแนกความปลอดภัยที่อาจปฏิเสธคำขอ และไม่มี server-side fallback คำขอที่ถูกปฏิเสธจะคืนค่า:

{
  "stop_reason": "refusal"
}
Enter fullscreen mode Exit fullscreen mode

หมวดหมู่การปฏิเสธประกอบด้วย cyber, frontier_llm, bio และ general_harms หากย้ายจาก Haiku 4.5 พฤติกรรมนี้เป็นสิ่งใหม่ การส่งคำขอเดิมซ้ำมักถูกปฏิเสธอีกครั้ง ดังนั้นอย่า retry โดยไม่ตรวจสอบก่อน

ตัวอย่างการจัดการใน Python:

def run(client, messages):
    response = client.messages.create(
        model="claude-haiku-5-5",
        max_tokens=4096,
        messages=messages,
    )

    if response.stop_reason == "refusal":
        details = getattr(response, "stop_details", None)
        category = getattr(details, "category", "unknown")

        log_refusal(category, messages)  # your logging
        return {"status": "refused", "category": category}

    text = "".join(
        block.text
        for block in response.content
        if block.type == "text"
    )

    return {"status": "ok", "text": text}
Enter fullscreen mode Exit fullscreen mode

ให้แยกเส้นทางทำงานตาม stop_reason ก่อนอ่าน content และส่งต่อกรณี refusal ไปยังบุคคลหรือโมเดลอื่นในระบบของคุณ ทีมด้านความปลอดภัยหรือวิทยาศาสตร์ชีวภาพที่ถูกต้องตามกฎหมายและถูกบล็อกในหมวด cyber หรือ bio สามารถสมัคร Cyber Verification Program หรือ Life Sciences Verification Program ของ Anthropic ได้

การใช้งานคอมพิวเตอร์และเบราว์เซอร์

บน Claude API และ Google Cloud นั้น Haiku 5.5 รองรับ computer use ผ่าน toolset computer_toolset_20260801 เท่านั้น และไม่ต้องใช้เฮดเดอร์เบต้า

ข้อควรระวัง:

  • การประกาศ computer_20250124 จะคืนค่า 400
  • Browser use ใช้ browser_toolset_20260801
  • Haiku 4.5 ไม่รองรับ browser toolset นี้
  • Python และ TypeScript SDK เพิ่ม beta classes สำหรับทั้งสอง toolset ในวันเปิดตัว

ดูเครื่องมือที่รองรับได้จากเอกสาร computer use tool

ข้อจำกัดอัตรา (Rate limits)

Haiku 5.5 มีข้อจำกัดอัตราเดียวกับ Haiku 4.5:

Tier คำขอต่อนาที อินพุตต่อนาที เอาต์พุตต่อนาที
Start 1,000 2M โทเค็น 400K โทเค็น
Scale 10,000 10M โทเค็น 2M โทเค็น

โมเดลนี้ไม่รองรับ Priority Tier หากเจอ HTTP 429 ให้ใช้ backoff และตรวจสอบโควตาของบัญชี ดูแนวทางเพิ่มเติมได้ที่คู่มือการจัดการเมื่อเกินข้อจำกัดอัตรา

ทดสอบ Claude Haiku 5.5 API ใน Apidog

การบันทึกคำขอทำให้เปรียบเทียบ effort และแก้ปัญหา refusal ได้แบบทำซ้ำได้ ตั้งค่าคำขอใน Apidog ตามขั้นตอนนี้:

หน้าจอการตั้งค่า API ใน Apidog

  1. สร้าง environment และเพิ่ม ANTHROPIC_API_KEY เป็นตัวแปรลับ
  2. อ้างอิงตัวแปรเป็น {{ANTHROPIC_API_KEY}} ในเฮดเดอร์ x-api-key
  3. เพิ่มเฮดเดอร์ anthropic-version: 2023-06-01 และ content-type: application/json
  4. สร้างคำขอ POST ไปที่ https://api.anthropic.com/v1/messages
  5. วาง payload จากตัวอย่างการเรียกใช้ครั้งแรกและบันทึกคำขอ
  6. เพิ่ม assertions ดังนี้:
    • สถานะ HTTP เท่ากับ 200
    • $.stop_reason เท่ากับ end_turn
    • $.usage.output_tokens มากกว่า 0
    • $.content[*].type มีค่า text
  7. ทำสำเนาคำขอและเปลี่ยน effort เป็น low, high, xhigh และ max
  8. รันโฟลเดอร์เพื่อเปรียบเทียบ usage ของแต่ละระดับ effort สำหรับ prompt จริงของคุณ
  9. เพิ่ม cached system prompt และตรวจสอบว่า $.usage.cache_read_input_tokens มากกว่า 0 ในการรันครั้งที่สอง

Assertions ช่วยให้ refusal หรือผลลัพธ์ xhigh ที่ไม่มีข้อความไม่ถูกนับเป็นการทดสอบที่ผ่าน

สำหรับแนวทางการทดสอบ LLM ที่กว้างขึ้น ดูการทดสอบแอปพลิเคชัน LLM

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

รหัสโมเดล Claude Haiku 5.5 คืออะไร?

ใช้ claude-haiku-5-5 ไม่มีส่วนต่อท้ายวันที่และไม่มีชื่อแทนแยกต่างหาก บน Amazon Bedrock ใช้ anthropic.claude-haiku-5-5

มี Claude Haiku 5.5 API ฟรีหรือไม่?

ไม่มีแผนฟรีตลอดชีพ แต่ผู้ใช้ API ใหม่จะได้รับเครดิตฟรีจำนวนเล็กน้อยเพื่อทดสอบ API ผู้ใช้ Claude.ai แบบฟรีเลือก Haiku 5.5 ในแชทได้ แต่ไม่ใช่ API key แผน Max และ Team รวมเครดิต API รายเดือน ดูรายละเอียดได้ที่คู่มือการเข้าถึงฟรี

เหตุใดคำขอ Haiku 4.5 ของฉันจึงคืนค่า 400?

ตรวจสอบว่าคำขอมีรายการต่อไปนี้หรือไม่:

  • budget_tokens
  • temperature หรือ top_p ที่ไม่ใช่ค่าเริ่มต้น
  • top_k
  • assistant prefill
  • เครื่องมือ computer_20250124 รุ่นเก่า

ทั้งหมดเป็นสาเหตุที่พบบ่อยของสถานะ 400

ฉันสามารถใช้ Haiku 5.5 ใน Claude Code ได้หรือไม่?

ได้ ตั้งแต่ v2.1.293 บน Anthropic API ชื่อแทน haiku จะถูกแปลงเป็น Haiku 5.5 ดูรายละเอียดได้ที่Claude Haiku 5.5 ใน Claude Code

ควรใช้ Haiku 5.5 หรือ Sonnet 5.5 สำหรับ agentic coding?

Anthropic ระบุว่า Sonnet 5.5 และ Opus 5.5 ยังเหมาะกับงาน agentic coding ที่ซับซ้อนกว่า ใช้ Haiku 5.5 กับงานขอบเขตแคบ เช่น การจัดหมวดหมู่ การสรุป การบีบอัด subagents และ browser use

ขั้นตอนถัดไป

เริ่มจากการรัน prompt จริงของคุณด้วย medium จากนั้นรันซ้ำด้วย low และ high แล้วเปรียบเทียบ:

  • คุณภาพคำตอบ
  • usage.output_tokens
  • เวลาในการตอบกลับ
  • ต้นทุนต่อคำขอ

ดาวน์โหลด Apidog เพื่อเก็บคำขอ ผลลัพธ์ และ assertions ของแต่ละระดับ effort ไว้ในที่เดียว ทำให้การเปลี่ยนโมเดลครั้งถัดไปเหลือเพียงการแก้ไขฟิลด์เดียวใน payload

Top comments (0)