Messages API
POST /v1/messages — Anthropic形式のエンドポイント:パラメータ、レスポンス構造、使用例。
Claude Code や公式 SDK を含む、すべての Anthropic 互換クライアントが使用するエンドポイントです。
エンドポイント
POST https://aiprimetech.io/v1/messages認証
x-api-key: sk-...バージョンヘッダー
anthropic-version: 2023-06-01コンテンツタイプ
application/jsonリクエストボディ
| 項目 | 種類 | 必須 | 説明 |
|---|---|---|---|
model | 文字列 | はい | 次の一覧に記載されたとおりのモデル ID: /v1/models |
messages | 配列 | はい | user と assistant のターンを交互に、古い順に並べます |
max_tokens | 整数 | はい | 出力トークンの最大数。この上限に達すると生成が停止します。 |
system | 文字列または配列 | いいえ | トップレベルのシステムプロンプト。メッセージのロールではありません。 |
temperature | 数値 | いいえ | 0~1。省略するとモデルのデフォルト値が使用されます。 |
top_p | 数値 | いいえ | ニュークリアスサンプリング。これと temperature のいずれかを使用し、両方は使用しないでください。 |
stop_sequences | 配列 | いいえ | 生成された時点で生成を停止する文字列 |
stream | ブール値 | いいえ | サーバー送信イベントを使用する場合は true |
tools | 配列 | いいえ | ツール定義 — 参照: ツールの使用 |
metadata | オブジェクト | いいえ | そのまま渡されます。 user_id は独自の利用者識別に役立ちます |
例
curl https://aiprimetech.io/v1/messages \
-H "x-api-key: $CLAUDEAPIKEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello"}]
}'
レスポンス
{
"id": "msg_01ABC...",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-4-6",
"content": [{"type": "text", "text": "..."}],
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {"input_tokens": 9, "output_tokens": 12}
}
| 項目 | 説明 |
|---|---|
content | ブロックの配列。テキストブロックには次が含まれます: type: text および text フィールド。ツール呼び出しには次が含まれます: type: tool_use. |
stop_reason | end_turn, max_tokens, stop_sequence または tool_use |
usage.input_tokens | 課金対象の入力。再送した履歴全体を含みます |
usage.output_tokens | 課金対象の出力 — 通常、入力単価の 4~5 倍 |
システムプロンプト
{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"system": "You are a terse assistant. Answer in at most two sentences.",
"messages": [{"role": "user", "content": "Explain HTTP caching."}]
}
内容が変わらない
system ブロックは、次の機能の理想的な対象です: プロンプトキャッシュ — 呼び出しごとに内容が同一なので、入力料金の一部の費用でキャッシュから読み取れます。マルチモーダル入力
画像ブロックは標準の Anthropic 形式を使用します — 参照: 画像認識.