PythonでAIと連携する力がついてきた今、今回は「画像生成AI」に挑戦してみましょう。
あなたの“言葉”からAIが“絵”を描いてくれる未来のような技術。それが、DALL·E(ダリ)です。
DALL·Eは、ChatGPTと同じOpenAIが開発した画像生成モデルです。
テキスト(プロンプト)を入力するだけで、それにマッチした画像を自動生成してくれます。
DALL·Eって何?初心者にもわかる基礎解説
DALL·Eは「テキスト → 画像変換」が可能なAIモデルです。
例えるなら「お絵描きが超得意なAI」。あなたが書いた指示文(例:「空を飛ぶ猫のイラスト」)に従って、想像した画像を作ってくれます。
- 開発元: OpenAI
- 正式名称: DALL·E 2 / DALL·E 3
- 利用方法: ChatGPT(Plus)や API経由
今回は、Pythonコードを使ってAPI経由でDALL·Eを呼び出します。
プログラミングを通じて「テキストから画像生成」を実体験してみましょう。
事前準備|必要なライブラリ・APIキーなど
① OpenAI APIキーを取得
OpenAIのアカウントを持っていない方は、こちらから新規登録しましょう。
ログイン後、「API Keys」から新しいキーを発行して控えてください。
② ライブラリのインストール
pip install openai
このライブラリはChatGPTと同じく、DALL·Eの操作にも使えます。
—基本コード|DALL·Eで画像を生成して保存する
import openai
import requests
from PIL import Image
from io import BytesIO
openai.api_key = "sk-xxxxxxxxxxxxxxxx"
prompt = "富士山をバックに立つサムライのイラスト"
response = openai.Image.create(
prompt=prompt,
n=1,
size="512x512"
)
image_url = response['data'][0]['url']
# 画像を取得して保存
img_data = requests.get(image_url).content
with open('output.png', 'wb') as handler:
handler.write(img_data)
print("画像をoutput.pngに保存しました。")
—
コードのポイント解説(初心者向け)
prompt
:AIへの指示文(例:「青空の下に猫がいる絵」など)n=1
:生成する画像の枚数size=\"512x512\"
:画像のサイズ(最大1024×1024まで対応)requests
:画像URLから実データを取得PIL.Image
:画像操作に便利なライブラリ(表示用)
実行すると、output.png という画像ファイルが作成されます。
プロンプトの工夫によって、表現の幅は無限に広がります。
プロンプトのコツ|生成結果をよくするために
生成画像の質は、プロンプトの工夫にかかっています。
よく使われるワード例:
- 「realistic」「anime style」「minimalist」「digital painting」
- 「landscape」「portrait」「fantasy」「futuristic」
- 日本語でもOKだが、英語の方が正確に伝わることが多い
例1:
“A futuristic cityscape at night, cyberpunk style”
例2:
“An anime-style girl sitting in a cherry blossom garden”
—
注意点・制限・トラブル対策
- APIキーの誤使用:キーは絶対に公開しないこと(GitHubなどに載せない)
- 画像生成回数の制限:無料枠には上限あり(月数回程度)
- プロンプトに対して画像が不適切・未生成となることがある:ポリシーによって拒否されることも
- エラー:429や401 → APIキーの制限超過、または認証ミス
応用アイデア|DALL·E × 自作アプリ
DALL·Eで生成した画像は、以下のように応用できます:
- ブログのアイキャッチ画像を自動生成
- LINE Botで「画像を作って」と指示 → 自動応答
- Webフォームからの指示を元に画像生成
今後、FlaskやStreamlitを使ってWebアプリ化する流れもご紹介予定です。
—まとめ|DALL·Eは想像力を形にするAI
- PythonからDALL·Eを使って画像を生成できる
- プロンプトの工夫でアート表現が無限に広がる
- 今後のツール開発やコンテンツ制作にも応用可能
次回予告|AIでブログの下書きを自動生成してみよう
Day 12では、ChatGPT APIを活用して「ブログ記事の下書きを自動生成する」ツールを作成していきます。
タイトルを渡すだけで、見出しと本文がサッと生成される自動化の世界へご案内します。
コメント