nano-banana-pro-openrouter
Generates or edits images using the Gemini 3 Pro image model via OpenRouter, supporting pure prompt generation, image editing, and multi-image composition.
npx skills add github/awesome-copilot --skill nano-banana-pro-openrouterBefore / After Comparison
1 组Traditional image processing tools are complex to operate, making image generation or editing time-consuming and laborious, and hindering the realization of creative ideas. Multi-image synthesis is difficult, limiting visual content creation.
With the OpenRouter image model, images can be quickly generated, edited, or synthesized through prompts. This significantly enhances image creation efficiency and the ability to realize creative ideas.
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: 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 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.
User Reviews (0)
Write a Review
No reviews yet
Statistics
User Rating
Rate this Skill