Nano banana pro
Agent skill for nano-banana-pro
Sign in to like and favorite skills
Agent skill for nano-banana-pro
Sign in to like and favorite skills
Generate new images or edit existing ones using Google's Nano Banana Pro API (Gemini 3 Pro Image).
Run the script using absolute path (do NOT cd to skill directory first):
Generate new image:
uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "your image description" --filename "output-name.png" [--resolution 1K|2K|4K] [--api-key KEY]
Edit existing image:
uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "editing instructions" --filename "output-name.png" --input-image "path/to/input.png" [--resolution 1K|2K|4K] [--api-key KEY]
Important: Always run from the user's current working directory so images are saved where the user is working, not in the skill directory.
Goal: fast iteration without burning time on 4K until the prompt is correct.
uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "<draft prompt>" --filename "yyyy-mm-dd-hh-mm-ss-draft.png" --resolution 1K--input-image for every iteration until you’re happy.uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "<final prompt>" --filename "yyyy-mm-dd-hh-mm-ss-final.png" --resolution 4KThe Gemini 3 Pro Image API supports three resolutions (uppercase K required):
Map user requests to API parameters:
1K1K2K4KThe script checks for API key in this order:
--api-key argument (use if user provided key in chat)GEMINI_API_KEY environment variableIf neither is available, the script exits with an error message.
Preflight:
command -v uv (must exist)test -n \"$GEMINI_API_KEY\" (or pass --api-key)test -f \"path/to/input.png\"Common failures:
Error: No API key provided. → set GEMINI_API_KEY or pass --api-keyError loading input image: → wrong path / 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)x9k2, a7b3)Examples:
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-x9k2.pngWhen the user wants to modify an existing image:
--input-image parameter with the path to the imageFor generation: Pass user's image description as-is to
--prompt. Only rework if clearly insufficient.
For editing: Pass editing instructions in
--prompt (e.g., "add a rainbow in the sky", "make it look like a watercolor painting")
Preserve user's creative intent in both cases.
Use templates when the user is vague or when edits must be precise.
Generation template:
Editing template (preserve everything else):
Generate new image:
uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "A serene Japanese garden with cherry blossoms" --filename "2025-11-23-14-23-05-japanese-garden.png" --resolution 4K
Edit existing image:
uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "make the sky more dramatic with storm clouds" --filename "2025-11-23-14-25-30-dramatic-sky.png" --input-image "original-photo.jpg" --resolution 2K