Skip to main content
Anthropic Claude は非常に強力な AI 対話システムで、プロンプトを入力するだけで、数秒以内に流暢で自然な返信を生成できます。Claude Messages API は Anthropic の公式ネイティブ API フォーマットで、OpenAI の互換フォーマット(Chat Completion)とは異なり、Anthropic 独自のリクエストとレスポンス構造を採用しており、Claude の独自の能力(マルチモーダルコンテンツ入力、ツール呼び出し、深い思考(Extended Thinking)などの高度な機能)をより良く活用できます。 この文書では、Claude Messages API 操作の使用プロセスを主に紹介します。これを利用することで、Anthropic 公式と一致するネイティブインターフェースを使用して Claude の対話機能を呼び出すことができます。

申請プロセス

Claude Messages API を使用するには、まず Ace Data Cloud コントロールパネル にアクセスして、API トークンを取得し、バックアップとして保管してください。 まだログインまたは登録していない場合は、自動的にログインページにリダイレクトされ、登録とログインを促されます。完了後、現在のページに自動的に戻ります。 1 つの API トークンでプラットフォームのすべてのサービスを呼び出すことができ、各サービスごとに個別に申請する必要はありません。 初回申請時には無料のクレジットが付与され、無料で体験できます。クレジットが不足した場合は、コントロールパネル で一般的な残高をチャージできます。
📘 完全な文書:Claude Messages API →

基本使用

Claude Messages API のリクエストパスは /v1/messages で、Anthropic 公式 API と一致しています。少なくとも 3 つの必須パラメータを提供する必要があります:
  • model:使用する Claude モデルを選択します。最新のフラッグシップは claude-fable-5-1(100 万トークンのコンテキスト、最大出力 128K トークン);元の claude-fable-5 も互換性を保っています。
  • messages:入力メッセージの配列で、各メッセージには role(役割)と content(内容)が含まれ、roleuserassistant をサポートしています。
  • max_tokens:最大出力トークン数で、単一の返信の長さを制限します。
一般的なオプションパラメータ:
  • system:システムプロンプトで、モデルの動作と役割を設定します。
  • temperature:生成のランダム性で、0-1 の間で値が大きいほど返信が散発的になります。
  • stream:ストリーミングレスポンスを使用するかどうか、true に設定すると逐次的に返されます。
  • 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_turnmax_tokensstop_sequencetool_usepause_turn(現在の assistant 内容をそのまま返して続行可能)、refusal および model_context_window_exceeded があります。
  • stop_sequence:カスタム停止シーケンスによって停止した場合、マッチした停止シーケンステキストが表示されます。
  • stop_detailsstop_reasonrefusal の場合、拒否の種類と説明が含まれることがあります。
  • usage:トークン使用統計。input_tokens は未キャッシュの入力;cache_creation_input_tokenscache_read_input_tokens はそれぞれキャッシュの書き込みと読み取り;output_tokens は出力トークン数です。Fable 5.1 の公式キャッシュ読み取り基準価格は 0.25/百万トークンで、5分間と1時間のキャッシュ書き込み基準価格はそれぞれ0.25/百万トークンで、5 分間と 1 時間のキャッシュ書き込み基準価格はそれぞれ 12.50 と $20/百万トークンです;プラットフォームの実際の価格はプランの割引に基づいて計算されます。非ストリーミングレスポンスには Ace Data Cloud に記録された cost が含まれることがあります。

システムプロンプト

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 情報を含みます。
  • message_stop:メッセージの終了。
出力結果は以下の通りです:
流式応答の content_block_delta イベントには、段階的に生成されたテキスト内容が含まれており、すべての text_delta を連結することで完全な応答を得ることができます。

JavaScript の例

多輪対話

複数の対話機能を接続したい場合は、messages 配列に userassistant の役割のメッセージを交互に配置し、以前の対話履歴を一緒に渡す必要があります。

Python の例

返される結果は以下の通りです:
messages に完全な対話履歴を渡すことで、クロードは文脈を考慮して正確な回答を行うことができます。

深い思考モデル

クロードの思考と思考の要約は異なる概念です:モデルは内部推論を行うことができますが、APIは原始的な思考の連鎖を返しません。推論プロセスを示す必要がある場合、APIは処理された要約を返します。 現在のモデルは適応的思考を使用することを推奨し、output_config.effort を使用して全体的な推論の投入を制御します:
応答の中の思考ブロックは以下のようになります:
  • display: "summarized" は可読性のある思考の要約を返します;これは原始的な思考の連鎖ではありません。
  • display: "omitted"thinking: "" を返しますが、後続の対話をサポートするために不透明な signature は保持されます。
  • Fable 5.1、Fable 5、Opus 5、Sonnet 5、Opus 4.8 および Opus 4.7 の display のデフォルト値は omitted です;Opus 4.6、Sonnet 4.6 およびそれ以前の思考をサポートするモデルはデフォルトで summarized を使用します。
  • Display は返される内容と流式遅延にのみ影響し、推論を停止することも、思考トークンの課金を減少させることもありません。
  • 思考のデフォルトの有効化と display のデフォルト値は二つの独立した問題です。Opus 5、Sonnet 5 はデフォルトで適応的思考を有効にします;Opus 4.8、4.7 および 4.6 は明示的に有効にする必要があります。
  • budget_tokens は、固定思考予算をまだサポートしている古いモデルのみに使用されます。新しいモデルは thinking.type=adaptiveoutput_config.effort を使用する必要があります;Fable 5.1 の思考は常に有効で、明示的に無効にすることはできません。
  • 複数の対話やツール呼び出しの際には、アシスタントが返した完全な思考ブロックと signature をそのまま返す必要があります;変更したり、自分で signature を生成したりしないでください。
  • 一部の互換性のあるルーティングは redacted_thinking を無損失で処理できないか、明示的に思考を無効にすることができない場合、パラメータエラーを返し、リクエストの意味を静かに破棄したり変更したりすることはありません。
流式リクエストでは、summarizedthinking_delta を生成し、omittedthinking_delta を生成せず、思考ブロックのライフサイクルと signature_delta のみを保持します。

視覚モデル

URL画像の使用

cURLの例

サポートされている画像フォーマットには、image/jpegimage/pngimage/gifimage/webpが含まれます。

ドキュメントとPDF

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

ヒントキャッシュ

最上位のcache_controlは、自動的にキャッシュのブレークポイントを最後のキャッシュ可能なブロックに配置します:
位置を正確に制御する必要がある場合、同じcache_controlをtext、image、document、tool_use、tool_resultコンテンツブロックまたはツール定義に記述することもできます。ttl5m(デフォルト)と1hをサポートします。キャッシュの書き込みとヒットを判断するには、usage.cache_creation_input_tokensusage.cache_read_input_tokensを使用してください。 返された結果の例:

ツール呼び出し(Tool Use)

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

Pythonの例

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

Chat Completion APIとの違い

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

エラーハンドリング

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

エラー応答の例

このエラー構造はAce Data Cloudのランタイム契約であり、Anthropic公式のエラーエンベロープとは異なります;HTTPステータスとerror.codeに従って処理してください。

結論

この文書を通じて、あなたはClaude Messages APIをAnthropicネイティブフォーマットで呼び出す方法を理解しました。Messages APIは基本的な対話、システムプロンプト、ストリーミング応答、多段階対話、深い思考、視覚理解、PDF、プロンプトキャッシュ、ツール呼び出しなどの豊富な機能をサポートしています。ご不明な点がございましたら、いつでも技術サポートチームにお問い合わせください。