OpenAIのテキストから画像を生成できるDALL·E 3をPythonで試す
今回はPromptを入れると画像を生成(text-to-image)するモデルであるOpenAIのDALL·E 3をPythonで試します。
前回はAWS BedrockのStable Diffusion XL 1.0を試しました。
OpenAIのAPI Referenceは以下にあります。
https://platform.openai.com/docs/api-reference/images
OpenAIのDALL·Eは3と2が使用できますが使用できるAPIがそれぞれことなります。
Create image (画像生成): DALL·E 3, DALL·E 2
Create image edit (画像編集): DALL·E 2のみ
Create image variation (類似画像生成): DALL·E 2のみ
今回はDALL·E 3で使える画像生成を試します。
API Referenceを見るとqualityがstandardとhd、styleがvividとnaturalのパラメータを持っています。合計4つ(2x2)の組み合わせで出力してみます。
OpenAIのAPIキーをOPENAI_API_KEYに設定して実行します。
from openai import OpenAI
import requests
client = OpenAI()
quality = ["standard", "hd"]
styles = ["vivid", "natural"]
images = []
labels = []
for q in quality:
for s in styles:
response = client.images.generate(
model="dall-e-3",
prompt="A cute baby sea otter",
n=1,
size="1024x1024",
response_format="url",
style=s,
quality=q,
user="wapa5pow",
)
data = requests.get(response.data[0].url).content
label = f"{q}_{s}"
filename = f"data/openai_dall-e-3_{label}.png"
with open(filename, "wb") as handler:
handler.write(data)
images.append(filename)
labels.append(label)
コードはここにあります。
かわいいラッコが出てきました。
値段
ここにありますが、Standardの1024x1024で25枚で$1です。AWSのBedrockのStable Diffusion XL 1.0と同じような値段です。
この記事が気に入ったらサポートをしてみませんか?