API ReferenceText APIs
Claude API
このプラットフォームでは、Anthropic Claude Messages API と互換性のあるチャットエンドポイントを提供しています。
このドキュメントはクライアント側で統合を行う開発者向けに、公開リクエストパス、認証方式、リクエストパラメータ、代表的なペイロード例を説明するものです。フィールド名と JSON 構造は、できるだけ Claude Messages API のネイティブ仕様に寄せています。
概要:
- エンドポイント:
POST /v1/messages - 機能カテゴリ: チャット / テキスト生成
- レスポンス形式:
stream = falseまたは省略時: 通常の JSON レスポンスstream = true時:text/event-streamの SSE レスポンス
- プロトコル上の特徴: リクエストボディは Claude Messages API のネイティブ構造に従い、余分な
inputラッパーは使いません
1. API 概要
- HTTP メソッド:
POST - リクエストパス:
/v1/messages - Content-Type:
application/json - レスポンス形式:
- 非ストリーミング:
application/json - ストリーミング:
text/event-stream
- 非ストリーミング:
2. 認証とヘッダー
ヘッダー例:
Authorization: Bearer YOUR_REACH_API_KEY
anthropic-version: 2023-06-01
Content-Type: application/jsonAuthorization または x-api-key のいずれかを指定してください。
ヘッダー詳細:
| Header | 必須 | 説明 |
|---|---|---|
Authorization | いいえ | Bearer sk-xxxxxx 形式のプラットフォーム API キー |
x-api-key | いいえ | プラットフォーム API キーをこのヘッダーで直接渡すこともできます |
anthropic-version | 推奨 | Claude Messages API クライアント互換のため、2023-06-01 を推奨します |
Content-Type | はい | application/json である必要があります |
3. リクエストボディ
リクエストボディは、Claude Messages API の標準的なオブジェクト構造に従います。
{
"model": "YOUR_MODEL_ID",
"messages": [
{
"role": "user",
"content": "Please introduce yourself in one sentence."
}
],
"max_tokens": 1024,
"temperature": 0.2,
"stream": false
}3.1 トップレベルパラメータ
| Field | Type | 必須 | 説明 |
|---|---|---|---|
model | string | はい | モデル ID |
messages | array<object> | はい | チャットメッセージ配列 |
system | string or array<object> | いいえ | システムプロンプト |
max_tokens | integer | はい | 出力トークン上限。最小値は 1 |
temperature | number | いいえ | サンプリング温度 |
top_p | number | いいえ | Nucleus Sampling パラメータ |
top_k | integer | いいえ | Top-k Sampling パラメータ |
stream | boolean | いいえ | SSE ストリーミングで返すかどうか |
stop_sequences | array<string> | いいえ | 追加停止シーケンス |
tools | array<object> | いいえ | ツール定義 |
tool_choice | object | いいえ | ツール呼び出し戦略 |
thinking | object | いいえ | 推論予算または思考モード設定 |
metadata | object | いいえ | 呼び出しメタデータ |
3.2 messages パラメータ
各メッセージは次の構造を使います。
| Field | Type | 必須 | 説明 |
|---|---|---|---|
role | string | はい | ロール。代表値: user, assistant |
content | string or array<object> | はい | メッセージ内容。プレーンテキストまたはコンテンツブロック配列 |
テキスト例:
{
"role": "user",
"content": "Write a short product introduction within 50 words."
}コンテンツブロック例:
{
"role": "user",
"content": [
{
"type": "text",
"text": "Please describe this image."
}
]
}代表的なコンテンツブロック種別:
type | よく使うフィールド | 説明 |
|---|---|---|
text | text | テキストコンテンツ |
image | source | 画像入力 |
tool_use | id, name, input | モデルが開始するツール呼び出し |
tool_result | tool_use_id, content | ツール実行結果をモデルへ返すブロック |
4. リクエスト例
4.1 非ストリーミングの標準リクエスト
curl -X POST "https://direct.reachapi.ai/v1/messages" -H "Authorization: Bearer YOUR_REACH_API_KEY" -H "anthropic-version: 2023-06-01" -H "Content-Type: application/json" -d '{
"model": "YOUR_MODEL_ID",
"messages": [
{
"role": "user",
"content": "Introduce ReachAPI in one sentence."
}
],
"max_tokens": 512,
"temperature": 0.2
}'4.2 ストリーミングリクエスト
curl -X POST "https://direct.reachapi.ai/v1/messages" -H "Authorization: Bearer YOUR_REACH_API_KEY" -H "anthropic-version: 2023-06-01" -H "Content-Type: application/json" -d '{
"model": "YOUR_MODEL_ID",
"messages": [
{
"role": "user",
"content": "Summarize today'''s priorities in three lines."
}
],
"max_tokens": 512,
"stream": true
}'4.3 ツール定義付きリクエスト
curl -X POST "https://direct.reachapi.ai/v1/messages" -H "Authorization: Bearer YOUR_REACH_API_KEY" -H "anthropic-version: 2023-06-01" -H "Content-Type: application/json" -d '{
"model": "YOUR_MODEL_ID",
"messages": [
{
"role": "user",
"content": "Help me check the weather in Shanghai."
}
],
"max_tokens": 512,
"tools": [
{
"name": "get_weather",
"description": "Get weather information for a city",
"input_schema": {
"type": "object",
"properties": {
"city": {
"type": "string"
}
},
"required": ["city"]
}
}
],
"tool_choice": {
"type": "auto"
}
}'5. 非ストリーミングレスポンス
成功時は標準的な message オブジェクトが返ります。
{
"id": "msg_01ABCDEF",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "ReachAPI is a unified AI gateway platform."
}
],
"model": "YOUR_MODEL_ID",
"stop_reason": "end_turn",
"usage": {
"input_tokens": 32,
"output_tokens": 18,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0
}
}6. ストリーミングレスポンス
stream = true の場合、text/event-stream が返ります。代表例:
event: message_start
data: {"type":"message_start","message":{"id":"msg_1","type":"message","role":"assistant","content":[],"model":"YOUR_MODEL_ID","stop_reason":null,"usage":{"input_tokens":7,"output_tokens":0}}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Hello"}}
event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn"},"usage":{"output_tokens":13}}
event: message_stop
data: {"type":"message_stop"}7. エラーレスポンス
リクエスト失敗時は JSON のエラーオブジェクトが返ります。例:
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "Field `model` is required"
}
}代表的なエラーケース:
- API キーがない、または不正
- リクエストボディが正しい JSON ではない
modelがないmessagesがない
8. 互換性に関する注意
- このドキュメントでは、よく使われるフィールドと代表的なペイロードのみを掲載しています。実際のフィールド名や構造は Claude Messages API に従います。
- ツール呼び出しや思考予算のような高度機能を使う場合は、対象モデルが実際に対応しているか確認してください。
- Anthropic または Claude SDK ベースのクライアントを使う場合は、
anthropic-versionを付けることを推奨します。
9. 対応モデルと参考価格
以下の価格は統一価格ドキュメントをもとに整理したもので、現在掲載している Claude 系テキストモデルに適用されます。価格確認日は 2026-04-17 です。詳細な価格ルールは claude.md を参照してください。
| Model | Input | Cache write 5m | Cache read | Output |
|---|---|---|---|---|
claude-haiku-4-5 | $1 / 1M tokens | $1.25 / 1M tokens | $0.10 / 1M tokens | $5 / 1M tokens |
claude-sonnet-4-5 | $3 / 1M tokens | $3.75 / 1M tokens | $0.30 / 1M tokens | $15 / 1M tokens |
claude-sonnet-4-6 | $3 / 1M tokens | $3.75 / 1M tokens | $0.30 / 1M tokens | $15 / 1M tokens |
claude-opus-4-5-20251101 | $5 / 1M tokens | $6.25 / 1M tokens | $0.50 / 1M tokens | $25 / 1M tokens |
claude-opus-4-6 | $5 / 1M tokens | $6.25 / 1M tokens | $0.50 / 1M tokens | $25 / 1M tokens |
補足:
Cache write 5mは 5 分階層のプロンプトキャッシュ書き込み価格ですclaude-opus-4-5-20251101はスナップショットモデル ID であり、バージョン固定のリクエストに使えます- より長いキャッシュ時間や拡張コンテキストの課金は詳細価格ドキュメントを参照してください
10. 参考資料
- Anthropic Messages API: https://docs.anthropic.com/en/api/messages
- Anthropic Messages examples: https://docs.anthropic.com/en/api/messages-examples
- Unified platform pricing document:
claude.md