Google の Gemini 2.0 Flsh では、テキストプロンプトから画像を生成できる機能が追加されました。
この記事では、Google Colab を使って実際に画像生成を行う方法を試した備忘録です。
前提条件
- Google Colab のアカウント
- Gemini API キー(Google AI Studio で取得可能)
API キーの設定
Google Colab のシークレット機能を使ってAPI キーを安全に管理します。
- Colab の左サイドバーから「シークレット」(🔑)をクリック
- 「新しいシークレット」で
GEMINI_API_KEY
という名前でAPI キーを追加 - 「ノートブックアクセス」を有効にする
実装コード
以下のコードで画像生成を実行できます。
from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO
import os
from google.colab import userdata
# クライアント初期化
client = genai.Client(api_key=userdata.get('GEMINI_API_KEY'))
# カレー画像生成
prompt = "湯気が立ち上る、白いご飯に濃厚でとろみのあるカレールーがたっぷりとかかっている、日本の家庭風カレーライス。柔らかく煮込まれた牛肉、大ぶりのじゃがいも、にんじんが具だくさんに盛られている。木のテーブルの上に置かれ、暖かみのあるオレンジ色の照明で美味しそうに照らされた、料理雑誌の1ページのような高品質な写真風イメージ。"
response = client.models.generate_content(
model="gemini-2.0-flash-preview-image-generation",
contents=prompt,
config=types.GenerateContentConfig(
response_modalities=['TEXT', 'IMAGE']
)
)
# 画像保存
for part in response.candidates[0].content.parts:
if part.text is not None:
print(f"説明: {part.text}")
elif part.inline_data is not None:
image = Image.open(BytesIO(part.inline_data.data))
image.save('curry.png')
print("カレー画像を保存しました!")
image.show()
コードの解説
1. ライブラリのインポート
-
google.genai
: Gemini API のクライアント -
PIL.Image
: 画像処理 -
BytesIO
: メモリ上でのバイナリデータ処理 -
google.colab.userdata
: Colab のシークレット機能
2. クライアント初期化
client = genai.Client(api_key=userdata.get('GEMINI_API_KEY'))
Colab のシークレット機能からAPI キーを取得してクライアントを初期化します。
3. プロンプトの作成
prompt = ""
具体的で詳細なプロンプトを作成することで、より期待に近い画像が生成されます。
4. 画像生成の実行
response = client.models.generate_content(
model="gemini-2.0-flash-preview-image-generation",
contents=prompt,
config=types.GenerateContentConfig(
response_modalities=['TEXT', 'IMAGE']
)
)
-
model
: 画像生成専用のモデルを指定 -
response_modalities
: テキストと画像の両方を生成するように設定
5. 結果の処理
for part in response.candidates[0].content.parts:
if part.text is not None:
print(f"説明: {part.text}")
elif part.inline_data is not None:
image = Image.open(BytesIO(part.inline_data.data))
image.save('curry.png')
print("カレー画像を保存しました!")
image.show()
おいしそうなカレーの画像を生成することができました。結果は利用規約の都合もあり省略しています。
実行結果
このコードを実行すると、以下のような結果が得られます:
- 画像の説明テキストがコンソールに表示される
- 生成された画像が
curry.png
として保存される - Colab 上で画像が表示される
プロンプトのコツ
より良い画像を生成するためのプロンプトのポイント:
- 具体性: 「美味しそうな」「とろっとした」など感覚的な表現を含める
- 詳細: 材料、色、照明などの具体的な要素を指定
- スタイル: 「料理写真」「暖かい照明」など撮影スタイルを明示
注意点
- この記事で試したGemini 2.0 Flash の画像生成機能はプレビュー版のため、将来的に仕様が変更される可能性があります
- API の利用制限や料金体系を事前に確認してください
- 生成される画像の品質は、プロンプトの書き方に大きく依存します
まとめ
Gemini 2.0 Flash を使った画像生成は、Google Colab で簡単に試すことができます。具体的で詳細なプロンプトを作成することで、期待に近い画像を生成できるでしょう。ぜひ様々なプロンプトを試して、画像生成の可能性を探ってみてください。
Google AI Studioでも画像生成は試せますが、APIから呼び出す処理を実際に作ってみたくてやってみました。
参考資料
免責事項
※Gemini API の技術検証を目的として生成・掲載しており、商用利用は行っておりません。
この備忘録みて試すときにはGooglenの利用規約を確認することを推奨します。