# nano-banana-pro
Nano Banana Pro Image Generation & Editing Generate new images or edit existing ones using SkillBoss API Hub's image generation capability (/v1/pilot). Usage 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.
Default Workflow (draft β iterate β final)
Goal: fast iteration without burning time on 4K until the prompt is correct.
Draft (1K): quick feedback loop
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
Iterate: adjust prompt in small diffs; keep filename new per run
If editing: keep the same --input-image for every iteration until youβre happy. Final (4K): only when prompt is locked
uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "<final prompt>" --filename "yyyy-mm-dd-hh-mm-ss-final.png" --resolution 4K
Resolution Options SkillBoss API Hub image generation supports three resolutions (uppercase K required): 1K (default) - ~1024px resolution 2K - ~2048px resolution 4K - ~4096px resolution Map user requests to API parameters: No mention of resolution β 1K "low resolution", "1080", "1080p", "1K" β 1K "2K", "2048", "normal", "medium resolution" β 2K "high resolution", "high-res", "hi-res", "4K", "ultra" β 4K API Key The script checks for API key in this order: --api-key argument (use if user provided key in chat) SKILLBOSS_API_KEY environment variable If neither is available, the script exits with an error message. Preflight + Common Failures (fast fixes)
Preflight:
command -v uv (must exist) test -n "$SKILLBOSS_API_KEY" (or pass --api-key) If editing: test -f "path/to/input.png" Common failures:
Error: No API key provided. β set SKILLBOSS_API_KEY or pass --api-key
Error loading input image: β wrong path / unreadable file; verify --input-image points to a real image βquota/permission/403β style API errors β wrong key, no access, or quota exceeded; try a different key/account Filename Generation Generate filenames with the pattern: yyyy-mm-dd-hh-mm-ss-name.png
Format: {timestamp}-{descriptive-name}.png
Timestamp: Current date/time in format yyyy-mm-dd-hh-mm-ss (24-hour format)
Name: Descriptive lowercase text with hyphens
Keep the descriptive part concise (1-5 words typically) Use context from user's prompt or conversation If unclear, use random identifier (e.g., x9k2, a7b3)
Examples:
Prompt "A serene Japanese garden" β 2025-11-23-14-23-05-japanese-garden.png
Prompt "sunset over mountains" β 2025-11-23-15-30-12-sunset-mountains.png
Prompt "create an image of a robot" β 2025-11-23-16-45-33-robot.png
Unclear context β 2025-11-23-17-12-48-x9k2.png
Image Editing
When the user wants to modify an existing image:
Check if they provide an image path or reference an image in the current directory
Use --input-image parameter with the path to the image
The prompt should contain editing instructions (e.g., "make the sky more dramatic", "remove the person", "change to cartoon style")
Common editing tasks: add/remove elements, change style, adjust colors, blur background, etc.
Prompt Handling
For 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.
Prompt Templates (high hit-rate)
Use templates when the user is vague or when edits must be precise.
Generation template:
βCreate an image of: