3行でいうと
- 3社とも、考えるために使った思考トークンは、画面に見えなくても出力トークンとして課金されます。要約だけが返っても、課金は完全な思考の量です。
- 設定の形は会社ごとに違います。OpenAIはreasoning.effort、Anthropicは適応的思考とeffort、Googleは世代によりthinking_levelまたはthinkingBudgetです。
- 上限の
max_tokensなどには思考も含まれます。小さくすると、見える答えが出る前に打ち切られて、思考代だけ払うことがあります。
この記事は、実際に使って確かめた記録ではありません。この記事は公式の文書や料金ページを読んでまとめたものです。数字は2026年10月22日に確認しました。変わることがあります。
先に結論
- 推論モデルは、答える前に内部で長く考えます。この考えた量が思考トークンで、出力トークンと同じ扱いで課金されます。「見えない」ことと「無料」は別です。
- 考える量を調整する設定は、各社にあります。名前も使えるモデルも違い、同じ「high」でも中身は同じとは限りません。会社をまたいで、同じ値で同じ量を考える、とは考えないほうがよいです。
- 実際の請求は、「入力」+「(見える出力+思考)」で決まります。使ったトークン数は、応答の使用量の欄で確認できます。
前提:何の話か
APIは、アプリの中からAIを呼び出す開発者向けの窓口です。トークンは、AIが読み書きする文字の量を数える単位です。この記事の価格は、特に断らない限り「100万トークンあたり」の米ドルです。
推論モデルは、答えを書く前に、内部で段階的に考える仕組みをもつモデルです。その考えた内容の長さを思考トークン(OpenAIでは reasoning tokens)と呼びます。考える量が多いほど、難しい問題には強くなりますが、時間もお金もかかります。そこで、考える量を指定できるようになっています。
3社の設定の形
| OpenAI | Anthropic(Claude) | Google(Gemini) | |
|---|---|---|---|
| 指定の名前 | reasoning.effort(Responses API)、reasoning_effort(Chat Completions) |
thinking(adaptiveなど)とoutput_config.effort |
Gemini 3系はthinking_level。2.5系はthinkingBudget |
| 値 | モデルによりnone、minimal、low、medium、high、xhigh、max |
effortはlow、medium、high、xhigh、max |
thinking_levelはminimal、low、medium、high(モデルにより一部) |
| 既定値 | GPT-6.1 Sol、GPT-6 Luna、GPT-5.6などはmedium |
多くはhigh。Opus 5.5とHaiku 5.5はmedium |
Gemini 3.1 Proはhigh、3.8 Flashと3.6 Flashはmedium、3.5 Flash-Liteはminimal |
| 思考の見え方 | 生の思考は見えない。要約の依頼方法は、10月22日の文書では見つからず | 要約(summarized)か省略(omitted)。Claude 5系とOpus 4.8/4.7の既定はomitted | 要約を依頼する設定がある |
| 思考の課金 | 出力トークンとして課金 | 完全な思考のトークンで課金(要約ではない) | 出力と思考の合計。完全な思考で課金 |
| 使用量の欄 | usage.output_tokens_details.reasoning_tokens |
usage.output_tokensに含む。thinking_tokensの内訳欄の言及もあり |
thoughtsTokenCount(generateContent)。Interactions APIではtotal_thought_tokens |
各社の中身
OpenAI
公式の推論の文書(Reasoning)によると、次の通りです。
- effortの値:モデルによって違い、
none、minimal、low、medium、high、xhigh、maxのうち、一部だけをサポートします。 - 既定:
gpt-5.5、GPT-6.1 Sol、GPT-6 Sol、GPT-6 Luna、GPT-5.6は、省略するとmediumです。 - モデルごとの制限:GPT-6 Astraに
noneを指定すると、HTTP 400が返ります。GPT-6.1 Solはnoneとminimalの両方を受け付けません。GPT-6.1 Solのモデルのページには「low、medium(既定)、high、xhigh、maxに対応」とあり、GPT-6 Astraのページもlow〜maxの5つを挙げています(Astraの既定値は、モデルのページには書かれていませんでした)。 - 課金:思考トークンは、入力や出力とは別に数えられます。APIでは見えませんが、コンテキストウィンドウ(一度に扱える量)の場所を使い、出力トークンとして課金されます、と書かれています。
- 上限:
max_output_tokensは、思考トークンを含めた、モデルが生成する全体の上限です。上限に達するとstatusがincomplete、incomplete_details.reasonがmax_output_tokensになります。見える出力が1つも出る前に起こりうる、つまり「入力と思考にだけ払って、見える答えが得られない」ことがある、と書かれています。 - 余裕:思考と出力のために、最低でも2万5,000トークンを確保することを、試し始めの目安として勧めています。必須ではなく、プロンプトに合わせて調整してよいとあります。
- 使用量:
usage.output_tokens_details.reasoning_tokens。文書の例は、出力1,186トークンのうち思考が1,024トークンでした。 - 要約:生の思考はAPIで見られません(10月22日に読んだ版にも、そう書かれています)。要約を依頼する
reasoning.summaryは、10月22日に読んだ推論の文書では記述を見つけられませんでした(以前はsummaryパラメータで要約を依頼できる、と読んだ記憶があります)。使う前に、最新の文書で確かめてください。
Anthropic
公式の拡張思考(extended thinking)、思考(thinking)、effortの文書によると、次の通りです。
- 2つの別の操作:
thinkingは、答える前に思考ブロックを出すかどうか(と、その方式)を決めます。effortは、応答全体にどれだけ手間をかけるかを決め、適応的思考では、どのくらいの頻度で、どのくらい深く考えるかにも効きます。文書は、adaptiveはeffortの値ではなく、思考の方式だ、と明記しています。 - 適応的思考:
thinking: {"type": "adaptive"}で、Claudeが要求に応じて、考えるかどうか、どのくらい深く考えるかを決めます。対応は、Opus 5.5、Sonnet 5.5、Haiku 5.5、Fable 5.1、Mythos 5.1、5系、Opus 4.8/4.7/4.6、Sonnet 4.6など。Opus 4.5、Sonnet 4.5、Haiku 4.5ではadaptiveは400エラーで、type: "enabled"とbudget_tokensを使います。 - 思考の既定:Opus 5.5、Sonnet 5.5、Haiku 5.5、Fable 5.1などの5系では、思考は既定でオンです。Opus 4.8/4.7/4.6、Sonnet 4.6では、
adaptiveを指定するまでオフです。 - 手動の思考予算:
thinking: {type: "enabled", budget_tokens: N}は、最小1,024トークン、max_tokensより小さい値にします(インターリーブ思考の例外あり)。予算は「目標」で、厳密な上限ではなく、全体の硬い上限はmax_tokensです。この方式は、Claude 4.6では非推奨(まだ動く)、4.7以降では400エラーで拒否されます。文書は、複雑な作業なら16,000トークン以上から、予算が32,000を超えるならバッチ処理を使うよう勧めています。 - effort:
low、medium、high、xhigh、max。「ほとんどのClaudeは既定がhigh、Opus 5.5とHaiku 5.5はmedium」と書かれています。effortは、厳密なトークン予算ではなく、振る舞いの目安です。低いと、道具の呼び出しも減る傾向があります。思考がオフでも使えます。 - 思考の表示(
display):summarized(思考の要約を返す)は、Opus 4.6/Sonnet 4.6以前の既定です。omitted(思考ブロックの本文は空で、署名のみ)は、Fable 5.1、Mythos 5.1、Opus 5.5、Sonnet 5.5、Haiku 5.5など5系と、Opus 4.8/4.7の既定です。文書は、omittedは遅延を減らすが、コストは減らない、完全な思考に課金される、と書いています。 - 課金:「元のリクエストで生成された完全な思考のトークンに課金され、要約のトークンではない。課金される出力トークンの数は、応答で見えるトークン数と一致しない」と書かれています。
max_tokens:思考トークンはmax_tokensに数えられ、現在のターンで生成される思考をすべて含む厳密な上限です。文書は、思考と本文の両方に足りる値にするよう書いています。- 使用量:拡張思考の文書は、
usage.output_tokens_details.thinking_tokensが「課金された出力トークンのうち、内部の推論の量」を示すと書いています(ストリーミングでは、最後のmessage_deltaイベントにだけ出ます)。
公式文書の適応的思考の例の一部です(この記事では実行していません)。
response = client.messages.create(
model="claude-opus-5-5",
max_tokens=16000,
thinking={"type": "adaptive", "display": "summarized"},
messages=[{"role": "user", "content": "What is the greatest common divisor of 1071 and 462?"}],
)
Google(Gemini)
Geminiの思考の文書(generateContent版とInteractions版)によると、次の通りです。
- Gemini 3系:
thinkingLevel(Interactions APIではthinking_level)。値はminimal、low、medium、highで、モデルごとに対応する値が違います。たとえば Gemini 3.8 Flash はlow、medium、highで、minimalを指定するとエラー(既定はmedium)。Gemini 4 Argonも、generateContent版の文書では同じくminimalでエラーです。Gemini 3.6 Flashはminimalを含む4つに対応し、既定はmediumです。3.1 Pro Previewはlow、medium、highで、未指定ならhigh。3.5 Flash-Liteは未指定でminimalです。Gemini 3.5 Flash(Liteでないもの)と3.7 Flashは、10月22日に読んだ2つの思考の文書の表には載っていませんでした。 - Gemini 2.5系:
thinkingBudget。2.5 Proは128〜32768で、オフにはできません。2.5 Flashは0〜24576で、0でオフ。2.5 Flash-Liteは512〜24576で、0でオフ、-1で動的です。2.5 Pro と Flashの既定は動的(-1)で、Flash-Liteは既定では考えません。 - 既定の考え方:モデルは「動的な思考を既定で行い、考える量を自動で調整する」と書かれています。
- 課金:思考がオンのとき、応答の料金は「出力トークンと思考トークンの合計」です。要約だけが返っても、料金は完全な思考のトークンに基づきます。
- 使用量:generateContentでは
usageMetadata.thoughtsTokenCount。Interactions APIではusage.total_thought_tokens。 - 要約:generateContentでは
includeThoughtsをtrueにすると、partsの中にthoughtフラグ付きで要約が入ります。Interactions APIではthinking_summariesをautoにします。 max_output_tokens:思考トークンを含みます。推論の途中で上限に達すると、finish_reason: MAX_TOKENSで止まり、思考トークンには課金されます。Interactions APIの文書は、上限を下げるよりthinking_levelを下げるよう勧めています。- 思考の署名:Gemini 3系では、関数呼び出しのときに思考の署名を返すことが必須です。履歴を自分で管理するとき(ステートレス)は、思考のブロックを受け取った通りにすべて返します。
数字:料金は「出力」に思考が入る
100万トークンあたり、米ドルです。2026年10月22日確認です。
| モデル | 入力 | 出力(思考を含む) |
|---|---|---|
| Claude Sonnet 5.5 | 2 | 10 |
| Claude Opus 5.5 | 4 | 20 |
| Claude Haiku 5.5(10万トークン以下) | 0.10 | 0.50 |
| OpenAI GPT-6.1 Sol | 2 | 10 |
| OpenAI GPT-6 Astra | 10 | 50 |
| Gemini 3.8 Flash(2026年内) | 0.75 | 3.75 |
| Gemini 3.1 Pro Preview(20万トークン以下) | 2 | 12 |
Geminiの料金表では、出力の行に「(incl. thinking)」(思考を含む)と書かれています。AnthropicとOpenAIの料金表の数字は、別の思考用の単価ではなく、通常の出力単価です。OpenAIのモデルのページには、思考の課金の扱いは書かれていませんでしたが、推論の文書に「出力トークンとして課金」とあります。
同じ質問で、思考がどれだけ請求を変えるか(僕らの計算です)
僕らの計算です。思考の量は、実際の値ではなく、仮の数字です。
OpenAIの文書の例の数字を使う場合:出力1,186トークンのうち、思考が1,024トークンです。GPT-6.1 Solの出力単価は10ドルなので、 - 見える分(162トークン)だけなら:162×10÷100万=0.00162ドル。 - 実際の請求(1,186トークン):1,186×10÷100万=0.01186ドル。
見える答えの約7.3倍です。思考が答えより大きいと、請求は見える文章の量から想像するより、ずっと大きくなります。
仮の例(Claude Sonnet 5.5):見える答えが500トークン、思考が8,000トークンとします。出力単価は10ドルなので、500トークンだけなら0.005ドル、実際は8,500トークンで0.085ドルです。17倍になります。1万回なら、50ドルと850ドルの差です。入力の分は含めていません。
Anthropicの文書では、effortは「厳密なトークン予算ではなく、振る舞いの目安」です。実際の使用量は、応答の使用量の欄で見て、請求を見積もるのが安全です。
選び方・判断の基準
見立てです。次のように考えるのが無難だと思います。
- 簡単な作業(分類、短い抽出、定型の書き換え):effortや思考の水準を低くするか、思考のないモードにします。効果が小さいのに、見えない課金だけが増えるのを避けます。
- 難しい作業(長い推論、複雑なコード、数学):高いeffortが向きます。ただし、
max_tokensを十分に取ります。小さいと、見える答えが出る前に打ち切られます。 - 初めて試す:OpenAIの文書が示す、思考と出力のために2万5,000トークンを確保する、は使いやすい目安です。慣れてから下げます。
- コストが気になる:まず思考の水準を下げ、使用量の欄で実測してから、本番の設定を決めます。「omitted」にしても、課金は減りません(Anthropic)。
- 会社をまたぐ比較:同じ「medium」でも、同じ量を考えるとは限りません。比べるなら、同じ課題で、使用量と正答率を自分で測る必要があります。
よくある失敗・つまずき
max_tokens(またはmax_output_tokens)を小さくしすぎる。思考で使い切り、見える答えがない、または途中で切れる。それでも思考代は課金されます(OpenAI、Googleの文書が明記)。- 思考が見えないので、無料だと思い込む。3社とも課金されます。
- 「要約が短い=安い」と思い込む。要約ではなく完全な思考で課金されます(AnthropicとGoogle)。
- Anthropicの旧式の
budget_tokensを、新しいモデルで使う。4.7以降は400エラー、4.6は非推奨です。 - GPT-6 Astraに
noneを指定する。OpenAIの推論の文書に、HTTP 400と書かれています。GPT-6.1 Solのnoneとminimalは、モデルのページに「サポートしない」とあります。400になるかどうかは、読んだ範囲では書かれていませんでした。 - Gemini 3.8 Flashなどに
minimalを指定する。エラーになります。 - 道具を使う会話で、思考の項目や署名を返し忘れる(OpenAIの推論の項目、Geminiの思考の署名)。
気をつけること
- この記事は、実際に使って確かめた記録ではありません。内容は公式文書の記載です。
- モデルの名前と、対応するeffortや思考の水準は、頻繁に変わります。上の表は、読んだ文書の記載です。使う前に、使うモデルのページで確認してください。
- OpenAIのGPT-6 Astraの既定のeffortは、モデルのページに書かれておらず、確認できていません。推論の文書にある既定の一覧にも名前がありませんでした。
- OpenAIのモデルのページには、推論トークンの課金の書き方がありません。課金の根拠は、推論の文書の記載です。
- Anthropicの拡張思考の文書と、思考の文書とで、使用量の欄の書き方が違います(
thinking_tokensの内訳欄と、output_tokensへの言及)。実際に返る形は、確認できていません。 - 仮の請求例は、思考の量を仮定した計算です。実際の量は、問題とモデルと設定で大きく変わります。
- 価格、モデル名、設定の名前、既定値は、変わることがあります。Gemini 3.8 Flashの価格は2027年1月1日に変わります(料金ページの表示は、入力1.50ドル、出力7.50ドルです)。
出典
- Reasoning models(OpenAI API、OpenAI、2026年10月22日確認)
- GPT-6.1 Sol(OpenAI API、OpenAI、2026年10月22日確認)
- GPT-6 Astra(OpenAI API、OpenAI、2026年10月22日確認)
- Extended thinking(Claude Platform Docs、Anthropic、2026年10月22日確認)
- Thinking(Claude Platform Docs、Anthropic、2026年10月22日確認)
- Effort(Claude Platform Docs、Anthropic、2026年10月22日確認)
- Pricing(Claude Platform Docs、Anthropic、2026年10月22日確認)
- Thinking(Gemini API、Google AI for Developers、Google、2026年10月22日確認)
- Thinking(generateContent、Google AI for Developers、Google、2026年10月22日確認)
- Gemini Developer API pricing(Google AI for Developers、Google、2026年10月22日確認)
- Pricing(OpenAI API、OpenAI、2026年10月22日確認)
更新履歴
-
2026年10月25日 書き方を直しました。
- 前:運営者が使っていないと読める書き方 → いま:「この記事は、実際に使って確かめた記録ではありません」。公式の資料を読んでまとめた記事で、使い心地は書いていない、という意味に直した
-
2026年10月22日 公式の資料を読み直して、次の点を直しました。
- 前:OpenAIは、
summaryパラメータで思考の要約を依頼できる → いま:10月22日の推論の文書ではreasoning.summaryの記述が見つからず、使う前に最新の文書で確かめるよう書いた - 前:GPT-6.1 Solに
noneやminimalを指定すると400エラー → いま:モデルのページは「サポートしない」とだけ書き、400になるかは読んだ範囲に書かれていない(GPT-6 Astraのnoneは400) - 前:Gemini 3.5 Flashの既定は
medium→ いま:表では3.6 Flashの既定がmedium。3.5 Flashと3.7 Flashは、10月22日の2つの思考の文書の表に載っていない - 前:Gemini 3.7 Flashも
minimalを指定するとエラー → いま:その記載をやめ、3.8 FlashとGemini 4 Argonがminimalでエラー、3.6 Flashはminimalを含む4つに対応と書いた - 前:Claudeで思考の既定が省略(omitted)なのは5系 → いま:5系に加えて、Opus 4.8/4.7も既定は省略(omitted)
- 前:OpenAIは、
