gpt-image-2は、OpenAI APIから背景透過画像を出力できるようになりました。2026年9月時点ではpreview機能です。利用時はbackground: "transparent"とPNGまたはWebPを同時に指定し、返却されたbase64を正しくファイルへ戻します。
ここで確認すべきなのは「透明に見えるか」ではなく、最終ファイルにアルファ値が残っているかです。PNGという拡張子だけでは透過を保証できません。画像の中に市松模様が描き込まれていれば、デザインツールの透過表示に似ていても背景として再利用できません。
まず四つの条件をそろえる
OpenAIの画像生成ガイドでは、単発の生成や既存画像の編集にImage APIを使います。背景透過についてはGPT Imageの公式プロンプトガイドに次の要件があります。
backgroundをtransparentにする。autoのままにしない。output_formatにpngまたはwebpを選ぶ。JPEGは透過に対応しない。- 被写体を単独の素材として指定し、風景、単色背景、市松模様、不要な影を除外する。
- 編集を続ける場合は、その都度「透過背景を維持する」と指定する。
PNGではoutput_compressionを省略します。Web配信用にWebPを使う場合は圧縮を指定できますが、リサイズやCDN変換でもアルファチャンネルを保持できるか確認が必要です。
プロンプトに「背景を透明に」と書くだけでは、APIの背景設定を置き換えられません。文章は被写体と輪郭の作り方を伝え、backgroundは出力の扱いを決めるものとして分けて考えます。
生成結果をPNGとして保存する
次のPython例は、別の画面色にも重ねられるシンプルなアプリアイコンを生成します。
pythonimport base64 from openai import OpenAI client = OpenAI() response = client.images.generate( model="gpt-image-2", prompt=( "Create one centered paper crane icon as an isolated asset. " "Fully transparent background, crisp silhouette and clean edges. " "No scene, solid backdrop, checkerboard, border, or shadow." ), background="transparent", output_format="png", size="1024x1024", quality="medium", ) png_bytes = base64.b64decode(response.data[0].b64_json) with open("paper-crane.png", "wb") as output: output.write(png_bytes)
APIが200を返したこと、PNGを保存できたこと、透明ピクセルがあることは別々の確認項目です。途中のプロキシが未対応パラメータを捨てたり、保存処理がJPEGへ変換したりしても、リクエスト自体は成功する場合があります。
WebPを選んだときは、返却されたWebPのバイト列を.webpで保存します。拡張子だけ.pngにすると、ブラウザでは開けても後段の画像処理やMIME判定で問題になりやすくなります。
既存の商品画像は編集として扱う
商品写真や既存キャラクターから背景だけを外す場合は、Image APIの編集を使います。何を消すかに加えて、商品の形、色、比率、ラベル文字など、変えてはいけないものを具体的に書きます。
text商品だけを抽出し、背景を完全に透過してください。 形状、比率、色、ラベル文字は変更しないでください。 輪郭はシャープに保ち、白い縁や色にじみを作らないでください。 風景、単色背景、市松模様、影を追加しないでください。
髪、毛、ガラス、煙、光彩は、透明と不透明の二値だけでは自然に表現できません。輪郭には半透明の値が必要です。白い画面だけで確認すると白い縁を見落とすため、明るい背景と暗い背景の両方へ重ねて確認します。

アルファ値を数値で確認する

ImageMagickが使える環境なら、保存したファイルを二つのコマンドで調べられます。
bashmagick identify -format '%m %[channels]\n' paper-crane.png magick paper-crane.png -alpha extract -format '%[fx:minima] %[fx:maxima]\n' info:
最初の出力でsrgbaのようなアルファ対応チャンネルを確認します。次の出力はAlpha面の最小値と最大値です。両方が1なら全ピクセルが完全に不透明です。0から1までの幅があれば、完全透過から不透明までの領域が存在します。
ただし、この数値だけで切り抜き品質は判定できません。中央に小さなアイコンがある画像なら透明部分が多いのが自然ですが、煙や半透明ガラスでは中間値が多くなります。用途を無視した共通の透過率を合格基準にしないことが重要です。
市松模様が画像に描き込まれているかは、黒、白、鮮やかな色の三種類に重ねると分かります。下の色が見えず同じ格子が残るなら、それは透明表示ではなくRGB画像の一部です。
不具合は最終ファイルから逆にたどる
| 症状 | 主な原因 | 確認する場所 |
|---|---|---|
| 白い四角形のPNGになる | backgroundがない、または中継サービスが無視した | 実際に送信したリクエスト本文 |
| JPEGが返る | 出力形式が変換された | MIME、ファイル先頭、保存処理 |
| 市松模様が消えない | 模様自体が生成された | Alpha面とプロンプトの除外条件 |
| 追加編集後に背景が戻る | 透過維持を再指定していない | 最新の編集指示 |
| 暗い背景で白い縁が出る | 明るい背景色が輪郭へ混ざった | 明暗二種類の合成プレビュー |
| 元画像だけ透過し、配信画像は不透明 | サムネイル生成やCDN変換でAlphaが失われた | ユーザーへ届く最終ファイル |
OpenAI互換をうたう外部サービスでは、同名のフィールドを受け付けることと、公式と同じ処理をすることは別です。実モデル、送信後の本文、MIME、ファイルシグネチャ、アルファ統計を残すと、どこで透明度が失われたかを切り分けやすくなります。
原生透過と後処理を使い分ける
輪郭が明確な商品、ステッカー、アイコン、UI素材では、原生の背景透過で工程を短縮できます。一方、細い髪、透明素材、発光、厳密なブランドラベル、大量のカタログ画像では、preview機能だけに品質を委ねるのは危険です。実素材で抜き取り確認を行い、必要ならマスク修正や背景除去の予備手段を残します。
Images API、Responsesの画像ツール、Codex、外部ゲートウェイのどれを使うべきかから整理したい場合は、GPT Image 2 APIの利用経路ガイドへ進んでください。透過素材だけが目的なら、明示的な背景指定、元ファイルの保存、変換後のAlpha再確認という三点を守る方が、プロンプトを際限なく増やすより安定します。



