ノウハウ

ChatGPTのAPI利用料金比較|最新モデルGPT-4o miniも検証

こんにちは。調和技研の研究開発部に所属している石岡です。

最近ChatGPTのAPIを使っていたのですが、気がつくと案外大きな金額がかかっていることがあります。1回の処理は大した金額ではなくても、繰り返し実験を行ったり、毎日処理を行ったりすると、想像以上に大きな金額になることがあります。もちろん金額は前もって提示されていますが、実際に使った例を確認することで、具体的な費用感をイメージできるようにしたいと思います。

この記事では、GPTのAPIを実際に使ってOpenAIのUsageページで金額を確認し、どのくらいの金額がかかるのかを検証します。特に、先日公開されたGPT-4o miniはその安さが特徴なので、確認していきます。

目次

対象モデルと金額

まずは公開されている料金の確認をします。API料金は、以下の表のようなものが示されていて、モデルによって異なる金額が入力、出力それぞれのトークン数に応じてかかります。

分類
モデル
入力 
出力
コンテキスト長
高性能
GPT-4o
$5/1M token
$15/1M token
128k token
GPT-4 Turbo
$10/1M token
$30/1M token
128k token
GPT-4
$30/1M token
$60/1M token
8k token
安価
GPT-3.5 Turbo
$0.5/1M token
$1.5/1M token
16k token
GPT-4o mini
$0.15/ 1M token
$0.6/1M token
128k token

トークンはLLMが処理の対象とする単位で、ブレも大きいですが英語では概ね1ワードが1トークン程度、日本語では 1文字が0.5~3トークン程度のオーダーになります。また、GPT-4o以降の新しいモデルでは古いモデルとトークンの形式が異なっており、同じ文字列でもトークン数が少なくなります。今回の実験では長いテキストの例として青空文庫の夏目漱石「坊っちゃん(94,410Byte)」を利用しましたが、これはGPT-4oでは90,782 トークン、GPT-4 Turboでは118,097トークンでした。

GPT 4、GPT-4 Turbo、GPT-4oは高性能なモデルで比較的高価。GPT-3.5 TurboとGPT-4o mini安価な代わりに性能は抑えめとなっています。

ここで、機能と価格が必ずしも比例しないことに注意が必要です。高性能モデルの中では、精度は GPT-4o > GPT-4 Turbo > GPT-4 ですが、価格は GPT-4 > GPT-4 Turbo > GPT-4o と、基本的に新しいほど精度が良い上に安くなります。

同様に安価なモデルでは精度がGPT-4o mini > GPT-3.5 Turboで、価格がGPT-3.5 Turbo > GPT-4o miniです。

主に高性能なモデルと安価なモデルで使い分けることになりますが、いずれにしろできるだけ新しいモデルを使うのが良いでしょう。

価格の違いはかなり大きく、上記の中で最も安価なGPT-4o miniと最も高価なGPT-4を比較すると、入力で200倍、出力で100倍の価格差があります。モデルの指定を誤ると2桁も価格が変わってしまうのです。

1万円分使うつもりが、100万円使われてしまうとかなりの違いになってしまうため、モデルの指定は慎重に行う必要があります。

タスクの概要

入力と出力で金額が異なるため、入力が短いものと長いもの、出力が短いものと長いものの組み合わせを想定して、次のようなタスク1〜4を用意しました。また、GPT-4 Turbo、GPT-4o、GPT-4o miniとでは128kトークンまでの入力が許されるため、非常に長い入力の実験としてタスク5を用意しました。

タスク3、4ではGPT-4のコンテキスト長である8kトークンに収まる長さのデータとして、青空文庫から芥川竜之介の「羅生門(7,191Byte)」のテキスト版をダウンロードして利用します。元のファイルはSJISだったため、UTF-8に変換してから読み込みを行いました。

同様にタスク5ではGPT-4 Turboのコンテキスト長128kトークンに合わせて、夏目漱石の「坊っちゃん (94,410Byte)」を利用しました。

タスク番号 入力
出力 タスクの概要 プロンプト例
タスク1
短い 短い シンプルな質問応答 アメリカの初代大統領は誰ですか? 解説は不要です。回答だけお願いします。
タスク2 短い 長い 文章の生成 OpenAIのAPIを用いて、文章を生成する方法について、なるべく詳しくステップごとに丁寧に解説してください。
タスク3 長い 短い 文章の要約 次のテキストを要約してください。 {テキスト 羅生門 7,191Byte}
タスク4 長い 長い 文章の書き換え 次のテキストの漢字部分を全てひらがなに書き換えてください。 {テキスト 羅生門 7,191Byte}
タスク5 とても長い 短い とても長い文章の要約 次のテキストを要約してください。 {テキスト 坊っちゃん 94,410Byte}

結果

上記のタスクを実行した後、OpenAIのUsageページで確認された金額は次のようになりました。 同じプロンプトでも結果の長さが変わることで金額が異なる場合があるため、「出力トークン数」「金額」は正確に同じ値にはなりません。

タスク1: シンプルな質問応答

入力:アメリカの初代大統領は誰ですか? 解説は不要です。回答だけお願いします。 

出力の一例:ジョージ・ワシントンです。

結果:

タスク
モデル
入力トークン数
出力トークン数
金額
タスク1(短い入力、短い出力)
GPT-4o
31
9
<$0.01
GPT-4 Turbo
44
24
<$0.01
GPT-4
44
9
<$0.01
GPT-3.5 Turbo
44
9
<$0.01
GPT-4o mini
31
9
<$0.01

いずれのモデルでも利用料金は$0.01以下となりました。入力、出力ともに短い場合は、1回1円以下で利用できます。

タスク2 :文章の生成

入力:OpenAIのAPIを用いて、文章を生成する方法について、なるべく詳しくステップごとに丁寧に解説してください。

出力の一例:OpenAIのAPIを用いて文章を生成する方法について、以下のステップごとに詳細に解説し ます。

ステップ1: OpenAI APIキーの取得

結果:

タスク
モデル
入力トークン数
出力トークン数
金額
タスク2(短い入力、長い出力)

GPT-4o
40
1,111
$0.01
GPT-4 Turbo
53
969
$0.03
GPT-4
53
719
$0.04
GPT-3.5 Turbo
53
 719
<$0.01
GPT-4o mini
40
1,070
<$0.01

上記の質問で、出力のサイズは700〜1,100トークン程度でした。かかった費用は高性能なモデルで$0.01~0.04、安価なモデルでは$0.01未満という結果になりました。

タスク3 :文章の要約

入力:次のテキストを要約してください。 テキスト: {羅生門 7191Byte を記入}

出力の一例:

Summary:「羅生門」は芥川龍之介の短編小説で、平安時代の京都を舞台に、一人の下人(使用人)が雨やみを待つ間の出来事を描いています。

荒廃した羅生門の下で途方に暮れていた下人は、門の上で老婆が死体の髪の毛を抜いている場面に遭遇します。老婆は髪を鬘にするために抜いていたが、下人に追及されると「生きるためにやむを得ず行っている」と弁明します。

老婆の言い分を聞いた下人は、逆に自分も生きるために道徳心を捨てることを決意し、老婆の着物を剥ぎ取って、夜の闇に消えていきます。

この作品は、人間の逼迫した状況における倫理観の揺らぎや、極限状態での人間の行動を描いています。

結果:

タスク
モデル
入力トークン数
出力トークン数
金額
タスク3(長い入力、短い出力)
GPT-4o
5,999
237
$0.04
GPT-4 Turbo
7,793
314
$0.09
GPT-4
7,793
291
$0.26
GPT-3.5 Turbo
7,793
191
<$0.01
GPT-4o mini
5,999
368
<$0.01

「羅生門」のように短い小説であれば、8k tokenでも全文を収めることができます。

入力長はGPT-4oとGPT-4o miniで5,999 token、それ以外で7,793 token となりました。GPT4-oでは効率よくトークン化されていることがわかります。

金額的にも高性能なモデルの中ではGPT-4oが最も安く$0.04。GPT-4では$0.26と、GPT-4oの6倍以上の金額になっています。

一方で安価なGPT-3.5 TurboとGPT-4o miniでは8kトークン近いデータを入力しても$0.01以下で処理できていることがわかります。

タスク4: 文章の書き換え

入力:次のテキストの漢字部分を「ある日の夕方の出来事です。」→「あるひのゆうがたのできごとです。」のように全てひらがなに書き換えてください。テキスト: {羅生門 7191Byte を記入}

出力:

らしょうもん

あくたがわりゅうのすけ


あるひのくれがたのことである。ひとりのげにん《げにん》が、らしょうもん《らしょうもん》のしたであまやみをまっていた。

    ︙

結果:

タスク
モデル
入力トークン数
出力トークン数
金額
タスク4(長い入力、長い出力)
GPT-4o
6,036
4,096
$0.09
GPT-4 Turbo
7,853
4,096
$0.20
GPT-4
7,853
340
$0.26 ※出力が極端に短い
GPT-3.5 Turbo
7,853
4,096
$0.01
GPT-4o mini
6,036
3,057
<$0.01

GPT-4以外のモデルは出力長が4,096 tokenとなっています。これはAPIの仕様で、出力が4,096 tokenよりも長い場合は返り値にfinish_reason="length"が設定され、返り値としては先頭4,096 tokenのみが得られることになります。返答の続きを入手するには設定を変えて再度APIを実行する必要がありますが、煩雑になるため今回は省略しました。

一方でGPT-4は340 tokenと出力が短い結果となりました。入力を多少変えて複数回実験を行いましたが、入力と出力を合わせて毎回8,193 tokenで途切れることが確認できました。このモデルでは、入出力を合わせて8kトークンまでという制限があると推測されます。

OpenAIのサイト[1]では、入力のトークン数は“CONTEXT WINDOW”として明記されていますが、出力については “4,096 tokens” のように明記されているモデルと、記述がないモデルが混在しています。

タスク3と比べると、入力長はほぼ変わらず出力が長くなったタスクですが、同モデルで比較すると2倍程度の金額になっています。GPT-4でタスク3は$0.04ですが、タスク4では$0.09。出力トークンは入力トークンに比べて2〜4倍高価なため、出力が長くなると金額に与える影響が大きくなります。また、この出力は途中で途切れているため、全体を出力させるために何度もAPI呼び出しを行う場合は更に金額がかさみます。

タスク5 :とても長い文章の要約

入力:次のテキストを要約してください。

{坊っちゃん 94410Byteを記入}

出力の一例:

Summary:

『坊っちゃん』は、主人公の坊っちゃんが東京から四国の田舎町に赴任し、小さな学校で数学教師として勤める物語です。坊っちゃんは東京で遊び呆けていたが、父の死後に生活が変わり、教師の職を得るため四国へと向かいます。彼は正義感が強く、物事への妥協を許さない性格で、新しい土地での生活や学校での人間関係に戸惑いながらも、地元の慣習や上司、生徒との間で数々のトラブルに見舞われます。

結果:   

タスク
モデル
入力トークン数
出力トークン数
金額
タスク5(とても長い入力、長い出力)
GPT-4o
90,782
343
$0.46
GPT-4 Turbo
118,097
587
$1.20
GPT-4o mini
90,782
304
$0.01

入力トークンが長いと処理にも時間がかかり、金額もかさみます。「坊っちゃん」のような長編小説は8k tokenでは収まらず、100k tokenに近い長さになります。

これだけの長さの入力を扱うと、GPT-4 Turboで$1.20と、一度のAPI利用で$1を超えてしまいます。一方でGPT-4o miniでは、$0.01程度とかなり安価に処理を行うことができます。GPT-4o miniは入力が$0.15/ 1M tokenなので、90k tokenで$0.0135となり、Usageページでは小数点第二位よりも小さな桁は表示されないため、$0.01と表示されたと考えられます。

利用用途や頻度に応じた賢いモデル選択をしましょう

これまでの実験結果を表にまとめます。

タスク
モデル
入力トークン数
出力トークン数
Usageページで確認された金額
タスク1(短い入力、短い出力)
GPT-4o
31
9
<$0.01
GPT-4 Turbo
44
24
<$0.01
GPT-4
44
9
<$0.01
GPT-3.5 Turbo
44
9
<$0.01
GPT-4o mini
31 9 <$0.01
タスク2(短い入力、長い出力)
GPT-4o
40
1,111
$0.01
GPT-4 Turbo
53
969
$0.03
GPT-4
53
719
$0.04
GPT-3.5 Turbo
53
719
<$0.01
GPT-4o mini
40 1,070
<$0.01
タスク3(長い入力、短い出力)
GPT-4o
5,999
237
$0.04
GPT-4 Turbo
7,793
314
$0.09
GPT-4
7,793
291
$0.26
GPT-3.5 Turbo
7,793
191
<$0.01
GPT-4o mini
5,999 368

<$0.01

タスク4(長い入力、長い出力)
GPT-4o
6,044
4,096
$0.09
GPT-4 Turbo
7,853
4,096
$0.20
GPT-4
7,853
340
$0.26 ※ 出力が極端に短い
GPT-3.5 Turbo
7,853
4,096
$0.01

GPT-4o mini

6,036 3,057 <$0.01
タスク5(とても長い入力、長い出力)
GPT-4o
90,782
343
$0.46
GPT-4 Turbo
118,097
587
$1.20

GPT-4o mini

90,782 304 $0.01

いずれも一度のAPI利用ですが、$0.01以下の場合から$1.20までと幅広い金額が確認できました。

特に入力データが長い場合は注意が必要で、94kBの「坊っちゃん」を読み込ませたタスク5では、GPT-4o miniは$0.01なのに対してGPT4-Turboでは$1.20と2桁も金額が異なります。

また、出力の長さにも影響があります。GPT-4oモデルを例にすると、短い出力のタスク3 では$0.04でしたが、入力はほぼ同じで出力が長いタスク4では$0.09と2倍程度になっています。

一方でGPT-3.5 TurboとGPT-4o miniはとても安く、入出力が共に長いタスク4でも$0.01程度に収まっています。

実際にAPIを利用する際には、一回だけではなく何十回と繰り返し使用することも多いため、どの程度の料金が想定されるかを把握して上手にモデルの選択をしたいものです。



【参考文献】

[1]Models - OpenAI API

記事を書いた人
石岡卓也

2007年に北海道大学大学院博士課程修了。 2020年より株式会社調和技研でシステム開発や人材育成事業に従事。 複雑ネットワークとしてのSNSの研究や、ニュース記事の分類システム、コンテンツの推薦システムの開発等を経験。現在は言語分野の研究開発を行うとともに、Sapporo AI Laboのプロジェクト「札幌AI道場」において技術指導とチームのメンターを担当している。