インペインティング
マスクで範囲を指定し、その部分だけを描き直します。それ以外の部分は元のまま残ります。
コードを書かない場合は、手持ちのツールで画像生成を参照してください。
始める前に
コードで使用する値
API URL
https://api.ofox.io/v1モデル ID
openai/gpt-image-2.5-flareAPI キーコード内の YOUR_OFOX_API_KEY をご自身のキーに置き換えてください
Python の依存パッケージ
pip install openai pillowpillow はマスクの作成に使用しますマスクの要件
イメージ図であり、実際の生成結果ではありません
- アルファチャンネル付きの PNG。JPEG や不透明な PNG は使用できません。
- 元の画像と完全に同じサイズ。
- 透明なピクセルは描き直され、不透明なピクセルは元の画像が残ります。
- 編集エンドポイントでのみ有効です。テキストからの生成に送ると無視されます。
手順
マスクを作成する
すでにマスクがある場合は、このステップを省略してください。
このスニペットはカレントディレクトリの input.png を読み込み、中央 40% の正方形を透明にして mask.png として保存します。
make_mask.py
from PIL import Image, ImageDraw
src = Image.open("input.png")
mask = Image.new("RGBA", src.size, (0, 0, 0, 255)) # 完全に不透明 = すべて保持
w, h = src.size
ImageDraw.Draw(mask).rectangle( # 透明な部分 = 描き直される部分
(int(w * 0.3), int(h * 0.3), int(w * 0.7), int(h * 0.7)), fill=(0, 0, 0, 0)
)
mask.save("mask.png")リクエストを送信する
以下のコード例はすべてそのまま実行して動作を確認しています。結果はカレントディレクトリに output.png として保存されます。
cURL
Terminal
# mask.png:input.png と同じサイズでアルファチャンネル付き。透明な部分 = 描き直される部分
curl -s https://api.ofox.io/v1/images/edits \
-H "Authorization: Bearer YOUR_OFOX_API_KEY" \
-F "model=openai/gpt-image-2.5-flare" \
-F "image=@input.png" \
-F "mask=@mask.png" \
-F "prompt=中央に座っているオレンジ色の猫。背景とその他の部分はそのまま" \
-F "quality=low" \
-o response.json
jq -r '.data[0].b64_json' response.json | base64 --decode > output.pngプロンプトの書き方
追加したいものだけでなく、描き直した後の画像全体を説明してください。
実測結果
マスクの外側はほとんど変化しません。元の画像との平均ピクセル差は 2/255 未満でした。
比較として、同じ画像をマスクなしで編集した場合、同じ領域の差は 120/255 でした。
トラブルシューティング
その他のエラーはエラー一覧を参照してください。
公式ドキュメント
OpenAI のドキュメントは、OpenAI に直接呼び出した場合の動作を説明しています。OfoxAI 経由で呼び出す場合は、このシリーズの実測結果が優先されます。たとえば、編集時にプロバイダーを指定する必要はありません。
Last updated on