【2023年12月版】ChatGPTのAPIの利用料金を解説!使い方でトークン増大で高額費用も
ChatGPTのAPIが日本時間の2023年3月2日に一般公開されて、多くのユーザーが早速ChatGPTのAPIを試しています。
従来からあるOpenAIの文章生成AIの利用料と比較しても、ChatGPTのAPI利用料金は安価で使いやすいです。
ただ、ChatGPTのAPI費用が安いからといっても、使い方によっては思わぬ高額が請求されることもあります。
そこで、ChatGPTのAPIの利用料について解説するとともに、気を付けるべき注意点を紹介します。
(2023年12月22日追記)ChatGPTのAPI利用料金をOpenAIが改訂したため、新しい料金体系「ChatGPTのAPI料金が改訂」に追記しました。
- 1. ChatGPTのAPIが利用可能に
- 2. ChatGPTのAPIの利用料金はいくら?
- 3. (2023年12月追記)ChatGPTのAPI料金が改訂
- 4. ChatGPTのAPIの利用料金の変更点
- 5. OpenAIの文章生成(davinci)の1/10と格安
- 6. ChatGPTのAPIが安いのには理由がある!
- 7. 過去投稿・応答もAPIに含めるとトークン消費増
- 8. やり取りを全てAPIに設定すると料金が高騰するので注意
- 9. 日本語はただでさえトークンを消費しがち
- 10. ChatGPTのAPIのトークン使用量を抑える3つの工夫
- 11. ChatGPTのAPIの利用上限を設定しよう
- 12. まとめ・終わりに
ChatGPTのAPIが利用可能に
日本時間の2023年3月2日にChatGPTのAPIが利用できるようになりました。
待望していたChatGPTのAPIが使えるようになったことで、プログラム経由でChatGPTが使えます。
これによってChatGPTを使ったアプリやサービスを開発したり、既存のアプリにChatGPTを組み込むことがとても簡単になりました。
ChatGPTのAPIの利用料金はいくら?
※(追記)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の利用料金の注意点に繋がります。
(2023年12月追記)ChatGPTのAPI料金が改訂
ChatGPTのモデルアップデートを受けてAPIが公開された2023年3月から、APIの利用料金が改訂されています。
GPT-3.5 Turboの項目にはgpt-3.5-turbo-1106とgpt-3.5-turbo-instructの2種類があります。
調査したところ、ChatGPTに該当するのは「gpt-3.5-turbo-1106」です。
一方、gpt-3.5-turbo-instructはChatGPT登場前に公開していたtext-davinchiに相当します。
モデルによって得意・不得意はありますが、ChatGPTをAPIで利用したい場合はgpt-3.5-turbo-1106を利用するようにしましょう。
ChatGPTのAPIの利用料金の変更点
2023年3月と12月では、ChatGPTのAPI利用料に以下2つの変更点があります。
- 入力/出力で利用単価が異なる料金体系
- 入力の単価が出力の半額に値下げ
それぞれのChatGPTのAPIの料金変更点を解説します。
GPT-4同様に入力/出力の利用単価が異なる料金体系
新しいChatGPTのAPI利用料金では、入力・出力のトークンあたり単価が異なる価格です。
元々ChatGPTのAPIはユーザーが送るプロンプトのトークン単価と、ChatGPTからの応答文のトークン単価は同じでした。
しかし、GPT-4の料金体系に合わせる形でインプットとアウトプットでトークンあたりの料金が異なるの料金体系になりました。
※GPT-4のAPIの利用料金は以下の記事で解説しています。
今後もOpenAIが生成AIを提供すると、インプット/アウトプットによる料金体系になりそうです。
ChatGPTの入力トークンのAPI利用料が半額に値下げ
ChatGPTのAPI利用料金がインプット・アウトプットでは元々同じでしたが、異なる価格帯になりました。
アウトプットはそのまま1000トークンあたり0.002ドルに対し、インプットは1000トークンあたり0.001ドルです。
その結果、入力トークンが安くなったことで、たくさん利用しても、API利用料の増加は少なくなりました。
後述にはChatGPTのAPI利用料を減らすテクニックを紹介していますが、OpenAIが以前よりも利用価格をさげたことで、含める会話を絞っていた場合、以前のやり取りをAPIリクエストで送ることが可能です。
ChatGPTのAPIを利用する場合はAPI利用料値下げはありがたいポイントです。
入力プロンプトの単価が以前より安く
2023年3月に発表されたChatGPTのAPIの利用料金は入力・出力どちらも「1000トークンあたり0.002ドル」でした。
しかし2023年12月時点でのChatGPTのAPIの価格は以下のようになっています。
入力プロンプトの利用料は2023年3月よりも半額の「1000トークンあたり0.001ドル」になりました。
入力プロンプトのトークン利用料が下がった結果、過去の会話履歴を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使用量の上限が決められるので、思わぬ高額が請求されないよう上限設定しておきましょう。
ディスカッション
コメント一覧
まだ、コメントがありません