メインコンテンツへ移動
AIチュートリアル

GPT Image Skillで画像を生成・編集

GPT Image Skillのインストール方法、自然言語プロンプトによる画像生成、ローカル参照画像の利用、編集の正しい継続方法、制限付き並列バッチの実行方法を学びます。認証、ワークスペースの安全対策、トラブルシューティング、プラットフォーム別のセットアップについても解説します。

GPT Image Skillで画像を生成・編集

GPT Image Skill の機能

GPT Image Skill を使うと、Codex、Claude Code、および互換性のあるローカルエージェントから、ユーザーのChatGPT サブスクリプションを通じて画像を生成または編集できます。Codex に組み込まれた $imagegen、または利用可能な場合はホストネイティブの image_gen ツールを使用します。OpenAI Images API を呼び出したり、別途請求される Images API リクエストを作成したりすることはありません。

このスキルは、自然言語のプロンプトと、読み取り可能なローカル PNG、JPEG、または WebP の参照を受け付けます。生成した PNG ファイルは、アクティブなプロジェクトの generated-images/ ディレクトリに保存され、生成結果のパスとインライン Markdown プレビュー情報を返します。

GPT Image Skill のスモークテスト

画像生成では、ChatGPT または Codex に含まれる使用量を消費し、プランとワークスペースの制限が適用されます。画像生成は、画像を使用しない同程度のターンよりも含まれる上限を早く消費する場合があるため、並列バッチは意図的に小規模に保ってください。

主な機能

  • API キーではなく、ChatGPT 認証済みの Codex を通じて画像を生成します。
  • Codex と Claude Code に同じ gpt-image スキルをインストールします。
  • ユーザーが明示的に求めていない創造的な詳細を追加せず、画像プロンプトをそのまま保持します。
  • ユーザーが複数のコンセプトやデザインの方向性を明示的に委任した場合は、それぞれ異なるプロンプトを作成します。
  • 決定論的な添付順序で、1つ以上の参照をサポートします。
  • 編集、追加修正、バリエーション、合成、透明背景、正確なテキスト、情報量の多いレイアウトの下書きをサポートします。
  • 独立した画像ジョブを、デフォルトの同時実行数 2、最大 4 で実行します。
  • ファイルはアクティブなワークスペース内にのみ保存し、デフォルトでは既存の画像を上書きしません。
  • macOS、Linux、ネイティブ Windows、WSL2 をサポートします。
  • API キーによるログインをブロックし、Codex の子プロセスから関連する API 環境変数を削除します。

要件

スキルをインストールする前に、環境に次のコンポーネントがあることを確認してください。

  • Node.js 22 以降: 現在サポートされている LTS リリースを推奨します。
  • Git: GitHub からプロジェクトをクローンする場合に必要です。
  • Codex CLI: 呼び出し元のホストがネイティブの image_gen ツールを公開している場合を除き、ChatGPT にサインインしている必要があります。
  • 対象となるプラン: ChatGPT または Codex のプランとワークスペースで画像生成が許可されている必要があります。

WSL1 はサポートされていません。WSL2 を使用する場合は、Node.js、Codex、リポジトリ、作業対象のプロジェクトを Linux 側に置いてください。クローンは /mnt/c ではなく、Linux のホームディレクトリ内に保存します。

ローカルエージェント経由でインストール

最も簡単なセットアップ方法は、Codex、Claude Code、または別の互換エージェントにリポジトリのインストールを依頼することです。エージェントに AGENT_INSTALL.md を読み取り、永続的なクローンまたは安全な fast-forward 更新を実行し、Codex と Claude Code のリンクを作成して ChatGPT デバイス認証を開始したうえで、次を実行するよう指示してください。

bootstrap --target all --yes --json

準備状況レポートの末尾は、ok: true、status: ready、best_practice_pass: true になるはずです。ブラウザーまたはデバイスでの認証は、ユーザー本人が完了します。このスキルがパスワード、トークン、API キー、または ~/.codex/auth.json の内容を要求することはありません。

インストール処理で実際の画像を生成することは想定されていません。一般的なアスペクト比、品質に関する表現、画像の作成および参照リクエストの例を含む、簡潔な利用開始ガイドで完了する必要があります。

手動インストール

macOS、Linux、WSL2

インストールされたスキルのリンクはリポジトリを指すため、永続的なクローンを使用してください。

REPOSITORY_URL="https://github.com/GENEXIS-AI/gpt-image-skill"
INSTALL_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/gpt-image-skill"

git clone "$REPOSITORY_URL" "$INSTALL_DIR"
cd "$INSTALL_DIR"
node ./gpt-image/scripts/validate_skill.mjs
node ./gpt-image/scripts/gpt_image.mjs bootstrap --target all --yes --json

ネイティブ Windows PowerShell

$RepositoryUrl = "https://github.com/GENEXIS-AI/gpt-image-skill"
$InstallDir = Join-Path $env:LOCALAPPDATA "gpt-image-skill"

git clone $RepositoryUrl $InstallDir
Set-Location $InstallDir
node .\gpt-image\scripts\validate_skill.mjs
node .\gpt-image\scripts\gpt_image.mjs bootstrap --target all --yes --json

macOS、Linux、WSL2 では、インストールによってシンボリックリンクが作成されます。ネイティブ Windows ではディレクトリジャンクションが使用されます。既存の無関係なパスは置き換えられません。

  • Codex のインストール先: ~/.agents/skills/gpt-image
  • Claude Code のインストール先: ~/.claude/skills/gpt-image
  • Windows Codex のインストール先: $env:USERPROFILE\.agents\skills\gpt-image
  • Windows Claude Code のインストール先: $env:USERPROFILE\.claude\skills\gpt-image

最初の画像を生成

インストール後、ホストから直接スキルを呼び出します。Codex では次を使用します。

$gpt-image A cobalt-blue glass robot on a warm off-white background.

Claude Code では次を使用します。

/gpt-image A cobalt-blue glass robot on a warm off-white background.

構図や品質は自然な言葉で指定できます。

$gpt-image Create a cozy reading room at sunset, 16:9, high quality.

一般的なリクエストには 1:1、16:9、9:16、4:3、3:4 があります。品質に関する便利な表現には draft、high quality、high detail / final quality があります。これらは固定された API サイズ一覧ではなく自然言語によるリクエストであるため、正確なピクセル寸法は変わる場合があります。

ダイレクトランナーを使用

リポジトリから Node.js ランナーを明示的に呼び出すこともできます。

node ./gpt-image/scripts/gpt_image.mjs generate \
  --prompt "暖かみのあるオフホワイトの背景に置かれた、コバルトブルーのガラス製ロボット。" \
  --out "generated-images/glass-robot.png"

通常の生成では、まずChatGPTの認証を簡単に確認し、画像を1枚作成して、最小限のPNG検証を実行します。その後、PATH=...と、絶対パスを含むMARKDOWN=...の値を返します。

参照画像から画像を生成する

参照画像には、実際に読み取り可能なファイルを指定する必要があります。Claude Codeでは、@pathまたは明示的なファイルシステムパスを使用してください。

/gpt-image キャラクターの参照として @references/robot.png を使用してください。自転車に乗っている様子を描いてください。

Claudeに表示された貼り付け画像やドラッグした画像は、ネストされたCodexプロセスに自動的には引き継がれません。Claudeが正確な一時添付ファイルのパスを公開している場合、エージェントはそのファイルをgenerated-images/inputs/にコピーできます。それ以外の場合は、画像をプロジェクト内に保存し、そのパスを指定してください。このスキルは、Claudeの画像キャッシュから使用するファイルを推測しません。

対応する直接コマンドは次のとおりです。

node ./gpt-image/scripts/gpt_image.mjs generate \
  --mode generate \
  --prompt "このキャラクターが自転車に乗っている様子を描いてください。" \
  --reference "/absolute/path/robot.png" \
  --out "generated-images/robot-bicycle.png"

複数の参照画像を添付する

必要な順序で--referenceを繰り返し指定します。明示的な役割がある参照画像に限り、対応する役割を追加してください。

node ./gpt-image/scripts/gpt_image.mjs generate \
  --prompt "Image 1をキャラクターに、Image 2を自転車のデザインに使用してください。" \
  --reference "/absolute/path/character.png" \
  --reference-role "character" \
  --reference "/absolute/path/bicycle.png" \
  --reference-role "bicycle design" \
  --out "generated-images/combined.png"

編集では、編集対象はImage 1です。補助的な参照画像は、コマンドラインの順序に従ってその後に指定します。

画像を編集・修正する

既存の画像を変更するには、--edit-targetとともに--mode editを使用します。

node ./gpt-image/scripts/gpt_image.mjs generate \
  --mode edit \
  --prompt "自転車のかごを小さな木箱に置き換えてください。" \
  --edit-target "generated-images/robot-bicycle.png" \
  --out "generated-images/robot-bicycle-crate.png"

後続の修正では、元のソースに戻らず、常に最新の結果を編集してください。

node ./gpt-image/scripts/gpt_image.mjs generate \
  --mode edit \
  --prompt "木箱を濃い緑色にしてください。" \
  --edit-target "generated-images/robot-bicycle-crate.png" \
  --out "generated-images/robot-bicycle-green-crate.png"

引き続き必要な補助参照画像はすべて再添付してください。各ブリッジ呼び出しは一時的なものであり、以前の添付ファイルを自動的に保持しません。最新の出力ではなく元のソースを編集すると、以前の修正内容が失われます。

複数の画像を並列で実行する

1枚の画像を生成する場合はgenerateを使用します。準備済みのジョブが2つ以上ある場合、スキルは上限付きのバッチ処理を使用できます。デフォルトの同時実行数は2、最大値は4です。バッチの認証は1回だけ確認され、失敗したジョブは自動的に再試行されません。

バッチ処理モデルは、次の3つの一般的な構成に対応しています。

  • 共通アンカーのバリエーション: すべてのジョブが同じ既存デザインを読み込み、それぞれ異なるスタイルを適用します。
  • 委任されたコンセプト: 共通の制約を維持しながら、エージェントが指定された各デザイン方針に対して、完全で意味のある異なるプロンプトを1つずつ作成します。
  • 反復レンダリング: 違いが指定されていない場合、各ジョブでまったく同じプロンプトを再利用します。

image-jobs.jsonのようなワークスペース内のマニフェストを作成します。

{
  "version": 1,
  "jobs": [
    {
      "id": "watercolor",
      "mode": "variation",
      "prompt": "同じデザインを維持し、水彩画のスタイルでレンダリングしてください。",
      "edit_target": "references/base-design.png",
      "references": ["references/watercolor-style.png"],
      "reference_roles": ["この出力のスタイル参照"],
      "out": "generated-images/design-watercolor.png"
    },
    {
      "id": "clay",
      "mode": "variation",
      "prompt": "同じデザインを維持し、粘土のスタイルでレンダリングしてください。",
      "edit_target": "references/base-design.png",
      "references": ["references/clay-style.png"],
      "reference_roles": ["この出力のスタイル参照"],
      "out": "generated-images/design-clay.png"
    }
  ]
}

次のコマンドでマニフェストを実行します。

node ./gpt-image/scripts/gpt_image.mjs batch \
  --manifest "image-jobs.json" \
  --concurrency 2

複数のジョブで同じアンカーを安全に読み取れます。各出力には、関連するスタイル参照だけを添付してください。無関係なコンセプトの場合は共通のedit_targetを省略し、各ジョブに独立したプロンプトと固有の参照画像を指定します。

あるバッチジョブで作成された結果を、同じバッチ内の別のジョブの入力にすることはできません。出力から入力への依存関係があるワークフローは、段階を分けて実行してください。共通アンカーがない場合は、最初に要求された出力を生成し、返されたパスを後続のバリエーションに使用します。このスキルが追加の隠れたアンカーを作成することはありません。

高度な使用上のヒント

プロンプトの意図を維持する

単一の直接リクエストでは、ユーザーの文言がそのまま優先され、変更せずに転送されます。ユーザーが複数の異なるデザイン、コンセプト、方針、選択肢、または代替案を求める場合は、委任された創作上の意図も優先されます。その場合、エージェントは共通の対象、ブランド、テキスト、参照画像、アスペクト比、その他の制約を維持しながら、出力ごとに画像生成に適した異なるプロンプトを作成します。

ジョブ番号はマニフェストIDとファイル名に記載し、画像プロンプトには記載しません。これは2番目の選択肢ですのようなフレーズを追加しないでください。

正しいモードを選択する

  • テキストから画像を作成する場合は、--mode generateを使用します。
  • 既存ファイルを基に新しい画像を作成する場合は、--reference PATHを追加します。
  • 既存の画像を変更する場合は、--mode edit --edit-target PATHを使用します。
  • 既存のデザインのバリエーションを作成する場合は、--mode variation --edit-target PATHを使用します。
  • 透明背景が必要な場合にのみ、--background transparentを使用します。
  • 1つの構図を異なるスタイルでレンダリングする複数のバリエーションジョブでは、同じ編集対象を使用します。
  • 同じ画像を複数の生成ジョブの参照として使用すると、異なるシーンやレイアウトに同じアイデンティティを反映できます。

意図しない上書きを避ける

ランナーは、--overwriteを明示しない限り既存の画像を上書きしません。各結果には、generated-images/配下の説明的な出力パスを指定してください。

トラブルシューティングとセットアップ確認

計画作成と詳細な診断は任意です。通常の生成前に必須ではありません。セットアップ、認証、参照ファイル、または出力ファイルを調査する必要がある場合に使用してください。

node ./gpt-image/scripts/gpt_image.mjs doctor --json
node ./gpt-image/scripts/gpt_image.mjs guide
node ./gpt-image/scripts/gpt_image.mjs capabilities --json
node ./gpt-image/scripts/gpt_image.mjs inspect \
  --input "generated-images/combined.png" --json

画像を作成せずにサインインとパスを確認するには、次を実行します。

node ./gpt-image/scripts/gpt_image.mjs generate \
  --prompt "test" \
  --out "generated-images/test.png" \
  --dry-run --json

サインインや画像生成を行わずに、バッチマニフェストとそのスケジューリングを検証するには、次を実行します。

node ./gpt-image/scripts/gpt_image.mjs batch \
  --manifest "image-jobs.json" \
  --check-only --json

生成された画像には、SHA-256の記録ではなく、簡易的なファイルおよび署名チェックが行われます。SHA-256は、インストーラーの検証など、意味のある場面では引き続き利用できます。

node ./gpt-image/scripts/gpt_image.mjs verify-installers --json

セキュリティとプライバシーの保護策

  • このスキルは、Codexの子プロセスからOPENAI_API_KEY、OPENAI_BASE_URL、OPENAI_ORG_ID、OPENAI_PROJECT_ID、CODEX_ACCESS_TOKENを削除します。
  • 伏せ字化された診断情報によってChatGPT認証が確認されない限り、生成はブロックされます。
  • OpenAI Images APIのエンドポイントや/v1/imagesリクエストは含まれていません。
  • このスキルは認証ファイルを読み取りません。
  • 生成されたファイルはアクティブなワークスペース内に保持されます。
  • サブスクリプションの上限に達した場合、ランナーはImages APIにフォールバックしません。

スキルを更新する

macOS、Linux、またはWSL2では、永続クローンを早送りしてブートストラップを再実行します。

INSTALL_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/gpt-image-skill"
git -C "$INSTALL_DIR" pull --ff-only
node "$INSTALL_DIR/gpt-image/scripts/gpt_image.mjs" \
  bootstrap --target all --yes --json

ネイティブWindows PowerShellでは、次を実行します。

$InstallDir = Join-Path $env:LOCALAPPDATA "gpt-image-skill"
git -C $InstallDir pull --ff-only
node "$InstallDir\gpt-image\scripts\gpt_image.mjs" bootstrap --target all --yes --json

まとめ

GPT Image Skillは、ChatGPT認証を使用して、Codex、Claude Code、または互換性のある別のエージェントから画像を生成・編集する、ワークスペースに特化した方法を提供します。まずは自然言語による直接的なリクエストから始め、参照ファイルには安定したローカルパスを指定し、各修正には最新の出力を使用してください。独立したコンセプトや共通アンカーを使ったバリエーションには、上限を設定したバッチを使用します。

インストール要件と詳しいワークフローについては、GPT Image Skillリポジトリをご覧ください。