GPT Image 2

GPT Image 2 は、画像の生成と編集向けの最新 OpenAI GPT Image モデルです。Aiberm は OpenAI 互換の画像エンドポイント経由で公開しているため、base_url / baseURLhttps://aiberm.com/v1 に変更するだけで OpenAI SDK を使えます。

生成エンドポイント: POST https://aiberm.com/v1/images/generations

編集エンドポイント: POST https://aiberm.com/v1/images/edits

モデル: gpt-image-2

API の選び方

1 回のリクエストで画像を生成または編集したい場合は Image API を使います。ほとんどの Aiberm 連携では、この方法が推奨です。

OpenAI は、会話型または複数ステップの画像ワークフロー向けに、Responses API のツールとしての画像生成もドキュメント化しています。連携が複数ターンの編集に依存する場合は、まず Aiberm のモデルとエンドポイントが Responses API に対応していることを確認してください。

画像を生成する

Image API は data[0].b64_json に base64 画像データを返します。デコードしてバイト列をファイルに書き出します。

1from openai import OpenAI
2import base64
3 
4client = OpenAI(
5 api_key="YOUR_API_KEY",
6 base_url="https://aiberm.com/v1",
7)
8 
9result = client.images.generate(
10 model="gpt-image-2",
11 prompt="A clean product photo of a matte black smart desk lamp on a white background",
12 size="1024x1024",
13 quality="medium",
14)
15 
16image_base64 = result.data[0].b64_json
17image_bytes = base64.b64decode(image_base64)
18 
19with open("lamp.png", "wb") as f:
20 f.write(image_bytes)

検証済みの出力例

この画像は上記の Python 例で生成し、data[0].b64_json から保存したものです。

Generated matte black smart desk lamp

参照画像で編集する

1 枚以上の画像を images.edit に渡し、望ましい出力を説明します。複数の入力画像を、新しい構図の参照として使えます。

1from openai import OpenAI
2import base64
3 
4client = OpenAI(
5 api_key="YOUR_API_KEY",
6 base_url="https://aiberm.com/v1",
7)
8 
9result = client.images.edit(
10 model="gpt-image-2",
11 image=[
12 open("product.png", "rb"),
13 open("background.png", "rb"),
14 ],
15 prompt="Place the product from the first image onto the desk in the second image. Keep realistic lighting.",
16 size="1536x1024",
17 quality="high",
18)
19 
20image_bytes = base64.b64decode(result.data[0].b64_json)
21with open("edited-product.png", "wb") as f:
22 f.write(image_bytes)

検証済みの参照編集

この編集例は、商品画像とデスク背景を組み合わせ、新しい 1536x1024 PNG を返します。

商品入力背景入力編集後の出力
Product reference imageDesk background reference imageEdited product placed on desk

マスクで編集する

変更したい領域を誘導したい場合はマスクを使います。元画像とマスクは同じ寸法・形式である必要があり、マスクにはアルファチャネルが必要です。

1from openai import OpenAI
2import base64
3 
4client = OpenAI(
5 api_key="YOUR_API_KEY",
6 base_url="https://aiberm.com/v1",
7)
8 
9result = client.images.edit(
10 model="gpt-image-2",
11 image=open("room.png", "rb"),
12 mask=open("mask.png", "rb"),
13 prompt="Replace the masked area with a modern walnut bookshelf.",
14)
15 
16image_bytes = base64.b64decode(result.data[0].b64_json)
17with open("room-bookshelf.png", "wb") as f:
18 f.write(image_bytes)

検証済みのマスク編集

マスク画像はアルファチャネルで編集可能領域を誘導します。返される画像は通常の PNG です。

元画像マスク画像編集後の出力
Room source imageAlpha mask imageBookshelf mask edit output

部分画像のストリーミング

OpenAI の上流 API は、最終結果の前に中間画像を受け取るための streampartial_images をドキュメント化しています。Aiberm では互換性依存として扱い、エンドポイントがストリーミング対応を明示していない限り、通常の非ストリーミングフローを使ってください。

stream: truepartial_images を送っても、レスポンスは data[0].b64_json を含む通常の最終 JSON ペイロードになる場合があります。

出力オプション

パラメータ注意
sizeauto1024x10241536x10241024x15362048x20482048x11523840x21602160x3840、またはその他の有効なカスタムサイズ各辺は 16 px の倍数、最大辺は 3840 px、アスペクト比は 3:1 以下、総ピクセル数は 655,360〜8,294,400 である必要があります。
qualityautolowmediumhigh下書きには low、最終アセットには medium または high を使います。
output_formatpngjpegwebpデフォルトは png です。透明度が不要な場合、jpeg の方が通常高速です。
output_compression0100jpegwebp に適用されます。
backgroundauto、不透明背景のオプションgpt-image-2 は現在 background: "transparent" に対応していません。
streampartial_images互換性依存Aiberm は、ストリーミングされた部分画像イベントではなく、通常の最終 JSON レスポンスを返す場合があります。
moderationautolowauto がデフォルトのフィルタレベルです。

注意点と制限

  • 複雑なプロンプトは処理に時間がかかることがあります。タイムアウトとバックグラウンド処理を考慮してアプリを設計してください。
  • テキスト描画は改善されていますが、完全な正確さは保証されません。ロゴ、ラベル、UI モックアップでは、公開前に出力を確認してください。
  • モデルは、別々の生成をまたいで、繰り返し登場するキャラクター、正確なレイアウト、ブランドの細部を完全に保持できない場合があります。
  • 編集では、gpt-image-2 に対して input_fidelity を省略してください。モデルは画像入力を自動的に高忠実度で処理します。
  • マスク編集では、マスクはピクセル単位の正確な選択ではなく、誘導として機能します。