メインコンテンツへスキップ
Anthropic Claude は非常に強力な AI 対話システムであり、プロンプトを入力するだけで、わずか数秒で流暢で自然な応答を生成できます。Claude Messages API は Anthropic 公式ネイティブの API 形式であり、OpenAI 互換形式(Chat Completion)とは異なり、Anthropic 独自のリクエストおよびレスポンス構造を採用しています。これにより、マルチモーダルコンテンツ入力、ツール呼び出し、拡張思考(Extended Thinking)などの高度な機能といった Claude 独自の能力をより効果的に活用できます。 本ドキュメントでは主に Claude Messages API 操作の使用手順を紹介します。これを利用することで、Anthropic 公式と一致するネイティブインターフェースを使用して Claude の対話機能を呼び出せます。

申請手順

Claude Messages API を使用するには、まず Ace Data Cloud コンソール で API Token を取得し、予備として保管してください。 まだログインまたは登録していない場合は、ログインページに自動的に移動して登録とログインが案内され、完了後に現在のページへ自動的に戻ります。 1 つの API Token でプラットフォーム上のすべてのサービスを呼び出せるため、サービスごとに個別申請する必要はありません。 初回申請時には無料クレジットが付与され、無料で体験できます。クレジットが不足した場合は、コンソールで共通残高をチャージできます。
📘 完全なドキュメント:Claude Messages API →

基本的な使用方法

Claude Messages API のリクエストパスは /v1/messages であり、Anthropic 公式 API と一致しています。少なくとも以下の 3 つの必須パラメータを指定する必要があります。
  • model:使用する Claude モデルを選択します。claude-opus-5-5 は Messages API でのみ提供され、100 万 Token のコンテキスト、最大出力 128K Token をサポートし、常に適応型思考を有効にします。最新のフラッグシップは claude-fable-5-1(100 万 Token のコンテキスト、最大出力 128K Token)であり、従来の claude-fable-5 も引き続き互換性を維持しています。claude-sonnet-5-5 はネイティブ Messages シリーズインターフェースに追加され、画像入力と適応型思考をサポートしています。その入力、出力、キャッシュ読み取りの公式参考価格は、それぞれ 100 万 Token あたり 2、10、0.20 米ドルです。
  • messages:入力メッセージの配列であり、各メッセージには role(ロール)と content(内容)が含まれます。role は user と assistant をサポートします。
  • max_tokens:最大出力 token 数であり、1 回の応答の長さを制限するために使用します。
よく使用される任意パラメータ:
  • system:システムプロンプト。モデルの動作とロールを設定するために使用します。
  • temperature:生成のランダム性。0~1 の間で、値が大きいほど応答はより発散的になります。
  • stream:ストリーミング応答を使用するかどうか。true に設定すると、1 文字ずつ返す効果を実現できます。
  • stop_sequences:カスタム停止シーケンス。モデルはこれらのテキストに遭遇すると生成を停止します。
  • top_p:核サンプリングパラメータ。temperature と組み合わせて生成のランダム性を制御します。
  • top_k:確率が最も高い K 個の選択肢からのみサンプリングします。
  • tools:ツール定義。モデルが外部関数を呼び出せるようにするために使用します。
  • tool_choice:モデルが提供されたツールをどのように使用するかを制御します。
  • cache_control:リクエストの最後のキャッシュ可能なコンテンツブロックにキャッシュブレークポイントを自動作成します。具体的なコンテンツブロックに記述することもできます。

cURL の例

Python の例

呼び出し後、以下のような結果が返されます:
返却結果のフィールド説明:
  • id:今回のメッセージの一意な識別子。
  • type:常に message です。
  • role:常に assistant です。
  • content:応答内容の配列。各要素には type(例:text)と対応する内容が含まれます。
  • model:リクエストを処理したモデル名。
  • stop_reason:停止理由。安定した値には end_turn、max_tokens、stop_sequence、tool_use、pause_turn(現在の assistant 内容をそのまま返送して継続可能)、refusal、および model_context_window_exceeded が含まれます。
  • stop_sequence:カスタム停止シーケンスによって停止した場合、マッチした停止シーケンステキストを表示します。
  • stop_details:stop_reason が refusal の場合、拒否カテゴリと説明が含まれる可能性があります。
  • usage:token 使用統計。input_tokens はキャッシュされていない入力です。cache_creation_input_tokens と cache_read_input_tokens はそれぞれキャッシュ書き込みと読み取りです。output_tokens はすべての出力 token 数です。output_tokens_details.thinking_tokens が返された場合、この値は output_tokens の部分集合であるため、合計量または料金を計算する際に再度加算しないでください。この明細は権威あるカウントがない場合、null になるか省略される可能性があります。
  • usage.cache_creation:任意のキャッシュ書き込み TTL 明細。ephemeral_5m_input_tokens と ephemeral_1h_input_tokens を含みます。オブジェクトが存在する場合、両者の合計は cache_creation_input_tokens と等しくなります。フィールドが null または省略されている場合は、現在の応答に利用可能な TTL 内訳がないことを示し、0 と解釈することはできません。
  • usage.cost:非ストリーミング応答には、Ace Data Cloud が記録したクレジット消費オブジェクトが含まれる場合があります。そのうち amount は今回の実際の消費量、currency は計量単位、list_amount は割引前の金額(存在する場合)です。Fable 5.1 の公式キャッシュ読み取り基本価格は 100 万 Token あたり $0.25 であり、5 分間および 1 時間のキャッシュ書き込み基本価格はそれぞれ $12.50 および $20/100 万 Token です。プラットフォームの実際の価格はプラン割引に基づいて換算されます。

システムプロンプト

Claude Messages API は system フィールドを通じてシステムプロンプトを設定でき、モデルの動作、ロール、コンテキストを定義するために使用します。

Python の例

system プロンプトを設定することで、Claude の役割と動作方法を正確に制御できます。

ストリーミング応答

このインターフェースはストリーミング応答にも対応しており、stream パラメータを true に設定すると段階的に返される効果を得られます。これはウェブページでの一文字ずつの表示を実現するのに非常に適しています。

Python の例

ストリーミング応答は Server-Sent Events (SSE) 形式で返され、各行は event: と data: で始まります。ストリーミングイベントの種類には以下が含まれます:
  • message_start:メッセージの開始。メッセージの基本情報とモデル名を含みます。
  • content_block_start:コンテンツブロックの開始。
  • content_block_delta:コンテンツブロックの増分更新。新しく生成されたテキスト断片を含みます。
  • content_block_stop:コンテンツブロックの終了。
  • message_delta:メッセージレベルの増分更新。stop_reason と最終的な usage 情報を含みます。output_tokens_details.thinking_tokens の権威ある値は、最後の message_delta.usage からのみ読み取るべきであり、イベントをまたいで累算しないでください。
  • message_stop:メッセージの終了。
出力効果は以下のとおりです:
ご覧のとおり、ストリーミング応答では content_block_delta イベントに段階的に生成されるテキスト内容が含まれており、すべての text_delta を連結することで完全な応答を取得できます。

JavaScript の例

マルチターン対話

マルチターン対話機能を連携したい場合は、messages 配列内で user と assistant ロールのメッセージを交互に配置し、それまでの対話履歴をあわせて渡す必要があります。

Python の例

返される結果は以下のとおりです:
messages で完全な対話履歴を渡すことで、Claude はコンテキストを組み合わせて正確に回答できます。

深い思考モデル

Claude の thinking と thinking summary は異なる2つの概念です。モデルは内部推論を行えますが、API は元の思考連鎖を返しません。推論過程を表示する必要がある場合、API が返すのは処理済みの要約です。 現在のモデルでは adaptive thinking の使用が推奨されており、output_config.effort によって全体的な推論投入量を制御します:
応答内の thinking ブロックは次のような形式です:
  • display: "summarized" は読みやすい思考要約を返します;これは生の思考連鎖ではありません。
  • display: "omitted" は thinking: "" を返しますが、後続の会話をサポートするため opaque な signature は引き続き保持します。
  • display: "updates" は Anthropic の beta モードであり、anthropic-beta: thinking-display-updates-2026-08-18 を付加する必要があります。公式の定義では、推論本文を非表示にし、ツール呼び出しの間に短い進捗更新を表示します。プラットフォームはこのパラメータと beta リクエストヘッダーを元の値のまま渡し、強制的に summarized へ書き換えることはありません;実際の出力内容は、選択したモデルのサポート状況に依存します。
  • thinking、output_config、effort、サンプリングパラメータおよび新規拡張フィールドは、元の値のまま渡されます。プラットフォームはモデルごとにハードコードされた値の列挙や組み合わせ制限を維持せず、thinking モードを自動的に書き換えることもありません;これらのパラメータを受け入れるかどうかは選択したモデルが判断し、モデルが返すパラメータエラーはクライアントに返されます。
  • Fable 5.1、Fable 5、Opus 5、Sonnet 5、Opus 4.8 および Opus 4.7 の display のデフォルト値は omitted です;Opus 4.6、Sonnet 4.6 およびそれ以前の thinking をサポートするモデルでは、デフォルトで summarized を使用します。
  • Display は返される内容とストリーミング遅延にのみ影響し、推論を無効化することも、thinking token の課金を減らすこともありません。
  • thinking がデフォルトで有効かどうかと、display のデフォルト値は2つの独立した問題です。Opus 5、Sonnet 5 では adaptive thinking がデフォルトで有効です;Opus 5 では、thinking を省略することは adaptive と同等であり、output_config.effort を省略することは high と同等です。Opus 4.8、4.7 および 4.6 では明示的な有効化が必要です。
  • Thinking と最終本文はともに max_tokens の出力予算を消費します。予算が小さすぎる場合、thinking が大部分の枠を占有し、本文が空になるか切り詰められる可能性があります;max_tokens を増やすか、low / medium effort を使用して推論の投入量を制御してください。
  • thinking を無効化できるモデルでは、thinking: {"type":"disabled"} を渡すことができます。between_tools などの新しいモードおよび effort の組み合わせは、選択したモデルに依存します;プラットフォームは古いモデルルールに基づいて事前に拒否しません。
  • 固定の思考予算は budget_tokens を通じて渡すことができます;新しいモデルでは通常、thinking.type=adaptive と output_config.effort を使用します。固定予算または思考の無効化をサポートするかどうかは、選択したモデルの現在の能力に準拠します。
  • マルチターン会話とツール呼び出しでは、assistant が返した完全な thinking ブロックおよび signature をそのまま返すべきです;signature を変更したり、自身で生成したりしないでください。
  • パラメータの透過渡しは、すべてのモデルがすべての機能をサポートすることを意味するものではありません。プロトコルをまたぐ呼び出しでは引き続き変換が必要であり、redacted_thinking などの内容のサポート範囲とエラーは、実際にリクエストを処理するモデルサービスによって決まります。
ストリーミングリクエストでは、summarized は thinking_delta を生成します;omitted は thinking_delta を生成せず、thinking ブロックのライフサイクルと signature_delta のみを保持します。

ビジョンモデル

Claude はマルチモーダル入力をサポートしており、テキストと画像を同時に処理できます。Messages API では、content を配列形式に設定し、画像コンテンツブロックを渡すことでビジョン機能を使用できます。

Base64 エンコード画像を使用する

URL 画像を使用する

cURL の例

サポートされている画像形式には、image/jpeg、image/png、image/gif、image/webp が含まれます。

ドキュメントと PDF

PDF では document コンテンツブロックを使用し、Base64 と URL の2種類の安定したソースをサポートします。Base64 ソースでは必ず application/pdf を使用する必要があります:
URL ソースは {"type":"url","url":"https://example.com/report.pdf"} と記述します。document は text/plain および text/image ブロックで構成される content ソースもサポートします;オプションフィールドには title、context、citations が含まれます。Files API の file_id ソースは独立した beta 機能に属しており、本インターフェースの安定した契約には含まれません。

プロンプトキャッシュ

トップレベルの cache_control は、最後のキャッシュ可能なブロックにキャッシュのブレークポイントを自動的に配置します:
位置を正確に制御する必要がある場合は、同じ cache_control を text、image、document、tool_use、tool_result のコンテンツブロックまたはツール定義に記述することもできます。ttl は 5m(デフォルト)と 1h をサポートします。usage.cache_creation_input_tokens と usage.cache_read_input_tokens を通じて、キャッシュの書き込みとヒットを判断してください。 レスポンスに usage.cache_creation が含まれる場合、ephemeral_5m_input_tokens + ephemeral_1h_input_tokens = cache_creation_input_tokens です。cache_creation が null または省略されている場合、キャッシュ書き込みの合計量のみがあり、権威ある TTL 内訳がないことを示します。この場合、いずれかの bucket を既知の 0 と見なさないでください。課金と合計量は引き続き aggregate フィールドに従います。 返却結果の例:

ツール呼び出し(Tool Use)

Claude Messages API はツール呼び出し機能をネイティブにサポートしており、必要に応じてモデルが事前定義されたツール/関数を呼び出すことを可能にします。

Python の例

モデルがツールを呼び出すことを決定すると、返却結果の content には tool_use タイプのコンテンツブロックが含まれます。
stop_reason が tool_use であることに注意してください。これは、モデルがツールを呼び出す必要があることを示します。この結果を受け取った後、ツール関数を実行し、その結果を tool_result の形式でモデルに返す必要があります。
モデルはツールから返された結果に基づいて、最終的な自然言語の応答を生成します。

Chat Completion API との違い

Ace Data Cloud は 2 種類の Claude API 形式を同時に提供しており、両者の主な違いは以下のとおりです。 Messages API の usage.input_tokens はキャッシュされていない入力のみを表し、cache_read_input_tokens と cache_creation_input_tokens は独立した課金バケットです。3 つはそれぞれ対応する価格で計算されます。 システムがすでに OpenAI 形式の API に接続されている場合は、Chat Completion API を使用してシームレスに切り替えることができます。Claude のすべてのネイティブ機能を使用する必要がある場合は、Messages API の使用を推奨します。

エラー処理

公開インターフェースのエラーレスポンスでは、Ace Data Cloud プラットフォームの envelope を使用します。error.code は安定したエラーコード、error.message は説明、trace_id はリクエストの調査に使用されます。一般的な HTTP ステータスは以下のとおりです。
  • 400:リクエストパラメータまたはプロトコルの内容が無効です。
  • 401:認可トークンが無効、欠落、または期限切れです。
  • 403:アクセス禁止、残高不足、またはクォータ制限です。
  • 404:API またはモデルが存在しません。
  • 413:リクエストボディが大きすぎます。
  • 429:リクエストが多すぎます。
  • 500 / 503 / 504:サービスエラー、一時的に利用不可、または処理タイムアウトです。

エラーレスポンスの例

このエラー構造は Ace Data Cloud のランタイム契約であり、Anthropic 公式のエラー envelope と同一ではありません。HTTP ステータスと error.code に従って処理してください。

結論

このドキュメントを通じて、Anthropic ネイティブ形式で Claude Messages API を使用して Claude の対話機能を呼び出す方法を理解しました。Messages API は、基本的な対話、システムプロンプト、ストリーミング応答、複数ターンの対話、拡張思考、視覚理解、PDF、プロンプトキャッシュ、ツール呼び出しなどの豊富な機能をサポートしています。ご不明な点がございましたら、いつでも当社のテクニカルサポートチームまでお問い合わせください。