申請フロー
Claude Messages API を使用するには、まず Claude Messages API ページにアクセスし、「Acquire」ボタンをクリックして、リクエストに必要な資格情報を取得します:
まだログインまたは登録していない場合は、自動的にログインページにリダイレクトされ、登録とログインを促されます。ログインまたは登録後、現在のページに自動的に戻ります。
初回申請時には無料のクレジットが付与され、この API を無料で使用できます。
基本使用
Claude Messages API のリクエストパスは/v1/messages で、Anthropic 公式 API と一致しています。少なくとも3つの必須パラメータを提供する必要があります:
model:使用する Claude モデルを選択します。例:claude-opus-4-20250514、claude-sonnet-4-20250514など。messages:入力メッセージの配列で、各メッセージにはrole(役割)とcontent(内容)が含まれ、roleはuserとassistantをサポートします。max_tokens:最大出力トークン数で、単一の返信の長さを制限します。
system:システムプロンプトで、モデルの動作と役割を設定します。temperature:生成のランダム性で、0-1 の間で値が大きいほど返信が散発的になります。stream:ストリーミングレスポンスを使用するかどうか、trueに設定すると逐次的に返されます。stop_sequences:カスタム停止シーケンスで、モデルがこれらのテキストに遭遇したときに生成を停止します。top_p:核サンプリングパラメータで、temperature と組み合わせて生成のランダム性を制御します。top_k:確率が最も高い K 個のオプションからのみサンプリングします。tools:ツール定義で、モデルが外部関数を呼び出すために使用します。tool_choice:モデルが提供されたツールをどのように使用するかを制御します。
cURL の例
Python の例
id:今回のメッセージのユニーク識別子。type:常にmessage。role:常にassistant。content:返信内容の配列で、各要素にはtype(例:text)と対応する内容が含まれます。model:リクエストを処理したモデル名。stop_reason:停止理由で、可能な値にはend_turn(正常終了)、max_tokens(最大長に達した)、stop_sequence(停止シーケンスに遭遇)、tool_use(ツール呼び出し)があります。stop_sequence:カスタム停止シーケンスによって停止した場合、マッチした停止シーケンスのテキストが表示されます。usage:トークン使用統計で、input_tokens(入力トークン数)とoutput_tokens(出力トークン数)が含まれます。
システムプロンプト
Claude Messages API はsystem フィールドを通じてシステムプロンプトを設定することをサポートしており、モデルの動作、役割、コンテキストを定義するために使用されます。
Python の例
system プロンプトを設定することで、Claude の役割と動作を正確に制御できます。
ストリーミングレスポンス
このインターフェースはストリーミングレスポンスもサポートしており、stream パラメータを true に設定することで、逐次的に返される効果を得ることができ、ウェブページで逐字表示を実現するのに非常に適しています。
Python の例
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 配列に user と assistant の役割のメッセージを交互に配置し、以前の対話履歴を一緒に渡す必要があります。
Python の例
messages に完全な対話履歴を渡すことで、クロードは文脈を考慮して正確な回答を行うことができます。
深い思考モデル
クロードは Extended Thinking(深い思考)機能をサポートしており、モデルが返信する前に内部推論を行うことで、複雑な問題の処理精度を向上させることができます。この機能を使用する際は、thinking パラメータを渡す必要があります。
Python の例
content 配列には2つのコンテンツブロックが含まれています:
type: "thinking":モデルの内部思考過程を示し、推論ステップを示しています。type: "text":最終的な回答結果です。
thinkingを使用する際は、max_tokensがbudget_tokensより大きくする必要があります。なぜなら、budget_tokensは思考プロセスに割り当てられるトークン予算だからです。budget_tokensが大きいほど、モデルがより深い推論を行うためのスペースが増え、複雑な問題の処理に適しています。
視覚モデル
クロードは多モーダル入力をサポートしており、テキストと画像を同時に処理できます。Messages API では、content を配列形式に設定し、画像コンテンツブロックを渡すことで視覚能力を使用できます。
Base64 エンコードされた画像を使用する
URL 画像を使用する
cURL の例
image/jpeg、image/png、image/gif、image/webp が含まれます。
返される結果の例:
ツール呼び出し(Tool Use)
Claude Messages API は、モデルが必要に応じて事前定義されたツール/関数を呼び出す機能をネイティブにサポートしています。Python の例
content には tool_use タイプの内容ブロックが含まれます:
stop_reason が tool_use であることに注意してください。これはモデルがツールを呼び出す必要があることを示しています。この結果を受け取った後、ツール関数を実行し、その結果を tool_result の形式でモデルに返す必要があります:
Chat Completion API との違い
Ace Data Cloud は、同時に二つの Claude API フォーマットを提供しており、両者の主な違いは以下の通りです:| 特性 | Messages API (/v1/messages) | Chat Completion API (/v1/chat/completions) |
|---|---|---|
| フォーマット | Anthropic ネイティブフォーマット | OpenAI 互換フォーマット |
| システムプロンプト | 独立した system フィールド | messages 中の role: "system" で渡される |
| 応答構造 | content 配列(多様なタイプをサポート) | choices 配列(message を含む) |
| ストリーミングフォーマット | SSE イベント(多様なイベントタイプ) | SSE data 行 |
| 深い思考 | ネイティブ thinking パラメータ | 特殊モデル名をトリガー(例:-thinking サフィックス) |
| ツール呼び出し | ネイティブ tools + input_schema | OpenAI 互換の functions フォーマット |
| トークン統計 | input_tokens / output_tokens | prompt_tokens / completion_tokens |
エラーハンドリング
API を呼び出す際にエラーが発生した場合、API は対応するエラーコードと情報を返します。例えば:400 token_mismatched:不正なリクエスト、パラメータが不足または無効である可能性があります。400 api_not_implemented:不正なリクエスト、パラメータが不足または無効である可能性があります。401 invalid_token:未認証、無効または不足している認証トークン。429 too_many_requests:リクエストが多すぎます、レート制限を超えました。500 api_error:内部サーバーエラー、サーバーで何かがうまくいきませんでした。

