Skill: nanophotohq/nanophoto-nano-banana-pro (version 1.0.1)

--- name: nano-banana-pro description: "Generate or edit AI images with the NanoPhoto.AI Nano Banana Pro API. Use when: (1) User wants text-to-image generation from a prompt, (2) User wants image-to-image editing from one or more public image URLs, (3) User mentions Nano Banana Pro, NanoPhoto image generation, text to image, image to image, image editing, generationId lookup, prompt-based image creation, or checking generation status. Supports automatic polling until completion and resuming an existing generationId. Prerequisite: Obtain an API key at https://nanophoto.ai/settings/apikeys and configure env.NANOPHOTO_API_KEY." homepage: https://nanophoto.ai metadata: {"openclaw":{"homepage":"https://nanophoto.ai","requires":{"env":["NANOPHOTO_API_KEY"]},"primaryEnv":"NANOPHOTO_API_KEY"}} --- # Nano Banana Pro Generate or edit images through the NanoPhoto.AI Nano Banana Pro API. ## Prerequisites 1. Obtain an API key at: https://nanophoto.ai/settings/apikeys 2. Configure `NANOPHOTO_API_KEY` before using the skill. Preferred OpenClaw setup: - Open the skill settings for this skill - Add an environment variable named `NANOPHOTO_API_KEY` - Paste the API key as its value Equivalent config shape: ```json { "skills": { "entries": { "nano-banana-pro": { "enabled": true, "env": { "NANOPHOTO_API_KEY": "your_api_key_here" } } } } } ``` Other valid ways to provide the key: - **Shell**: `export NANOPHOTO_API_KEY="your_api_key_here"` - **Tool-specific env config**: any runtime that injects `NANOPHOTO_API_KEY` ## Choose the mode - Use `generate` for text-to-image. - Use `edit` for image-to-image edits. - For `edit`, provide one or more **public image URLs**. - Do **not** use local image files or base64 images with the API. The API only accepts `inputImageUrls`. ## Recommended workflow 1. Collect the prompt. 2. Decide `mode`: `generate` or `edit`. 3. Choose `aspectRatio` and `imageQuality`. 4. For `edit`, collect up to 8 public image URLs. 5. Submit the generation request. 6. Poll the status endpoint every 5 seconds until `completed` or `failed`. 7. Return the final `imageUrl` and progress/result details. 8. Expect real-world wait time to vary from roughly 30 seconds to 300 seconds depending on queue/load and prompt complexity; avoid short timeouts. ## Preferred command Use the bundled script for reliable submission + polling: ### Text to image macOS / Linux: ```bash python3 scripts/nano_banana_generate.py \ --prompt "A futuristic cityscape at sunset with flying cars and neon lights" \ --mode generate \ --aspect-ratio 16:9 \ --image-quality 2K ``` Windows: ```bash python scripts/nano_banana_generate.py ^ --prompt "A futuristic cityscape at sunset with flying cars and neon lights" ^ --mode generate ^ --aspect-ratio 16:9 ^ --image-quality 2K ``` ### Image to image macOS / Linux: ```bash python3 scripts/nano_banana_generate.py \ --prompt "Transform this photo into a watercolor painting style" \ --mode edit \ --input-image-url https://static.nanophoto.ai/demo/nano-banana-pro.webp \ --aspect-ratio 16:9 \ --image-quality 1K ``` Windows (cmd.exe): ```bash python scripts/nano_banana_generate.py ^ --prompt "Transform this photo into a watercolor painting style" ^ --mode edit ^ --input-image-url https://static.nanophoto.ai/demo/nano-banana-pro.webp ^ --aspect-ratio 16:9 ^ --image-quality 1K ``` Windows (PowerShell): ```powershell python scripts/nano_banana_generate.py ` --prompt "Transform this photo into a watercolor painting style" ` --mode edit ` --input-image-url https://static.nanophoto.ai/demo/nano-banana-pro.webp ` --aspect-ratio 16:9 ` --image-quality 1K ``` The script reads `NANOPHOTO_API_KEY` from the environment, submits the task, polls automatically, and prints the final JSON result. ## Manual API calls ### Submit generation ```bash curl -X POST "https://nanophoto.ai/api/nano-banana-pro/generate" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $NANOPHOTO_API_KEY" \ --data-raw '{ "prompt": "A futuristic cityscape at sunset with flying cars and neon lights", "mode": "generate", "aspectRatio": "16:9", "imageQuality": "2K" }' ``` ### Check status ```bash curl -X POST "https://nanophoto.ai/api/nano-banana-pro/check-status" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $NANOPHOTO_API_KEY" \ --data-raw '{"generationId": "abc123xyz"}' ``` ## Parameter guidance - `aspectRatio` - `16:9` - `9:16` - `4:3` - `3:4` - `imageQuality` - `1K`: lowest cost - `2K`: balanced quality/cost - `4K`: highest cost - `inputImageUrls` - Max 8 URLs - Must be publicly reachable ## Error handling | errorCode | Cause | Action | |-----------|-------|--------| | `LOGIN_REQUIRED` | Invalid or missing API key | Verify key at https://nanophoto.ai/settings/apikeys | | `API_KEY_RATE_LIMIT_EXCEEDED` | Rate limit exceeded | Wait and retry | | `INSUFFICIENT_CREDITS` | Not enough credits | Top up credits | | `INVALID_PROMPT` | Missing or empty prompt | Ask user for a prompt | | `MISSING_INPUT_IMAGE` | Edit mode missing images | Ask for public image URLs | | `TOO_MANY_IMAGES` | More than 8 images | Reduce to 8 or fewer URLs | | `IMAGE_URLS_REQUIRED` | API needs `inputImageUrls` | Do not send base64 or local file paths | | `NOT_FOUND` | Invalid generation ID | Re-submit or verify the ID | | `FORBIDDEN` | Task not owned by this key | Verify account/key ownership | | `GENERATION_FAILED` | Server-side failure | Retry or simplify the prompt | ## Bundled files - `scripts/nano_banana_generate.py`: submit a generation/edit task and poll until completion. - `references/api.md`: condensed API reference, costs, and response shapes. erate.py`: submit a generation/edit task and poll until completion. - `references/api.md`: condensed API reference, costs, and response shapes. eference, costs, and response shapes.

path: PUBLISHING.md
content: # Publishing / provenance notes

- Publisher: NanoPhotoHQ
- Service homepage: https://nanophoto.ai
- API key management page: https://nanophoto.ai/settings/apikeys
- Skill purpose: generate or edit images with the NanoPhoto.AI Nano Banana Pro API.

## Required credential

This skill requires exactly one credential:

- `NANOPHOTO_API_KEY` — required

Do not paste the API key into chat. Configure it through the platform's secure environment-variable setting for this skill.

## Safety / usage notes

- Only submit prompts and image URLs you are authorized to use.
- For edit mode, only provide public image URLs you are comfortable sending to the NanoPhoto service.
- Do not provide private or sensitive images as public URLs.
- This skill does not ask for unrelated credentials.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)