gemini-image-generator について
Google Gemini APIで画像を生成・編集するPython製コマンドラインスキルです。テキストからの生成、既存画像の編集、複数の参照画像の利用に対応し、複数の画像モデルを選べます。
主な機能
- 01テキストから画像を生成
- 02プロンプトによる画像編集
- 03最大14枚の参照画像
- 04モデルとアスペクト比の選択
- 05最大4K解像度で出力
活用シーン
- 01アプリアイコンやUI素材の作成
- 02マーケティングバナーの制作
- 03ゲームスプライトやコンセプトアートの生成
- 04既存写真のスタイル変更
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ ckorhonen/ claude-skills --skill gemini-image-generatorインストール後、Claude Code で/gemini-image-generatorを入力して読み込まれたか確認します。
同梱ファイルscripts/generate_image.py
詳細
Gemini Image Generator
概要
Google の Gemini API を使用して画像を生成します。テキストからの画像生成、画像編集、複数の参照画像入力に対応しています。高速な Gemini 2.5 Flash Image モデルと、最大 4K 解像度に対応する高品質な Gemini 3.1 Flash Image モデルをサポートしています。
モデル名に関する注記(2026年): Google の画像生成モデルには「Nano Banana」というブランド名が付いています。
gemini-2.5-flash-image-previewは「Nano Banana」、gemini-3.1-flash-image-previewは「Nano Banana 2」です。これらは会話型の Gemini モデルとは別のモデルです。モデルのリファレンスをご覧ください。
使用する場面
- アプリのアイコン、ロゴ、UI アセットの生成
- マーケティング用のビジュアルや販促用グラフィックの作成
- AI 生成のプレースホルダーを使った UI デザインのプロトタイピング
- ゲームのスプライトや 2D アセットの生成
- コンセプトアートやムードボードの作成
- テキストプロンプトによる既存画像の編集や加工
- 参照画像を使ったスタイル変換
前提条件
- Python 3.9 以降
google-genaiパッケージGEMINI_API_KEY環境変数
インストール
pip install google-genai
API キーの取得
- Google AI Studio にアクセスします
- Google アカウントでログインします
- 「Create API Key」をクリックします
- キーをコピーし、環境変数として設定します:
export GEMINI_API_KEY="your-api-key"
永続的に設定するには、シェルのプロファイル(~/.zshrc または ~/.bashrc)に追加します:
echo 'export GEMINI_API_KEY="your-api-key"' >> ~/.zshrc
クイックスタート
シンプルな画像を生成します:
python scripts/generate_image.py -p "A fluffy orange cat sitting on a windowsill, warm sunlight, cozy atmosphere"
アスペクト比を指定して生成します:
python scripts/generate_image.py -p "Modern tech startup banner" -a 16:9 -o banner.png
既存の画像を編集します:
python scripts/generate_image.py -p "Make the sky more dramatic with sunset colors" -i photo.jpg -o edited.png
コマンドリファレンス
python scripts/generate_image.py [options]
Required:
-p, --prompt TEXT Text prompt describing the image
Optional:
-o, --output PATH Output file path (default: auto-generated)
-m, --model MODEL Model to use (default: gemini-3.1-flash-image-preview)
-a, --aspect-ratio RATIO Aspect ratio (default: 1:1)
-s, --size SIZE Image size: 1K, 2K, 4K (default: 1K, Pro only)
-i, --input-image PATH Input image for editing mode
-r, --reference-images Reference image(s), can be repeated (max 14)
-v, --verbose Show detailed progress
モデル
| モデル | 解像度 | 最適な用途 | ニックネーム |
|---|---|---|---|
gemini-3.1-flash-image-preview | 最大 4K | 最新モデル、高速かつ高品質 | Nano Banana 2 |
gemini-2.5-flash-image-preview | 最大 1K | 迅速な反復、プロトタイピング、バッチ生成 | Nano Banana |
gemini-3-pro-image-preview | 最大 4K | 前世代の高品質な代替モデル | Nano Banana Pro |
デフォルトには gemini-3.1-flash-image-preview モデルをおすすめします。より高速で低コストな生成には gemini-2.5-flash-image-preview を使用します:
python scripts/generate_image.py -p "Quick concept sketch" -m gemini-2.5-flash-image-preview
API の使用方法: すべてのモデルで同じ
google-genaiSDK を使用し、設定ではresponse_modalities=['Image']を指定します。モデルの使用にはGEMINI_API_KEYが必要で、専用の画像エンドポイントではなくgenerate_contentエンドポイントを使用します。
アスペクト比
| 比率 | 用途 |
|---|---|
1:1 | アプリアイコン、プロフィール写真、サムネイル |
2:3 | ポートレート写真、ブックカバー |
3:2 | 風景写真、ポストカード |
3:4 | ポートレート写真、ソーシャルメディアの投稿 |
4:3 | 一般的な写真、プレゼンテーション |
4:5 | Instagram の投稿、縦長のソーシャルメディア投稿 |
5:4 | 大判印刷物 |
9:16 | ストーリー、縦型動画、スマートフォン用壁紙 |
16:9 | ワイドスクリーンバナー、動画のサムネイル、ヘッダー |
21:9 | ウルトラワイドバナー、シネマティックなヘッダー |
画像サイズ
Gemini 3 Pro モデルのみで使用できます:
| サイズ | 解像度 | 用途 |
|---|---|---|
1K | 1024px | Web グラフィック、サムネイル |
2K | 2048px | 印刷物、細部まで描写するグラフィック |
4K | 4096px | 高解像度の印刷物、大型ディスプレイ |
python scripts/generate_image.py -p "Detailed landscape" -s 4K -o landscape_4k.png
プロンプトエンジニアリングガイド
プロンプトの構成
効果的なプロンプトには、次の形式を使用します:
[Subject] + [Style] + [Details] + [Quality modifiers]
テクニック
1. 主題を具体的に指定する
Bad: "a cat"
Good: "a fluffy orange tabby cat sitting on a windowsill"
2. アートスタイルを指定する
- フォトリアリスティック、カートゥーン、アニメ、油絵、水彩画
- デジタルアート、3D レンダリング、ピクセルアート、ベクターイラスト
- 具体的なスタイル:「スタジオジブリ風」、「サイバーパンク風」
3. 環境と照明を含める
- 「ゴールデンアワーの照明」、「ドラマチックな影」、「柔らかな環境光」
- 「ネオンに照らされた街並み」、「居心地のよい室内」、「霧深い森」
4. 品質を高める修飾語を追加する
- 「高品質」、「精細」、「プロフェッショナル」
- 「シャープなフォーカス」、「スタジオ照明」、「シネマティック」
5. 構図を指定する
- 「中央に配置した構図」、「三分割法」
- 「クローズアップ」、「ワイドショット」、「俯瞰図」、「アイソメトリック」
用途別のプロンプト例
アプリアイコン
Minimalist app icon for a weather app, blue gradient background,
white cloud with golden sun rays, flat design, rounded corners,
iOS style, clean and modern
マーケティングバナー
Professional tech startup banner, abstract geometric shapes
flowing from left to right, purple and blue gradient,
modern and clean aesthetic, corporate style
ゲームスプライト
Pixel art character sprite, fantasy warrior with glowing sword,
32x32 style, transparent background, retro 16-bit game aesthetic,
vibrant colors
商品写真
Professional product photo of wireless earbuds on white background,
soft shadows, studio lighting, minimalist composition,
commercial photography style
コンセプトアート
Futuristic city skyline at sunset, flying vehicles between
towering skyscrapers, neon lights reflecting on wet streets,
cyberpunk atmosphere, cinematic composition, detailed
UI モックアップ用アセット
Abstract gradient background for mobile app, soft purple to pink
transition, subtle geometric patterns, modern and minimal,
suitable for dark text overlay
生成モード
テキストから画像を生成
テキストの説明から画像を生成します:
python scripts/generate_image.py -p "Your description here" -o output.png
画像編集
テキストプロンプトを使って既存の画像を編集します:
python scripts/generate_image.py \
-p "Change the background to a tropical beach at sunset" \
-i original.jpg \
-o edited.png
複数画像の参照
最大 14 枚の参照画像を使って、スタイルや内容を指定します:
python scripts/generate_image.py \
-p "Create a new character in this art style" \
-r style_ref1.png \
-r style_ref2.png \
-o new_character.png
使用例
アプリアイコンを生成する
# iOS-style weather icon
python scripts/generate_image.py \
-p "Minimalist weather app icon, blue sky gradient, white fluffy cloud, sun peeking out, flat design, rounded square, iOS 17 style" \
-a 1:1 \
-o weather_icon.png
# Fitness app icon
python scripts/generate_image.py \
-p "Fitness app icon, running figure silhouette, orange to red gradient background, energetic and dynamic, modern flat design" \
-a 1:1 \
-o fitness_icon.png
マーケティング素材を作成する
# Website hero banner
python scripts/generate_image.py \
-p "Abstract tech hero banner, flowing data visualization, dark blue background with glowing cyan accents, futuristic and professional" \
-a 21:9 \
-s 2K \
-o hero_banner.png
# Social media post
python scripts/generate_image.py \
-p "Motivational quote background, soft sunrise gradient, minimalist mountain silhouette, peaceful and inspiring" \
-a 4:5 \
-o social_post_bg.png
ゲームアセットを生成する
# Character sprite
python scripts/generate_image.py \
-p "Pixel art hero character, knight with blue cape and silver armor, idle pose, transparent background, 16-bit retro style" \
-a 1:1 \
-o knight_sprite.png
# Environment tile
python scripts/generate_image.py \
-p "Grass tile for top-down RPG, seamless pattern, vibrant green with small flowers, pixel art style, 32x32 aesthetic" \
-a 1:1 \
-o grass_tile.png
写真を編集する
# Change background
python scripts/generate_image.py \
-p "Replace background with a cozy coffee shop interior" \
-i portrait.jpg \
-o portrait_coffee_shop.png
# Style enhancement
python scripts/generate_image.py \
-p "Enhance with dramatic cinematic color grading, increase contrast, add film grain" \
-i landscape.jpg \
-o landscape_cinematic.png
トラブルシューティング
「GEMINI_API_KEY 環境変数が設定されていません」
API キーを設定します:
export GEMINI_API_KEY="your-api-key"
「レート制限を超えました」
数分待ってから、もう一度お試しください。一括処理の場合は、リクエスト間に遅延を設けてください。
「コンテンツポリシー違反」
Google の利用ポリシーに違反するコンテンツを避けるように、プロンプトを変更してください。次の方法をお試しください:
- より一般的な説明を使う
- 特定のブランド名や著作権で保護されたキャラクターを避ける
- センシティブである可能性のあるコンテンツを削除する
「応答に画像がありません」
モデルが画像ではなくテキストを返すことがあります。次の方法をお試しください:
- プロンプトをより具体的にする
- プロンプトに「画像を生成してください」を追加する
- 別のアスペクト比を使う
「サポートされていない画像形式です」
入力画像でサポートされている形式:PNG、JPEG、WebP
サイズオプションが機能しない
サイズオプション(2K、4K)は、gemini-3.1-flash-image-preview および gemini-3-pro-image-preview で利用できます。gemini-2.5-flash-image-preview モデルが生成する画像のサイズは最大 1024px です。
API の直接利用(Python SDK)
CLI を使わずに API を直接呼び出す場合:
import os
from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO
client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
response = client.models.generate_content(
model="gemini-3.1-flash-image-preview",
contents="A minimalist app icon for a weather app, blue gradient, white cloud",
config=types.GenerateContentConfig(
response_modalities=["Image", "Text"],
# aspect_ratio and image_size options depend on model support
)
)
for part in response.candidates[0].content.parts:
if part.inline_data is not None:
image = Image.open(BytesIO(part.inline_data.data))
image.save("output.png")
print("Saved to output.png")
elif part.text:
print(part.text)
重要: 画像生成には
generate_contentエンドポイントを使用します(独立した images エンドポイントではありません)。画像出力を有効にするには、response_modalitiesに"Image"を含めてください。
ベストプラクティス
- シンプルに始める:明確で簡潔なプロンプトから始め、調整を重ねてください
- 適切なモデルを使う:速度を重視する場合は
gemini-2.5-flash-image-preview、品質と 4K を重視する場合はgemini-3.1-flash-image-preview - 用途に合ったアスペクト比にする:バナーには 16:9、アイコンには 1:1
- 高品質なバージョンを保存する:詳細なアセットが必要な場合は 4K を使ってください
- プロンプトを調整する:小さな変更でも結果が大きく変わることがあります
- 参照画像を使う:複数回の生成で一貫したスタイルを保つ場合に便利です
- 品質を高める語句を追加する:「高品質」「詳細」「プロフェッショナル」
- 不要なものを指定する:「テキストなし」「シンプルな背景」「人物なし」