mcpField
N
nano-banana-pro-openrouter

nano-banana-pro-openrouter

github.com/githubCreative & media40.5k9.9k installsUpdated today
Repository

About nano-banana-pro-openrouter

A skill for generating and editing images through OpenRouter with the google/gemini-3-pro-image-preview model. It supports text prompts, edits to existing images, and compositions using multiple inputs.

Key features

  1. 01Prompt-based image generation
  2. 02Single-image editing
  3. 03Composition from up to 3 images
  4. 041K, 2K, and 4K resolution options
  5. 05Customizable system prompt

Use cases

  1. 01Create an image from a text description
  2. 02Revise an existing image with an instruction
  3. 03Combine several images into one composition

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/github/awesome-copilot --skill nano-banana-pro-openrouter

After installing, type/nano-banana-pro-openrouterin Claude Code to confirm it loaded.

Bundled filesassets/SYSTEM_TEMPLATEscripts/generate_image.py

Details

From the project README

Nano Banana Pro OpenRouter

Overview

Generate or edit images with OpenRouter using the google/gemini-3-pro-image-preview model. Support prompt-only generation, single-image edits, and multi-image composition.

Prompt-only generation
uv run {baseDir}/scripts/generate_image.py \
  --prompt "A cinematic sunset over snow-capped mountains" \
  --filename sunset.png
Edit a single image
uv run {baseDir}/scripts/generate_image.py \
  --prompt "Replace the sky with a dramatic aurora" \
  --input-image input.jpg \
  --filename aurora.png
Compose multiple images
uv run {baseDir}/scripts/generate_image.py \
  --prompt "Combine the subjects into a single studio portrait" \
  --input-image face1.jpg \
  --input-image face2.jpg \
  --filename composite.png

Resolution

  • Use --resolution with 1K, 2K, or 4K.
  • Default is 1K if not specified.

System prompt customization

The skill reads an optional system prompt from assets/SYSTEM_TEMPLATE. This allows you to customize the image generation behavior without modifying code.

Behavior and constraints

  • Accept up to 3 input images via repeated --input-image.
  • --filename accepts relative paths (saves to current directory) or absolute paths.
  • If multiple images are returned, append -1, -2, etc. to the filename.
  • Print MEDIA: <path> for each saved image. Do not read images back into the response.

Troubleshooting

If the script exits non-zero, check stderr against these common blockers:

SymptomResolution
OPENROUTER_API_KEY is not setAsk the user to set it. PowerShell: $env:OPENROUTER_API_KEY = "sk-or-..." / bash: export OPENROUTER_API_KEY="sk-or-..."
uv: command not found or not recognizedmacOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh. Windows: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex". Then restart the terminal.
AuthenticationError / HTTP 401Key is invalid or has no credits. Verify at https://openrouter.ai/settings/keys.

For transient errors (HTTP 429, network timeouts), retry once after 30 seconds. Do not retry the same error more than twice — surface the issue to the user instead.

Comments

Markdown supported