mcpField
S
scenario-gpt-image

scenario-gpt-image

github.com/scenario-labsクリエイティブ・メディア1.2k426 回インストール1 日前に更新
リポジトリ

scenario-gpt-image について

scenario-gpt-imageは、Scenario上でOpenAIのGPT Imageモデルを使って画像を生成・編集するスキルです。参照画像、インペインティング、サイズ、品質、忠実度に応じたモデル選択と設定を案内します。

主な機能

  1. 01プロンプトによる画像生成と編集
  2. 02参照画像とマスクの利用
  3. 03GPT Imageモデルの選択
  4. 04サイズとアスペクト比の設定
  5. 05dry_runによるコスト見積もり

活用シーン

  1. 01画像の草案や完成素材の作成
  2. 02インペインティングによる領域編集
  3. 03透明背景の切り抜き画像の生成
  4. 04参照画像の保持または再解釈

MCP 対応

Scenario MCPツールでモデルを検索し、スキーマ確認、参照画像のアップロード、画像ジョブの実行と結果取得を行います。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/scenario-labs/skills --skill scenario-gpt-image

インストール後、Claude Code で/scenario-gpt-imageを入力して読み込まれたか確認します。

詳細

Scenario GPT Image

概要

Scenario の OpenAI 画像モデルファミリーである GPT Image の各メンバーは、1 つの prompt で画像の生成と編集の両方を行います。編集する画像は referenceImages で指定し、インペインティングには任意でアルファ mask を指定します。執筆時点では、GPT Image 2.5 Flare(日常使いに適した高速モデル)、GPT Image 2.5 Sunburst(高精度:文字量の多いコピー、図表、形状を維持する必要がある編集向け)、GPT Image 2、そして忠実度を調整でき、比率を指定できる唯一のメンバーである GPT Image 1.5 の 4 つが利用可能でした。search でメンバーを見つけ、仕様の基準として model_schema_get を参照してください。ファミリー内で共通するのはプロンプトと参照画像で、サイズ指定、品質の段階、忠実度はモデルごとに異なります。

接続方法と基本的な操作の流れについては、このリポジトリの scenario スキルを参照してください。モデルに依存しない画像処理については、scenario-image スキルを参照してください。ここに記載された関連スキルが利用可能なスキルにない場合は、ユーザーにインストールを依頼してください(npx skills add scenario-labs/skills --skill <name>)。無人実行の場合は、ツールのスキーマに基づいて処理を進め、不足している旨を明記してください。

クイックリファレンス

執筆時点で共通する仕様は、prompt(必須、最大 32000 文字)、1 件の場合も配列で指定し最大 10 件まで渡せる referenceImages、1 つのプロンプトから 1~10 個のバリエーションを生成する numOutputs、quality、および background(すべてのモデルで auto と opaque、GPT Image 2 以外のすべてのモデルで transparent)です。モデルごとの違いは以下のとおりです。

仕様2.5 Flare と SunburstGPT Image 2GPT Image 1.5
サイズ指定width と height、16~3840 px同左aspectRatio:auto、1:1、3:2、2:3
インペインティングmask PNGmask PNGmask フィールドなし
qualityauto、low、medium、high、xhigh、maxauto、low、medium、highhigh、medium、low(デフォルトは high)
元画像の忠実度プロンプトの文言のみプロンプトの文言のみinputFidelity:high は固定、low は再構成

ルーティング:Flare と Sunburst は同じ仕様と価格表を共有しているため、選択の基準は速度と品質のどちらを優先するかです。OpenAI によると、Flare は速度を重視した小型モデルで、画像品質は GPT Image 2 に匹敵します。Sunburst はベースモデルで、画像品質は GPT Image 2 より高くなっています。日常的な用途には Flare、速度より正確さを優先する場合(パッケージのコピー、密集した数字、分解図、形状を維持する編集)には Sunburst を選んでください。GPT Image 2 の仕様は、2.5 の仕様から上位 2 段階を除いたもので、high の料金は 2.5 の max と同じです。そのため、新規の作業には 2.5 を選んでください。GPT Image 1.5 が適しているのは、参照画像を再現するのではなく作り直す inputFidelity: "low" を使う場合(忠実度が高い状態を維持できるのは最初の 5 件の参照画像のみ)と、ピクセル単位の計算をせずに 3:2 または 2:3 の出力を得たい場合です。透明な切り抜き画像には 2.5 のモデルを選んでください。GPT Image 2 はこの値を受け付けず、1.5 は切り抜き向けではなく、忠実度と比率に対応したモデルです。

品質は価格を左右します

qualityはサイズよりも価格に大きく影響し、同じ値でもメンバーによって価格は異なります。作成時点で、両方の2.5メンバーでは1024四方の場合、low、medium、high、xhigh、maxの順に2、3、12、20、45 CUでした。GPT Image 2ではlowが2、mediumが12、highが45でした。autoは3つすべてで12に解決され、Flareで3840×2160のmaxを実行すると69 CUでした。実行するメンバーに対してdry_run=trueを指定し、creativeUnitsCostを確認してください。referenceImages、numOutputs、quality、サイズ指定にはすべてcost_impactがあるため、いずれかを変更したら再見積もりしてください。GPT Image 2では、ドライランでもxhighまたはmaxを指定すると400(「Input quality must be one of the following values」)になります。ティアの選び方は、下書きにはlow、日常的な最終成果物にはmedium、小さな文字や凡例を読みやすく保つ必要がある場合はhigh、そして、1つ下のティアではレイテンシ予算内に特定の要件を満たせなかった場合に限りxhighまたはmaxです。ティアを上げても、すべてのプロンプトで結果が向上するとは限りません。

ピクセルサイズを指定するメンバーでは、サイズ設定はOpenAIが公開しているグリッドに従います。各辺は16の倍数、長辺は最大3840、アスペクト比は1:3から3:1、総ピクセル数は655,360から8,294,400の範囲で、2560×1440を超えるサイズは実験的です。スキーマが検証するのは16刻みの範囲だけで、dry_runはあらゆるリクエストの価格を見積もるため、グリッドには自分で従ってください。グリッドから外れたリクエストも成功しますが、エラーなしで別のサイズが返されます。作成時点では、3840×960と3840×480はいずれも3840×1280で返されました(3:1に制限)。960×3840は1280×3840、1000×1000は992×992で返されました。また、3840×3840はSunburstでは2880×2880で返されましたが、Flareでは送信時に拒否されました(「Error while running prediction」)。一般的な選択肢は、1024四方(最速)、1536×1024、1024×1536、4K向けの3840×2160、正確な21:9向けの2560×1088です。

編集元のアスペクト比が1:3から3:1の範囲外の場合、結果はトリミングされず、パディングされます。1326×313(4.24:1)の元画像は両方の2.5メンバーで約2132×738になり、フレームの約3分の1を占める白い帯が上下に追加されました。元画像のサイズを入力した場合も、同じようにパディングされた1408×480が返されました。実行後は毎回、asset_getからwidthとheightを確認してください。編集後もキャンバスサイズを正確に維持する必要がある場合は、結果から帯を切り取るか、元画像のサイズを維持するメンバーに編集を割り当ててください(scenario-ideogramを参照)。

マスクと透明度

maskは最初の参照画像と同じサイズのPNGで、アルファチャンネルのみが読み取られます。透明なピクセルは編集され、不透明なピクセルは保持されます。アルファチャンネルがない場合、RGBの白や黒は無視されます。透明度を保持したまま書き出し、決してフラット化しないでください。また、白地に黒のマスクでは、白い領域を透明に変換してください。OpenAIではマスクは厳密な境界ではなく、ガイダンスとして扱われます。ピクセルを完全に同一のまま維持する必要がある領域では、承認済みの編集結果を元画像に合成し直してください。

background: "transparent"を指定すると、2.5のFlareとSunburstではすべてのティアで実際のアルファチャンネルが返されます。GPT Image 2では拒否されます。2.5メンバーでは、作成時点で2つの点が確認されています。アルファ値の最大値は254で255にはならないため、完全不透明なピクセルを確認する処理では、被写体全体が半透明として読み取られます。また、透明なピクセルの下にハローを伴う色情報が残るため、アルファチャンネルを除去する表示面(JPEGへのフラット化、透明度に対応していないサムネイル、黒地に合成するビューアーなど)では、切り抜き画像が光って見えます。白地や市松模様の背景では問題ありません。切り抜きについては、輪郭をくっきりさせ、細部のエッジとラベルの文字を保持し、ハローやスタイル変更がないよう指定してから、髪、ガラス、影、オブジェクトの縁のアルファチャンネルを確認してください。プレビューやダウンロードを含むすべての段階で、PNGまたはWebPとアルファチャンネルを維持してください。

プロンプトの作成方法

配置が重要です。スタイル、媒体、被写体、ムードから始め、続けてシーン、詳細、ライティング、テキストを、タグの羅列ではなく自然な文章で記述します。仕上がりの精度を定めるため、想定用途(広告、UI モックアップ、インフォグラフィック、キービジュアル)を明記します。フォトリアリズムを求める場合は「photorealistic」と指定し、具体的な質感(毛穴、布の擦れ、素材の木目など)を挙げます。人物を描く場合は、フレーミング、視線、手の動きを説明します。詳細なブリーフは正規化されるもので、脚色されるものではありません。一般的なプロンプトだけを補足し、依頼から読み取れない人物、ブランド、スローガン、左右の配置は決して追加しないでください。異なる要件が7つほどを超えると、一部が気づかれないまま抜け落ちることがあります。まず簡潔なベースを作り、編集ごとに狙いを絞った変更を1つだけ加え、直前の出力を次の参照として渡します。

編集するときは「X だけを変更」と指定し、維持すべき要素を列挙して、その一覧を各反復で繰り返します。言及されていない要素は変更される可能性があります。入力画像がすべて編集対象とは限りません。スタイルやムードの参照として渡された画像を使う場合、その実行は参照画像を使った生成になります。各参照画像に番号で役割を指定します(「image 1 は製品、image 2 はカラーパレット」など)。役割を指定しないと、参照画像の区別が曖昧になります。numOutputs は1つのプロンプトからのバリエーションを生成するもので、1つのブリーフに対するレイアウト案に適しています。異なる被写体には、別々の実行を使います。

画像内のテキストについては、コピーを正確に引用し、難しい単語は一文字ずつ綴り、レイアウト(各要素の配置領域、他の要素と比較した大きさ、空けておく場所)を指示します。フォントのウェイトと大文字・小文字を指定し、コピーを何回表示するかを明記して、「no extra words, no duplicate text」を付け加えます。公人の名前を含むプロンプトは拒否されるため、代わりに人物の類型を説明してください。複雑なプロンプトの実行には2分ほどかかることがあります。再実行せず、jobs_wait で完了を待ちます。

実例:見出しテキスト入りの商品ヒーロー画像

  1. target="models"、query="gpt image"、public=true を指定して search を実行します。順位ではなく名前を確認してください。新しいモデルは利用実績がまだ少ないため、GPT Image 2 より下位に表示されます。見出しテキストには Sunburst が適しています。例:model_openai-gpt-image-2-5-sunburst(執筆時点で有効な検索結果です。セッションごとに再検索してください)。
  2. その ID を使って model_schema_get を呼び出し、まず quality の許容値、サイズの上限・下限、マスクの有無、デフォルト値を確認します。
  3. 商品写真を upload_asset に渡し、アセット ID を取得します(scenario スキルを参照)。
  4. 下書き料金を確認するため、model_id と dry_run=true を指定して model_run を呼び出します。パラメーターは次のとおりです。 parameters={"prompt": "Editorial product photography, soft daylight. The exact bottle from image 1 on brushed concrete, label, shape, and color preserved. Headline \"DRINK GREEN\" in bold sans-serif, centered, appears once, no extra words, no duplicate text.", "referenceImages": ["asset_x"], "width": 1536, "height": 1024, "quality": "low", "numOutputs": 3} 次に wait=false で実行し、返されたジョブ ID を使って jobs_wait を呼び出します。タイムアウトした場合は pending_job_ids を指定して再度呼び出し、2回目の model_run は決して実行しないでください。
  5. asset_display で3つの下書きを表示し、構図を選びます。ステップ4を同じプロンプトで繰り返しますが、まず quality: "high"、numOutputs: 1、dry_run=true を指定します。ティアの変更によって料金が変わります。
  6. 最終出力を asset_display で表示し、まとめて処理する前に画像内のテキストを校正します。保存するには asset_download を使います。

よくある間違い

  • xhigh や max を GPT Image 2 または 1.5 に指定する:検証時に400エラーが発生します。各モデルのスキーマで許容値を確認してください。
  • 切り抜き画像に GPT Image 2 を使う:background: "transparent" が拒否されます。2.5 Flare または Sunburst を使ってください(1.5 は忠実度とアスペクト比を重視するモデルです)。
  • モデル間でサイズ指定を使い回す:2 と 2.5 では width/height、1.5 では aspectRatio を使います。両方を同時に指定しないでください。
  • 指定したサイズがそのまま使われると思い込む:縦横比が3:1を超える場合、8,294,400ピクセルを超える場合、または16ピクセル単位のグリッドから外れる場合、ジョブは別のサイズで成功します。また、横幅が広すぎる編集元画像には白い帯が加わります。
  • 1.5 で意図的に再解釈させたいのに、デフォルトの高い inputFidelity のままにする:値を low に下げて、再度 dry_run してください。

コメント