🐈

【Microsoft Foundry/python】GPT-image-1 と戯れる

に公開

執筆日

2025/11/27

今更ながら..

GPT-image-1と戯れようかなと。
出たタイミングでジブリ風のアイコンを作っただけで深堀できてなかったので。

できること

  1. Text-to-image
  2. image(1枚)×Text-to-image
  3. image(複数枚)×Text-to-image

Text-to-image

プロンプト(Text)を元に画像(image)を生成する方法です。

main.py
from openai import AzureOpenAI
import os, base64, requests
from dotenv import load_dotenv
load_dotenv()

API_KEY   = os.environ['AZURE_OPENAI_API_KEY']
ENDPOINT  = os.environ['AZURE_OPENAI_ENDPOINT']
MODEL= "gpt-image-1"
API_VER   = "2025-04-01-preview"   
output_file = "test.png"

client = AzureOpenAI(
    api_key=API_KEY,
    azure_endpoint=ENDPOINT,
    api_version="2025-04-01-preview"
)

prompt_base = """
20代男性を描いて
"""
response = client.images.generate(
    model = MODEL,
    prompt=prompt_base,
    size="1024x1024",
    quality="low",
    n=1
)
image_base64 = response.data[0].b64_json
image_bytes = base64.b64decode(image_base64)
with open(output_file, "wb") as f:
    f.write(image_bytes)

quality

quality 用途 特徴
low ラフ、草案、軽い編集 速い・安い
high 最終生成、商用品質 高精細、色が綺麗、少し遅い

n

作成する画像数

size

出力画像の解像度

  • auto
  • 1024x1024
  • 1536x1024

出力結果

image×Text-to-image

入力した画像(image)を元に、プロンプト(Text)に従って新たな画像(image)を生成します。

main.py
from openai import AzureOpenAI
import os, base64
from dotenv import load_dotenv
load_dotenv()

API_KEY   = os.environ['AZURE_OPENAI_API_KEY']
ENDPOINT  = os.environ['AZURE_OPENAI_ENDPOINT']
MODEL= "gpt-image-1"
API_VER   = "2025-04-01-preview"   
edit_output_file = "edit_test.png"

client = AzureOpenAI(
    api_key=API_KEY,
    azure_endpoint=ENDPOINT,
    api_version="2025-04-01-preview"
)

prompt_base = """
これらの写真をもとに眼鏡をかけてください。
"""

response = client.images.edit(
    model=MODEL,
    image=[ open("test.png", "rb")],
    prompt=prompt_base,
    size="1024x1024",
    quality="low"
)

image_base64 = response.data[0].b64_json
image_bytes = base64.b64decode(image_base64)
with open(edit_output_file, "wb") as f:
    f.write(image_bytes)

出力結果

image(複数枚)×Text-to-image

Max10枚までInputに使うことができます。

main.py
from openai import AzureOpenAI
import os, base64, requests
from dotenv import load_dotenv
load_dotenv()

API_KEY   = os.environ['AZURE_OPENAI_API_KEY']
ENDPOINT  = os.environ['AZURE_OPENAI_ENDPOINT']
MODEL= "gpt-image-1"
API_VER   = "2025-04-01-preview"   
edit_output_file = "edit_test.png"

client = AzureOpenAI(
    api_key=API_KEY,
    azure_endpoint=ENDPOINT,
    api_version="2025-04-01-preview"
)

prompt_base = """
これらの写真を組み合わせて一枚の新しい画像を生成してください。
"""

response = client.images.edit(
    model="gpt-image-1",
    image=[ open("image.png", "rb"), open("image1.png", "rb")],
    prompt=prompt_base,
    size="1024x1024",
    quality="low"
)

image_base64 = response.data[0].b64_json
image_bytes = base64.b64decode(image_base64)
with open(edit_output_file, "wb") as f:
    f.write(image_bytes)

↓input


↓output

ヘッドウォータース

Discussion