🦁

DALL-E 3のAPIの使い方-【python】

2024/05/28に公開1

やること

DALL-E 3のAPIの使い方をさくっと書きます。

前提

  • Azure open AI上にDALL-E 3をdeploy済みであること
  • python:3.10.12
  • openai:1.30.3

Azure Open AI Serviceのキーとエンドポイントを取得

  1. 構築済みのAzure Open AI Serviceを開く
  2. 「キーとエンドポイント」をクリック
  3. キーとエンドポイントを取得

コード

  1. 以下のコードを実行
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)

  1. images配下に画像が出力される

まとめ

サクッとDalle-3のAPIの使い方をまとめました。
画像が入力として使えないのが残念..

ヘッドウォータース

Discussion

jemiyajemiya

Headwatersのデザインがすごいことに!w DELL-E 3も遠近法が整ってますね!