Claude Opus 4.8 APIは、2026年5月28日のモデルリリースと同時に公開されました。モデルIDはclaude-opus-4-8で、おなじみのMessages API上で動作します。このガイドでは、キーの取得、最初の呼び出し、新しいeffortパラメータ、適応思考、ストリーミング、ツール利用、そしてApidogでの全体のテストまで、完全なセットアップを説明します。
以前にClaudeモデルを呼び出したことがある場合、変更される文字列はモデル名だけです。唯一の新しい概念は「努力制御(effort control)」であり、これは古い思考バジェットのパターンを置き換えるため、理解するのに10分を費やす価値があります。Claude APIが初めてですか?約10分でOpus 4.8の呼び出しができるようになります。モデル自体の背景については、Claude Opus 4.8とは何かをご覧ください。
Opus 4.8 APIで得られるもの
インテグレーションを形作る数値:
claude-opus-4-8: 100万トークンの入力コンテキスト、12万8000トークンの出力- 同じMessagesエンドポイント: Opus 4.7を既に呼び出しているプロジェクトにそのまま適用可能
effort制御:lowからmaxまでの5段階で、リクエストごとに設定- 適応思考: モデルがどれだけ深く推論するかを決定
- 標準価格: 入力トークン100万あたり5ドル、出力トークン100万あたり25ドル
完全な料金計算と高速モードの料金については、Opus 4.8料金ガイドをご覧ください。まだ有料プランをお持ちでない場合は、無料アクセスガイドでオプションを説明しています。
ステップ1:Claude APIキーを取得する
- console.anthropic.comにアクセス
- サインインまたはアカウントを作成
- `Settings`を開き、次に`API Keys`を開く
- `Create Key`をクリックし、名前を付けてコピーする
キーがコードに直接書き込まれないように、環境変数に保存してください:
export ANTHROPIC_API_KEY="sk-ant-..."
新規アカウントには、課金を追加する前にテスト用のトライアルクレジットが付与されます。このキーはclaude-opus-4-8に対してすぐに機能します。
ステップ2:SDKをインストールする
Anthropicは、Python、TypeScript、Go、Java、C#、Ruby、PHP用の公式SDKを提供しています。お好みの言語を選択してください:
# Python
pip install anthropic
# Node.js / TypeScript
npm install @anthropic-ai/sdk
SDKを完全にスキップして、以下に示すcurlでRESTエンドポイントを呼び出すこともできます。正確な型が必要な場合は、Python SDKのソースが参考になります。
ステップ3:最初のOpus 4.8呼び出しを行う
Python
import anthropic
client = anthropic.Anthropic() # reads ANTHROPIC_API_KEY
message = client.messages.create(
model="claude-opus-4-8",
max_tokens=4096,
messages=[
{"role": "user", "content": "Explain the OAuth 2.0 PKCE flow in 3 short paragraphs."}
],
)
print(message.content[0].text)
Node.js
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const message = await client.messages.create({
model: "claude-opus-4-8",
max_tokens: 4096,
messages: [
{ role: "user", content: "Explain the OAuth 2.0 PKCE flow in 3 short paragraphs." },
],
});
console.log(message.content[0].text);
curl
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data '{
"model": "claude-opus-4-8",
"max_tokens": 4096,
"messages": [
{"role": "user", "content": "Explain the OAuth 2.0 PKCE flow in 3 short paragraphs."}
]
}'
これが基本的な手順です。ここから必要に応じて機能を追加していきます。
エフォート制御:唯一の新しいパラメータ
effortパラメータは、Opus 4.8が応答全体(テキスト、ツール呼び出し、推論)にわたって費やすトークン数を制御します。これはoutput_config内にあり、low、medium、high、xhigh、maxを受け入れます。デフォルトはhighなので、省略するとhighの動作になります。
message = client.messages.create(
model="claude-opus-4-8",
max_tokens=8192,
messages=[{"role": "user", "content": "Refactor this 600-line module for testability."}],
output_config={"effort": "xhigh"},
)
Node:
const message = await client.messages.create({
model: "claude-opus-4-8",
max_tokens: 8192,
messages: [{ role: "user", content: "Refactor this 600-line module for testability." }],
output_config: { effort: "xhigh" },
});
Anthropicのエフォートに関するドキュメントに従った選択方法:
| レベル | 用途 |
|---|---|
low |
分類、クイック検索、大量処理ジョブ、サブエージェント |
medium |
コストが重要なバランスの取れたエージェント作業 |
high |
デフォルト。速度よりも品質が優先される複雑な推論 |
xhigh |
コーディングや長期的なエージェントタスク。推奨される開始点 |
max |
余力があることを確認済みの、真に最先端の課題 |
2つの実用的なルール。コーディングやエージェントループではxhighから始めましょう。xhighまたはmaxを実行する際は、モデルが思考し行動するための十分なスペースを持つように、大きなmax_tokensを設定してください(64Kが妥当な開始点です)。
適応思考
Opus 4.8は適応思考を使用します。thinking: {type: "adaptive"}を設定すると、モデルがいつ、どの程度推論するかを決定します。これを設定しない場合、リクエストは思考なしで実行されます。
message = client.messages.create(
model="claude-opus-4-8",
max_tokens=16000,
thinking={"type": "adaptive"},
output_config={"effort": "xhigh"},
messages=[{"role": "user", "content": "Find the race condition in this scheduler."}],
)
for block in message.content:
if block.type == "thinking":
print("[thinking]", block.thinking[:200])
elif block.type == "text":
print(block.text)
移行時の注意点:budget_tokensを使用した手動の拡張思考は、Opus 4.8ではサポートされていません。使用すると400エラーが返されます。Opus 4.5以前からこれを引き継いでいる場合は、budget_tokensフィールドを削除し、代わりにエフォートと共に適応思考を使用してください。
ストリーミング応答
ストリーミングにより、Opus 4.8はUI上で高速に感じられます。SDKにはヘルパーが用意されています:
with client.messages.stream(
model="claude-opus-4-8",
max_tokens=4096,
messages=[{"role": "user", "content": "Write a 5-step guide to writing a REST client in Go."}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
Node:
const stream = client.messages.stream({
model: "claude-opus-4-8",
max_tokens: 4096,
messages: [{ role: "user", content: "Write a 5-step guide to writing a REST client in Go." }],
});
for await (const event of stream) {
if (event.type === "content_block_delta" && event.delta.type === "text_delta") {
process.stdout.write(event.delta.text);
}
}
生のRESTの場合、リクエストボディに"stream": trueを追加し、サーバー送信イベントを読み取ります。
ツール利用と関数呼び出し
Opus 4.8は4.7よりも効率的にツールを呼び出し、effortレベルが呼び出し回数を決定します。input_schemaを持つツールを定義します:
tools = [
{
"name": "get_weather",
"description": "Get the current weather for a city.",
"input_schema": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "City name"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]},
},
"required": ["city"],
},
}
]
message = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
tools=tools,
messages=[{"role": "user", "content": "What's the weather in Singapore right now?"}],
)
for block in message.content:
if block.type == "tool_use":
print(f"Call: {block.name}")
print(f"Args: {block.input}")
ツールをローカルで実行し、tool_resultブロックを追加して再度呼び出すことで継続します。エフォートが低いとClaudeは操作をより少ない呼び出しにバッチ処理し、エフォートが高いとまずその計画を説明します。マルチエージェントシステムを構築している場合、弊社のマネージドエージェント vs Agent SDKガイドでアーキテクチャの選択肢について説明しています。
会話途中のシステムメッセージ
Opus 4.8にはMessages APIの変更が加えられ、messages配列の途中にシステムエントリーを配置できるようになりました(開始時だけでなく)。これにより、タスクの途中で新しい指示や権限を挿入でき、これがClaude Codeのダイナミックワークフローの基盤となります。APIを通じてサブエージェントをオーケストレーションしている場合は、完全なパターンについてダイナミックワークフローの詳細解説をお読みください。
ApidogでOpus 4.8インテグレーションをテストする
動作するSDK呼び出しは最初のステップです。本番環境のインテグレーションでは、ストリームチャンク、ツール呼び出しの検証、新しいoutput_configの形式、応答内の適応思考ブロックといった厄介な部分を処理する必要があります。そこに真のテストセットアップが報われるのです。
Apidogは、Messages APIの全ての機能領域を一つのワークスペースで処理します:
- エンドポイントをリクエストとして保存:
https://api.anthropic.com/v1/messagesを貼り付け、x-api-keyとanthropic-versionヘッダーを添付し、「送信」をクリック - モデルバージョンを跨いでリプレイ: 同じリクエストで
claude-opus-4-7をclaude-opus-4-8に置き換え、出力を比較 - ストリーミング応答をインラインで表示: Apidogは、ストリームされたチャンクが到着するにつれて、チャンクごとのタイミングと共にレンダリングします
- 応答形式を検証:
effortレベルを変更したり思考を切り替えたりした際に発生する差異を検出するアサーションを追加 - エンドポイントをモック化: モックのMessages応答を生成することで、クレジットを消費することなくダウンストリームコードをテストできます
- エージェントループシナリオを構築: ステップ間でツール呼び出しの検証を行いながら呼び出しを連鎖させる
開始するには、Apidogをダウンロードし、Messagesエンドポイントを指すリクエストを作成し、先ほどのcurlスニペットをインポートします。セットアップには約2分かかります。複数のプロバイダーを実行している場合、Gemini 3.5 APIやQwen 3.7 APIでも同じフローが機能します。
エラー処理とレート制限
Claudeのエラーモデルは一貫しています。重要なコードは次のとおりです:
- 400
invalid_request_error: 形式が不正なボディ。多くの場合、Opus 4.8でのbudget_tokensまたは不正なeffort値 - 401
authentication_error: 不正または欠落しているAPIキー - 403
permission_error: キーがモデルにアクセスできません - 429
rate_limit_error: バックオフして再試行 - 500
api_error: サーバー側エラー、バックオフして再試行 - 529
overloaded_error: APIが一時的に過負荷状態、バックオフして再試行
リトライループと指数バックオフで呼び出しをラップします:
import time
import anthropic
client = anthropic.Anthropic()
def call_with_retry(prompt, max_retries=4):
for attempt in range(max_retries):
try:
return client.messages.create(
model="claude-opus-4-8",
max_tokens=4096,
messages=[{"role": "user", "content": prompt}],
)
except anthropic.RateLimitError:
if attempt == max_retries - 1:
raise
time.sleep(2 ** attempt)
レート制限は使用ティアに応じてスケールします。リアルタイムのレイテンシを必要としない高スループットのバッチジョブの場合、Batch APIはベータヘッダーで最大30万の出力トークンもアンロックします。
Opus 4.7から4.8への移行
ほとんどのプロジェクトでは、変更する文字列は1つだけです:
# Before
model="claude-opus-4-7"
# After
model="claude-opus-4-8"
スワップ後に確認すべきこと:
- エフォートレベル: 動作範囲は4.7と同じですが、使用するレベルで評価を再実行してください
- 思考設定:
budget_tokensを設定したことがある場合は削除してください。Opus 4.8はそれを400エラーで拒否します - ツールスキーマ: 引き継がれますが、ツール利用の評価を再実行してください
- コスト: 4.7とトークンあたりの料金は同じなので、予期せぬ請求はありません
FAQ
Claude Opus 4.8 APIのモデルIDは何ですか? Claude APIとVertex AIではclaude-opus-4-8、AWS Bedrockではanthropic.claude-opus-4-8です。
Opus 4.8 APIに無料枠はありますか? 常設の無料API枠はありませんが、新規アカウントにはトライアルクレジットが付与されます。その他の低コストのパスについては、無料アクセスガイドをご覧ください。
エフォートレベルはどのように設定しますか? リクエストでoutput_config: {"effort": "xhigh"}(またはlow、medium、high、max)を渡します。デフォルトはhighです。
リクエストがbudget_tokensに関する400エラーを返すのはなぜですか? Opus 4.8は手動の拡張思考をサポートしていません。budget_tokensを削除し、エフォートパラメータと共にthinking: {type: "adaptive"}を使用してください。
Opus 4.8はOpenAI互換SDKで動作しますか? AnthropicはOpenAI SDK用の互換レイヤーを提供しています。ベースURLをAnthropicのエンドポイントに向け、Anthropicキーを使用し、モデル文字列はclaude-opus-4-8のままにしてください。
エージェント作業にはどのようなmax_tokensを設定すべきですか? xhighまたはmaxエフォートで実行する際は、モデルが思考しツール呼び出しを連鎖させるための十分なスペースを持つように、64Kから始めましょう。実際の使用状況を見てから調整してください。
Apidogでストリーミング応答をテストするにはどうすればよいですか? リクエストを開き、ボディでストリーミングを有効にすると、Apidogはサーバー送信イベントのチャンクが到着するにつれてレンダリングし、不完全な応答を簡単に特定できます。
