API リファレンス上級者向け更新日
POST/v1/messages

API コンソール

POST/v1/messages
キーを確認

入力したキーで実際にリクエストを送信し、API の通常料金が適用されます。

Anthropic Messages

Anthropic Messages 形式で HTTP リクエストを送信します。Claude Code を設定する場合は関連記事を参照してください。

事前準備

クイックスタートに沿って API Key を取得し、HTTP で直接呼び出せるエンドポイントを選びます。例では x-api-key に ICODEEASY_API_KEY を指定し、anthropic-version を送信します。YOUR_MODEL_ID をエンドポイントで利用できるモデル ID に置き換えます。

リクエスト例

model を指定し、max_tokens で出力を制限します。会話は messages に入れます。

bash
curl -sS https://api.icodeeasy.cc/v1/messages \
  -H "x-api-key: $ICODEEASY_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'anthropic-version: 2023-06-01' \
  --data '{
  "model": "YOUR_MODEL_ID",
  "max_tokens": 256,
  "messages": [
    {
      "role": "user",
      "content": "Say hello."
    }
  ]
}'

レスポンスの読み取り

content[] から type が text のブロックを読み取ります。使用量は usage.input_tokens と usage.output_tokens に含まれます。cache_creation_input_tokens と cache_read_input_tokens が返る場合、それぞれキャッシュの書き込みと読み取りを表します。

json
{
  "content": [
    {
      "type": "text",
      "text": "Hello!"
    }
  ],
  "stop_reason": "end_turn"
}

ストリーミングレスポンス例

リクエスト本文に stream: true を指定すると SSE で受信できます。content_block_delta 内の delta.text を連結します。message_delta で終了理由を、message_stop で完了を確認します。HTTP 200 の後でも、SSE の error イベントは失敗として扱います。

text
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","stop_sequence":null},"usage":{"output_tokens":4}}

event: message_stop
data: {"type":"message_stop"}

ストリーミングの使用量は message_start.message.usage と後続の message_delta.usage から読み取ります。キャッシュ項目の意味は JSON レスポンスと同じです。