|

gpt-image-2で透明背景を生成できなくなったら?3ステップで2.5シリーズへ移行して透明背景を取り戻す

gpt-image-2で透明背景を生成できなくなったら?3ステップで2.5シリーズへ移行して透明背景を取り戻す

著者注:gpt-image-2の透明背景機能は、OpenAI公式によって停止されました。この記事では、エラーの原因と、モデル名を変更するだけで2.5シリーズへ移行し、透明背景のPNGを再び取得する方法を紹介します。

最近、多くの開発者から、これまで問題なく動作していたgpt-image-2の透明背景リクエストが突然エラーになり、Transparent background is not supported for this model. が返されるとの報告が寄せられています。これはパラメーターの設定ミスでも、APIの障害でもありません。OpenAIは2026-09-30に、gpt-image-2のbackground: “transparent”機能を正式に停止しました。

これはプラットフォーム側の一時的な制限ではありません。OpenAI本体による仕様変更です。10月15日に再テストしたところ、テキストから画像生成を14回、画像編集を7回実行し、透明背景のリクエストはすべて公式に拒否されました。一方、opaque、autoを指定した場合と、backgroundを指定しない場合は、いずれも正常に画像を生成できました。

この記事でわかること:gpt-image-2の透明背景エラーの経緯と原因を理解できます。また、gpt-image-2.5-flareとgpt-image-2.5-sunburstへ移行する方法も紹介します。通常はモデル名を1行変更するだけで、透明背景の出力を再び利用できます。

gpt-image-2-transparent-background-not-supported-fix-ja-image-0


gpt-image-2で透明背景を指定した際のエラー:押さえておきたいポイント

まず、典型的なエラーリクエストを見てみましょう。ユーザーは gpt-image-2 に以下のパラメーターを送信し、背景や縁、光彩のない PNG の生成を試みました。

{
  "model": "gpt-image-2",
  "background": "transparent",
  "output_format": "png",
  "quality": "low",
  "size": "2048x2560",
  "n": "1",
  "prompt": "去掉背景,没有边缘,没有光晕"
}

APIから返されたエラー本文は以下のとおりです。重要なフィールドは code: invalid_value と param: background です。

{
  "error": {
    "code": "invalid_value",
    "message": "Transparent background is not supported for this model.",
    "param": "background",
    "type": "shell_api_error"
  }
}

エラーメッセージから、問題のあるパラメーターが明確にわかります。主なポイントを以下の表にまとめました。

ポイント 説明 影響
終了時期 OpenAIは2026-09-30にgpt-image-2の透明背景機能を終了 これまで動作していた透過背景用のコードが失敗するようになります
エラーの内容 HTTP 400、invalid_value、param: background エラーコードで正確に判定できるため、自動的なフォールバックが可能です
課金の有無 拒否されたリクエストは課金されません エラーによる追加料金を心配する必要はありません
代替モデル テキストから画像生成にはgpt-image-2.5-flare、編集にはgpt-image-2.5-sunburst どちらも透明背景に標準で対応しています
移行コスト 3つのモデルは価格とパラメーターが同じ model フィールドを変更するだけで移行できます

gpt-image-2の透明背景機能が停止された理由

経緯を振り返ると、gpt-image-2の透明背景は、当初から正式な機能ではありませんでした。2026年8月21日からプレビュー版として公開されており、いわば試験運用の段階でした。9月30日、OpenAIはこのプレビューを正式に終了し、透明背景が必要なユーザーには、ネイティブで透明背景に対応する2.5シリーズの2つのモデルを使うよう案内しました。

一部の開発者が「この2か月は問題なかったのに」と感じるのも無理はありません。8月下旬から9月にかけて透明背景をプロジェクトに導入した場合、実際に使っていたのはプレビュー機能です。プレビューの終了後に動作しなくなるのはそのためです。OpenAIが直接リクエストを拒否しているため、どのAPI中継サービスや集約プラットフォームを利用しても、この制限は回避できません。正しい対応は、モデルを移行することです。

gpt-image-2で引き続き使えるbackgroundパラメーター

gpt-image-2自体が使えなくなったのでは、と心配する方も多いかもしれません。実際に停止されたのは、transparentという値だけで、ほかの背景モードはこれまでどおり使えます。以下は、10月15日に再検証した結果です。

backgroundの値 gpt-image-2 テキストから画像生成 gpt-image-2 画像編集 説明
transparent ❌ 400エラーで拒否(14/14) ❌ 400エラーで拒否(7/7) 公式に停止。課金なし
opaque ✅ 正常に画像を生成 ✅ 正常に画像を生成 不透明な背景
auto ✅ 正常に画像を生成 ✅ 正常に画像を生成 モデルが自動で決定
backgroundを指定しない ✅ 正常に画像を生成 ✅ 正常に画像を生成 デフォルトの動作と同じ

そのため、業務の一部の用途でのみ透明背景が必要なら、モデル全体を切り替える必要はありません。通常の画像生成には引き続きgpt-image-2を使い、透明背景が必要なリクエストだけを2.5シリーズに振り分ける方法が適切です。

gpt-image-2-transparent-background-not-supported-fix-ja-image-1


gpt-image-2の透明背景対応への移行:3ステップですぐに始める

移行の基本原則はシンプルです。用途に応じてモデル名を変更し、それ以外のパラメーターはそのままにします。3つのモデルは価格もパラメーターも同じなので、すでに設定している size、quality、output_format、prompt を変更する必要はありません。

使用シーン 移行前のモデル 移行後のモデル 変更が必要な項目
テキストから画像生成 + 透明背景 gpt-image-2 gpt-image-2.5-flare model フィールドのみ
画像の変更・編集 + 透明背景 gpt-image-2 gpt-image-2.5-sunburst model フィールドのみ
透明背景が不要 gpt-image-2 gpt-image-2(変更なし) なし

具体的には、次の3ステップで進められます。

  1. リクエストを探す:コード内で background="transparent" または "background": "transparent" を検索し、透明背景を使っている呼び出しをすべて見つけます。
  2. 用途に応じてモデルを置き換える:images.generate を呼び出している箇所は gpt-image-2.5-flare に、images.edit を呼び出している箇所は gpt-image-2.5-sunburst に変更します。
  3. 出力形式を確認する:output_format が png または webp になっていることを確認します。JPEGにはアルファチャンネルがないため、モデルが透明背景に対応していても、JPEGでは透明情報を保存できません。

gpt-image-2.5-flareで透明背景を使う最小限の例

以下は、OpenAI公式Python SDKを使って、テキストから透明背景の画像を生成する最もシンプルな例です。

import base64
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.apiyi.com/v1"  # APIYI OpenAI 兼容接口
)

result = client.images.generate(
    model="gpt-image-2.5-flare",       # 原 gpt-image-2 改为 flare
    prompt="一只卡通风格的橙色小狐狸贴纸,干净边缘,无光晕",
    background="transparent",
    output_format="png",
    quality="low",
    size="1024x1024",
    n=1,
)

with open("fox.png", "wb") as f:
    f.write(base64.b64decode(result.data[0].b64_json))

細かい点ですが、参考リクエストでは n に文字列の "1" を渡しています。SDKや入力チェックが厳しい環境で型の問題が起きないよう、整数の 1 に変更することをおすすめします。

gpt-image-2.5-sunburst による画像編集の例と自動フォールバック

既存の画像から背景を削除したい場合、厳密には画像編集にあたるため、編集エンドポイントと gpt-image-2.5-sunburst を使うのが適切です。テキストから画像生成する際のプロンプトに「背景を削除」と書くよりも、モデル本来の用途に合った方法です。

以下のコードでは、テキストからの画像生成と画像編集の2つの関数を実装しています。さらにフォールバック処理も追加しています。古いコードが誤って gpt-image-2 に透明背景のリクエストを送信した場合でも、param=background に関する400エラーを検出すると、対応する2.5モデルに切り替えて再試行します。

実装コード全体を見る(自動フォールバック対応)
import base64
from typing import Optional
from openai import OpenAI, BadRequestError

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.apiyi.com/v1"  # APIYI 统一接口,一个 Key 调用三款模型
)

# 透明背景场景的模型映射
TRANSPARENT_MODEL = {
    "generate": "gpt-image-2.5-flare",     # 文生图
    "edit": "gpt-image-2.5-sunburst",      # 改图 / 编辑
}


def pick_model(task: str, background: Optional[str], model: str) -> str:
    """需要透明背景时,自动选择 2.5 系列模型"""
    if background == "transparent" and model == "gpt-image-2":
        return TRANSPARENT_MODEL[task]
    return model


def is_transparent_rejected(err: BadRequestError) -> bool:
    """识别 gpt-image-2 透明背景被拒的 400 错误"""
    msg = str(err)
    return "Transparent background is not supported" in msg or "background" in msg


def save_b64(b64_data: str, path: str) -> str:
    with open(path, "wb") as f:
        f.write(base64.b64decode(b64_data))
    return path


def generate_image(
    prompt: str,
    out_path: str,
    model: str = "gpt-image-2",
    background: Optional[str] = "transparent",
    size: str = "1024x1024",
    quality: str = "low",
    output_format: str = "png",
) -> str:
    params = dict(
        prompt=prompt,
        size=size,
        quality=quality,
        output_format=output_format,
        n=1,
    )
    if background:
        params["background"] = background

    target = pick_model("generate", background, model)
    try:
        result = client.images.generate(model=target, **params)
    except BadRequestError as e:
        if is_transparent_rejected(e) and target == "gpt-image-2":
            result = client.images.generate(
                model=TRANSPARENT_MODEL["generate"], **params
            )
        else:
            raise
    return save_b64(result.data[0].b64_json, out_path)


def edit_image(
    image_path: str,
    prompt: str,
    out_path: str,
    model: str = "gpt-image-2",
    background: Optional[str] = "transparent",
    output_format: str = "png",
) -> str:
    target = pick_model("edit", background, model)
    with open(image_path, "rb") as img:
        kwargs = dict(
            image=img,
            prompt=prompt,
            output_format=output_format,
            n=1,
        )
        if background:
            kwargs["background"] = background
        result = client.images.edit(model=target, **kwargs)
    return save_b64(result.data[0].b64_json, out_path)


if __name__ == "__main__":
    # 文生图透明底:自动走 gpt-image-2.5-flare
    generate_image("极简风格的咖啡杯图标,扁平设计", "cup.png")

    # 改图去背景:自动走 gpt-image-2.5-sunburst
    edit_image("product.jpg", "去掉背景,保留主体,没有边缘,没有光晕", "product_cut.png")

すぐに試すためのヒント:プロジェクトで gpt-image-2 と2.5シリーズの両方を使う場合は、APIYI(apiyi.com)経由でまとめて利用するのがおすすめです。1つのAPIキーで3つのモデルを呼び出せます。新規ユーザー向けの無料テスト枠もあるため、移行前に透明背景の出力を試すのに便利です。


gpt-image-2の透明背景の代替案を比較

2.5シリーズへ直接移行する方法のほかに、「gpt-image-2で白背景の画像を生成し、切り抜きツールで背景を除去する」という方法もあります。どちらにも適した用途があるため、以下の表で比較します。

gpt-image-2-transparent-background-not-supported-fix-ja-image-2

方案 透明背景 呼び出し回数 エッジと光彩 用途
gpt-image-2 + transparent ❌ 提供終了 — — 利用不可
gpt-image-2.5-flare ✅ ネイティブ対応 1回 モデルがネイティブにアルファチャンネルを出力 ステッカー、アイコン、ロゴ、EC素材の生成
gpt-image-2.5-sunburst ✅ ネイティブ対応 1回 モデルがネイティブにアルファチャンネルを出力 既存画像の背景除去、背景差し替え
gpt-image-2の白背景画像 + 後処理で切り抜き ⚠️ 間接的に実現 2ステップ以上 切り抜きツールに依存し、白い縁が残りやすい すでに切り抜き工程がある場合、gpt-image-2の画風に強く依存する場合

gpt-image-2の透明背景に関する代替案の選び方

後処理での切り抜きとの比較:「白背景 + 切り抜き」の利点は、gpt-image-2の画風をそのまま保てることです。一方で、処理工程がひとつ増え、複雑な髪の毛や半透明のガラス、影などに白い縁や光彩が残りやすくなります。これは、参考リクエストでユーザーがプロンプトによって避けようとしていた問題でもあります。対して2.5シリーズは透明チャンネルをネイティブに出力できるため、処理工程が短く、自動での一括生成にも適しています。

2.5シリーズとの比較:gpt-image-2.5-flareとgpt-image-2.5-sunburstは、OpenAIが公式に指定している透明背景の代替モデルです。価格とパラメーターは同じで、移行コストはほとんどかかりません。新規プロジェクトや、既存の切り抜き工程がないチームには、2.5シリーズへの直接移行がおすすめです。

比較について:実際の効果は、素材の種類によって大きく異なります。APIYI apiyi.comで同じプロンプトを使ってそれぞれ試し、エッジの品質を比較してから本番環境で使う方法を決めることをおすすめします。

gpt-image-2-transparent-background-not-supported-fix-ja-image-3


よくある質問(FAQ)

Q1:gpt-image-2で突然、透明背景の画像を生成できなくなったのはなぜですか?

OpenAIが仕様を変更したためです。gpt-image-2の透明背景は、2026-08-21からプレビュー版として提供されていましたが、2026-09-30に正式に終了しました。現在、gpt-image-2に `background: “transparent”` を指定すると、OpenAIによってリクエストが拒否され、400エラーと `Transparent background is not supported for this model.` が返されます。

Q2:透明背景のリクエストで400エラーが返った場合、料金は発生しますか?

いいえ。OpenAIに拒否された透明背景のリクエストは課金されないため、安心して原因を調査できます。ただし、ユーザー体験やリトライ処理への影響を避けるため、できるだけ早く移行することをおすすめします。

Q3:gpt-image-2.5-flareとgpt-image-2.5-sunburstの違いは何ですか?

用途が異なります。gpt-image-2.5-flareはテキストから画像生成する場合に、gpt-image-2.5-sunburstは画像の加工や編集に使用します。どちらも透明背景にネイティブ対応しており、料金とパラメーターはgpt-image-2と同じです。移行時は、用途に合わせてmodelフィールドを変更するだけで、ほかのパラメーターはそのまま使えます。

Q4:gpt-image-2は引き続き使えますか?

はい。利用できなくなったのは、`transparent` という値だけです。10月15日の再テストでは、opaque、auto、backgroundを指定しない場合のいずれも、テキストからの画像生成と編集が正常に動作しました。透明背景が不要な用途であれば、引き続きgpt-image-2を使用できます。

Q5:2.5シリーズの透明背景を手早くテストするにはどうすればよいですか?

次の手順で確認するのがおすすめです。

1. APIYI(apiyi.com)にアクセスしてアカウントを登録し、APIキーと無料テスト枠を取得します
2. この記事のサンプルコードで、base_urlを `https://api.apiyi.com/v1` に設定します
3. テキストから画像生成する場合はmodelをgpt-image-2.5-flareに、画像を編集する場合はgpt-image-2.5-sunburstに変更し、ほかのパラメーターはそのままにします

これで、同じAPIキーを使ってgpt-image-2と2.5シリーズの生成結果を比較できます。

Q6:移行後も透明にならない場合、どのような原因が考えられますか?

最もよくある原因は出力形式です。JPEGはAlphaチャンネルに対応していないため、透明背景には `png` または `webp` を使用してください。また、画像編集のリクエストで誤ってflareを使っていないかも確認しましょう。編集にはsunburstを使用します。それでも解決しない場合は、APIYIのドキュメントセンターにある透明背景のFAQを確認するか、request idを添えてテクニカルサポートにお問い合わせください。

Q7:gpt-image-2で透明背景を使うコードが大量にあります。手間をかけずに移行するにはどうすればよいですか?

呼び出し層にモデルのマッピング処理を追加するのが簡単です。`background == “transparent”` かつmodelがgpt-image-2の場合に、用途に応じた2.5モデルへ自動で置き換えます。この記事の完全なコードには、この処理に加えて400エラー時のフォールバック再試行も実装されているため、業務コードをほとんど変更せずに移行できます。


gpt-image-2の透明背景からの移行:重要ポイント

  • 提供終了の事実:OpenAIは2026年9月30日、gpt-image-2の透明背景プレビュー機能を終了しました。
  • エラーの特徴:HTTP 400、invalid_value、param: background。拒否されたリクエストに料金はかかりません。
  • 引き続き使える機能:gpt-image-2では、opaque、auto、backgroundを指定しない場合は、これまでどおり画像を生成できます。
  • テキストから画像生成の代替手段:透明背景での生成にはgpt-image-2.5-flareを使用します。変更するのはモデル名だけです。
  • 画像編集の代替手段:透明背景での編集にはgpt-image-2.5-sunburstを使用します。3モデルは同価格・同パラメーターです。
  • 形式に関する注意:透明背景で出力する場合は、必ずPNGまたはWebPを使用してください。JPEGでは透明チャンネルを保存できません。
  • 利用方法:APIYI(apiyi.com)なら、1つのAPIキーで3モデルをまとめて呼び出せます。移行前に無料で動作を確認しましょう。

まとめ

gpt-image-2で透明背景を生成できないのは、コードの問題ではありません。OpenAIがこのプレビュー機能を正式に終了したためです。解決方法を振り返ってみましょう。

  1. 原因を確認する:Transparent background is not supported for this model.と表示されたら、公式の機能終了が原因です。料金はかからず、何度も再試行する必要もありません。
  2. 用途に応じて移行する:テキストから画像を生成する場合はgpt-image-2.5-flare、画像を編集する場合はgpt-image-2.5-sunburstに切り替え、ほかのパラメーターはそのままにします。
  3. フォールバックを用意する:呼び出し側にモデルのマッピングとHTTP 400時の切り替え処理を追加し、出力形式がPNGまたはWebPになっていることを確認します。

多くのプロジェクトでは、今回の移行はモデル名を1行変更するだけで済みます。APIYI(apiyi.com)を使えば、2.5シリーズの透明背景出力を手軽に検証できます。OpenAI互換のAPIと無料のテスト枠を利用できるため、gpt-image-2と2.5シリーズを柔軟に切り替えられます。


📚 参考資料

  1. APIYI ヘルプドキュメント:画像の透明背景に関する FAQ:gpt-image-2 の透明背景機能の終了に関する説明と移行ガイド
  2. リンク:docs.apiyi.com/faq/image-transparent-background
  3. 説明:エラーの説明、代替モデル、パラメーターの比較が掲載されています。移行時の確認に役立ちます。

  4. OpenAI 画像生成 API ドキュメント:images.generate と images.edit のパラメーターに関する説明

  5. リンク:platform.openai.com/docs/guides/image-generation
  6. 説明:background、output_format、quality などのパラメーターについて、公式の定義を確認できます。

  7. OpenAI Python SDK:公式 Python クライアントのソースコードとサンプル

  8. リンク:github.com/openai/openai-python
  9. 説明:この記事のコード例はこの SDK をもとに作成しています。例外の種類や画像 API の使い方を確認する際にも参考になります。

著者:APIYI 技術チーム
技術に関するお問い合わせ:APIYI 公式サイトのトップページからお気軽にお問い合わせください。画像モデルの接続に関する資料は、docs.apiyi.com のドキュメントセンターをご覧ください。

関連記事

類似投稿