nano-banana-pro-openrouterGenerate images with Nano Banana Pro via OpenRouter. Use when the user asks for image generation, mentions Nano Banana Pro, Gemini 3 Pro Image, or OpenRouter image generation.
Install via ClawdBot CLI:
clawdbot install DuffyCoder/nano-banana-pro-openrouterGenerate new images using OpenRouter's Nano Banana Pro (Gemini 3 Pro Image Preview).
Run the script using an absolute path (do NOT cd to the skill directory first):
Generate new image:
sh ~/.openclaw/workspace/skills/nano-banana-pro-openrouter/scripts/generate_image.sh --prompt "your image description" [--filename "output-name.png" | --filename auto] [--resolution 1K|2K|4K] [--api-key KEY]
Note: the shell version currently supports generation only (no input image editing).
Important:
~/.openclaw/workspace/outputs/nano-banana-pro-openrouter--filename contains a path, only the basename is usedGoal: fast iteration without burning time on 4K until the prompt is correct.
sh ~/.openclaw/workspace/skills/nano-banana-pro-openrouter/scripts/generate_image.sh --prompt "" --filename auto --resolution 1K sh ~/.openclaw/workspace/skills/nano-banana-pro-openrouter/scripts/generate_image.sh --prompt "" --filename auto --resolution 4K The Gemini 3 Pro Image API supports three resolutions (uppercase K required):
Map user requests to API parameters:
The script checks for the API key in this order:
The API base URL must be set via OPENROUTER_BASE_URL. Use the full chat
completions endpoint (for OpenRouter: https://openrouter.ai/api/v1/chat/completions).
The script also loads .env files automatically (if present):
Important: If a .env file exists, do not ask the user for the key up front.
Just run the script and only ask if it errors with "No API key provided."
~/.openclaw/workspace/skills/nano-banana-pro-openrouter/.env exists: 1. Use the read tool to read .env
2. Extract OPENROUTER_API_KEY and OPENROUTER_BASE_URL
3. Always pass the key via --api-key when running the script
--filename auto (do not handwrite dates)If neither is available, the script exits with an error message.
Preflight:
command -v sh (must exist)command -v curl (must exist)command -v base64 (must exist)Common failures:
Error: No API key provided. -> read .env and retry with --api-key; if still failing, ask the user to set OPENROUTER_API_KEYError: No API base URL provided. -> ensure OPENROUTER_BASE_URL is set to a full chat completions endpointError loading input image: -> wrong path or unreadable file; verify --input-image points to a real imageGenerate filenames with the pattern: yyyy-mm-dd-hh-mm-ss-name.png
Format: {timestamp}-{descriptive-name}.png
yyyy-mm-dd-hh-mm-ss (24-hour format)imageExamples:
2025-11-23-14-23-05-japanese-garden.png2025-11-23-15-30-12-sunset-mountains.png2025-11-23-16-45-33-robot.png2025-11-23-17-12-48-image.pngTip: To avoid incorrect timestamps, pass --filename auto and let the script
generate the filename using the system clock.
The shell script only supports generating new images. Editing an input image is not available in this version.
For generation: pass the user's image description as-is to --prompt. Only rework if clearly insufficient.
Use templates when the user is vague or when edits must be precise.
Generation template: