🐈
【Microsoft Foundry/python】GPT-image-1 と戯れる
執筆日
2025/11/27
今更ながら..
GPT-image-1と戯れようかなと。
出たタイミングでジブリ風のアイコンを作っただけで深堀できてなかったので。
できること
- Text-to-image
- image(1枚)×Text-to-image
- 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