Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Nanophoto Nano Banana Pro

ASecurity

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: O...

60 stars
0 votes
0 copies
0 views
Added 9/23/2026
toolspythonshellbashapi

Works with

api

Security Analysis

A100/100

Scanned 9/23/2026

Install to Claude Code

$npx -y skills add lxyeternal/MalSkillBench --skill nanophoto-nano-banana-pro --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Nanophoto Nano Banana Pro?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Nanophoto Nano Banana Pro
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/lxyeternal-nanophoto-nano-banana-pro/badge)](https://www.skillsdirectory.com/skills/lxyeternal-nanophoto-nano-banana-pro)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
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.

Attribution

lxyeternallxyeternal
View sourceMore from lxyeternal →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

ucoz-landing-skill

Playbook for creating and editing uCoz landing pages via MCP tools (`templates_tool`, `ftp_tool`, `modules_tool`). Use for tasks such as: "build a landing page", "update the homepage as a landing page", "create a promo page on the homepage", "add a lead form / menu / SEO to the homepage". Homepage: `page_list`, `page_get`; first publish — `page_update` with full `page_tmpl`; HTML edits after generation — `patch_template` (module_id=2, template_id=1), not `update_template`. Activate the mail f...

107 votes

Paperclip

Interact with the Paperclip control plane API for task coordination and governance. Use when checking assignments, updating issue status, posting comments, delegating work, managing routines, or calling Paperclip API endpoints.

805541 votes

Daw Music

Digital Audio Workstation usage, music composition, interactive music systems, and game audio implementation for immersive soundscapes.

761 votes

Instantly Rdsthomas Mission Control

Instantly.ai cold email outreach API - manage campaigns, leads, accounts, and analytics. Use for cold email automation, lead management, campaign creation/monitoring, and email account warmup.

761 votes

Caveman Compress

Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens. Preserves all technical substance, code, URLs, and structure. Compressed version overwrites the original file. Human-readable backup saved as FILE.original.md. Trigger: /caveman-compress FILEPATH or "compress memory file"

1066600 votes
View all in tools →