mcpField
G
gemini-image-generator

gemini-image-generator

github.com/ckorhonenクリエイティブ・メディア2254 回インストール5 週間前に更新
リポジトリ

gemini-image-generator について

Google Gemini APIで画像を生成・編集するPython製コマンドラインスキルです。テキストからの生成、既存画像の編集、複数の参照画像の利用に対応し、複数の画像モデルを選べます。

主な機能

  1. 01テキストから画像を生成
  2. 02プロンプトによる画像編集
  3. 03最大14枚の参照画像
  4. 04モデルとアスペクト比の選択
  5. 05最大4K解像度で出力

活用シーン

  1. 01アプリアイコンやUI素材の作成
  2. 02マーケティングバナーの制作
  3. 03ゲームスプライトやコンセプトアートの生成
  4. 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 キーの取得
  1. Google AI Studio にアクセスします
  2. Google アカウントでログインします
  3. 「Create API Key」をクリックします
  4. キーをコピーし、環境変数として設定します:
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-genai SDK を使用し、設定では response_modalities=['Image'] を指定します。モデルの使用には GEMINI_API_KEY が必要で、専用の画像エンドポイントではなく generate_content エンドポイントを使用します。

アスペクト比

比率用途
1:1アプリアイコン、プロフィール写真、サムネイル
2:3ポートレート写真、ブックカバー
3:2風景写真、ポストカード
3:4ポートレート写真、ソーシャルメディアの投稿
4:3一般的な写真、プレゼンテーション
4:5Instagram の投稿、縦長のソーシャルメディア投稿
5:4大判印刷物
9:16ストーリー、縦型動画、スマートフォン用壁紙
16:9ワイドスクリーンバナー、動画のサムネイル、ヘッダー
21:9ウルトラワイドバナー、シネマティックなヘッダー

画像サイズ

Gemini 3 Pro モデルのみで使用できます:

サイズ解像度用途
1K1024pxWeb グラフィック、サムネイル
2K2048px印刷物、細部まで描写するグラフィック
4K4096px高解像度の印刷物、大型ディスプレイ
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 を使ってください
  • プロンプトを調整する:小さな変更でも結果が大きく変わることがあります
  • 参照画像を使う:複数回の生成で一貫したスタイルを保つ場合に便利です
  • 品質を高める語句を追加する:「高品質」「詳細」「プロフェッショナル」
  • 不要なものを指定する:「テキストなし」「シンプルな背景」「人物なし」

コメント