🦁
DALL-E 3のAPIの使い方-【python】
やること
DALL-E 3のAPIの使い方をさくっと書きます。
前提
- Azure open AI上にDALL-E 3をdeploy済みであること
- python:3.10.12
- openai:1.30.3
Azure Open AI Serviceのキーとエンドポイントを取得
- 構築済みのAzure Open AI Serviceを開く
- 「キーとエンドポイント」をクリック
- キーとエンドポイントを取得
コード
- 以下のコードを実行
from openai import AzureOpenAI
import os
import requests
from PIL import Image
import json
# Azure OpenAIの設定
client = AzureOpenAI(
api_version="2024-02-01",#固定
api_key="<Azure open AI Serviceのキー>",
azure_endpoint="<Azure open AI Serviceのエンドポイント>"
)
# 画像生成のリクエスト
result = client.images.generate(
model=<DALL-E 3のデプロイメント名>,
prompt="A realistic looking 3D rendering of the OpenAI logo with Headwaters shown below", # 生成したい画像のプロンプト
n=1
)
# レスポンスをJSON形式に変換
json_response = json.loads(result.model_dump_json())
# 画像を保存するディレクトリを設定
image_dir = os.path.join(os.curdir, 'images')
# ディレクトリが存在しない場合、作成する
if not os.path.isdir(image_dir):
os.mkdir(image_dir)
# 画像の保存パスを初期化
image_path = os.path.join(image_dir, 'headwaters.png')
# 生成された画像を取得
image_url = json_response["data"][0]["url"]
generated_image = requests.get(image_url).content
# 画像をファイルに書き込む
with open(image_path, "wb") as image_file:
image_file.write(generated_image)
- images配下に画像が出力される
まとめ
サクッとDalle-3のAPIの使い方をまとめました。
画像が入力として使えないのが残念..
Discussion
Headwatersのデザインがすごいことに!w DELL-E 3も遠近法が整ってますね!