Global API
← Back to Blog

トークン使用量の理解:AI API課金の開発者ガイド

2026-05-18 — by Global API Team

トークン使用量の理解:AI API課金の開発者ガイド
tokensbillingguideapi-costtiktokentokenizerbest-practicesguide

トークン使用量の理解:AI API課金の開発者ガイド

「100万トークンあたり$0.25」は安く聞こえます——あなたのチャットボットが毎月2億トークンを消費しており、それを計画していなかったことに気づくまでは。

トークンベースの課金はAI APIの普遍的な価格モデルですが、驚きに満ちています:同じ英語の文が日本語では3倍のコストになり、コーディングタスクでの単純な「yes」が400トークンを消費し、推論モデルは目に見えない数千のトークンを静かに消費します。

このガイドでは、トークン使用量を理解し、コストを正確に見積もり、課金の驚きを回避するために必要なすべてを網羅します。


トークンとは正確には何か?

トークンはLLMが処理するテキストの最小単位です——おおよそ単語の断片です。「unbelievable」という単語は["un", "believe", "able"]の3つのトークンにトークン化される可能性があります。「cat」という単語は通常1トークンです。

トークン vs 文字数 vs 単語数

| テキスト | 文字数 | 単語数 | トークン数(GPTトークナイザー) | |------|-----------|-------|----------------------| | "Hello" | 5 | 1 | 1 | | "unbelievable" | 12 | 1 | 3 | | "The quick brown fox" | 19 | 4 | 4 | | "こんにちは"(日本語) | 5 | 1 | 5 | | "print('hello')" | 14 | 1 | 7 |

経験則:1トークン ≈ 0.75英単語 ≈ 4文字。ただし、これは言語やコンテンツの種類によって大きく異なります。

トークン化が請求書に重要な理由

異なるモデルは異なるトークナイザーを使用します。GPT-4oとDeepSeekはBPE(Byte-Pair Encoding)トークナイザーの変種を使用していますが、それらの語彙は異なります。GPT-4oで100トークンのプロンプトがDeepSeek V4 Flashでは120トークンになる可能性があります——これは数百万のリクエストにわたって複利で効いてくる20%の違いです。


AI APIがトークンを数えて課金する方法

すべてのAPI呼び出しは2つの数値に基づいて課金されます:

  1. 入力トークン:あなたが送信するすべて——システムプロンプト、会話履歴、ユーザーメッセージ
  2. 出力トークン:モデルが生成するすべて——停止シーケンスなどの見えないトークンを含む

課金計算式

コスト = (入力トークン × 入力レート) + (出力トークン × 出力レート)

Global API経由のDeepSeek V4 Flash(定額 $0.25/100万)の例:

プロンプト: 800トークン
レスポンス: 500トークン
合計: 1,300トークン

コスト = 1,300 × ($0.25 / 1,000,000) = $0.000325

小さく見えますよね?では規模を拡大しましょう:1日10万API呼び出し = $32.50/日 = $975/月。これはシステムプロンプト、会話履歴、推論トークンを含まない数字です。

Global APIが定額制を採用する理由

従来のAIプロバイダーは入力トークンと出力トークンに異なるレートを請求します(多くの場合、出力は3〜5倍高い)。これによりコスト見積もりが予測不能になります——呼び出し後に出力長が判明するからです。

Global APIはモデルごとに定額制を採用しています:入力と出力の両方のトークンに同じレートです。これによりコスト見積もりがシンプルになります:

| モデル | 定額 / 100万トークン | 1Kトークン呼び出しコスト | |-------|----------------------|-------------------| | GA-Economy | $0.125 | $0.000125 | | Qwen3-8B | $0.01 | $0.00001 | | DeepSeek V4 Flash | $0.25 | $0.00025 | | GLM-5 | $1.92 | $0.00192 | | MiniMax M2.5 | $1.15 | $0.00115 | | Kimi K2.5 | $3.00 | $0.003 |

すべての料金を見る


トークンのカウント:ツールとコード

オプション1:tiktoken(Python)

送信前にトークンをカウントする最も正確な方法:

import tiktoken

# GPTファミリーのトークナイザー(ほとんどのOpenAI互換モデルで動作)
encoding = tiktoken.get_encoding("cl100k_base")

def count_tokens(text: str) -> int:
    return len(encoding.encode(text))

# システムプロンプト
system = "You are a helpful assistant. Answer concisely."
print(f"System prompt: {count_tokens(system)} tokens")

# ユーザーメッセージ
user = "Explain quantum entanglement in simple terms."
print(f"User message: {count_tokens(user)} tokens")

# 会話履歴
history = [
    {"role": "system", "content": system},
    {"role": "user", "content": user},
    {"role": "assistant", "content": "Imagine two coins that always land the same way..."},
    {"role": "user", "content": "Can we use this for communication?"},
]
total = sum(count_tokens(m["content"]) for m in history)
print(f"Full conversation: {total} tokens")

オプション2:JavaScript(js-tiktoken)

import { encodingForModel } from "js-tiktoken";

const enc = encodingForModel("gpt-4");

function countTokens(text) {
  return enc.encode(text).length;
}

const messages = [
  { role: "system", content: "You are a helpful assistant." },
  { role: "user", content: "What is a token in LLM APIs?" },
];

let total = 0;
for (const msg of messages) {
  // OpenAIはメッセージごとにフォーマット用に約4トークンを追加
  total += countTokens(msg.content) + 4;
}
total += 2; // プライマートークン

console.log(`Estimated tokens: ${total}`);

オプション3:ビルトイン使用量データ(最も信頼性が高い)

すべてのAPIレスポンスには実際のトークン数が含まれています:

import openai

client = openai.OpenAI(
    api_key="a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
    base_url="https://global-apis.com/v1",
)

response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "Hello"}],
)

usage = response.usage
print(f"Prompt tokens: {usage.prompt_tokens}")
print(f"Completion tokens: {usage.completion_tokens}")
print(f"Total tokens: {usage.total_tokens}")

開発者が驚く隠れたトークンコスト

1. システムプロンプト税

毎回のリクエストで送信される500トークンのシステムプロンプトはすぐに積み上がります:

500トークン × 10万リクエスト/日 × 30日 = 月間15億トークン
$0.25/100万トークンの場合:$375/月 — システムプロンプトだけで。

対策:システムプロンプトを100トークン未満に保ちます。簡潔な指示を使用します。必要な場合のみ展開するテンプレートベースのシステムプロンプトを検討します。

2. 会話履歴の蓄積

会話の各ターンで完全な履歴が次のリクエストに追加されます:

ターン1: 100トークン(ユーザー) + 200トークン(アシスタント) = 300トークン
ターン2: 300(履歴) + 100(新規ユーザー) + 300(アシスタント) = 700トークン
ターン3: 700 + 100 + 300 = 1,100トークン
ターン10: 3,100 + 100 + 300 = 3,500トークン

10ターン後、各リクエストのコストは最初の10倍になります。

対策:履歴を直近Nターンに制限します。古いメッセージを安価なモデルで要約します:

def trim_history(messages: list[dict], max_turns: int = 6) -> list[dict]:
    """直近N組のユーザー-アシスタントペアのみを保持します。"""
    # システムメッセージは常に保持
    system = [m for m in messages if m["role"] == "system"]

    # 直近N件の非システムメッセージを保持
    non_system = [m for m in messages if m["role"] != "system"]
    recent = non_system[-(max_turns * 2):]

    return system + recent

3. 推論トークンのオーバーヘッド(DeepSeek R1、o1、QwQ)

推論モデルは最終的な回答を生成する前に内部の「思考」トークンを生成します。これらは使用量にカウントされますが、多くの場合APIレスポンスから隠されています:

# Global API経由のDeepSeek R1
response = client.chat.completions.create(
    model="deepseek-r1",
    messages=[{"role": "user", "content": "Solve this: 345 × 678"}],
)

# レスポンスは50トークンの可視出力に見えるかもしれませんが、
# モデルは内部的に2,000以上の推論トークンを消費しました
print(f"Billed tokens: {response.usage.total_tokens}")
# 課金トークン: 2,312 — 50ではありません!

ルール:推論モデルは、タスクが本当に必要な場合にのみ使用します。単純な計算には標準モデルを使用します。R1はマルチステップロジックや難しい問題のために取っておきます。

4. 非英語言語

LLMは非英語テキストを効率的にトークン化できません:

| テキスト | 言語 | トークン数 | |------|----------|--------| | "Hello, how are you today?" | 英語 | 7 | | "こんにちは、今日はお元気ですか?" | 日本語 | 15 | | "你好,你今天好吗?" | 中国語 | 13 | | "Привет, как дела сегодня?" | ロシア語 | 18 |

中国語のチャットボットは英語のものより1メッセージあたり約2倍のコストがかかります。多言語ユーザーに対応する場合は、それに応じて予算を組みます。


トークンコスト見積もりツールの構築

導入前に使用できる完全なコスト見積もりツールです:

# cost_estimator.py
import tiktoken

MODEL_PRICING = {
    # 定額制(Global API) — $/100万トークン
    "deepseek-v4-flash": 0.25,
    "deepseek-v3.2": 0.378,
    "deepseek-r1": 2.50,
    "qwen3-235b-a22b": 1.82,
    "qwen3-8b": 0.01,
    "glm-5": 1.92,
    "glm-4-9b": 0.01,
    "kimi-k2.5": 3.00,
    "minimax-m2.5": 1.15,
    "ga-economy": 0.125,
    "ga-standard": 0.20,
    "ga-express": 0.25,
}

def estimate_monthly_cost(
    model: str,
    daily_requests: int,
    avg_prompt_tokens: int,
    avg_completion_tokens: int,
) -> dict:
    """予想される使用量に基づいて月間APIコストを見積もります。"""
    rate = MODEL_PRICING.get(model, 0.50)
    total_tokens_per_call = avg_prompt_tokens + avg_completion_tokens
    daily_tokens = daily_requests * total_tokens_per_call
    monthly_tokens = daily_tokens * 30

    cost_per_call = (total_tokens_per_call / 1_000_000) * rate
    monthly_cost = (monthly_tokens / 1_000_000) * rate

    return {
        "model": model,
        "rate_per_million": rate,
        "daily_requests": daily_requests,
        "avg_tokens_per_call": total_tokens_per_call,
        "cost_per_call": round(cost_per_call, 6),
        "daily_tokens": daily_tokens,
        "monthly_tokens": monthly_tokens,
        "monthly_cost": round(monthly_cost, 2),
    }

# 例:カスタマーサポートチャットボット
result = estimate_monthly_cost(
    model="deepseek-v4-flash",
    daily_requests=5000,
    avg_prompt_tokens=600,
    avg_completion_tokens=300,
)

print(f"Model: {result['model']}")
print(f"Cost per call: ${result['cost_per_call']}")
print(f"Monthly cost: ${result['monthly_cost']}")
# Model: deepseek-v4-flash
# Cost per call: $0.000225
# Monthly cost: $33.75

モデルを横並びで比較

def compare_models(daily_requests: int, prompt_tokens: int, completion_tokens: int):
    """モデル間の月間コストを比較します。"""
    print(f"{'Model':<25} {'Rate/M':>8} {'$/Call':>8} {'$/Month':>10}")
    print("-" * 55)

    for model, rate in sorted(MODEL_PRICING.items(), key=lambda x: x[1]):
        result = estimate_monthly_cost(model, daily_requests, prompt_tokens, completion_tokens)
        print(
            f"{model:<25} ${rate:>6.3f} "
            f"${result['cost_per_call']:>7.5f} "
            f"${result['monthly_cost']:>9.2f}"
        )

# 10,000リクエスト/日、500プロンプト + 300出力
compare_models(10000, 500, 300)

出力例:

Model                     Rate/M   $/Call    $/Month
-------------------------------------------------------
qwen3-8b                  $0.010  $0.00001     $2.40
glm-4-9b                  $0.010  $0.00001     $2.40
ga-economy                $0.125  $0.00010    $30.00
ga-standard               $0.200  $0.00016    $48.00
deepseek-v4-flash         $0.250  $0.00020    $60.00
ga-express                $0.250  $0.00020    $60.00
deepseek-v3.2             $0.378  $0.00030    $90.72
minimax-m2.5              $1.150  $0.00092   $276.00
qwen3-235b-a22b           $1.820  $0.00146   $436.80
glm-5                     $1.920  $0.00154   $460.80
deepseek-r1               $2.500  $0.00200   $600.00
kimi-k2.5                 $3.000  $0.00240   $720.00

最も安価なもの($2.40/月)と最も高価なもの($720/月)の差は300倍です。タスクに適したモデルを選択することが、AIコストに対する最大のレバレッジです。


3つの一般的な課金シナリオ(と実際のコスト)

シナリオ1:週末プロジェクトのチャットボット

モデル: DeepSeek V4 Flash ($0.25/100万)
使用量: 50会話/日、各平均8ターン
ターン: system(200) + user(100) + assistant(300) = 平均600
合計: 50 × 8 × 600 = 240,000トークン/日 = 720万/月
コスト: 7.2 × $0.25 = $1.80/月

判定: クレジットカードの明細で気づくことはないでしょう。

シナリオ2:SaaSプロダクト(1万DAU)

モデル: GA-Standard ($0.20/100万)
使用量: 10,000ユーザー、各平均5クエリ
ターン: system(300) + history(500) + user(200) + assistant(400) = 平均1,400
合計: 50,000 × 1,400 = 7,000万トークン/日 = 21億/月
コスト: 2,100 × $0.20 = $420/月

判定: 妥当です。キャッシングを追加すれば約$250に削減できます。

シナリオ3:AIコーディングアシスタント(1万人の開発者)

モデル: MiniMax M2.5 ($1.15/100万) + Kimi K2.5 ($3.00/100万)
使用量: 10,000開発者、各20リクエスト
構成: 70% M2.5(単純)、30% K2.5(複雑)
ターン: 平均1,200(コードのコンテキストが多い)
合計: 200,000 × 1,200 = 2.4億トークン/日 = 72億/月
コスト (M2.5): 5,040 × $1.15 = $5,796
コスト (K2.5): 2,160 × $3.00 = $6,480
合計: $12,276/月

判定: 重要です。階層型ルーティング + セマンティックキャッシュを検討してください。

今日すぐできるトークン使用量削減の即効策

  1. システムプロンプトを削減 — 削減した100トークンごとに、100 × リクエスト数 × 30日分の課金トークンが減少します
  2. 会話履歴を制限 — チャット全体を送信せず、直近6ターンを保持します
  3. max_tokensを使用 — 出力トークンを制限して、暴走レスポンスが予算を圧迫するのを防ぎます
  4. エンドポイントごとに使用量を追跡 — API呼び出しにメタデータをタグ付けして、どの機能がトークンを消費しているか特定します
  5. モデルを適切に選定 — 「hello world」にはKimi K2.5は必要ありません

キャッシング、プロンプト圧縮、階層型ルーティングを含む完全なコスト最適化戦略については、マルチモデルコスト最適化ガイドをご覧ください。


トークン使用量の追跡を始めましょう

Global APIは、リアルタイムのトークン使用量ダッシュボード、モデル別コスト追跡、コスト見積もりを予測可能にする定額制を提供します。驚きはありません。

Article Series

Part of AI API Cost Optimization Guide

Cut your LLM costs by 50-90% — model selection, caching, prompt optimization, and smart routing strategies.

  1. 📖AI API Cost Optimization Guide← Start here
  2. 01AI API Cost Comparison 2026: GPT-4o vs Claude vs DeepSeek vs Gemini
  3. 02Cheap LLM APIs for Startups: 2026 Buyer's Guide
  4. 03Cheapest DeepSeek API in 2026: Complete Buying Guide
  5. 04best-free-ai-apis-2026
  6. 05top-10-free-ai-models-2026
  7. 06best-ai-api-startups-2026
  8. 07global-api-vs-openrouter-vs-together-ai
  9. 08ga-economy-vs-gpt-4o-mini
  10. 09optimize-multi-model-ai-api-costs
  11. 10understanding-token-usage-ai-api-billingYou are here
  12. 11migrate-openai-guide

Related Articles

Cheap LLM APIs for Startups: 2026 Buyer's GuideHow to Migrate from OpenAI to DeepSeek in 10 Minutes (Complete Guide)OpenAI API Alternative 2026: Top 10 Cheapest Options (Tested & Ranked)

Start Building with Global API

100 free credits on signup. 180+ AI models, one API key. PayPal accepted.

View Pricing →

© 2026 Global API. All rights reserved.