Claude Opus 4.8 APIの使い方

Claude Opus 4.8 API完全ガイド:APIキーの取得、Python/Node/curlでの最初の呼び出し、effortパラメータと適応思考の利用、ストリーミングの処理、ツール使用、そしてエラー処理。

Ashley Innocent

Ashley Innocent

29 5月 2026

Claude Opus 4.8 APIの使い方

Apidog エンタープライズ

オンプレミスデプロイ

SSO & RBAC

SOC 2 準拠

Apidog Enterpriseを見る

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で得られるもの

インテグレーションを形作る数値:

完全な料金計算と高速モードの料金については、Opus 4.8料金ガイドをご覧ください。まだ有料プランをお持ちでない場合は、無料アクセスガイドでオプションを説明しています。

ステップ1:Claude APIキーを取得する

  1. console.anthropic.comにアクセス
  2. サインインまたはアカウントを作成
  3. `Settings`を開き、次に`API Keys`を開く
  4. `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内にあり、lowmediumhighxhighmaxを受け入れます。デフォルトは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の全ての機能領域を一つのワークスペースで処理します:

開始するには、Apidogをダウンロードし、Messagesエンドポイントを指すリクエストを作成し、先ほどのcurlスニペットをインポートします。セットアップには約2分かかります。複数のプロバイダーを実行している場合、Gemini 3.5 APIQwen 3.7 APIでも同じフローが機能します。

エラー処理とレート制限

Claudeのエラーモデルは一貫しています。重要なコードは次のとおりです:

リトライループと指数バックオフで呼び出しをラップします:

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"

スワップ後に確認すべきこと:

  1. エフォートレベル: 動作範囲は4.7と同じですが、使用するレベルで評価を再実行してください
  2. 思考設定: budget_tokensを設定したことがある場合は削除してください。Opus 4.8はそれを400エラーで拒否します
  3. ツールスキーマ: 引き継がれますが、ツール利用の評価を再実行してください
  4. コスト: 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"}(またはlowmediumhighmax)を渡します。デフォルトは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はサーバー送信イベントのチャンクが到着するにつれてレンダリングし、不完全な応答を簡単に特定できます。

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

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

Claude Opus 4.8 APIの使い方