Python

【Python】ChatGPTを使って画像を生成してみた

この記事は約3分で読めます。

 

前回は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はまだまだ進化すると思うのでこれからに期待ですね

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

  1. […] 関連記事:【Python】ChatGPTを使って画像を生成してみた […]

タイトルとURLをコピーしました