はじめに
Claude Sonnet 5 は、Anthropic のチャットモデルのなかで日々の主力を担うモデルです。ここでは /v1/chat/completions の OpenAI 互換エンドポイント 1 本として提供しています。1 回の呼び出しで最大 1,000,000 トークンを読み、1 回の返答で最大 64,000 トークンを書くので、長いセッションを毎ターン丸ごと送れます。
推論の強さは low・medium・high で、既定は medium です。サンプリングはモデル側で固定されているため temperature と top_p は受け付けません。メッセージの内容はテキストと画像で、同じ呼び出しで最大 128 個のツールと SSE ストリーミングを使えます。
主な機能とハイライト
100 万トークンのセッション記憶
数百ターン分の元のやり取りが 1,000,000 トークンの上限に収まります。順番どおりに送り返せば、モデルは各キャラクターが実際に口にした言葉を読みます。一貫性と呼ばれるもののほとんどは、そこから生まれます。
推論は見合うときだけ上げる
low・medium・high は同じリクエスト本文で指定します。普段のやり取りは low で十分に回り、返答も早く届きます。伏線をまとめたいときや、同じ部屋に何人もいるときに上げてください。強くするほど長く考え、たいてい出力トークンも増えます。
サンプリングのつまみがないリクエスト本文
temperature と top_p はモデルが固定しているため、古い連携からコピーしたリクエストでは両方を外してください。どちらかを送ると黙って無視されるのではなく検証エラーになるので、消し忘れた設定が知らないうちに挙動を変えることはありません。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
messages | はい | 順序付きの会話ターンで、内容は文字列、または text と |
max_tokens | いいえ | 返答を 64,000 で抑えます。読み込み枠の 16 分の 1 です。 |
reasoning_effort | いいえ | low / medium / high、既定は medium。日常の応酬は low、決めたい場面だけ上げてください。 |
stop | いいえ | 最大 4 件の停止シーケンスを、文字列か配列で指定します。モデルがそのいずれかを書いた時点で応答が終わり、一致した文字列そのものは返されません。 1 文字以上 · 1 件以上 · 4 件以内 |
tools | いいえ | 1 リクエストにつき最大 128 個の関数定義。 128 件以内 |
parallel_tool_calls | いいえ | true か false で、既定値は true です。true ではモデルが 1 ターンで複数のツール呼び出しを要求できます。 デフォルト値: |
tool_choice | いいえ | auto / none / required、または呼ぶ関数を名指しするオブジェクト。 |
料金
入力 $1.90 / 出力 $9.50 100 万トークンあたり
ユースケース
長く続くコンパニオンとの会話
進行中の会話をセッションをまたいで messages 配列に保ち続けます。100 万トークンあれば長い関係の積み重ねも要約なしで収まり、キャラクターは言い換えではなく実際のせりふを引いて話します。
1 つの場面に 3〜4 人の声
各キャラクターの言葉づかいと越えない一線を system メッセージに書き、user のターンには行動だけを載せます。それまでのターンがすべて枠の中に残っているので、誰が何を言ったかが記録として残り、声が混ざり合いません。
ダイス・所持品・設定資料をツールに
ダイスロール、所持品の確認、設定資料の検索を関数として定義し、いつ実行するかは tool_choice に任せます。結果は同じスレッドに tool メッセージとして届くので、物語は会話の外に出ずに行動の結果を処理できます。
プロンプトガイドと実践のヒント
普段のターンは low、大事な場面は high
やり取りが中心のターンはたいてい low で十分で、節約できるのはトークンだけでなく時間もです。伏線を束ねる必要があるときに上げてください。同じリクエストの文字列 1 つを変えるだけです。
max_tokens は欲しい長さに合わせる
既定値の 4,096 でしっかりした場面 1 つには足ります。思考も同じ枠から消費されるため、上限が小さいと返答が始まる前に推論で使い切ることがあります。推論を強くするときは、上限の 64,000 までの範囲で十分な余裕を取ってください。
前提にしておく制限
動画パートと音声パートは受け付けず、返答を先に埋めるために assistant メッセージで会話を終えることもできず、response_format もありません。機械で読む出力が必要なら、JSON スキーマをパラメーターにしたツールを強制してください。ツールの結果は会話と同じ枠を使うため、非常に長いセッションはいずれ整理が必要になります。
API クイックスタート
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "anthropic/claude-sonnet-5/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
認証、完全なスキーマ、ポーリング、エラー処理は API リファレンスを参照してください。














