0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

がちもとさんAdvent Calendar 2023

Day 12

OpenAIのDALLE2を用いて画像から画像を生成すーる(Python)

Last updated at Posted at 2023-12-11

はじめに

がちもとさんアドベントカレンダー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
image_variation_original.png img-md4ezSgr9yxFL00JRHuvmRmN.png
profile.png img-MAqcAIytxdS1Mz96Gp9E2S2k.png

やめろw

お疲れさまでした。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?