コスト最適化詳細解説
APIリクエストは何トークン使う?3つのタスクで測定
DeepSeek-V4-Flashの実際の使用量: 短い質問、段落の要約、メールからJSONへの変換、1000リクエストのコスト、自分のプロンプト用スクリプト。

AI APIへの1リクエストのコストを尋ねると、たいてい「場合による」と返ってきます。確かにそうですが、それでは予算を立てられません。そこで3つの日常的なタスクを用意し、2026年10月23日にCheapTokens API経由でDeepSeek-V4-Flashに送り、そのたびにusageフィールドが何と言ったかを記録しました。
手短に言うと、簡単な質問は110トークン、段落の要約は396、メールをJSONに変換すると299でした。以下では各リクエストの内容、返ってきたもの、そしてコストを示します。
簡単な質問#
まずは人々がチャットアシスタントによく尋ねるものから始めました。git mergeとgit rebaseの違いを2、3文で説明するというものです。

質問は23トークン、回答は87トークンでした。まず気づくべきは、返信が質問のほぼ4倍の長さであり、コストがかかるのは出力側だということです。現在のMiniMax-M2.7では、出力100万トークンあたり$0.15、入力は$0.05です。このレートで計算すると、このようなリクエスト1回は$0.000014です。1000回なら$0.0142です。
この正確なリクエストはこちらです。ご自身の画面で数字を確認したい場合はどうぞ:
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.7",
"messages": [
{"role": "user", "content": "What is the difference between git merge and git rebase? Answer in two or three sentences."}
],
"max_tokens": 2048,
"temperature": 0.2
}'カウントはレスポンス末尾のusageブロックにあります。prompt_tokensは送信したもの、completion_はモデルが書いたもの、total_tokensは両方を合わせたものです。
要約、そして読まないトークン#
2つ目のタスク: 短いインシデントレポートを2文に要約する。チームはこうした処理を一日中モデルに通しています。チケット、レポート、長いメールスレッドなどです。プロンプトはこちら:
Summarize this incident report in two sentences.
On Tuesday between 14:05 and 14:50 UTC the checkout API returned errors for about 6% of requests. The cause was a configuration change deployed at 13:58 that lowered the database connection pool from 50 to 5 connections per instance. Under normal load nobody noticed, but when the afternoon traffic peak arrived, requests queued for a free connection and timed out after 30 seconds. The on-call engineer saw the growing p99 latency at 14:12, found the change in the deploy log at 14:31 and rolled it back at 14:44. To prevent a repeat, the pool size is now validated in CI against a minimum value, and an alert fires when more than 20 requests wait for a connection for two minutes.そして回答:
火曜日、データベース接続プールを50から5に減らす設定変更により、午後のピーク時に約6%のリクエストでチェックアウトAPIエラーが発生し、14:44にロールバックされるまで続きました。再発防止のため、プールサイズはCIで検証され、接続待ち時間がしきい値を超えるとアラートが発報されます。
2文、331文字、出力146トークン。これだけのテキストにしては多いと感じ、レスポンスが理由を説明していました。usageにはもう1つフィールドがあり、reasoning_です。回答する前に、モデルは76トークンを使って考えを巡らせました。これらは146の一部であり(入力250 + 出力146 = 合計396)、出力の約半分が回答テキストには含まれない推論に費やされ、他の出力トークンと同様に課金されます。
予算を計画する際に知っておくと良いでしょう。モデルが立ち止まって考えるタスクでは、出力が返ってくるテキストより明らかに大きくなることがあります。このような要約1000回で$0.0344です。
メールを入力、クリーンなJSONを出力#
3つ目のタスク: データベースレコードにする必要がある注文確認メール。

モデルは要求したキーを正確に返し、その周りには何もありませんでした。「Here is your JSON」などはありません。合計はメールと一致し、配達日は2026-11-03として、すでに要求した形式で返ってきました。入力199トークン、出力100トークン。
目立つのは密度です。276文字のJSONに100トークン、一方gitの回答は421文字のプレーンテキストに87トークンでした。引用符、波括弧、カンマもトークンなので、構造化出力は散文より文字あたりのコストが高くなります。このようなメール1000通で$0.025です。
3つを並べて#
テーブルを右にスクロールしてください →
| タスク | 入力トークン | 出力トークン | 1000リクエスト |
|---|---|---|---|
| 簡単な質問 | 23 | 87 | $0.0142 |
| 要約 | 250 | 146 | $0.0344 |
| メールからJSON | 199 | 100 | $0.025 |
コストはこれらのトークン数から現在のMiniMax-M2.7の価格で計算しているため、価格が変わっても正しいままです。
出力はどのタスクでも勝っています。要約でさえ、送った量が返ってきた量より多いにもかかわらずです。つまり、請求額を最も簡単に抑えるレバーは回答の長さです。「2、3文で」や「JSONのみを返す」は実際に効果があります。
規模の目安として: 1日2000件の簡単な質問に答えるサポートボットが、それぞれ最初の質問のようなものだと、MiniMax-M2.7で月に約$0.852かかります。実際のチャットは毎ターン履歴を再送するので、入力は各メッセージごとに増えますが、単発の質問ならそれが請求額のすべてです。
自分のプロンプトで試す#
あなたのプロンプトでは異なる数字になるはずで、それを知るのに1分もかかりません。このスクリプトは各プロンプトを送信し、途中で切れた回答をスキップし、トークン数と1000リクエストのコストを表示します:
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.cheaptokens.dev/v1", api_key=os.environ["CHEAPTOKENS_API_KEY"])
MODEL = "MiniMaxAI/MiniMax-M2.7"
PRICE_IN, PRICE_OUT = 1.00, 4.00 # USD per 1M tokens: example values, use the current ones from the price list
PROMPTS = [
"What is the difference between git merge and git rebase? Answer in two or three sentences.",
# add your own prompts here
]
for prompt in PROMPTS:
r = client.chat.completions.create(
model=MODEL,
messages=[{"role": "user", "content": prompt}],
max_tokens=2048,
temperature=0.2,
)
if r.choices[0].finish_reason != "stop":
print("cut off at max_tokens, raise the limit:", prompt[:40])
continue
tin, tout = r.usage.prompt_tokens, r.usage.completion_tokens
per_1000 = (tin * PRICE_IN + tout * PRICE_OUT) * 1000 / 1_000_000
print(f"{tin} in, {tout} out, 1,000 requests = ${per_1000:.4f} | {prompt[:40]}")現在の価格をPRICE_INとPRICE_OUTに入れてください。MiniMax-M2.7では入力100万トークンあたり$0.05、出力100万トークンあたり$0.15です。最初のプロンプトはテストのものです。トークン数はモデル間で少し異なるので、入力23、出力87と同じ範囲の数字を期待してください。openaiパッケージ(pip install openai)と、CHEAPTOKENS_にキーが必要です。
数字がおかしい場合: finish_は回答がmax_tokensに達したことを意味します(回答が途中で止まる理由)。大きなreasoning_tokensはテキストより大きい出力を説明します。入力と出力の価格の完全な計算式は入力 vs 出力トークンにあります。
始め方#
合計で、入力と出力を合わせて数えると、CheapTokensのMiniMax-M2.7は上記3つのタスクすべてでOpenRouterの参考価格より安いです。180Kのコンテキスト、最大8,192トークンの回答、いつでも同じ価格です。残高をチャージし、キーを作成し、このページの上部にあるcurlリクエストを送信してください。ドキュメントにはキーとベースURLが記載され、DeepSeekページにはモデルカタログ、価格には最新の価格リストがあります。



