ちゃんとこういうテック記事も投稿しないとダメだなと思い試しました
Python を使っています
環境
- macOS 15.6.1
- Python 3.12.11
- google-genai==1.35.0
- pillow==11.3.0
準備
必要なライブラリをインストールします
- pipenv install google-genai
- pipenv install pillow
google-generativeai は Deprecated なので注意してください
google-genai を使いましょう
API キーの取得
Google AI Studio (ここ)から生成しましょう
サンプルコード
比較的新しめの技術に関しては AI 先生に聞いても教えてくれないから公式ドキュメントを見るのが一番なんですよね
ファイルをアップロードして変換してもらうだけの簡単なスクリプトなのでリファクタなどはしていません
xxx の部分は上記で取得した API キーを入力してください
from io import BytesIO
from google import genai
from PIL import Image
client = genai.Client(api_key="xxx")
prompt = """
背景を宇宙に変更してください。
"""
image = Image.open("reforg.jpeg")
# チャットクライアントの作成
chat = client.chats.create(model="gemini-2.5-flash-image-preview")
# イメージとプロンプトの送信
response = chat.send_message([prompt, image])
# 結果(テキストと画像)の取得、一応 pyright のエラーも対応
if response.candidates is None:
raise
if response.candidates[0].content is None:
raise
parts = response.candidates[0].content.parts
if parts is not None:
for i, part in enumerate(parts):
if part.text is not None:
print(part.text)
elif part.inline_data is not None and part.inline_data.data is not None:
image = Image.open(BytesIO(part.inline_data.data))
image.save(f"generated_image_{i}.png")
で入力した画像がこれで
出力された画像が以下です
すばらしい
特にレスポンスの速さがすばらしい
最後に
Google AI Studio の UI からだと制限があったりしてうまく画像が生成されないことがあるようなのでそんな場合は API を使いましょう
ただこれだとチャットというよりかは一問一答の会話なのでチャット的な感じでインタラクティブな感じにしたいのであればもう少し手を加える筆意ようがありそうです
それでもこれが無料で使えるのは本当に素晴らしいことだと思います
参考サイト
*https://github.com/googleapis/python-genai/blob/main/codegen_instructions.md