ChatGPTのAPIの利用料金を詳しく解説!使い方次第でトークン増大で高額費用も
ChatGPTのAPIが日本時間の2023年3月2日に一般公開されて、多くのユーザーが早速ChatGPTのAPIを試しています。
従来からあるOpenAIの文章生成AIの利用料と比較しても、ChatGPTのAPI利用料金は安価で使いやすいです。
ただ、ChatGPTのAPI費用が安いからといっても、使い方によっては思わぬ高額が請求されることもあります。
そこで、ChatGPTのAPIの利用料について解説するとともに、気を付けるべき注意点を紹介します。
ChatGPTのAPIが利用可能に
日本時間の2023年3月2日にChatGPTのAPIが利用できるようになりました。
待望していたChatGPTのAPIが使えるようになったことで、プログラム経由でChatGPTが使えます。
これによってChatGPTを使ったアプリやサービスを開発したり、既存のアプリにChatGPTを組み込むことがとても簡単になりました。
ChatGPTのAPIの利用料金はいくら?
ChatGPTのAPIはトライアルでは無料利用できるものの、有料のAPIです。
ChatGPTの利用料金は、OpenAIのページに「1000トークンあたり0.002ドル」と掲載されています。

※0.002ドルは2023年3月3日時点では日本円で約0.27円と格安です。
トークンとは英語の場合、1単語=1トークンと計算され、カンマやピリオド、クエスチョンなどの記号も1トークンとしてカウントされます。
日本語の場合は1文字が1トークン以上とカウントされ、ひらがなは1トークン、漢字は2,3トークンにカウントされることが多いです。
日本語ではトークンの計算が文字単位である点が後々のChatGPTのAPIの利用料金の注意点に繋がります。
OpenAIの文章生成(davinci)の1/10と格安
ChatGPTのAPIの利用料金は、予想されていたよりもかなり安いとユーザーから評価されています。
その値段は従来のOpenAIに用意されていた文章生成AIのAPIで最も高性能だった、ChatpGPTと同じGPT-3.5系のtext-davinciの1/10です。

OpenAIによると、ChatpGPTのAPIリクエストにかかるコストは2022年12月に比べ、90%近く削減しているそうです。
それゆえのChatGPTのAPIリクエストにかかるコストを低減できています。
ChatGPTのAPIが安いのには理由がある!
ただ、ChatpGPTのAPIが安いからと言って、浮かれていてはいけません。
ChatpGPTがこれだけ安いのには理由があるからです。
きちんとChatpGPTのAPIの特性を理解していないと思わぬ落とし穴にハマりかねません。
過去投稿・応答もAPIに含めるとトークン消費増
ChatGPTのAPIではやり取りの文脈に沿った応答文が返ってきます。
文脈に沿った回答をするためには、過去やり取りした投稿文とChatGPTの応答文をAPIの messagesパラメータにセットが必要です。
1回目の応答は投稿文1つですが、2回目の応答では、以下3つのメッセージをmessagesパラメータにセットしてリクエストします。
- 1回目の投稿文
- 1回目の応答文
- 2回目の投稿文
やり取りを重ねるごとに、文脈に沿った回答をもらうために設定するmessagesパラメータが増大します。
ChatGPTのAPIの課金単位であるトークンはアウトプットである応答文だけでなく、インプットの投稿文も対象です。

上記のケースでは、赤枠が入力文に対するトークン数、青枠が応答文に対するトークン数です。
1文ずつのトークン数は少ないものの、過去のやり取りが増えたことで、合計トークン数が増加しています。
やり取りを全てAPIに設定すると料金が高騰するので注意
前述した通り、ChatGPTのAPIは文脈に沿った回答するように、過去のやり取りを含めると、入力で消費するトークンが増えていきます。
そうしたChatGPTのAPI仕様と料金体系から、ChatGPTのAPIのプログラムを作る際は注意が必要です。
もし、過去のやり取りを全てAPIに含める仕様でコードを記述すると、どんどん入力メッセージのトークン使用量が増大していきます。
その結果、何度もやり取りが続くほど、API使用料が高騰します。
最終的にmessagesのパラメータのサイズ上限まで到達すると、1回のリクエストで想定以上の料金がかかります。
そのため、ChatGPTのAPIを利用する際は何も考えずに過去のやり取りを含める実装は避けましょう。
日本語はただでさえトークンを消費しがち
ChatGPTの課金単位であるトークンは前述した通り、英語では1単語=1トークンです(カンマやピリオドも1トークン)。
しかし日本語の場合、ひらがなは1文字が1トークン以上、漢字だと1文字2,3トークンになります。

このように日本語でChatGPTのAPIを使っていると、英語と比較してもトークンの消費量は多いです。

上記のGASでChatGPTのAPIをリクエストした結果の応答文でも500を超えるトークンを消費しています。
こうしたトークン消費が激しい日本語+過去のやり取りを設定が利用料金の高額化の要因です。
ChatGPTのAPIのトークン使用量を抑える3つの工夫
ChatGPTのAPI利用でトークン使用量を抑えるには3つの工夫ポイントがあります。
- 過去のやり取りは直前〇回までと設定
- APIのmax_tokensのパラメータ上限を設定
- 日本語ではなく英語に翻訳してAPIリクエスト
それぞれの工夫ポイントについて解説していきます。
①過去のやり取りは直前〇回までと設定
ChatpGPTとの過去やり取りをAPIのmessagesパラメータに全て追加していくと、入力トークンがとんでもない量に増えていきます。
そのため、過去のやり取りとしてAPIのmessagesに含めるのは◯回までと制限しましょう。
それ以前のやり取りに応じた応答は得られませんが、過去3回分のやり取りがあれば、一定の文脈に沿った回答が可能です。
②APIのmax_tokensのパラメータ上限を設定
APIの応答結果のトークン数の上限をmax_tokensのパラメータで設定しておきます。
max_tokensで応答文の量を減らせば、過去やり取りを含めても入力トークン数を少なくすることが可能です。
max_tokensが小さいと回答結果がすべて返ってこないことがありますが、その際には文脈に沿った回答機能を使い、続きを促しましょう。
③日本語ではなく英語に翻訳してAPIリクエスト
英語は1単語あたり1トークンなのに対し、日本語は1文字が1トークン以上で、漢字などは3トークンになることもあります。
日本語で応答するだけで、英語よりもかなりのトークンを消費する仕様になっています。
そこで、日本語をそのままChatpGPTのAPIでリクエストするのではなく、英語に変換して送ります。
Google Apps Script(GAS)ではLanguageAppを使えば、日本語⇔英語の翻訳が可能です。
日本語の投稿を英訳してAPIリクエストし、応答結果の英語を和訳すれば、APIリクエストでは英語でのやり取りになります。
ChatGPTのAPIの利用上限を設定しよう
なお、ChatGPTの APIも含めたOpenAIの APIには利用上限が設定可能です。
利用上限を設定しておけば、想定以上のトークンが利用されてAPI利用料が膨大になる事態を防ぐことができます。
ただ、利用上限に到達すると、応答結果が返ってこなくなり、サービスとしての継続ができなくなります。
そのため、ChatGPTのAPI使用量を許容範囲に収めるために、トークン消費を節約する工夫が大切です。
まとめ・終わりに
今回、ChatGPTのAPIの利用料金について説明するとともに、注意点やトークンの節約方法を紹介しました。
ChatGPTのAPIは入力文と出力文のトークン数で料金が計算される課金体系です。
従来のOpenAIの文章生成AI(text-davinci)よりもChatGPTのAPIは1/10ほどと安価になっています。
それゆえ、安くChatGPTをAPI経由で使えると感じますが、注意が必要です。
ChatGPTの強みである文脈に沿った回答は、過去のやり取り(投稿文+応答文)も含めるため、入力文のトークン数が増大します。
さらに1単語=1トークンの英語に比べ、日本語は同じ文字数だと2~3倍近いトークン消費量になり、その分API使用量も高いです。
それゆえに過去のやり取りに含める回数やトークンの上限などの工夫が求められます。
OpenAIのAPI管理画面では、API使用量の上限が決められるので、思わぬ高額が請求されないよう上限設定しておきましょう。
ディスカッション
コメント一覧
まだ、コメントがありません