Text
Claude Haiku 5.5
Claude Haiku 5.5 Messages リファレンス:パラメータ、思考、ツール使用の強制、キャッシュ、ベータ、ストリーミングと応答処理。
POST https://api.seedrouter.ai/v1/messages で claude-haiku-5-5 を使います。テキスト・画像・文書を受け付け、テキストやツール呼び出しを返します。モデルページに最新のトークン料金を掲載しています。
以下の仕様は2026年10月9日に確認した Anthropic のモデル専用ドキュメントに従います。公式の能力上限とエンドツーエンドの検証は別です。フィールドが受理されても、意図した効果が生じた証拠にはなりません。高度なオプションを使う前に、以下の互換性結果をご確認ください。
クイックスタート
curl https://api.seedrouter.ai/v1/messages \
-H "x-api-key: $SEEDROUTER_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-haiku-5-5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Classify this request as billing, technical or account: I was charged twice. Return only the label."}]
}'import os
import anthropic
client = anthropic.Anthropic(
api_key=os.environ["SEEDROUTER_API_KEY"],
base_url="https://api.seedrouter.ai",
)
message = client.messages.create(
model="claude-haiku-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Summarize the purpose of a database index."}],
)
for block in message.content:
if block.type == "text":
print(block.text)import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({
apiKey: process.env.SEEDROUTER_API_KEY,
baseURL: 'https://api.seedrouter.ai',
});
const message = await client.messages.create({
model: 'claude-haiku-5-5',
max_tokens: 1024,
messages: [{ role: 'user', content: 'Summarize the purpose of a database index.' }],
});
for (const block of message.content) {
if (block.type === 'text') console.log(block.text);
}API キーはサーバー側で保管してください。応答ブロックは type で選別します。応答は思考やツール呼び出しから始まる場合があります。
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
"time"
)
func main() {
body, err := json.Marshal(map[string]any{
"model": "claude-haiku-5-5",
"max_tokens": 1024,
"messages": []map[string]string{
{"role": "user", "content": "Summarize the purpose of a database index."},
},
})
if err != nil { panic(err) }
req, err := http.NewRequest("POST", "https://api.seedrouter.ai/v1/messages", bytes.NewReader(body))
if err != nil { panic(err) }
req.Header.Set("x-api-key", os.Getenv("SEEDROUTER_API_KEY"))
req.Header.Set("anthropic-version", "2023-06-01")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{Timeout: 2 * time.Minute}
res, err := client.Do(req)
if err != nil { panic(err) }
defer res.Body.Close()
data, err := io.ReadAll(res.Body)
if err != nil { panic(err) }
if res.StatusCode >= 400 { panic(fmt.Sprintf("HTTP %d: %s", res.StatusCode, data)) }
fmt.Println(string(data))
}リクエストパラメータ
ネイティブ仕様には 25個のトップレベルフィールド があります。任意でも null を受け付けるとは限りません。null を明記した行だけが受け付けます。テキストモデルのパラメータ方針に従い、不明なフィールドと未対応のサンプリングフィールドは転送前に破棄します。対応フィールドの無効な値は、生成前に invalid_request_error を返します。
| フィールド | 必須 | 仕様 |
|---|---|---|
model | はい | claude-haiku-5-5。 |
max_tokens | はい | 思考を含め整数0–128000。API の既定値はありません。プレイグラウンドの初期値は8192です。 |
messages | はい | ロールと文字列またはコンテンツブロック配列を持つ1–100000件のメッセージ。会話の規則は以下をご覧ください。 |
system | いいえ | 文字列またはテキストブロック配列。null は不可。 |
thinking | いいえ | 既定は adaptive で、disabled も選べます。手動予算と between_tools モードはありません。 |
output_config | いいえ | effort、format、任意のベータ task_budget を持つオブジェクト。 |
stop_sequences | いいえ | 停止文字列の配列。 |
stream | いいえ | 真偽値。既定は false。 |
temperature | いいえ | 省略してください。ここでは破棄します。公式の互換値は1です。 |
top_p | いいえ | 省略してください。ここでは破棄します。公式の互換値は0.99です。 |
top_k | いいえ | 未対応のため破棄します。 |
tools | いいえ | クライアントツールまたは公式サーバーツール宣言の配列。 |
tool_choice | いいえ | auto、none、any、または名前付き tool。ツール使用の強制に対応します。 |
metadata | いいえ | オブジェクト。任意の user_id は最大512文字の文字列または null。 |
cache_control | いいえ | null または {"type":"ephemeral","ttl":"5m"}。TTL は 1h も受け付けます。既定の TTL は5m。 |
container | いいえ | null、コンテナ ID 文字列、または任意の ID と最大20個のスキルを持つオブジェクト。 |
context_management | いいえ | null または公式のコンテキスト編集を含むオブジェクト。ベータヘッダーが必要です。 |
mcp_servers | いいえ | 最大20個の URL サーバーの配列。対応する MCP ベータヘッダーが必要です。 |
service_tier | いいえ | auto または standard_only。Haiku に Priority Tier の容量はありません。 |
inference_geo | いいえ | global、us、または null。省略時はアカウントの既定値です。地域を決めつける前に報告された使用量を確認してください。 |
diagnostics | いいえ | null またはオブジェクト。previous_message_id は null または最大256文字の文字列。 |
compaction | いいえ | null または {"type":"summarize","instructions":"..."}。指示は任意で null 可、最大16384文字。 |
fallbacks | いいえ | null または対応するベータ付きの default。Haiku に自動フォールバックモデルはありません。明示的なリストは無効です。 |
fallback_credit_token | いいえ | null、トークン文字列、または {token,mode}。API が適格性と有効性を検証する必要があります。どのモデルでも対象になるとは考えないでください。 |
speed | いいえ | standard または null。高速モードは未対応です。 |
プレイグラウンドには対応フィールドのコントロールがあり、ネストした構造には JSON コントロールを使えます。サンプリングパラメータと固定の標準速度はフォームから省略しています。モデル ID はこのページのモデルに固定されています。JSON リクエストプレビューで送信する本文を確認してください。
思考とエフォート
既定は medium エフォートの適応型思考で、思考テキストは省略されます。エフォートは low、medium、high、xhigh、max、または既定値を使う null を受け付けます。
{
"thinking": {"type": "adaptive", "display": "summarized"},
"output_config": {"effort": "medium"}
}思考を無効にするには、low、medium、high エフォートで {"type":"disabled"} を使います。disabled モードに display や block_binding を含めないでください。enabled、budget_tokens、between_tools、および xhigh/max での思考無効化は無効です。
適応型の display は omitted、summarized、または null を受け付けます。汎用ベータ値の updates には thinking-display-updates-2026-08-18 が必要です。Anthropic の資料では現在、Haiku の読み取り可能な進捗更新は確認できないため、その出力に依存しないでください。
任意の thinking.block_binding には thinking-binding-controls-2026-08-01 が必要です。null、または prefix_mismatch_behavior が error、drop_block、null のいずれかであるオブジェクトです。履歴の再送時には、過去の会話ターンと完全な思考ブロックを変更しないでください。思考の署名は生成したアカウント、またはそれにリンクしたアカウントに紐付きます。
output_config.task_budget は null、または { "type": "tokens", "total": 20000 } で、任意の整数/null の remaining を持てます。task-budgets-2026-03-13 が必要で、total は20000以上です。ここでは remaining に追加の範囲を設けていません。
ツールと構造化出力
クライアントツールには、英字・数字・アンダースコア・ハイフンからなる1–128文字の名前と、type: "object" を持つ input_schema が必要です。宣言済みのツールを強制するには、tool_choice: {"type":"any"} または {"type":"tool","name":"lookup"} を使います。適応型思考でツールを強制すると、応答は思考ブロックなしでツール呼び出しから始まります。
disable_parallel_tool_use は auto、any、tool 選択の任意の真偽値です。none のフィールドではありません。元の tool_use_id とともにツール結果を返してください。プレイグラウンドは呼び出しを表示しますが、クライアントツールは実行しません。
{
"tools": [{
"name": "lookup",
"description": "Look up a product by SKU.",
"input_schema": {
"type": "object",
"properties": {"sku": {"type": "string"}},
"required": ["sku"],
"additionalProperties": false
}
}],
"tool_choice": {"type": "tool", "name": "lookup"}
}構造化応答には output_config.format: {"type":"json_schema","schema":{...}} を使います。オブジェクトの additionalProperties: false など、Anthropic が対応する JSON Schema のサブセットに従ってください。形式が正しくても、値が事実に合うとは限りません。厳格なツールと構造化出力にはスキーマ全体の制限があります。公式の構造化出力リファレンスをご覧ください。
コンピュータ操作には computer_toolset_20260801 が必要です。旧バージョンのコンピュータツールは無効です。ブラウザー操作には専用の browser_toolset_20260801 があります。ツール宣言だけでは、サーバーツールのセッション全体が動くことを検証できません。使用前に公式ガイドとベータ要件をご確認ください。
会話とコンテキスト管理
通常のアシスタントのプリフィルは未対応です。一時停止したサーバーツールの継続は別で、Messages プロトコルの指示に従って完全なアシスタントブロックを再送します。
内容のある system メッセージは、user メッセージや一時停止したサーバーツールの結果の後に置けます。その後に assistant メッセージが続くか、最後のメッセージである必要があります。連続した system メッセージは1つのグループとして評価します。クライアントツール呼び出しと必須の結果の間に挿入しないでください。
内容が空の system メッセージは、mid-conversation-output-config-2026-07-01 を使って output_config.effort だけを変更できます。どこにでも置けますが、思考を無効にしている間は実効エフォートを変更できません。system の clear_at は mid-conversation-system-clear-at-2026-08-21 により never、next_user_message、null を受け付けます。ターン限定のメッセージはテキストのみで、出力設定やブロックのキャッシュは使えません。
コンテキスト編集には以下があります。
| 編集 | ベータ | 主な制約 |
|---|---|---|
clear_tool_uses_20250919 | context-management-2025-06-27 | トリガー数は1以上、保持数は0以上。 |
clear_thinking_20251015 | context-management-2025-06-27 | すべて、または1ターン以上の思考を保持します。編集を組み合わせる場合、ツール使用の削除より前に置きます。 |
compact_20260112 | compact-2026-01-12 | 入力トークンのトリガーは50000以上、既定は150000。 |
オンデマンドの compaction には compact-2026-09-04 が必要です。context_management、stop_sequences、出力形式、ツールの強制、task_budget.remaining は併用できません。署名付きコンパクションブロックも task_budget.remaining やしきい値コンパクションと併用できません。継続時は返されたブロックと署名を保持してください。
画像・PDF・リクエストサイズ
画像は JPEG、PNG、GIF、WebP を URL、base64、ファイル参照で受け付けます。PDF も URL、base64、ファイル参照に対応します。ファイル参照には該当する Files API ベータと有効なファイルアクセスが必要です。テキスト文書にはテキストまたはコンテンツソースを使えます。
ネイティブのリクエスト上限は32 MBです。公式の画像制限は最大600枚、1枚あたり base64 エンコード済みデータ10 MB、各辺8000ピクセルです。画像の多いリクエストでは、利用プラットフォーム固有のさらに厳しい制限があり得ます。このモデルのコンテキストサイズでは、PDF は暗号化されておらず、600ページ以下である必要があります。リモートファイルの確認は引き続き API の責任です。ローカルでの形式確認では URL の内容を証明できません。
プレイグラウンドは添付ファイルをアップロードしてから URL を送信します。会話 JSON もネイティブのメディアコンテンツブロックに対応します。メディアサイズ全体やコンテキストウィンドウの境界検証は、小さなサンプルリクエストとは別です。
プロンプトキャッシュと課金
Haiku のキャッシュ可能な最小プロンプトは512トークンです。それより短いプロンプトは、指定してもキャッシュを作成せずに実行される場合があります。キャッシュのブレークポイントは最大4個です。トップレベルの自動キャッシュ制御は1枠を使います。長い有効期間のプレフィックスを、短いものより前に置いてください。
max_tokens: 0 は回答を生成せずにキャッシュを事前準備します。stream: true、構造化出力、ツール使用の強制は併用できません。キャッシュ準備と再利用するリクエストの間で、思考とエフォートの設定を揃えてください。
usage.input_tokens、output_tokens、cache_creation_input_tokens、cache_read_input_tokens、および cache_creation 内の5m/1h内訳を確認してください。思考は出力トークンに含まれます。思考トークンの内訳を追加料金として再度加算しないでください。最新の料金は料金セクション、詳しい説明は料金ガイドにあります。
応答・ストリーミング・エラー
完了した応答には id、type: "message"、role: "assistant"、model、content、stop_reason、stop_sequence、usage が含まれます。任意の container、diagnostics、context_management、stop_details、input_transformations は返された場合に保持します。
end_turn、max_tokens、stop_sequence、tool_use、pause_turn、compaction、refusal、model_context_window_exceeded を処理してください。上限による停止や拒否は HTTP エラーとは異なります。最初のコンテンツブロックを必ずテキストだと考えないでください。
ストリーミングは Messages の SSE イベント message_start、content_block_start、content_block_delta、content_block_stop、message_delta、message_stop を使います。ping と error も処理してください。後続のターンに必要な思考署名とツールブロックを保持してください。
エラーは Anthropic 形式です。
{"type":"error","error":{"type":"invalid_request_error","message":"max_tokens must be an integer from 0 to 128000."}}エラーを返したリクエストは課金されません。共通のエラー型はエラー処理をご覧ください。
OpenAI 互換形式
同じ ID を /v1/chat/completions と /v1/responses でも使えます。それぞれのネイティブフィールドを使用し、Chat は messages、Responses は input を使います。Claude ネイティブのオプションは Messages 用です。OpenAI 形式の本文にそのまま丸ごとコピーしないでください。
curl https://api.seedrouter.ai/v1/chat/completions \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"claude-haiku-5-5","max_tokens":256,"messages":[{"role":"user","content":"Reply with OK."}]}'curl https://api.seedrouter.ai/v1/responses \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"claude-haiku-5-5","max_output_tokens":256,"input":"Reply with OK."}'互換性の検証結果
2026年10月9日に開発環境で確認しました。以下は特定のリクエストで観測した動作であり、公式の全制限や本番環境での配置を検証したものではありません。
| 機能 | 観測した結果 |
|---|---|
| ネイティブ Messages と SSE | テキスト応答と完全なイベント順序を検証済み。 |
| 分類 | Billing を返しました。入力41、出力5トークン。 |
| 構造化 JSON とクライアントツール | JSON 値、自動/none/名前付き/any の選択、厳格なツール引数、ツール結果からの継続を検証済み。 |
| 画像と PDF | base64 テストデータから想定した画像の色と PDF マーカーを返しました。メディアの全境界は未検証です。 |
| キャッシュの事前準備 | max_tokens: 0 で生成テキストなし、出力0トークンでした。 |
| 5分・1時間キャッシュ | 両 TTL の作成使用量と、その後のキャッシュヒット使用量を検証済み。 |
| 停止シーケンス | 指定した停止理由を返し、除外する接尾辞の前で停止しました。 |
| 思考とエフォート | 5つのエフォート値をすべて受理しました。一部の明示的な思考無効化リクエストでも思考ブロックを返しました。受理だけではエフォートの動作は検証できません。 |
| システム指示とメッセージ別エフォート | 結果に不一致があり、予算を増やしたメッセージ別テストでも無関係なテキストを返しました。展開前に実際の会話をテストしてください。 |
| オンデマンドコンパクション | 署名付きコンパクションブロックと stop_reason: compaction を返しました。完全な再送と課金の検証は未完了です。 |
| メタデータと推論地域 | metadata.user_id は権限エラー、明示的な地域指定はアカウント種別の制限を返しました。 |
| MCP | 現在の MCP ベータは認証情報の制限を返しました。完全な MCP セッションは未検証です。 |
| OpenAI Chat と Responses | 基本リクエストと明示的な max/none 推論リクエストは想定した回答を返しました。推論の意味論は独立に検証していません。 |
| その他のベータフィールド | タスク予算、バインディング制御、フォールバック default は受理しました。機能の完全な意味論は未検証です。 |
1時間キャッシュ書き込みとコンパクションの課金は、リリース検証を通過していません。最大コンテキスト/出力の実行、別料金のホスト型ツール、Files API アクセス、フォールバッククレジットの利用は未検証です。公式のリクエスト形式を保ち、正常ステータスだけから対応を推測しないでください。
