モデルの呼び出し
Claude の HTTP 400:temperature 非対応エラーを解決するには?
Claude が temperature、top_p、top_k を拒否する場合の対処方法。サンプリング項目を削除し、クライアント、SDK、ヘルスチェックが追加する既定値を確認します。
どのようなエラーですか?
Claude へのリクエストで、次のようなエラーが返ることがあります。
HTTP 400: claude-haiku-5-5 does not support non-default temperaturetop_p や top_k がエラーに表示される場合もあります。これらのサンプリングパラメータは、ランダム性や候補トークンの範囲を調整します。送信した設定がモデルまたは API バージョンに対応していないことを示します。
リクエストから temperature、top_p、top_k を削除してください。温度を既定値に戻すだけでは不十分です。
なぜ発生しますか?
- モデルの制限:Claude Haiku 5.5 などの新しいモデルは、思考を無効にしていても既定値以外のサンプリング値を拒否します。公式のサンプリング規則を参照してください。
- API バージョンの制限:Anthropic Messages API の
2026-10-21以降では、temperature: 1.0を含め、値に関係なくこれらの項目が拒否されます。公式の移行ガイドを参照してください。
規則はモデルと API によって異なり、すべてに共通する温度設定はありません。OpenAI-compatible の呼び出しでも、非対応の項目を削除してください。このエラーを直すために anthropic-version を追加・変更しないでください。
解決手順
- モデルまたはプロバイダー設定でカスタムサンプリングを無効にするか、リクエスト JSON から該当する項目を削除します。
null、空文字列、既定の数値を送っても、項目を省略したことにはなりません。 - SDK ラッパー、共通の既定値、モデルのプリセット、ヘルスチェック用スクリプトを確認します。設定画面だけでなく、実際に送信されるリクエスト本文を確認してください。
- クライアントが項目の入力を必須にしている場合は、更新するか、項目を省略できる設定方法を使います。複数モデルを扱うアプリでは、影響を受けるリクエストだけを変更します。
- 設定を保存し、短いテキストでテストします。テストは実際の使用量に応じて課金されます。同じ無効なパラメータのまま繰り返し送信しないでください。
リクエスト本文の例
以下の本文にはサンプリング項目がありません。メッセージを自分のタスクに置き換え、使用する API の Base URL と認証方式を維持してください。
{ "model": "claude-haiku-5-5", "max_tokens": 4096, "messages": [ {"role": "user", "content": "Reply with only: OK"} ]}- Anthropic Messages:Base URL は
https://bettertoken.ai、リクエストパスは/v1/messagesです。BetterToken API Key をx-api-keyに設定します。 - OpenAI Chat Completions:Base URL は
https://bettertoken.ai/v1、リクエストパスは/chat/completionsです。Authorization: Bearer <BETTERTOKEN_API_KEY>を使用します。
共通設定によってサンプリング項目が再び追加されないことを確認してください。回答の形式、長さ、口調はプロンプトで指定します。
まだエラーが出る場合
新しいエラーの全文を読み、同じパラメータを指しているか確認してください。サポートには Model ID、クライアント名とバージョン、API パス、タイムゾーン付きの発生時刻、リクエスト ID(ある場合)、機密情報を除いたリクエスト項目を伝えてください。BetterToken API Key、認証ヘッダー、私的な会話は送らないでください。

