OpenAI 画像トークンの数え方まとめ(o1系, 4o系, 4.1系)
はじめに
先日GPT-4.1が出ましたね
入力には画像も対応しているということで画像トークンの数え方を見ようと思ってPricingのページを見たら記載どころかデザインが変わってました
(と思ったら下の方に計算機があるけど、4.1系は間違ってる気がする)
一生懸命探したら普通にあったんですが、ついでに画像系トークンの計算を忘れないようにまとめておこうと思います
※探している人はこれ読めば終わりです
画像トークンの計算の仕方
o1,4o系と4.1系で数え方が異なるみたいです
GPT-4.1系
以下のルールです
- 32px × 32px のパッチが何個含まれるか
- パッチが1536個が最大でそれを超える場合は1536個以下になるように画像を拡大縮小する
- パッチの個数 = トークンの個数で最大1536トークン
-
mini
の場合は1.62、nano
の場合は2.46をトークン数にかけたものが最終的なトークン数になる - 課金はテキストトークンと同じ値段
なので1画像でもGPT-4.1なら最大1536トークンしか課金されないみたいですね
例(日本語訳しただけ)
多分全部GPT-4.1の場合
その1 1024 x 1024の画像
- 幅は1024で、
\left\lfloor \frac{1024 + 32 - 1}{32} \right\rfloor = 32 \text{パッチ} - 高さは1024で、
\left\lfloor \frac{1024 + 32 - 1}{32} \right\rfloor = 32 \text{パッチ} - トークンは
32 \times 32 = 1024
よって1024トークン
その2 1800 x 2400の画像
-
幅は1800で、
\left\lfloor \frac{1800 + 32 - 1}{32} \right\rfloor = 57 -
高さは2400で、
\left\lfloor \frac{2400 + 32 - 1}{32} \right\rfloor = 75 -
トークン数は
57 \times 75 = 4275
→ 1536を超えるため縮小が必要 -
収縮率は
\sqrt{ \frac{1536 \times 32^2}{1800 \times 2400} } = \sqrt{ \frac{1572864}{4320000} } \approx 0.603 -
幅:
1800 \times 0.603 = 1086 -
高さ:
2400 \times 0.603 = 1448 -
再スケール係数:
\frac{33}{33.94} \approx 0.97 -
最終的な幅:
1086 \times 0.97 = 1056 -
最終的な高さ:
1448 \times 0.97 = 1408 -
パッチ数:
\frac{1056}{32} = 33, \quad \frac{1408}{32} = 44 -
トークン総数:
33 \times 44 = 1452
o1と4o系
details
がhigh
かlow
かで異なる
ベーストークンとタイルトークンという数値があり、これがモデルごとに異なる
どちらもベーストークンの分のコストがかかり、high
はそれにタイルトークンが処理後の画像サイズごとにかかるイメージ。
-
details
がlow
- 常にベーストークン分だけかかる
-
details
がhigh
- 元のアスペクト比を維持しながら、2048px × 2048pxの正方形に収まるように拡大縮小
- 画像の短辺が768ピクセルになるように拡大縮小
- 画像内の512ピクセルの正方形の数を数えます。各正方形の数×タイルトークン分かかる
- 合計にベーストークンを追加
例(日本語訳しただけ)
detail
:high
)
1024 x 1024の画像(- 1024 は 2048 より小さい → 初期サイズ変更は行われません
- 最短辺は 1024 → 768 x 768 に縮小
- 512px タイルは
\left\lceil \frac{768}{512} \right\rceil^2 = 2^2 = 4 \text{個} - トークンコスト:
(4o)170 \times 4 + 85 = 765
detail
: high
)
2048 x 4096の画像(- 縮小後:1024 x 2048
- 最短辺1024 → 768 x 1536に再縮小
- タイル数:
\left\lceil \frac{768}{512} \right\rceil \times \left\lceil \frac{1536}{512} \right\rceil = 1 \times 6 = 6 - トークンコスト:
(4o)170 \times 6 + 85 = 1105
detail
: low
)
4096 x 8192の画像(- ベーストークンのみ:
トークン (4o)85
ベーストークンとタイルトークンのモデル別表
(ここの計算機を参照)
Model | ベーストークン | タイルトークン |
---|---|---|
4o |
85 | 170 |
4o-mini |
2833 | 5667 |
o1 |
75 | 150 |
o1-pro |
75 | 150 |
4.5-preview |
85 | 170 |
computer-use-preview |
65 | 129 |
(※computer-use-previewのことはあんまり知らないけど、あったので載せてます)
おわりに
これでもう計算できると思うのでコスト計算は楽ちんです
大体合ってると思いますが、合ってなかったら教えてください
以上
Discussion