エンドポイント
推論
reasoning パラメーターで推論モデルの思考量を制御し、推論トークンを読み取る方法です。effort と max_tokens の使い分け、プロバイダーごとの違い、レスポンス形式、注意事項、エラーを説明します。OpenAI、Claude、Gemini、DeepSeek などが対象です。
プレイグラウンドで試す推論モデルは、回答する前に考えます。OpenAI の GPT-5 と o シリーズ、拡張思考を備えた Claude、Gemini 2.5、DeepSeek R1、Qwen などが該当します。api14 は単一の reasoning パラメーターを受け取り、それを各プロバイダー固有の設定に変換します。推論トークンは出力トークンとして課金されます。
リクエストパラメーター
| パラメーター | 型 | 説明 |
|---|---|---|
reasoning.effort | string | "minimal"、"low"、"medium"、"high"。OpenAI と Grok のモデルで使われ、それ以外ではトークン予算に変換されます。 |
reasoning.max_tokens | integer | トークン数で指定する正確な思考予算。Anthropic、Gemini、Qwen で使われます。これと effort はどちらか一方だけを使ってください。 |
reasoning.exclude | boolean | モデルは推論を行いますが、推論のテキストはレスポンスに含まれません。 |
reasoning.enabled | boolean | デフォルト設定で推論を有効にします。 |
include_reasoning | boolean | レガシーのスイッチ。reasoning: {} または reasoning.exclude: false と同じです。 |
{
"model": "anthropic/claude-sonnet-4.5",
"messages": [{ "role": "user", "content": "How many r's are in 'strawberry'? Think carefully." }],
"reasoning": { "max_tokens": 2000 },
"max_tokens": 4000
}
max_tokens は、思考と回答の両方を含むため、推論予算よりも大きくする必要があります。
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.chat.completions.create({
"model": "openai/gpt-5-mini",
"messages": [
{
"role": "user",
"content": "Explain vector databases in two sentences."
}
],
"reasoning": {
"effort": "high"
}
});
console.log(result.choices[0].message.content);
レスポンス
推論のテキストは、回答とは別に message.reasoning で返されます。モデルによっては、構造化された reasoning_details も返します。
{
"id": "gen-1760000000-think",
"model": "anthropic/claude-sonnet-4.5",
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "There are 3 r's in \"strawberry\".",
"reasoning": "s-t-r-a-w-b-e-r-r-y: r at position 3, 8 and 9..."
}
}
],
"usage": {
"prompt_tokens": 22,
"completion_tokens": 312,
"total_tokens": 334,
"completion_tokens_details": { "reasoning_tokens": 290 },
"cost": 0.004746
}
}
ストリーミングでは、推論は delta.content のチャンクよりも前に、delta.reasoning のチャンクとして届きます。
注意事項
- OpenAI の o シリーズと GPT-5 のモデルは推論のテキストを返しませんが、
reasoning_tokensには課金されます。 - Claude でのマルチターンのツール使用では、モデルが推論を続けられるように、アシスタントのメッセージで
reasoning_detailsを変更せずに送り返してください。 - 一部のモデル(例:
deepseek/deepseek-r1)は常に推論します。これらにはeffortは適用されません。 - effort を高くすると、コストが増え、時間もかかります。
completion_tokens_details.reasoning_tokensに注意してください。
エラー
Chat Completions と同じです。モデルに対して小さすぎる、または大きすぎる予算を指定すると、上流が 400 を返すことがあります。エラーを参照してください。