Skip to main content

簡単な回答

gpt-image-2を使用し、リクエストに2つのフィールドを追加します。
画像は実際のアルファチャンネルを持つPNGとして返されるため、切り抜きの後処理は必要ありません。テキストから画像への生成と画像編集の両方でサポートされています。
background: "transparent"は、2026-08-21にOpenAIがGPT-Image-2向けに公開した機能です(OpenAIによりプレビューと表示されています)。APIYIはエンドツーエンドで検証済みです。テキストから画像への生成と画像編集の両方で、実際のアルファ透明度が返されます。

透明な背景を生成できるモデル

透明性を確実に必要とする場合は、gpt-image-2を使用してください。 パラメータとpromptによるリクエストは同じものではありません。前者はAPIによって保証されますが、後者はモデルが最善を尽くしているだけです。バッチ規模では、その違いが現れます。

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 単位の課金ルールに従って請求されます。

よくあるエラー

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 はモデルにそのように描画するよう要求するだけであり、モデルが透明に見えるグレーと白の市松模様を描画することがあります — それらは依然として不透明なピクセルです。実際のアルファチャンネルを保証するのは 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から選択

白い背景でのアーティファクト

純白の背景に関する別の問題