nano-banana-pro-openrouter
github/awesome-copilot
Generate and edit images via OpenRouter using Gemini 3 Pro Image model with 1K/2K/4K output.
What is nano-banana-pro-openrouter?
This skill generates images from text prompts, edits existing images, and composites multiple images together using OpenRouter's Gemini 3 Pro Image model. Use it when you need AI-powered image creation or manipulation with flexible resolution options.
- Generate images from text prompts only
- Edit single images with descriptive instructions
- Compose multiple images (up to 3) into a single output
- Support 1K, 2K, and 4K resolution outputs
- Customize behavior via optional system prompt template
- Save outputs with automatic multi-image naming
How to install nano-banana-pro-openrouter
npx skills add https://github.com/github/awesome-copilot --skill nano-banana-pro-openrouter- OPENROUTER_API_KEY environment variable set with valid OpenRouter credentials
- uv package manager installed (curl/PowerShell install scripts provided)
- Input images in common formats (JPG, PNG) if doing edits or compositing
How to use nano-banana-pro-openrouter
- 1.Set your OPENROUTER_API_KEY environment variable with a valid OpenRouter API key
- 2.Install uv if not already present using the provided install scripts
- 3.For text-only generation: run `uv run {baseDir}/scripts/generate_image.py --prompt "your description" --filename output.png`
- 4.For image edits: add `--input-image input.jpg` and describe the edit in the prompt
- 5.For compositing: add multiple `--input-image` flags (up to 3) and describe the composition in the prompt
- 6.Optionally specify `--resolution 2K` or `--resolution 4K` (default is 1K)
- 7.Check the output path printed as `MEDIA: <path>` to locate saved images
Use cases
- Create concept art or visual mockups from descriptions
- Modify existing images (e.g., change sky, adjust composition)
- Combine multiple reference images into a composite portrait or scene
- Generate marketing or presentation graphics at specific resolutions
- Iterate on image edits with custom system prompts
- Designers and visual creators
- Product managers prototyping UI/UX concepts
- Content creators needing quick image generation
- Developers building image-heavy applications
- Teams collaborating on visual assets
nano-banana-pro-openrouter FAQ
Up to 3 input images via repeated `--input-image` flags for compositing or multi-image edits.
1K (default), 2K, and 4K. Specify with `--resolution` flag.
Create an optional system prompt file at `assets/SYSTEM_TEMPLATE` to customize the model's behavior without changing code.
Verify your OPENROUTER_API_KEY is valid and has credits at https://openrouter.ai/settings/keys.
If the model returns multiple images, they are appended with `-1`, `-2`, etc. to the base filename.
Full instructions (SKILL.md)
Source of truth, from github/awesome-copilot.
name: nano-banana-pro-openrouter description: 'Generate or edit images via OpenRouter with the Gemini 3 Pro Image model. Use for prompt-only image generation, image edits, and multi-image compositing; supports 1K/2K/4K output.' metadata: emoji: 🍌 requires: bins: - uv env: - OPENROUTER_API_KEY primaryEnv: OPENROUTER_API_KEY
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
--resolutionwith1K,2K, or4K. - Default is
1Kif 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. --filenameaccepts 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:
| Symptom | Resolution |
|---|---|
OPENROUTER_API_KEY is not set | Ask 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 recognized | macOS/Linux: <code>curl -LsSf https://astral.sh/uv/install.sh | sh</code>. Windows: <code>powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"</code>. Then restart the terminal. |
AuthenticationError / HTTP 401 | Key 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.
Related skills
More from github/awesome-copilot and the wider catalog.

napkin
Browser-based visual whiteboard for sketching ideas and collaborating with Copilot.

next-intl-add-language
Add new language support to Next.js + next-intl applications

noob-mode
Plain-English translation layer for non-technical Copilot CLI users.

nuget-manager
Manage NuGet packages in .NET projects safely using dotnet CLI with strict workflows for adds, removes, and version updates.

onboard-context-matic
Interactive onboarding tour for the context-matic MCP server. Walks the user through what the server does, shows all available APIs, lets them pick one to explore, explains it in their project language, demonstrates model_search and endpoint_search live, and ends with a menu of things the user can ask the agent to do. USE FOR: first-time setup; "what can this MCP do?"; "show me the available APIs"; "onboard me"; "how do I use the context-matic server"; "give me a tour". DO NOT USE FOR: actually integrating an API end-to-end (use integrate-context-matic instead).

oo-component-documentation
Create or update standardized OO component documentation using shared templates and mode-specific guidance.