はじめに
Claude Sonnet 4.5 は Anthropic のチャットモデルで、ここでは /v1/chat/completions の OpenAI 互換エンドポイント 1 本として提供しています。最大 198,000 トークンを読み、最大 64,000 トークンで返答します。入力と出力はおよそ 3 対 1。キャラクター設定と会話ログを渡し、数千語の文章を受け取る、1 つの場面や 1 章の形そのものです。
リクエストでは temperature(0〜1、既定値 1)と top_p を指定できます。このエンドポイントには推論の強さの設定はありません。メッセージの内容はテキストと画像で、1 回の呼び出しに最大 128 個のツールスキーマを載せられ、stream: true を付ければ続きを書いている最中に冒頭の一文が届きます。
主な機能とハイライト
1 本の筋に見合った枠
198,000 トークンあれば、キャラクター設定、世界のルール、長い会話ログを、数ターンごとに要約しなくても抱えられます。ぶれては困るもの、つまり口調・気性・設定は system メッセージに置き、場面は user メッセージに任せます。
返答は最大 64,000 トークン
返答の上限は 64,000 トークンなので、場所が足りずに章が段落の途中で止まることはありません。max_tokens の既定値 4,096 は数百語ほどなので、場面を最後まで書かせたいときは引き上げてください。
交互のやり取りにはストリーミング
ロールプレイは交互のやり取りで、画面の前では誰かがカーソルを見ています。stream: true を付けると返答は Server-Sent Events の断片で届くため、残りを生成しているあいだに最初の一文を表示できます。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
messages | はい | 順序付きの会話ターンで、内容は文字列、または text と |
max_tokens | いいえ | 返答を 64,000 で抑えます。既定の 4,096 は数千字ほどなので、場面を最後まで書かせたいときは上げてください。 |
stop | いいえ | 最大 4 件の停止シーケンスを、文字列か配列で指定します。モデルがそのいずれかを書いた時点で応答が終わり、一致した文字列そのものは返されません。 1 文字以上 · 1 件以上 · 4 件以内 |
temperature | いいえ | 0〜1、既定は 1。返答をコードが解析する場合は 0 に近づけてください。 |
top_k | いいえ | 1〜500 です。次に来る確率の高い上位 k 個のトークンだけから選びます。 |
top_p | いいえ | 0.01〜1。同じ比較の中で、これと temperature を同時に動かさないでください。 |
tools | いいえ | 1 リクエストにつき最大 128 個の関数定義。 128 件以内 |
parallel_tool_calls | いいえ | true か false で、既定値は true です。true ではモデルが 1 ターンで複数のツール呼び出しを要求できます。 デフォルト値: |
tool_choice | いいえ | auto / none / required、または呼ぶ関数を名指しするオブジェクト。 |
料金
入力 $2.70 / 出力 $13.50 100 万トークンあたり
ユースケース
長く続くロールプレイ
キャラクター設定と世界のルールは system メッセージに固定し、会話ログは messages 配列の中で伸ばしていきます。198,000 トークンは筋 1 本分の場面量なので、要約で口調を引き戻さなくても声が保たれます。
インタラクティブフィクションの 1 章
分岐する物語は、読んでから書く仕事です。数千トークンの状態と経緯を入れて、ひと場面の文章が返ってきます。3 対 1 はまさにその形で、64,000 トークンの上限があれば章を最後まで書き切れます。
1 つのスレッドに NPC の群像
登場人物ごとに system メッセージの一節を与え、user メッセージでは今だれが舞台にいるかを伝えます。すべての NPC が同じリクエストの中で描かれているので、各自が崩れないだけでなく、互いの関係も食い違いません。
プロンプトガイドと実践のヒント
キャラクターは system メッセージに
キャラクター設定、口調、世界のルールは system メッセージへ、場面は user メッセージへ入れます。あとで長さを詰めるとき、削るのは会話ログで、キャラクターは書いたまま残ります。
temperature は作業に合わせて
生き生きとした会話にしたいなら temperature は 1 前後に、整合性の確認や出来事のまとめでは下げます。場面の語調を狭く保ちたいときは、top_p で言葉の選び方をさらに絞れます。
構造化出力と上限
ここには response_format がありません。欲しい JSON スキーマをパラメーターにしたツールを定義し、tool_choice でそのツールを指定して、返ってきた引数を検証してください。64,000 を超える max_tokens は検証で弾かれ、動画パートと音声パートは受け付けません。
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-4.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 リファレンスを参照してください。














