For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
メインナビゲーション
Theme

画像生成と画像認識

画像の内容を分析したり、画像を生成したりする方法を学びます。

概要

近年の言語モデルは、入力された画像を処理して内容を分析できます。この機能を画像認識と呼びます。GPT Image モデルは、テキストや画像を入力として、新しい画像を作成したり、既存の画像を編集したりできます。

画像を分析するか生成するかに応じて、エンドポイントを選んでください。

API 対応する用途
Responses API 画像の分析、または画像生成ツールによる画像の生成と編集
Images API 画像の生成と出力。必要に応じて画像を入力として使用可能
Chat Completions API 画像の分析とテキスト応答の生成

各モデルが対応する入出力の種類については、モデル一覧をご覧ください。

画像の生成と編集

Images API でテキストから画像を生成したり、既存の画像を編集したりするには、gpt-image-2.5-sunburst を選びます。Responses API では、画像生成ツールに対応する主系列のモデルを選びます。使用する GPT Image モデルはツールが選択します。

Responses API による画像生成
from openai import OpenAI
import base64

client = OpenAI()

response = client.responses.create(
    model="gpt-6-astra",
    input="Generate an image of gray tabby cat hugging an otter with an orange scarf",
    tools=[{"type": "image_generation"}],
)

# Save the image to a file
image_data = [
    output.result
    for output in response.output
    if output.type == "image_generation_call"
]

if image_data:
    image_base64 = image_data[0]
    with open("cat_and_otter.png", "wb") as f:
        f.write(base64.b64decode(image_base64))

画像生成について詳しくは、画像生成ガイドをご覧ください。

現実世界の知識を活用した画像生成

GPT Image モデルは、参照画像がなくても現実世界の知識を活用できます。たとえば、半貴石を並べた飾り棚をプロンプトで指定すると、アメジスト、ローズクォーツ、ヒスイなど、それぞれの石を見分けられる画像を生成できます。

画像の分析

画像認識に対応したモデルを使うと、画像の内容を説明したり、画像内の文字を読み取ったり、物体、形、色、質感についての質問に答えたりできます。回答を利用する際は、モデルの制約を考慮してください。

モデルへの画像入力

分析する画像は、次のいずれかの方法で指定できます。

  • 画像ファイルの完全修飾 URL を渡す
  • 画像を Base64 でエンコードしたデータ URL として渡す
  • ファイル ID(Files API で作成)を渡す

content 配列に複数の画像を含めると、1 回のリクエストで複数の画像を入力できます。画像はトークンとしてカウントされ、その数に応じて課金されます。

画像の内容を分析
from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="gpt-6-astra",
    input=[
        {
            "role": "user",
            "content": [
                {"type": "input_text", "text": "what's in this image?"},
                {
                    "type": "input_image",
                    "image_url": "https://api.nga.gov/iiif/a2e6da57-3cd1-4235-b20e-95dcaefed6c8/full/!800,800/0/default.jpg",
                },
            ],
        }
    ],
)

print(response.output_text)

入力画像の要件

モデルが分析できる鮮明な画像を、対応するファイル形式で用意してください。

要件 対応する入力
ファイル形式 PNG(.png)、JPEG(.jpeg または .jpg)、WEBP(.webp)、静止画の GIF(.gif)
リクエストサイズ 1 リクエストあたりのペイロードの合計は最大 512 MB
画像数 1 リクエストあたり最大 1,500 枚

パッチ単位で処理する入力画像の場合、選択したモデルと detail の設定に応じたリサイズ規則を適用した後で、API が受け付けるのは画像 1 枚あたり最大 30,000 パッチです。この上限は、対応するすべての詳細度で画像ごとに適用されます。リクエスト内のパッチ数の合計に対する上限ではありません。

モデルや詳細度に応じて、リサイズ時のパッチ数にこれより低い上限がある場合は、その上限も適用されます。処理後に 30,000 パッチを超える画像は拒否されます。この上限に収まるように自動でリサイズされることはありません。画像の縦横のサイズを小さくして、もう一度お試しください。

画像トークンとプロンプトの残りの部分を合わせて、モデルの入力上限とコンテキスト上限に収める必要もあります。トークン数の見積もりだけでは、リクエストがすべての入力上限を満たすことは保証されません。画像を使用する際は、利用ポリシーを遵守してください。

画像の詳細度の選択

detail パラメーターは画像の前処理を制御します。指定できる値はモデルによって異なり、low、high、original、auto があります。省略すると、Responses API と Chat Completions API のどちらでも auto が適用されます。各設定の動作は、モデル別の画像サイズ調整表で確認できます。

{
    "type": "input_image",
    "image_url": "https://api.nga.gov/iiif/a2e6da57-3cd1-4235-b20e-95dcaefed6c8/full/!800,800/0/default.jpg",
    "detail": "original"
}

次の表を参考に詳細度を選んでください。

詳細度 適した用途
low 画像の概要を把握する場合。リサイズ方法とトークン使用量はモデルによって異なり、low のトークン数が常に high より少なくなるわけではありません。
high 元画像上の正確な座標は不要で、画像の細部まで読み取る一般的な用途
original 大きな画像、情報量の多い画像、位置関係が重要な画像、コンピューターの使用で扱う画像。モデルが対応している場合に選べます。
auto モデル別の画像サイズ調整表に示す、モデルの既定の動作を使用する場合

光学文字認識(OCR)、小さな物体の検出、コンピューターの使用など、細部の識別や正確な座標が必要なタスクでは、モデルが対応していれば "detail": "original" を使用してください。この詳細度でも、モデルの各辺のピクセル数の上限やリサイズ時のパッチ数の上限に合わせて画像が縮小されることがあります。その処理後も 30,000 パッチを超える場合、API は画像をさらに縮小せず、リクエストを拒否します。座標の精度が重要なタスクでは、これらの上限に収まるように画像をリサイズしてから送信し、返された座標を元画像の座標に変換してください。座標の扱いについては、コンピューターの使用ガイドをご覧ください。

モデル別の画像サイズ調整

次の表は、汎用の画像認識モデルが画像サイズをどのように調整するかをまとめたものです。他のモデルや特定の用途に特化したモデルでは、上限が異なる場合があります。どのモデルでも、リサイズ時には縦横比を維持し、小さい画像は拡大しません。

モデルファミリー対応する詳細度パッチ数とリサイズ規則
gpt-6-astra

low、high、original、 auto

low では 512 × 512 ピクセル以内に収めます。high では最大 2,500 パッチ、各辺は最大 65,535 ピクセルです。両方の上限が適用されます。 original では元のサイズを維持しますが、いずれかの辺が 65,535 ピクセルを超える場合は、この上限に収まるように縮小します。処理後の画像に必要なパッチ数が 30,000 パッチを超えると、API はリクエストを拒否します。このパッチ数の上限に合わせて画像をリサイズすることはありません。 auto では original と同じ規則でサイズを調整します。

gpt-5.6-sol、gpt-5.6-terra、 gpt-5.6-luna

low、high、original、 auto

low では 512 × 512 ピクセル以内に収めます。high では 2048 × 2048 ピクセル以内かつ 2,500 パッチ以内に収めます。original では元のサイズを維持しますが、いずれかの辺が 65,535 ピクセルを超える場合は、この上限に収まるように縮小します。処理後の画像に必要なパッチ数が 30,000 パッチを超えると、API はリクエストを拒否します。このパッチ数の上限に合わせて画像をリサイズすることはありません。 auto では original と同じ規則でサイズを調整します。

gpt-5.5

low、high、original、 auto

low では 512 × 512 ピクセル以内に収めます。high では最大 2,500 パッチ、各辺は最大 2048 ピクセルです。original では最大 10,000 パッチ、各辺は最大 6000 ピクセルです。パッチ数と各辺の長さの両方に上限が適用されます。auto で適用される規則は original と同じです。

gpt-5.4、gpt-5.4-mini、gpt-5.4-nano

low、high、original、 auto

low では各辺の上限が 2048 ピクセル、パッチ数の上限が 6,144 なので、high より多くのトークンを使用することがあります。 high では最大 2,500 パッチ、各辺は最大 2048 ピクセルです。original では最大 10,000 パッチ、各辺は最大 6000 ピクセルです。パッチ数と各辺の長さの両方に上限が適用されます。auto では high と同じ規則でサイズを調整します。

gpt-5.2、gpt-4.1-mini

low、high、auto

どの詳細度でも上限は同じで、各辺は最大 2048 ピクセル、パッチ数は最大 6,144 です。original には対応していません。

gpt-5.1、gpt-4.1、gpt-4o、 gpt-4o-mini

low、high、auto

low ではトークン数が固定されます。high と auto では タイル単位のサイズ調整規則を使用します。

料金の計算

画像認識モデルは、入力画像を課金対象の入力トークンに変換します。画像入力の料金計算ツールと、このセクションで説明するパッチ単位およびタイル単位の計算規則は、画像認識モデルへの入力に適用されます。GPT Image による画像の生成や編集には別の料金体系が適用されます。詳しくは「GPT Image モデルへの入力」をご覧ください。

画像トークンは、1 分あたりのトークン数(TPM)の上限にも算入されます。計算ツールは画像 1 枚の料金を標準の入力単価で見積もります。プロンプトの残りの部分やモデルの出力は見積もりに含まれません。

画像入力の料金計算ツール

画像入力の料金計算ツールでは、モデル、画像サイズ、詳細度を指定して、画像 1 枚あたりの入力トークン数と料金を見積もれます。

パッチ単位の画像トークン化

一部のモデルは、画像を 32 × 32 ピクセルのパッチで覆い、トークン化します。モデルと詳細度の多くの組み合わせでは、リサイズ時のパッチ数に上限があります。まず API は、選択した詳細度のピクセル数の上限に各辺が収まるように画像サイズを調整します。縦横比を維持し、各辺のピクセル数を整数に丸めます。小さい画像は拡大しません。その後、次の手順でトークン数を計算します。

A. 各辺のピクセル数の上限を適用した後の画像を覆うのに必要な 32 × 32 ピクセルのパッチ数を計算します。パッチは画像の端からはみ出してもかまいません。

patch_count = ceil(width/32)×ceil(height/32)

B. 選択したモデルと詳細度にリサイズ時のパッチ数の上限があり、画像がその上限を超える場合は、縦横比を維持したまま縮小します。それ以外の場合は、この手順を省略します。各辺のピクセル数を整数に変換し、画像を覆うパッチ数を計算したときに上限に収まるよう、縮小率を調整します。最終的な縦横のサイズを計算するまでは、値を丸めずに精度を保ちます。

shrink_factor = sqrt((32^2 * patch_budget) / (width * height))
adjusted_shrink_factor = shrink_factor * min(
  floor(width * shrink_factor / 32) / (width * shrink_factor / 32),
  floor(height * shrink_factor / 32) / (height * shrink_factor / 32)
)

C. 手順 B で画像をリサイズした場合は、縮小後の幅と高さの小数部分を切り捨てて整数のピクセル数にします。得られた画像を覆うのに必要なパッチ数を計算します。これがモデルの倍率を適用する前の画像トークン数です。リサイズ時のパッチ数に上限がある場合、この数はその上限に収まります。

resized_patch_count = ceil(resized_width/32)×ceil(resized_height/32)

この数が 30,000 パッチを超えると、API はリクエストを拒否します。トークンの倍率を適用する前に、この上限を確認してください。

D. パッチ数にモデルの倍率を掛け、小数部分を切り上げると、課金対象の画像入力トークン数が得られます。この数にモデルの入力単価を 1 回だけ掛けます。プロンプト内の他のトークンに倍率を適用したり、料金に再度倍率を掛けたりすることはありません。

モデル 倍率
gpt-6-astra 1.2
gpt-5.6-sol 1.2
gpt-5.6-terra 1.2
gpt-5.6-luna 1.2
gpt-5.5 1.2
gpt-5.4 1.2
gpt-5.4-mini 1.2
gpt-5.4-nano 1.2
gpt-5.2 1.2
gpt-5-mini* 1.2
gpt-5-nano* 1.5
gpt-4.1-mini 1.62
gpt-4.1-nano*(2025-04-14 のスナップショット) 2.46
o4-mini* 1.72

gpt-4.1-mini については、2025-04-14 のスナップショットにこの倍率が適用されます。

* 非推奨で、提供終了が予定されています。終了日と代替モデルについては、提供終了スケジュールをご覧ください。これらのモデルは、料金計算ツールと上記のモデル別の画像サイズ調整表には含まれていません。

gpt-6-astra で detail: high を指定した場合の画像トークン数の計算例

この組み合わせでは、各辺の上限は 65,535 ピクセル、パッチ数の上限は 2,500、倍率は 1.2 倍です。

  • 1024 × 1024 ピクセルの画像には 32 × 32 = 1024 パッチが必要です。リサイズは不要です。課金対象の画像入力は ceil(1024 × 1.2) = 1229 トークンです。
  • 2048 × 2048 ピクセルの画像には、縮小前のサイズで 64 × 64 = 4096 パッチが必要です。パッチ数の上限に合わせて 1600 × 1600 ピクセルに縮小すると、50 × 50 = 2500 パッチになります。見積もりは ceil(2500 × 1.2) = 3000 トークンです。
  • 4096 × 512 ピクセルの画像は元のサイズのままで、128 × 16 = 2048 パッチ、ceil(2048 × 1.2) = 2458 トークンです。

課金時の浮動小数点数の丸めにより、最終的なトークン数が見積もりと 1 トークンずれる場合があります。

タイル単位の画像トークン化

次の表のモデルでは、基本トークン数に画像のタイル分のトークン数を加算します。

モデル 基本トークン数 タイルあたりのトークン数
gpt-5.1 70 140
gpt-5* 70 140
gpt-4o、gpt-4.1 85 170
gpt-4o-mini 2833 5667
o1*、o1-pro*、o3* 75 150

* 非推奨で、提供終了が予定されています。終了日と代替モデルについては、提供終了スケジュールをご覧ください。これらのモデルは、料金計算ツールと上記のモデル別の画像サイズ調整表には含まれていません。

"detail": "low" では、画像サイズにかかわらず、画像 1 枚につきモデルの基本トークン数だけが課金されます。"detail": "high" または "detail": "auto" では、次の手順で計算します。

  • 縦横比を維持したまま、2048 × 2048 ピクセルの正方形に収まるように縮小します。小さい画像は拡大しません。
  • 短辺が 768 ピクセルを超える場合は、短辺が 768 ピクセルになるように縮小し、もう一方の辺のピクセル数は小数部分を切り捨てます。
  • 画像を覆うのに必要な一辺 512 ピクセルの正方形の数を求めます。各正方形に、モデルのタイルあたりのトークン数が適用されます。
  • タイル分のトークン数にモデルの基本トークン数を加算します。

GPT Image モデルへの入力

GPT Image モデルによる画像の生成と編集には、画像トークン専用の料金体系が適用されます。画像認識モデル向けの計算ツールでは、GPT Image モデルの入力料金や出力料金は見積もれません。現在の単価は画像生成の料金、生成と編集の手順は画像生成ガイドをご覧ください。

GPT Image 1

gpt-image-1 は 2026 年 10 月 23 日に提供を終了しました。過去の料金との比較用に、当時の入力トークンの計算規則を以下に示します。代替モデルについては、提供終了のお知らせをご覧ください。

過去のリクエストについて計算する場合は、タイル単位のサイズ調整規則を使用します。ただし、短辺を縮小する際の基準は 768 ピクセルから 512 ピクセルに変わります。トークン使用量は、画像の幅と高さ、および input_fidelity パラメーターの値で決まります。このパラメーターは Images API で指定します。

入力の忠実度を低く設定した場合、基本の画像トークン数は 65 で、タイルごとに 129 画像トークンがかかります。 入力の忠実度を高く設定した場合は、上記の画像トークンに加えて、画像の縦横比に応じた固定数のトークンが加算されます。

  • 画像が正方形の場合は、入力画像トークンが 4160 トークン加算されます。
  • 縦長または横長に近い形の場合は、6240 トークン加算されます。

当時の画像入力トークンの単価については、GPT Image 1 のモデルページをご覧ください。

制約

画像認識モデルは誤った回答を返すことがあります。アプリケーションの設計では、次の制約を考慮してください。

  • 医用画像:モデルは CT 画像などの専門的な医用画像の読影には適していません。医学的な助言には使用しないでください。
  • 英語以外の言語:日本語や韓国語など、ラテン文字以外の文字を含む画像では、モデルが十分な性能を発揮できない場合があります。
  • 小さな文字:読み取りやすくするため、画像内の文字を拡大してください。対応するモデルでは、"detail": "original" を使うと読み取り精度が向上することもあります。
  • 回転:回転した文字や画像、上下逆さまの文字や画像を誤って解釈する場合があります。
  • 視覚的な表現:色の違いや、実線、破線、点線などのスタイルの違いで情報を表すグラフやテキストは、正しく読み取れない場合があります。
  • 空間推論:チェス盤上の駒の配置を特定するなど、位置を正確に把握する必要があるタスクは苦手です。
  • 正確性:状況によっては、画像の説明やキャプションに誤りが生じる場合があります。
  • 画像の形状:パノラマ画像や魚眼画像の解釈は苦手です。
  • メタデータとリサイズ:モデルは元のファイル名やメタデータを処理しません。詳細度が original の場合も含め、分析前に画像がリサイズされることがあります。各モデルに適用される上限は、「モデル別の画像サイズ調整」をご覧ください。
  • 個数のカウント:画像内の物体の個数について、モデルが概数を返す場合があります。
  • CAPTCHA:安全上の理由から、システムは CAPTCHA の送信をブロックします。