はじめに
GPT Image 2 画像編集は、OpenAI の gpt-image-2 モデルを手元の画像に適用します。1〜10 枚の元画像と指示を渡し、服や色を変える、見出しを書き換える、場面の光を変える、複数の元画像の人物や場所を 1 枚にまとめるといった編集ができます。任意の PNG マスクで描き直す範囲を 1 か所に限定できます。
手元の素材でモードを選ぶ
| 手元にあるもの | モード |
|---|---|
| 文章のブリーフ | GPT Image 2 テキストから画像 |
| 変更したい画像 | GPT Image 2 画像編集 |
主な機能とハイライト
指示による編集、必要ならマスクも
マスクがなければ、何を変えるかをモデルがプロンプトから判断し、残りを整合するように描き直します。マスクがあれば透明なピクセルだけが描き直され、ほかはすべて残ります。
1 リクエスト最大 10 枚の元画像
元画像は順番で指し示します。1 枚目が人物、2 枚目が場所、3 枚目が商品というように書くと、モデルがそれらを新しい 1 枚にまとめます。
忠実度と比率の制御
input_fidelity を high にすると、顔、生地、印刷された細部が元画像により近く保たれます。比率 auto は 1 枚目の元画像の形を保ち、15 種類の固定比率を選ぶと仕上がりがその形になります。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
prompt | はい | 最大 5,000 文字です。画像内に入れたい語句はすべて二重引用符で囲み、置く場所も書いてください。 1 文字以上 · 5000 文字以内 |
image_urls | はい | 元画像は 1〜10 枚です。プロンプトでは順番で指し示してください(1 枚目の画像、2 枚目の画像)。 1 件以上 · 10 件以内 |
mask_url | いいえ | 1 枚目の元画像と同じサイズの PNG で、任意です。透明なピクセルが描き直す範囲を示し、不透明な部分はそのまま残ります。 |
aspect_ratio | いいえ | auto(既定)は 1 枚目の元画像の比率を約 150 万画素で保ち、サイズ段階は無視されます。1:3 から 3:1 までの 15 種類から選ぶこともできます。 |
resolution | いいえ | 1k(既定)、2k、4k のいずれかです。正方形の画像は一辺 1024、2048、2880 ピクセルになり、段階が上がるほど 1 枚あたりの料金も上がります。 |
quality | いいえ | low、medium(既定)、high のいずれかです。OpenAI は出力トークンで課金するため、同じサイズなら各段階は一つ下の約 4〜9 倍の料金になります。 |
num_outputs | いいえ | 1 リクエストあたり 1〜10 枚で、既定は 1 枚です。画像ごとに個別に課金されます。 |
input_fidelity | いいえ | low(既定)か high です。high では元画像の顔、生地、印刷された細部をより忠実に保ちます。 |
background | いいえ | auto(既定)か opaque です。OpenAI は GPT Image 2 で透過出力を提供していません。 |
output_format | いいえ | png(既定)、jpeg、webp のいずれかです。料金は変わりません。 |
output_quality | いいえ | jpeg と webp の圧縮品質で、0〜100 の範囲です。値が大きいほど細部が残り、ファイルも大きくなります。 |
official_fallback | いいえ | 既定はオンです。21:9、9:21、3:1、1:3 以外の比率で、マスクなし、input fidelity low、background auto のまま medium 品質・1k サイズの PNG を 1 枚返す編集のリクエストは、まずエコノミールートで実行されます。 デフォルト値: |
料金
出力画像 1 枚ごとに、品質、サイズ段階、比率で課金します。公式ルートでは、元画像 1 枚ごとに出力 1 枚あたりの固定料金も加わります。合計は送信前に見積もりで表示されます。21:9、9:21、3:1、1:3 以外の比率で、マスクなし、input fidelity low、background auto のまま medium 品質・1k サイズの PNG を 1 枚返す編集のリクエストは、エコノミールートでエコノミー価格から始まります。Official fallback(既定はオン)が有効なら、そのルートが拒否したリクエストや完了できなかったリクエストは公式ルート(公式価格)で実行し直されるため、見積もりには開始価格と上限額の両方が表示されます。拒否されたリクエストは課金されません。公式ルートでは、最初の 100 トークンを超える長いプロンプトに入力トークンの少額料金が 1 リクエストにつき 1 回加わります。中国語・日本語・韓国語の文字はおよそ 1 文字 1 トークンです。
| 仕様 | 料金 |
|---|---|
| $0.001816 / 枚 |
| $0.001816 / 枚 |
| $0.00244 / 枚 |
| $0.00244 / 枚 |
| $0.002752 / 枚 |
| $0.002752 / 枚 |
| $0.002872 / 枚 |
| $0.002872 / 枚 |
| $0.00304 / 枚 |
| $0.00304 / 枚 |
| $0.003568 / 枚 |
| $0.003568 / 枚 |
| $0.003736 / 枚 |
| $0.003736 / 枚 |
| $0.003856 / 枚 |
| $0.003856 / 枚 |
| $0.004192 / 枚 |
| $0.004192 / 枚 |
| $0.004456 / 枚 |
| $0.004456 / 枚 |
| $0.005104 / 枚 |
| $0.005152 / 枚 |
| $0.005152 / 枚 |
| $0.005704 / 枚 |
| $0.005704 / 枚 |
| $0.005896 / 枚 |
| $0.006016 / 枚 |
| $0.006016 / 枚 |
| $0.006712 / 枚 |
| $0.006712 / 枚 |
| $0.007312 / 枚 |
| $0.007312 / 枚 |
| $0.0076 / 枚 |
| $0.0076 / 枚 |
| $0.008128 / 枚 |
| $0.008128 / 枚 |
| $0.009304 / 枚 |
| $0.009304 / 枚 |
| $0.009928 / 枚 |
| $0.009928 / 枚 |
| $0.011176 / 枚 |
| $0.011176 / 枚 |
| $0.01192 / 枚 |
| $0.01192 / 枚 |
| $0.01324 / 枚 |
| $0.01324 / 枚 |
| $0.016216 / 枚 |
| $0.016216 / 枚 |
| $0.01396 / 枚 |
| $0.01396 / 枚 |
| $0.018592 / 枚 |
| $0.018592 / 枚 |
| $0.020368 / 枚 (Official fallback 使用時:最大 $0.021472) |
| $0.020368 / 枚 (Official fallback 使用時:最大 $0.021472) |
| $0.020998 / 枚 (Official fallback 使用時:最大 $0.023992) |
| $0.020998 / 枚 (Official fallback 使用時:最大 $0.023992) |
| $0.022 / 枚 (Official fallback 使用時:最大 $0.028) |
| $0.022 / 枚 (Official fallback 使用時:最大 $0.028) |
| $0.022864 / 枚 (Official fallback 使用時:最大 $0.031456) |
| $0.022864 / 枚 (Official fallback 使用時:最大 $0.031456) |
| $0.023626 / 枚 (Official fallback 使用時:最大 $0.034504) |
| $0.023626 / 枚 (Official fallback 使用時:最大 $0.034504) |
| $0.024112 / 枚 |
| $0.024112 / 枚 |
| $0.025636 / 枚 (Official fallback 使用時:最大 $0.042544) |
| $0.027448 / 枚 (Official fallback 使用時:最大 $0.049792) |
| $0.032272 / 枚 |
| $0.032272 / 枚 |
| $0.03688 / 枚 |
| $0.03688 / 枚 |
| $0.043072 / 枚 |
| $0.043072 / 枚 |
| $0.048064 / 枚 |
| $0.048064 / 枚 |
| $0.050776 / 枚 |
| $0.050776 / 枚 |
| $0.055432 / 枚 |
| $0.055432 / 枚 |
| $0.062416 / 枚 |
| $0.062416 / 枚 |
| $0.0652 / 枚 |
| $0.0652 / 枚 |
| $0.067984 / 枚 |
| $0.067984 / 枚 |
| $0.080464 / 枚 |
| $0.080464 / 枚 |
| $0.086032 / 枚 |
| $0.086032 / 枚 |
| $0.094288 / 枚 |
| $0.094288 / 枚 |
| $0.103984 / 枚 |
| $0.103984 / 枚 |
| $0.11296 / 枚 |
| $0.11296 / 枚 |
| $0.14272 / 枚 |
| $0.14272 / 枚 |
| $0.054616 / 枚 |
| $0.054616 / 枚 |
| $0.07144 / 枚 |
| $0.07144 / 枚 |
| $0.082936 / 枚 |
| $0.082936 / 枚 |
| $0.095248 / 枚 |
| $0.095248 / 枚 |
| $0.096472 / 枚 |
| $0.096472 / 枚 |
| $0.110728 / 枚 |
| $0.110728 / 枚 |
| $0.124624 / 枚 |
| $0.124624 / 枚 |
| $0.127864 / 枚 |
| $0.127864 / 枚 |
| $0.135064 / 枚 |
| $0.135064 / 枚 |
| $0.142816 / 枚 |
| $0.142816 / 枚 |
| $0.168976 / 枚 |
| $0.171016 / 枚 |
| $0.171016 / 枚 |
| $0.19456 / 枚 |
| $0.19456 / 枚 |
| $0.197104 / 枚 |
| $0.197104 / 枚 |
| $0.197968 / 枚 |
| $0.220456 / 枚 |
| $0.220456 / 枚 |
| $0.248464 / 枚 |
| $0.248464 / 枚 |
| $0.259552 / 枚 |
| $0.259552 / 枚 |
| $0.274216 / 枚 |
| $0.274216 / 枚 |
| $0.320608 / 枚 |
| $0.320608 / 枚 |
| $0.342928 / 枚 |
| $0.342928 / 枚 |
| $0.37588 / 枚 |
| $0.37588 / 枚 |
| $0.414736 / 枚 |
| $0.414736 / 枚 |
| $0.456544 / 枚 |
| $0.456544 / 枚 |
| $0.569656 / 枚 |
| $0.569656 / 枚 |
ユースケース
完成済みビジュアルの書き換えとリスタイル
ポスターや表紙の文字、商品や服の色を差し替え、承認済みの写真はそのまま残します。
参考画像から場面を組み立てる
ある写真の人物を別の写真の場所に置いたり、別々に撮った 2 人を並べたりでき、レイアウトをテキストのプロンプトから作り直す必要はありません。
ビジュアルの各国語版
写真はそのままに、見出しを市場ごとに翻訳した 1 行へ差し替えます。言語ごとに 1 回の編集です。
プロンプトガイドと実践のヒント
変える点と残す点を両方書く
まず変更点を書き、次に動かしてはいけないもの(顔、ポーズ、光、背景、ロゴ)を書いてください。守ると書かなかったものは描き直される可能性があります。
元画像に番号を振る
「1 枚目の画像の女性」「2 枚目の画像のボート」のように書いてください。image_urls の順番が、モデルがそれらを見分ける唯一の手がかりです。
小さな修正にはマスクを使う
1 つの物や背景の一部だけなら、1 枚目の元画像と同じサイズの PNG マスクのほうが言葉で説明するより確実です。
構図を保つなら auto のまま
元画像の構図を保つ編集では比率を auto のままにし、仕上がりに新しい形が必要なときだけ固定の比率を選んでください。
API クイックスタート
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "openai/gpt-image-2/edit",
"input": {
"aspect_ratio": "auto",
"background": "auto",
"image_urls": [
"https://example.com/reference.png"
],
"input_fidelity": "low",
"num_outputs": 1,
"output_format": "png",
"prompt": "A ceramic teapot on a linen cloth, soft window light, muted palette"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
認証、完全なスキーマ、ポーリング、エラー処理は API リファレンスを参照してください。





