こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
- AI画像生成に興味がある
- PythonコードとChatGPTを用いて画像を生成する方法が知りたい
【OpenAI】ChatGPTとは?
ChatGPTとは、OpenAIが開発した対話型チャットボットのモデルです。ChatGPTの名前は、GPT-3という第3世代の生成言語モデルに由来しています。
ChatGPTのモデルには、人工知能(AI)が搭載されており、人間の発話に対して自然なやり取りを可能にしています。また、英語をはじめ、中国語、日本語、フランス語など複数言語を認識し、人間らしく応答できるのも特徴的です。
さらに、ChatGPTではチャットの他に、画像生成など近年多様な機能がリリースされてます。以下、ChatGPTで代表するGPTモデルおよびOpenAIが提供するAPI機能一覧を示します。
- チャット機能
- テキストから画像を生成
- オーディオを文字起こし
- Python、SQL、JavaScript等のコードを理解
- 問題あるネガティブ発言検出
- テキスト文章のベクトル変換
【参考】OpenAI社のAPI利用方法
本記事ではChatGPTを用いたPythonプログラミングについて解説します。その際、Open AIが提供するAPI情報が必要になります。「ChatGPTの概要」および「API情報の取得手順」については、こちらの記事で詳しく解説しています。
【参考】ChatGPTを詳しく学びたい方向けの学習講座
ChatGPTを詳しく学びたい方向けに安価で学べるオンライン講座も併せてご紹介します。
【事前準備】OpenAIのPythonライブラリをインストール
ChatGPT APIをPythonで利用する場合、openai
ライブラリを活用します。
コマンドプロンプト(WIndows)またはターミナル(Mac)を開き、以下を実行し、ライブラリをインストールしましょう。
pip install openai
【実践】PythonでChatGPT APIを呼び出し画像生成
Pythonプログラムを記述し、ChatGPT APIを活用した画像生成方法について解説します。
PythonライブラリとAPI情報の読込
はじめに、Pythonプログラムの先頭にライブラリとAPI認証情報を記述します。
前述で取得したOrganization ID
とシークレットキー
をそれぞれ入力しましょう。
import openai
from openai import OpenAI
import requests
import json
API_Key = "<APIシークレットキーをここに入力>"
画像生成関数の作成
続いて、ChatGPT APIを呼び出し画像を生成するための関数を記述します。次のコードを記述しましょう。
コード
def create_image_from_text(text):
# 画像生成クライアント
client = OpenAI(api_key=API_Key)
# 応答設定
response = client.images.generate(
model = "dall-e-3", # モデル
prompt = text, # 画像生成に用いる説明文章
n = 1, # 何枚の画像を生成するか
size="1024x1024" # 画像サイズ
)
# API応答から画像URLを指定
image_url = response.data[0].url
# 画像をローカルに保存
image_data = requests.get(image_url).content
with open("chat-gpt-generated-image.jpg", "wb") as f:
f.write(image_data)
# 出力
return response
引数情報
openai.images.generate()
メソッドに説明文章を渡し、画像を生成します。その際、次の引数を指定します。
引数名 | 概要 |
---|---|
prompt | 画像生成に用いる説明文章 |
n | 何枚の画像を生成するか |
size | 生成生成サイズ。256x256 , 512x512 , 1024x1024 が指定可能。 |
response_format | APIの応答フォーマット。url またはb64_json が指定可能。 |
画像生成の実行
前述の画像生成関数に入力テキスト(text)を渡し、ChatGPT APIを起動&実行します。
コード
# 生成するイメージを文章で定義
text = "椅子の上の猫"
# 画像生成
img = create_image_from_text(text)
出力イメージ
上記のコードでは、「椅子の上の猫」の画像を生成するよう命令しています。コードを実行すると、上図のような出力結果が得られました。説明文章通りの画像が生成されていることが分かりますね。
【参考】AI・機械学習における配信情報まとめ
当サイトではAI・機械学習における「基礎」から「最新のプログラミング手法」に至るまで幅広く解説しております。また「おすすめの勉強方法」をはじめ、副業・転職・フリーランスとして始める「AI・機械学習案件の探し方」についても詳しく言及しています。
【仕事探し】副業・転職・フリーランス
【教育】おすすめ勉強法
【参考】記事一覧
最後に
お問い合わせフォーム
上記課題に向けてご気軽にご相談下さい。
お問い合わせはこちら