はじめに
がちもとさんアドベントカレンダー12日目の記事です。
今日は、DALLE2を用いて画像から画像を生成(image2image)をやっていきます。
開発環境
- Windows 11 PC
- Python 3.11
導入
1.ライブラリのインストール
pip install openai
pip install requests
2.openaiのAPIキーを取得
3.プログラムを作成
image_variation.py
from openai import OpenAI
client = OpenAI(api_key="<INSERT-YOUR-API-KEY>")
response = client.images.create_variation(
image=open("profile.png", "rb"), # Uploaded image must be a PNG and less than 4 MB.
n=1,
size="1024x1024"
)
image_url = response.data[0].url
print(image_url)
url_parts = image_url.split('?')
file_name = url_parts[0].split('/')[-1]
response = requests.get(image_url)
if response.status_code == 200:
with open(file_name, 'wb') as file:
file.write(response.content)
コード解説
1.OpenAIのAPIを使用するためにクライアントを設定します。これにはAPIキーが必要です。
2.client.images.create_variation メソッドを使用して、アップロードされた画像に基づいて新しい画像を生成します。このメソッドには画像サイズ(ここでは1024x1024)と生成する画像の数(ここでは1)を指定します。
3.生成された画像のURLを取得し、URLからファイル名を抽出します。
4.requests.get を使用して画像のURLから画像データを取得し、正常に取得できた場合(ステータスコード200)、そのデータをファイルに書き込みます。これにより、画像がローカルにダウンロードされます。
実行結果
INPUT | OUTPUT |
---|---|
やめろw
お疲れさまでした。