はじめに
Claude Opus 5 は Anthropic のフラッグシップのチャットモデルで、ここでは /v1/chat/completions の OpenAI 互換エンドポイント 1 本として提供しています。1,000,000 トークンの枠でこれまでのやり取りをそのまま運び、1 回の返答は最大 128,000 トークンです。
推論の強さは low・medium・high で、既定は medium です。サンプリングはモデル側で固定されているため temperature と top_p は受け付けません。メッセージの内容はテキストと画像で、1 リクエストに最大 128 個のツールを定義でき、返答は Server-Sent Events でストリーミングされます。
主な機能とハイライト
記憶は段落ではなくターンで測る
30 ターン目でも、キャラクターは自分の生い立ち、約束したこと、決してしないと言ったことを覚えているでしょうか。入力 1,000,000 トークンなら、答えは送る内容次第です。履歴をすべてリクエストに入れれば、モデルは言い換えではなく元のせりふを読みます。
返答の上限は 128,000 トークン
1 回の返答に、1 章分、長いレポート、リファクタリング計画の全体が収まります。max_tokens の既定値は 4,096 で、推論も出力として課金されるので、上限は意識して引き上げ、見えている返答より余裕を持たせてください。
サンプリングはモデルが固定
temperature と top_p はこのリクエストに含まれないため、リクエスト本文を実行ごとにそのまま使い回せます。調整するのは推論の強さです。テンポのよい会話には low、伏線や確定した事実を先に突き合わせたいときは high にします。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
messages | はい | 順序付きの会話ターン。内容は文字列、または text と |
max_tokens | いいえ | 返答を 128,000 で抑えます。読み込み枠の 8 分の 1 です。 |
reasoning_effort | いいえ | low / medium / high、既定は medium。書き出す前に伏線と既定の事実を突き合わせてほしいときは high にしてください。 |
stop | いいえ | 最大 4 件の停止シーケンスを、文字列か配列で指定します。モデルがそのいずれかを書いた時点で応答が終わり、一致した文字列そのものは返されません。 1 文字以上 · 1 件以上 · 4 件以内 |
tools | いいえ | 1 リクエストにつき最大 128 個の関数定義。 128 件以内 |
parallel_tool_calls | いいえ | true か false で、既定値は true です。true ではモデルが 1 ターンで複数のツール呼び出しを要求できます。 デフォルト値: |
tool_choice | いいえ | auto / none / required、または呼ぶ関数を名指しするオブジェクト。 |
料金
入力 $4.50 / 出力 $22.50 100 万トークンあたり
ユースケース
数十ターン保たれるペルソナ
会話を書かれたまま送れば、30 ターン後もキャラクターは自分の生い立ち、受け入れたこと、拒むことを覚えています。長いやり取りのほとんどは、要約の層をまったく必要としません。
長いタスクをこなすエージェント
リポジトリ、仕様、ここまでの議論を 1 リクエストで渡し、何から読むかはモデルに任せます。長いロールプレイで試されるのは、多段階のエンジニアリング作業に必要なのと同じ力です。10 ステップ目で、1 ステップ目の判断をまだ覚えているかどうか。
出典の引用が必須のレポート
資料一式をまとめて読み込ませ、各所見に根拠となる箇所の引用を求めます。モデルが読む前に何も切り分けていないので、引用が欠けていれば問題はパイプラインではなく資料の側にあるとわかります。
プロンプトガイドと実践のヒント
履歴はすべて古い順に送る
この枠は、誰かが作ろうとしていた要約の仕組みより大きいのが普通です。過去のメッセージを順番どおり messages 配列に入れ、実際に交わされた言葉をモデルに読ませてください。
人物・舞台・一線は system メッセージに
長いやり取りの中で、system メッセージだけは押し流されることがありません。生い立ち、話し方、越えない一線、人称、時制はここに置き、user メッセージには今のターンだけを入れます。
機械で読む出力はツール呼び出しを強制
このエンドポイントには response_format がなく、返答を先に埋めるために assistant メッセージで会話を終えることもできません。欲しい JSON スキーマをパラメーターにしたツールを定義し、tool_choice でその関数を指定して引数を検証してください。128,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-opus-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 リファレンスを参照してください。














