前回はOPENAIの提供するAPIを用いてPythonからChatGPTとチャットする方法を紹介したのに続いて本記事ではPythonでChatGPTを用いたプログラミングについて解説します
関連記事:Pythonを使ってChatGPTと会話するサンプルコード
前準備
OpenAIが提供するAPI鍵を取得する
本記事ではChatGPTを用いたPythonプログラミングについて解説します。その際、Open AIが提供するAPI情報が必要になります。APIの取得方法については以下の記事で詳しく解説しています。
関連記事:Pythonを使ってChatGPTと会話するサンプルコード
PythonでChatGPT APIを呼び出し画像を生成する
Pythonプログラムを記述し、ChatGPT APIを活用した画像生成方法について解説します。
以下のコードに取得した自分のAPI鍵を入力してください。
import openai import requests import json openai.api_key = "<APIシークレットキーをここに入力>" # 画像生成 def create_image_from_text(text): # 応答設定 response = openai.Image.create( prompt = text, # 画像生成に用いる説明文章 n = 1, # 何枚の画像を生成するか size = '512x512', # 画像サイズ response_format = "url" # API応答のフォーマット ) # APIのレスポンスから画像URLを取得 image_url = response['data'][0]['url'] # 上記画像をローカルに保存 image_data = requests.get(image_url).content with open("chatgpt-generated-img.jpg", "wb") as f: f.write(image_data) return image_url # 生成するイメージを文章で定義 text = "犬" # 画像生成 img = create_image_from_text(text)
openai.Image.create()の引数について
- prompt・・・画像生成に用いる説明文章
- n ・・・何枚の画像を生成するか
- size ・・・生成生成サイズ。256×256, 512×512, 1024×1024が指定可能。
- response_format・・・APIの応答フォーマット。urlまたはb64_jsonが指定可能。
上記のコードでは、「犬」の画像を生成するよう命令しています。コードを実行すると、下図のような出力結果が得られました。
<実行結果>
ただ少しでも複雑な状況や物を指定するとピカソの絵みたいになるのであまり精度は良くないです(GPT3.5 Turboで試してみた場合)
なのでチャットとは違い何かに使うというのはまだ難しいかな・・・という感触です。ですがGPTはまだまだ進化すると思うのでこれからに期待ですね
コメント
[…] 関連記事:【Python】ChatGPTを使って画像を生成してみた […]