ChatGPT APIの料金計算方法|gpt-4o・gpt-4o-miniのコスト比較【2026年版】
この方法で何が解決するか
開発者がChatGPT APIを導入するときに直面する課題は「実際にいくら使うと費用になるのか」という予測の難しさです。APIの料金は複雑で、単純な「1回あたり○円」という固定値ではなく、送受信するテキスト量(トークン数)で変動します。
gpt-4o(最新の高性能モデル)とgpt-4o-mini(低コストの軽量版)どちらを選ぶかで、数倍から数十倍のコスト差が生まれることもあります。本記事では、料金体系の仕組みから実際の計算方法、そしてコスト削減のコツまで、開発者が意思決定に必要な情報をまとめました。
料金体系の基本:トークンとは何か
ChatGPT APIの料金は「トークン」という単位で計算されます。トークンは、テキストを細かく分割した単位で、ざっくり「4文字でトークン1個」という目安です。
料金は以下2つで構成されます:
- 入力トークン: APIに送信するテキスト(ユーザーの質問やシステムプロンプト)の長さ
- 出力トークン: APIから返ってくる回答の長さ
実務的には、出力トークンの方が入力より高い単価に設定されていることが多いです。モデルが「答えを生成する」という処理が、入力を処理するより計算コストがかかるためです。
gpt-4oの料金表
gpt-4oは、OpenAIが2024年以降に公開した最新の高性能モデルです。以下の価格が適用されます。
| 区分 | 価格 |
|---|---|
| 入力トークン | $0.005 / 1M tokens |
| 出力トークン | $0.015 / 1M tokens |
「1M tokens」は100万トークンという意味です。つまり:
- 入力:100万トークンで5ドル
- 出力:100万トークンで15ドル
実際の計算例を見てみましょう。日本語で200文字の質問をして、500文字の回答が返ってきた場合を想定します。
日本語は1文字がおおよそ1.3トークンになるため:
- 入力:200文字 × 1.3 ≒ 260トークン
- 出力:500文字 × 1.3 ≒ 650トークン
- 合計:910トークン
コスト計算:
入力コスト = 260 / 1,000,000 × $0.005 = $0.0000013
出力コスト = 650 / 1,000,000 × $0.015 = $0.0000098
合計 = $0.0000111(約0.15円)
1回のAPIコールで1円以下というわけです。ただし、アプリケーションが多くのユーザーからアクセスを受けると、これが累積して大きな費用になります。
gpt-4o-miniの料金表
gpt-4o-miniは軽量版で、処理速度と精度を制御したモデルです。料金も大幅に安く設定されています。
| 区分 | 価格 |
|---|---|
| 入力トークン | $0.00015 / 1M tokens |
| 出力トークン | $0.0006 / 1M tokens |
gpt-4oと比べると:
- 入力:約33分の1の安さ
- 出力:約25分の1の安さ
同じ例(入力260トークン、出力650トークン)で計算すると:
入力コスト = 260 / 1,000,000 × $0.00015 = $0.000000039
出力コスト = 650 / 1,000,000 × $0.0006 = $0.00000039
合計 = $0.000000429(約0.000006円)
1回でほぼ無視できるコストです。ただし、精度(回答の質)がgpt-4oより落ちる可能性があるため「どのタスクでgpt-4o-miniで十分か」の判断が重要です。
実務的なコスト計算シミュレーション
実際のアプリケーションで月々どの程度費用がかかるか、3つのシナリオで計算してみます。
シナリオ1:チャットボット(月10,000リクエスト、gpt-4o使用)
想定:
- 平均入力:500トークン
- 平均出力:300トークン
- 月リクエスト数:10,000回
計算:
月入力合計 = 10,000 × 500 = 5,000,000トークン
月出力合計 = 10,000 × 300 = 3,000,000トークン
入力コスト = 5,000,000 / 1,000,000 × $0.005 = $25
出力コスト = 3,000,000 / 1,000,000 × $0.015 = $45
月合計 = $70(約9,800円)
シナリオ2:同じチャットボット、gpt-4o-mini使用
同じ条件で、モデルだけgpt-4o-miniに変更:
入力コスト = 5,000,000 / 1,000,000 × $0.00015 = $0.75
出力コスト = 3,000,000 / 1,000,000 × $0.0006 = $1.8
月合計 = $2.55(約360円)
節約効果:$67.45/月(約30倍安い)
ただし、この節約は「gpt-4o-miniの精度で問題ない」という前提での話です。回答の質が落ちて、ユーザー満足度が下がっては本末転倒です。
シナリオ3:大規模な自動処理タスク(月100万リクエスト、gpt-4o-mini使用)
想定:
- 平均入力:100トークン
- 平均出力:200トークン
- 月リクエスト数:1,000,000回
計算:
月入力合計 = 1,000,000 × 100 = 100,000,000トークン
月出力合計 = 1,000,000 × 200 = 200,000,000トークン
入力コスト = 100,000,000 / 1,000,000 × $0.00015 = $15
出力コスト = 200,000,000 / 1,000,000 × $0.0006 = $120
月合計 = $135(約18,900円)
gpt-4oを使った場合:
入力コスト = 100,000,000 / 1,000,000 × $0.005 = $500
出力コスト = 200,000,000 / 1,000,000 × $0.015 = $3,000
月合計 = $3,500(約490,000円)
gpt-4o-miniの節約効果:$3,365/月(約30倍安い)
大規模運用だと、この差は経営判断に直結します。
gpt-4o vs gpt-4o-mini:どっちを使うべき?
選び方の指標を整理します。
gpt-4oを選ぶべき場面
- 高い精度が必須:複雑な推論、専門的な質問への回答、翻訳品質が重要
- ユーザー体験が最優先:エンドユーザー向けのアプリケーション(回答の質が直結する)
- 月のAPIコストが許容範囲:月5万円以上の予算がある、または利用が限定的
実例:
- 医療・法務相談アプリ
- 高度な文章作成支援ツール
- プロダクト向けAIアシスタント機能
gpt-4o-miniを選ぶべき場面
- 定型的なタスク:分類、要約、簡易なコーディング補助
- 大量の自動処理が必要:データ処理、バッチ処理、社内ツール
- コスト最優先:スタートアップやサイドプロジェクト
- 精度の低下が許容できる:間違いがあっても修正可能な業務
実例:
- チャットボット(簡易問答)
- テキスト分類・タグ付けシステム
- 社内ドキュメント要約ツール
- Webスクレイピング後のデータ整形
実際には、ハイブリッド戦略も有効です。複雑なリクエストはgpt-4oで処理し、簡単な質問はgpt-4o-miniで処理するなど、タスクの難度に応じて使い分けることで、コストと品質のバランスを取ることができます。
APIコストの予測と監視の方法
開発段階での予測
OpenAIのWebサイトやAPIドキュメントには「トークン数カウンター」が提供されています。実装前に、想定される入出力テキストをコピペして、トークン数をざっくり把握することが大事です。
目安として、自分が書きそうなテキストをコピペしてカウントすれば、「このアプリなら月いくら?」という概算が5分で出ます。
本番環境での監視
OpenAIダッシュボード(https://platform.openai.com/account/billing/overview)では、リアルタイムの利用状況と費用が表示されます。
毎週チェックして「想定より使ってないか、多いか」を確認しましょう。思わぬ大量リクエストや無限ループで月10万円超になっていた、という話も聞きます。
本番環境での監視設定例
Python SDKを使う場合、以下のような形でAPIコールの結果を記録し、使用量を追跡できます:
from openai import OpenAI
client = OpenAI(api_key="your-api-key")
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "user", "content": "こんにちは"}
]
)
# トークン数と推定コストを取得
input_tokens = response.usage.prompt_tokens
output_tokens = response.usage.completion_tokens
print(f"入力: {input_tokens}トークン")
print(f"出力: {output_tokens}トークン")
# 推定コスト(gpt-4oの場合)
estimated_cost = (input_tokens / 1_000_000 * 0.005) + (output_tokens / 1_000_000 * 0.015)
print(f"このコール: ${estimated_cost:.6f}")
このログを集計して、週単位・月単位で費用を追跡するのが良い習慣です。
JavaScriptを使う場合:
import OpenAI from "openai";
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const response = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "こんにちは" }]
});
const inputTokens = response.usage.prompt_tokens;
const outputTokens = response.usage.completion_tokens;
console.log(`入力: ${inputTokens}トークン`);
console.log(`出力: ${outputTokens}トークン`);
// 推定コスト(gpt-4oの場合)
const estimatedCost = (inputTokens / 1_000_000 * 0.005) + (outputTokens / 1_000_000 * 0.015);
console.log(`このコール: $${estimatedCost.toFixed(6)}`);
コスト削減の実践的なコツ
1. プロンプトの最適化
余計な説明を削ぎ落とし、必要最小限の入力で目的の出力を得る工夫は、トークン数削減に直結します。
悪い例:
あなたはプロの翻訳者です。これからお願いする英文を正確に、かつ自然な日本語に訳してください。
標準的な日本語を使い、ビジネス文書的な雰囲気を保ってください。
意訳ではなく直訳に近い形が理想です。
以下のテキストを訳してください:
Hello, this is a test message.
良い例:
以下の英文を日本語に訳してください:
Hello, this is a test message.
前者はシステムプロンプト的な説明が多く、不要なトークンを浪費しています。後者は簡潔ですが、多くのタスクでは十分です。
2. 回答形式の指定で無駄を削減
APIに「JSON形式で返してください」「100文字以内で」と指定すると、出力トークンを抑制できます。
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{
"role": "user",
"content": """
以下のテキストを分類してください。カテゴリーは「ニュース」「Q&A」「商品レビュー」のいずれかです。
JSON形式で、キー「category」に分類結果を返してください。
テキスト:「このスマートウォッチ、バッテリーが3日持つので気に入ってます」
""".strip()
}
]
)
こうすることで、APIは余計な前置きなく、必要なJSON部分だけを返す傾向が強まります。
3. キャッシング(Context Caching)の活用
gpt-4o・gpt-4o-miniでは「Context Caching」という仕組みが利用できます。これは、同じシステムプロンプトや参考資料を何度も送信する場合、一度キャッシュしておいて、2回目以降の費用を削減する機能です。
詳細はOpenAI公式ドキュメント(https://platform.openai.com/docs/api-reference/chat/create)を参照してください。
4. バッチ処理APIの活用
複数のリクエストをまとめて送信する「バッチ処理API」を使うと、通常の半額で実行できます(ただし数時間の遅延が発生)。
リアルタイムが必要ないバックグラウンドタスク(ログ分析、定期レポート生成など)はバッチAPIで実行するのが効率的です。
つまずきやすいポイントと解決策
「思ったより料金が高かった」
原因:
- システムプロンプトの使い回し:毎回、同じシステムプロンプトを送っている(Context Cachingを使わない)
- 無限ループ:バグで同じリクエストを何度も送信している
- 長いコンテキスト:会話履歴をずっと保持したまま、新しいメッセージを送っている
解決策:
- OpenAIダッシュボードで「API利用状況」を日別に確認し、スパイク日の詳細を調べる
- ログに全APIコールを記録し、1日あたりのコール数・平均トークン数を集計する
- 異常なコール数があれば、該当時間帯のエラーログと照合する
「gpt-4o-miniで精度が足りない」
原因:
- モデルの選択間違い:もともとタスクがgpt-4o向けだった
- プロンプト不足:gpt-4o-miniではプロンプトをより詳細に書く必要がある場合がある
解決策:
- 同じプロンプトでgpt-4oとgpt-4o-miniの出力を比較する(サンプル数十件)
- 精度が必要な部分だけgpt-4oで、簡単な部分だけgpt-4o-miniで処理するハイブリッド運用を検討する
- プロンプト内に「例」(Few-shot Learning)を加える。例が増えると入力トークンは増えるが、回答精度が上がり、出力トークンが短くなることもあります
応用:複雑な料金計算ツール
より正確な月間コストを予測したい場合、スプレッドシートで自動計算するのが便利です。
Google Sheetsの例:
モデル | 入力トークン単価 | 出力トークン単価
gpt-4o | 0.005 | 0.015
gpt-4o-mini | 0.00015 | 0.0006
【シミュレーション】
月リクエスト数: 10000
平均入力トークン: 500
平均出力トークン: 300
月入力合計: =A7 * A8 = 5,000,000
月出力合計: =A7 * A9 = 3,000,000
gpt-4oコスト: =A4 * A11 / 1000000 + A5 * A12 / 1000000
gpt-4o-miniコスト: =B4 * A11 / 1000000 + B5 * A12 / 1000000
実際のシート作成は、自社の運用条件(平均トークン数、月リクエスト数など)を入力すれば、複数モデルの費用が一覧で比較できます。
次のステップ
- クイックスタート:OpenAI APIの無料トライアルで、実際に数回APIを叩いて、トークン数を実感する
- 本格構築:コスト監視ロジックを最初から組み込む。後からでは追跡が難しい
- 運用ノウハウ:3ヶ月運用して、自社アプリケーションの「平均トークン数」「月リクエスト数」を把握する。そこから「月いくら?」という正確な予測ができる
あわせて読みたい
- Claude OpusとSonnetを1つのAPIで連携させる方法|コスト削減&高速化
- Claude API月2ドルで使う方法|curl代理サーバー構築【3ステップ】
- Claude Codeのトークン削減方法【94%コスト削減の5ステップ】