AIコーディング 2026.06.04

ChatGPT APIの料金計算方法|gpt-4o・gpt-4o-miniのコスト比較【2026年版】

タグ:ChatGPT API / 料金 / API設計

この方法で何が解決するか

開発者が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

実際のシート作成は、自社の運用条件(平均トークン数、月リクエスト数など)を入力すれば、複数モデルの費用が一覧で比較できます。

次のステップ

  1. クイックスタート:OpenAI APIの無料トライアルで、実際に数回APIを叩いて、トークン数を実感する
  2. 本格構築:コスト監視ロジックを最初から組み込む。後からでは追跡が難しい
  3. 運用ノウハウ:3ヶ月運用して、自社アプリケーションの「平均トークン数」「月リクエスト数」を把握する。そこから「月いくら?」という正確な予測ができる

あわせて読みたい

参考ソース