Claude Sonnet 5.5 API 使い方:基礎、効率的な活用、ストリーミング

クロード ソネット 5.5 APIガイド:curl、Python、TypeScriptでのclaude-sonnet-5-5初回呼び出し、さらにeffort、between_tools、strict tools、ストリーミングについて。

Ashley Innocent

Ashley Innocent

29 9月 2026

Claude Sonnet 5.5 API 使い方:基礎、効率的な活用、ストリーミング

Apidog エンタープライズ

オンプレミスデプロイ

SSO & RBAC

SOC 2 準拠

Apidog Enterpriseを見る

Claude Sonnet 5.5 APIを使用するには、"model": "claude-sonnet-5-5"、x-api-keyヘッダーにキー、anthropic-version: 2023-06-01を含めて、https://api.anthropic.com/v1/messagesにPOSTリクエストを送信します。料金は入力トークン100万あたり2ドル、出力トークン100万あたり10ドルです。最大1Mトークンのコンテキストを読み取り、最大128Kの出力トークンを書き込み、デフォルトで適応的思考を実行し、デフォルトのeffortはhighです。

Anthropicは2026年9月28日にSonnet 5.5をリリースしました(Claude Sonnet 5.5とはで仕様とベンチマークを解説しています)。このガイドでは、curl、Python、TypeScriptでの最初の呼び出し、さらにeffort、思考、ツール、ストリーミング、拒否、レート制限について説明します。Sonnet 5のコードを移行しますか?Sonnet 5.5対Sonnet 5ガイドには、すべての破壊的変更と変更前後のJSONが掲載されています。以下の各リクエストはApidogから送信し、アサーション付きの保存済みテストとして保持できます。

button

Claude Sonnet 5.5 APIの概要

パラメーター Sonnet 5.5の動作
モデルID claude-sonnet-5-5 (Bedrock: anthropic.claude-sonnet-5-5)
100万トークンあたりの料金 入力2ドル、出力10ドル、キャッシュ読み取り0.20ドル;バッチ処理は1ドル/5ドル
コンテキスト / 出力 1M / 128K; バッチ処理ではoutput-300k-2026-03-24ベータ版で300K
output_config.effort low、medium、high (デフォルト)、xhigh、max
thinking.type adaptive (省略時はデフォルト) または between_tools; disabledは400を返す
thinking.display omitted (デフォルト)、summarized、updates (ベータ版)
tool_choice auto または none; any および tool は400を返す
temperature, top_p, top_k 非デフォルト値は400を返す
キャッシュ可能な最小プロンプト 512トークン (Sonnet 5では1,024トークン)
エージェント的コーディングのためのmax_tokens 128,000、ストリーミング対応

情報源: Sonnet 5.5モデルページと移行ガイド。

Claude Sonnet 5.5 APIの例: 最初の呼び出し

キーを作成し(Anthropic APIキーガイドで手順を説明しています)、ハードコーディングするのではなくANTHROPIC_API_KEYとしてエクスポートします。その後、以下を送信します。

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-sonnet-5-5",
    "max_tokens": 4096,
    "output_config": {"effort": "medium"},
    "messages": [{"role": "user", "content": "Explain idempotency keys in two sentences."}]
  }'

Python SDKは環境からANTHROPIC_API_KEYを読み取ります。

import anthropic

client = anthropic.Anthropic()
response = client.messages.create(
    model="claude-sonnet-5-5",
    max_tokens=4096,
    output_config={"effort": "medium"},
    messages=[{"role": "user", "content": "Explain idempotency keys in two sentences."}],
)
print(response.stop_reason)
for block in response.content:
    if block.type == "text":
        print(block.text)

TypeScriptも同様に動作します。

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

const client = new Anthropic();
const response = await client.messages.create({
  model: "claude-sonnet-5-5",
  max_tokens: 4096,
  output_config: { effort: "medium" },
  messages: [{ role: "user", content: "Explain idempotency keys in two sentences." }],
});
for (const block of response.content) {
  if (block.type === "text") console.log(block.text);
}

コンテンツブロックはtypeで読み取ります。思考はデフォルトで有効になっているため、応答はthinkingブロックで始まることがあり、content[0].textを読み取るコードは壊れます。思考トークンは出力として課金され、そのテキストが非表示の場合でもmax_tokensにカウントされるため、期待する応答よりも余裕を持たせてください。

努力レベルを選択する

output_config.effortで設定されるEffortは、主なコストと品質の調整ダイヤルです。AnthropicはSonnet 5.5のためにレベルを再調整したため、Sonnet 5の設定は引き継がれません。ご自身の評価で新たにスイープを実行してください。プロンプトガイドは、次の開始点を提案しています。

ワークロード 開始レベル
一般的な作業 high (APIのデフォルト)
エージェント的コーディング、明確に指定されたタスク medium、より難しいまたは長い場合はhighに移行
チャットと低遅延が重要な呼び出し medium または low
評価で測定可能な改善が見られる難しいタスク xhigh または max

その広がりは広いです。Anthropic独自のTerminal-Bench 4.0の実行では、Sonnet 5.5はhighで43.0%を$1.94/試行で、maxで70.6%を$12.54で達成しました。Sonnet 5.5の料金内訳では、リクエストごとのコストが計算されています。

3つの動作を計画してください。medium以上では、モデルは挨拶のような短い返信の前でさえ、ほとんどすべての返信の前に思考します。思考を減らすように促しても信頼性が低いため、代わりに努力レベルを下げてください。lowとmediumでは、長いエージェントタスクの早い段階で確認する傾向があります。また、リクエスト間で最上位のeffortを変更すると、プロンプトキャッシュが無効になります。会話の途中でレベルを切り替え、キャッシュを維持するには、メッセージごとのeffort(ベータ版、ヘッダーanthropic-beta: mid-conversation-output-config-2026-07-01)を使用します。空のcontentと新しいoutput_config.effortを持つrole: "system"メッセージを追加します。

思考の制御:適応的思考 (adaptive) またはツール間思考 (between_tools)

thinkingフィールドを省略すると、Sonnet 5.5は適応的思考を実行します。{"type": "disabled"}は400エラーで拒否されます。事前思考をオフにするには、最低設定であるbetween_toolsを送信します。

{
  "model": "claude-sonnet-5-5",
  "max_tokens": 16000,
  "thinking": {"type": "between_tools"},
  "output_config": {"effort": "high"},
  "messages": [{"role": "user", "content": "..."}]
}

Sonnet 5.5 between_toolsのルール:

適応的思考では、displayが思考ブロックの内容を決定します。デフォルトのomittedは、各thinkingブロックを空のthinkingフィールドとsignatureで返します。summarizedは読み取り可能な要約を返します。updates(ベータ版、ヘッダーthinking-display-updates-2026-08-18)は、進捗更新のみをテキストとして返します。

進捗更新は、UIを混乱させる可能性のある最も大きな変更点です。Sonnet 5.5は、ツール呼び出しの間に書かれた1文か2文より長いメモを、textではなく独自のthinkingブロックに入れます。デフォルトのomittedではこれらのブロックは空になるため、以前は手順をナレーションしていたエージェントインターフェースは静かになります。display: "updates"または"summarized"を設定するか、テキストとともにメモを返すbetween_toolsを実行してください。各非空のthinkingブロックを、それに続くtool_useブロックの前にレンダリングします。応答テキストで推論を求めるとreasoning_extractionの拒否を招くため、代わりにこれらのブロックを読んでください。

強制的なtool_choiceなしでツールを使用する

強制的なツール使用はなくなりました。{"type": "any"}または{"type": "tool", ...}のtool_choiceは、トークンカウントエンドポイントでも以下のメッセージとともに400を返します。

tool_choice: type "tool" and "any" are not supported for this model.

autoを送信し、ツールをstrict: trueとマークして入力がスキーマに一致するようにし、プロンプトでモデルにいつ呼び出すかを伝えます。

{
  "model": "claude-sonnet-5-5",
  "max_tokens": 1024,
  "tools": [{
    "name": "get_weather",
    "description": "Get the current weather for a city",
    "input_schema": {
      "type": "object",
      "properties": {"location": {"type": "string"}},
      "required": ["location"],
      "additionalProperties": false
    },
    "strict": true
  }],
  "tool_choice": {"type": "auto"},
  "messages": [{"role": "user", "content": "What's the weather in Paris? Use the get_weather tool."}]
}

1つのリクエストで最大20個の厳密なツールを運ぶことができ、厳密なスキーマにはすべてのオブジェクトにadditionalProperties: falseが必要です。Amazon Bedrockでは、Sonnet 5.5で厳密なツールは利用できません。strictなしでautoを送信し、コードで入力を検証してください。

2つのループの詳細は重要です。すべてのthinkingブロックを、そのtool_useブロック(空のものも含む)とともに変更せずに戻します。そして、Bashとして宣言されたツールがbashとなるような、時折発生するケースの誤りを予期してください。プロンプトガイドでは、明確な一致を受け入れるか、正確な名前を記載したis_error: trueのtool_resultを返すことを提案しています。

応答をストリーミングする

ボディに"stream": trueを追加するか、SDKのストリームヘルパーを使用します。エージェント的なコーディングの場合、プロンプトガイドはストリーミングで128,000のmax_tokensを推奨しています。

with client.messages.stream(
    model="claude-sonnet-5-5",
    max_tokens=128000,
    output_config={"effort": "medium"},
    messages=[{"role": "user", "content": "Review this diff for bugs: ..."}],
) as stream:
    for event in stream:
        if event.type == "content_block_delta" and event.delta.type == "text_delta":
            print(event.delta.text, end="", flush=True)
    final = stream.get_final_message()

サーバー送信イベントは、message_start、次に各ブロックのcontent_block_start、content_block_delta、content_block_stop、次にmessage_delta(stop_reasonを運ぶ)、そしてmessage_stopとして到着します。omittedの下では、思考ブロックは1つの空のthinking_deltaとsignature_deltaをストリームし、次にテキストが始まります。進捗更新ブロックが開くまでに数秒の遅延が予想されます。

stream.get_final_message()(TypeScript: stream.finalMessage())は、完全なブロックをその署名とともに再構築します。そのコンテンツをアシスタントのターンとして変更せずに履歴に追加し、履歴は追加専用に保ちます。Sonnet 5.5は、その前の会話全体にわたる各思考ブロックに署名するため、2026年8月31日(UTC 00:00)以降に作成されたアカウントでは、以前の履歴を編集した後にブロックを再生すると400を返します。ブロックは、それを作成したアカウントにも紐付けられています。

拒否の処理とフォールバック

拒否はエラーではありません。HTTP 200が返され、stop_reason: "refusal"と、categoryがcyber、bio、frontier_llm、reasoning_extraction、general_harmsのいずれかであるstop_detailsオブジェクト、およびexplanationが含まれます。説明の文言は安定していないため、解析するのではなく表示してください。contentを読み取る前にstop_reasonで分岐してください。

サーバーサイドのフォールバックはオプトインです。"fallbacks": "default"とanthropic-beta: server-side-fallback-2026-07-01ヘッダー(ベータ版、Claude APIのみ)を追加すると、APIはSonnet 5でcyberとfrontier_llmの拒否を再試行します。他の3つのカテゴリは再試行されません。応答のmodelフィールドは、サービスを提供したモデルの名前を示し、fallbackコンテンツブロックが引き継ぎを示します。

レート制限

Sonnet 5.5には、Sonnet 5とは別の独自のレート制限があります。レート制限ページには4つのティアが記載されています。

ティア リクエスト/分 入力トークン/分 出力トークン/分
Start 1,000 2,000,000 400,000
Build 5,000 5,000,000 1,000,000
Scale 10,000 10,000,000 2,000,000
Custom 営業担当に問い合わせ 営業担当に問い合わせ 営業担当に問い合わせ

429エラーの処理とバックオフについては、レート制限超過ガイドをご覧ください。

ApidogでClaude Sonnet 5.5 APIをテストする

保存されたリクエストにより、effortの比較やストリームのデバッグが再現可能になります。Apidogでのセットアップは次のとおりです。

  1. 環境を作成し、ANTHROPIC_API_KEYを変数として追加します。x-api-keyヘッダー内で{{ANTHROPIC_API_KEY}}として参照し、anthropic-versionとcontent-typeと並べます。
  2. https://api.anthropic.com/v1/messagesへのPOSTリクエストを作成し、最初の呼び出しのボディを貼り付けて保存します。
  3. アサーションを追加します。ステータスが200であること、$.stop_reasonがend_turnに等しいこと、$.usage.output_tokensが0より大きいこと、および$.content[*].typeがtextを含むこと。拒否された場合、黙ってパスするのではなく、テストが失敗します。
  4. "stream": trueを指定してリクエストを複製します。Apidogはtext/event-stream応答イベントをイベントごとに表示するため、空のthinking_delta、signature_delta、およびテキストが順に到着するのを確認できます。
  5. "model": "claude-sonnet-5"を指定して再度クローンし、ペアを1つのフォルダーに保持します。同じプロンプト、2つのモデル、usageを並べて比較できます。

より広範なパターンについては、LLMアプリケーションのテストとAIエージェントAPIのテストを参照してください。

FAQ

Claude Sonnet 5.5モデルIDは何ですか? Claude API、Google Cloud、Microsoft Foundry、AWS上のClaude Platformではclaude-sonnet-5-5(日付サフィックスなし)です。Amazon Bedrockではanthropic.claude-sonnet-5-5です。

思考を完全にオフにできますか? いいえ。disabledは400を返します。between_toolsが最低設定で、low、medium、またはhighのeffortでは事前思考はありません。

Sonnet 5のリクエストがSonnet 5.5で400を返すのはなぜですか? まずthinking.type: "disabled"と強制的なtool_choiceを確認してください。Sonnet 5.5対Sonnet 5ガイドでは、5つの破壊的変更とその修正についてすべて説明しています。

無料のClaude Sonnet 5.5 APIはありますか? AnthropicのAPIはプリペイドであり、公式ページには無料のサインアップクレジットは記載されていません。ClaudeチャットプランもAPIアクセスは含まれていません。無料APIガイドでは、クレジットプログラムと最も安価な有料パスについて説明しています。

次のステップ

最初の呼び出しリクエストをmediumで送信し、次にhighで再実行し、ご自身のワークロードからのプロンプトに対するusage.output_tokensと回答の品質を比較してください。両方の実行をアサーション付きで保存するには、Apidogをダウンロードしてください。ターミナルで作業したい場合は、Claude CodeでのClaude Sonnet 5.5をご覧ください。

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる