簡単な回答
gpt-image-2を使用し、リクエストに2つのフィールドを追加します。
background: "transparent"は、2026-08-21にOpenAIがGPT-Image-2向けに公開した機能です(OpenAIによりプレビューと表示されています)。APIYIはエンドツーエンドで検証済みです。テキストから画像への生成と画像編集の両方で、実際のアルファ透明度が返されます。透明な背景を生成できるモデル
2つの呼び出し方法
テキストから画像へ /v1/images/generations
画像編集 /v1/images/edits
通常の写真を渡して、背景を削除するよう依頼します。
mask)と透明な背景は併用できます。互いに競合することはありません。
なぜ jpeg が動作しないのか
JPEG には alpha チャンネルがありません — 透明度を保存する場所がないためです。output_format: "jpeg" と background: "transparent" を組み合わせると 400 が返されます:
png(ロスレスで、サイズは大きめ)または webp(ロッシーで調整可能、サイズは小さめ、さらに alpha もサポート)を選んでください。webp はさらにファイルサイズを削減するために output_compression も受け付けます。
編集は精密な切り抜きではなく、描き直しです
ここで最初に期待値をそろえておきます。/v1/images/edits が background: transparent で実行されると、モデルは Photoshop のように元の輪郭をなぞるのではなく、シーンを理解して被写体を描き直します。つまり、次のようになります。
- 被写体のポーズ、スタイル、細部は変化します — これはピクセル単位の保持ではありません
- 元の画像により近づけるには、
quality: "high"を使い、プロンプトに「元の構図を維持し、被写体の見た目を変更しないでください」と記載します - ワークフローでピクセル単位の正確な抽出が必要な場合は、
rembg、PIL、またはsharpで自分で切り抜きを行ってください。モデル生成は、正確なマット処理よりも「再利用可能なアセットを生成する」用途に適しています
プロンプトでシーンを描写しないでください — パラメータでは上書きできません
background: "transparent"はアルファチャンネルを保証し、モデルをカットアウトへ誘導するだけです。プロンプトまたは参照画像が完全なシーンを描写している場合、モデルはそのシーンを描画し、パラメータで止めることはできません。これが、透明な出力が「うまくいくときもあれば、うまくいかないときもある」最も一般的な理由であり、品質ティアとは関係ありません。
gpt-image-2.5-sunburstを使用し、2026-09-11に測定。30回の呼び出し(中品質と高品質が半分ずつ、テキストから画像への生成と参照画像の編集を含む):
3つの記述ルール:
- ❌ 環境を表す語 — 地面、空、部屋、森 — は避けてください。雰囲気を加えたい場合は、被写体に結び付けてください(「数枚の落ちるカエデの葉」であり、「カエデの森」ではありません)
- ✅ すべてのプロンプトの末尾に
isolated subject on a transparent background, no scenery, no ground, no shadowを付けてください - ✅ 参照画像に背景がある場合は、編集プロンプトに
remove the background entirely, keep only the characterと記述してください
mediumからhighへqualityを引き上げても、透明化の信頼性は向上しません。tokensのコストが4倍(439 → 1,756)になるだけです。
課金
透明性に追加料金はかかりません。 同じ品質ティアとサイズであれば、background: "transparent" と background: "opaque" はまったく同じ数の image tokens を消費し、gpt-image-2 に対する通常の token 単位の課金ルールに従って請求されます。
よくあるエラー
400: JPEG 出力形式では透明な背景はサポートされていません
400: JPEG 出力形式では透明な背景はサポートされていません
output_format は jpeg に設定されています。png または webp に切り替えてください。画像は実際には透明ではなく、白背景になっています
画像は実際には透明ではなく、白背景になっています
3 つの点を確認してください。まず、
background フィールドが実際に API に到達したかを確認します。編集用エンドポイントは multipart/form-data なので、JSON ボディのフィールドではなく -F background=transparent でなければなりません。次に、レスポンス内のトップレベル background が transparent を反映しているかを確認します。最後に、gpt-image-2 を使用しているかを確認します — gpt-image-2-all と gpt-image-2-vip にはそのようなパラメータがなく、指定しても黙って無視されます。3 つすべてに問題がないにもかかわらず、白色または完全な背景が表示される場合、prompt(または参照画像)がほぼ確実に シーンを描写しています — モデルは指定された環境を描画しており、パラメータでそれを上書きすることはできません。上記の「prompt でシーンを描写しない」を参照してください。画像に実際にアルファチャンネルがあることを確認するにはどうすればよいです
画像に実際にアルファチャンネルがあることを確認するにはどうすればよいです
Python のスニペット 1 つで十分です。モード
RGB は、アルファチャンネルがまったくないことを意味します。すべてのアルファ値が 255 のモード RGBA は、チャンネルは存在するものの、何も切り抜かれていないことを意味します。prompt にはすでに透明な背景と書いてあるのに、なぜパラメータも渡すのですか
prompt にはすでに透明な背景と書いてあるのに、なぜパラメータも渡すのですか
prompt はモデルにそのように描画するよう要求するだけであり、モデルが透明に見えるグレーと白の市松模様を描画することがあります — それらは依然として不透明なピクセルです。実際のアルファチャンネルを保証するのは
background: "transparent" パラメータだけです。逆の場合も同様です。パラメータはチャンネルを保証しますが、prompt で描写されたシーンを上書きすることはできません — この 2 つは連携して機能する必要があります。関連ドキュメント
GPT-Image-2の概要
すべてのパラメータ、サイズ、品質ティア、エラーコード
テキストから画像へのAPIリファレンス
/v1/images/generationsのすべてのフィールド画像編集APIリファレンス
/v1/images/editsと複数画像の融合マスクによるインペインティング
変更する領域をアルファマスクで指定
公式リレーとリバースルート
gpt-image-2.5-flare / sunburst / gpt-image-2 / -all / -vipから選択白い背景でのアーティファクト
純白の背景に関する別の問題