AI活用

ChatGPTの旧画像モデルは使える?Codexでの指定方法とImages 2.5の違い

ChatGPTの旧画像モデルGPT Image 2はまだ使える?ChatGPTとCodex、APIの違い、モデル指定方法、Images 2.5のFlare・Sunburstとの比較を解説。Node.jsの画像生成コードと料金・提供終了の注意点も紹介します。

この記事の目次
  1. 旧GPT Image 2は使える?利用する場所で指定方法が違う
  2. さらに古いGPT Image 1・1.5には提供終了予定がある
  3. ChatGPTの画像生成を前のモデルに戻せる?
  4. Codexから画像生成する2つの方法
  5. 組み込み画像生成に任せる
  6. APIのmodelパラメーターで指定する
  7. Codexの内部画像モデルには公式資料間で記載の違いがある
  8. GPT Image 2とImages 2.5の違い|Flare・Sunburstを比較
  9. Codexから旧モデルを指定するNode.jsコード
  10. 1.作業フォルダーとSDKを用意する
  11. 2.比較するプロンプトを保存する
  12. 3.画像生成スクリプトを作る
  13. 4.モデルと保存先を指定して実行する
  14. 日付付きモデルIDでバージョンを指定する
  15. Codexに実装を任せる依頼文
  16. Codexの利用枠と画像生成APIの料金は別
  17. 新旧モデルを比べるときの確認ポイント
  18. まとめ:旧モデルを指定するならAPIのmodelを確認する

ChatGPTの画像生成が新しくなると、「前のモデルも使いたい」「以前の絵柄で作りたい」「Codexから画像モデルを指定したい」と感じることがあります。

旧モデルのGPT Image 2は、OpenAI APIでモデルIDを指定して利用できます。ただし、ChatGPTの会話欄で「前のモデルを使って」と頼むことと、APIでモデルを指定することは別です。

この記事では、ChatGPTの旧画像モデルの使い方、Codexからの指定方法、GPT Image 2とImages 2.5の違いを整理します。後半には、旧モデル・Flare・Sunburstを切り替えられるNode.jsのコードを掲載します。

情報確認日:2026年9月9日(日本時間)。仕様は公式資料で確認しています。モデル別の画質・速度の独自比較や、掲載コードによる実APIの画像生成テストは行っていません。

旧GPT Image 2は使える?利用する場所で指定方法が違う

利用する場所・方法 旧画像モデルの指定 考え方
ChatGPTの通常画面 Images 2.0へ明示的に戻す手順は、確認した公式ヘルプでは案内なし 文章に旧モデル名を書くだけで固定できるとは判断しない
Codexの組み込み画像生成 画像生成はできるが、旧画像モデルを固定する操作は確認できない 画像生成の呼び出しとモデル指定を区別する
OpenAI API gpt-image-2を指定できる CodexにAPI用スクリプトを書かせ、実行する方法もある

GPT Image 2の公式モデル資料には、gpt-image-2と日付付きのgpt-image-2-2026-04-21が掲載されています。画像生成・画像編集のAPIで指定できます。API側の請求設定とアクセス権も必要です。

さらに古いGPT Image 1・1.5には提供終了予定がある

公式の廃止予定では、gpt-image-12026年10月23日gpt-image-1.5gpt-image-1-mini2026年12月1日にAPIからの提供終了が予定されています。非推奨になった日と、実際に使えなくなる日は別です。OpenAI APIの提供終了予定

新しく作る仕組みが終了予定のモデルへ依存しないよう、この記事のコードはGPT Image 2と2.5を対象にします。

スポンサーリンク

ChatGPTの画像生成を前のモデルに戻せる?

2026年9月9日時点で確認した公式ヘルプには、通常のChatGPT画面からImages 2.0を選び直す手順は掲載されていません。たとえば「前のImages 2.0を使って」と入力しても、その文章だけで内部の画像モデルが切り替わったとは確認できません。

以前の絵柄に似せる依頼と、以前のモデルを使う指定は別です。絵柄を引き継ぎたい場合は、過去に生成した画像をアップロードし、「配色、線の太さ、顔立ちは維持して、ポーズだけ変えて」と依頼する方法があります。これは参照画像を使った編集です。具体例はImages 2.5の記事にある画像編集プロンプトを参照してください。

Codexから画像生成する2つの方法

組み込み画像生成に任せる

公式ガイドでは、自然な文章で画像を依頼する方法と、$imagegenを含めてスキルを呼び出す方法が案内されています。たとえば、入力欄で次のように依頼します。

$imagegen

Web制作ブログのアイキャッチ画像を1枚作ってください。

テーマ:AIを使ったWeb制作。
構図:横長16:9。ノートパソコンを右側に配置し、左側に余白を残す。
雰囲気:明るい自然光のある、落ち着いた作業机。
画像内に文字、ロゴ、説明ラベル、装飾枠を入れない。

この環境の組み込み画像生成を使用してください。
外部APIの呼び出しや、課金方式の変更は行わないでください。
左側に余白を残し、右側にノートパソコンを置いたCodexの生成画像
上の依頼文の画像条件を、Codexの組み込み画像生成に渡した実際の出力です(2026年9月9日)。内部のモデルIDは固定していません。小さな文字のような模様や、指定していない猫も加わっており、不要な要素は生成後の確認が必要です。

$imagegenはスキルを呼び出す記法で、旧画像モデルを選ぶコマンドではありません。使いたいモデルを厳密に固定する必要がなければ、この方法から始められます。

APIのmodelパラメーターで指定する

旧モデルを明示的に指定したい場合は、Codexにスクリプトを書かせ、そのスクリプトからImages APIを呼び出します。

Codexがスクリプトを作成・実行
    ↓
OpenAI Images APIへ送信
    model: "gpt-image-2"
    ↓
生成された画像を保存

指定するのは画像生成APIのmodelです。Codex本体の会話・コード生成用モデルの設定を、画像モデル名へ変更する手順ではありません。Images APIのmodelCodex本体の設定を区別してください。

Codexの内部画像モデルには公式資料間で記載の違いがある

9月8日のImages 2.5の発表にはCodexも提供先として含まれます。一方、確認時点の画像生成ガイドには、組み込み機能がgpt-image-2を使うという説明が残っています。

そのため、すべてのCodex環境がすでに2.5になったとも、必ず旧モデルを使えるとも断定しません。モデルを明示して比較する用途では、APIのモデルIDで指定します。

GPT Image 2とImages 2.5の違い|Flare・Sunburstを比較

比較項目 GPT Image 2 2.5 Flare 2.5 Sunburst
モデルID gpt-image-2 gpt-image-2.5-flare gpt-image-2.5-sunburst
選ぶ軸 旧モデルとの比較、既存の制作手順の維持 速度を重視する日常的な生成 品質や編集精度を重視する制作
生成・編集 対応 対応 対応
品質設定 auto・low・medium・high 左記4種+xhigh・max Flareと同じ6種

表はFlareSunburstのモデル資料とAPIリファレンスに基づく仕様の整理です。生成画像を採点した比較ではありません。

公式プロンプトガイドでは、FlareはGPT Image 2と同程度の画質で速度を重視するモデル、Sunburstはより高い画質を目指すモデルと説明されています。発表記事にはFlareの画質も旧モデルより高いとの説明があるため、比較表現には差があります。どんな画像でも一律に高品質になると捉えず、必要な品質を満たしながら速く作れるかを確かめましょう。画像プロンプトガイド

Images 2.5では、被写体の特徴維持、部分編集、継続編集の改善が案内されています。生成待ち時間の最大50%削減もOpenAI発表値であり、本記事の実測ではありません。操作面の変更はImages 2.5の使い方で詳しく扱います。

Codexから旧モデルを指定するNode.jsコード

ここからのコードを実行すると、OpenAI APIの利用料金が発生します。ChatGPTの契約とは別に、API側の設定が必要です。macOS・Linux・WSLとNode.js 22以降を想定し、1回につき横長16:9のPNGを1枚生成します。

1.作業フォルダーとSDKを用意する

mkdir image-model-test
cd image-model-test
npm init -y
npm install openai
mkdir -p scripts prompts

APIキーを発行し、作業フォルダー直下の.env.localへ保存します。

OPENAI_API_KEY=ここに発行したAPIキーを設定

.gitignoreには次の行を追記してください。既存の内容は残します。

.env.local

APIキーをCodexへの依頼文や公開リポジトリ、ブラウザで動くJavaScriptへ書かず、ローカルの環境変数から読み込みます。APIキーの管理方法も確認してください。

2.比較するプロンプトを保存する

prompts/eyecatch.txtを作り、次の文章を保存します。各モデルへ同じファイルを渡すと、指示の違いが混ざるのを防げます。

Web制作ブログのアイキャッチ画像を作ってください。
明るい木製デスクに、ノートパソコン、ノート、小さな観葉植物がある。
柔らかな自然光が入り、落ち着いた写真風の表現。
横長16:9。被写体を右側にまとめ、左側には広い余白を残す。
文字、ロゴ、説明ラベル、装飾枠は入れない。

3.画像生成スクリプトを作る

次のコードをscripts/generate-image.mjsとして保存します。

import OpenAI from "openai";
import { existsSync } from "node:fs";
import { mkdir, readFile, writeFile } from "node:fs/promises";
import { dirname, extname, resolve } from "node:path";
import { parseArgs } from "node:util";

async function main() {
  const { values } = parseArgs({
    options: {
      model: { type: "string", default: "gpt-image-2" },
      "prompt-file": { type: "string" },
      output: { type: "string", default: "output/image.png" },
    },
    allowPositionals: false,
  });

  const supportedModels = new Set([
    "gpt-image-2",
    "gpt-image-2-2026-04-21",
    "gpt-image-2.5-flare",
    "gpt-image-2.5-flare-2026-09-08",
    "gpt-image-2.5-sunburst",
    "gpt-image-2.5-sunburst-2026-09-08",
  ]);

  if (!supportedModels.has(values.model)) {
    throw new Error("この記事のサンプルで対応していないモデル名です。");
  }
  if (!process.env.OPENAI_API_KEY?.trim()) {
    throw new Error("OPENAI_API_KEYを設定してください。");
  }
  if (!values["prompt-file"]) {
    throw new Error("--prompt-fileで指示文ファイルを指定してください。");
  }

  const prompt = (await readFile(values["prompt-file"], "utf8")).trim();
  if (!prompt) throw new Error("指示文ファイルが空です。");

  const output = resolve(values.output);
  if (extname(output).toLowerCase() !== ".png") {
    throw new Error("保存先の拡張子は.pngにしてください。");
  }
  if (existsSync(output)) {
    throw new Error("保存先が存在します。別のファイル名を指定してください。");
  }
  await mkdir(dirname(output), { recursive: true });

  // 比較用のサンプルでは、失敗時の自動再試行を無効にする。
  const client = new OpenAI({ maxRetries: 0 });
  const result = await client.images.generate({
    model: values.model,
    prompt,
    n: 1,
    size: "1536x864",
    quality: "medium",
    output_format: "png",
  });

  const image = result.data?.[0]?.b64_json;
  if (!image) throw new Error("APIから画像データが返されませんでした。");

  await writeFile(output, Buffer.from(image, "base64"), { flag: "wx" });
  console.log(`モデル: ${values.model}`);
  console.log(`保存先: ${output}`);
}

main().catch((error) => {
  // SDKのエラー本文やリクエスト情報を丸ごとログへ出さない。
  if (error instanceof OpenAI.APIError) {
    console.error(`APIリクエストに失敗しました(HTTP ${error.status ?? "不明"})。請求・権限・指定モデルを確認してください。`);
  } else {
    console.error(error instanceof Error ? error.message : "処理に失敗しました。");
  }
  process.exitCode = 1;
});

modelにはコマンドで受け取ったモデルIDを渡します。失敗時に別モデルへ切り替えず、自動再試行もしません。保存先が存在する場合はAPI呼び出し前に停止し、書き込み時にも上書きを防ぎます。

4.モデルと保存先を指定して実行する

旧モデルのGPT Image 2を使うコマンドです。

node --env-file=.env.local scripts/generate-image.mjs \
  --model gpt-image-2 \
  --prompt-file prompts/eyecatch.txt \
  --output output/gpt-image-2.png

Flareの場合は、モデルと保存先を変更します。

node --env-file=.env.local scripts/generate-image.mjs \
  --model gpt-image-2.5-flare \
  --prompt-file prompts/eyecatch.txt \
  --output output/gpt-image-2.5-flare.png

Sunburstも同じスクリプトで指定できます。

node --env-file=.env.local scripts/generate-image.mjs \
  --model gpt-image-2.5-sunburst \
  --prompt-file prompts/eyecatch.txt \
  --output output/gpt-image-2.5-sunburst.png

この--modelは記事で作ったスクリプトの引数です。Codex本体の画像モデルを切り替える公式コマンドではありません。3つすべてを実行すれば、3回の有料リクエストを送ります。最初は必要なモデル1つで試してください。

日付付きモデルIDでバージョンを指定する

モデル 日付付きID
GPT Image 2 gpt-image-2-2026-04-21
Flare gpt-image-2.5-flare-2026-09-08
Sunburst gpt-image-2.5-sunburst-2026-09-08

公式モデル資料に掲載されたIDを--modelへ渡せます。後日比較するため、使用IDを画像と一緒に記録しましょう。日付付きIDでも、同じ画像ファイルを毎回完全に再現する指定にはなりません。

Codexに実装を任せる依頼文

OpenAI Images APIで画像モデルを明示指定する、
Node.jsのローカル用スクリプトを作成してください。

目的はGPT Image 2とGPT Image 2.5の比較です。
Codexの組み込み画像生成とAPI呼び出しを混同しないでください。

要件:
・公式openai SDKを使う。
・APIキーは環境変数OPENAI_API_KEYから読む。
・--model、--prompt-file、--outputで指定できるようにする。
・gpt-image-2、gpt-image-2.5-flare、gpt-image-2.5-sunburstに対応する。
・日付付きモデルIDも公式資料で確認して対応する。
・1回1枚、size=1536x864、quality=medium、PNG出力を初期設定にする。
・指定モデルで失敗しても別モデルへ切り替えない。
・保存先が存在する場合はAPI呼び出し前に停止する。
・APIキーや認証情報をログに出さない。
・不明なモデル名、空のプロンプト、APIエラーを処理する。
・最初は実装とAPIを呼ばないテストだけを行う。
・有料APIはまだ実行せず、実行用コマンドを提示する。

この依頼では、コードの準備と有料の画像生成を分けています。比較に進む段階で、モデルごとに保存先を変えて実行します。

Codexの利用枠と画像生成APIの料金は別

組み込み画像生成は、公式ガイドではCodexの一般利用枠に計上されると説明されています。一方、OPENAI_API_KEYを使うコードにはAPIの料金体系が適用されます。ChatGPTの有料プランに入っていても、このAPIコードを追加料金なしで実行できるわけではありません。ChatGPTとAPIの請求

同じ品質設定でもモデルによって使用トークン数が変わる場合があります。単価が同じでも、1枚の費用まで同じとは限りません。旧モデルなら必ず安いとも決めつけず、実際の使用量で確認してください。画像生成ガイドの料金説明

Weekly limitやLuna Reserveを含む利用枠の読み方は、ChatGPT・Codex最新情報まとめで整理しています。

新旧モデルを比べるときの確認ポイント

同じ指示、サイズ、品質設定で用途に合うかを見ます。ただし、同じmediumでもモデル間で計算量が同一になるわけではなく、完全に条件を揃えた性能試験とは区別します。

  • 構図と指示:被写体の位置、余白、不要な文字が指定どおりか。
  • 編集後の一貫性:背景を変えたとき、残したい形や色まで変わらないか。
  • 制作での使いやすさ:仕上がり、修正回数、待ち時間、費用が自分の作業に合うか。

上のスクリプトは新規生成専用です。編集を比較するには同じ元画像と修正指示を使い、画像編集APIの実装を用意してください。

まとめ:旧モデルを指定するならAPIのmodelを確認する

以前の絵柄を引き継ぐなら参照画像を使う編集、旧GPT Image 2そのものを指定するならAPIのmodel: "gpt-image-2"が選択肢です。Codexからも、そのAPIを呼ぶスクリプトを作成・実行できます。

新しい2.5は、Flareを速度重視、Sunburstを品質・編集精度重視の候補として比べます。モデル名だけで決めず、自分の画像で残したい特徴が保たれるかまで確認しましょう。

スポンサーリンク