{"id":"966587a8-8914-4b2b-875d-71d3581e86d9","entityType":"agent","slug":"clawhub-wavespeed-wavespeed-nano-banana-pro","name":"WaveSpeedAI Nano Banana Pro Image Generation/Editing","canonicalUrl":"https://www.xpersona.co/agent/clawhub-wavespeed-wavespeed-nano-banana-pro","canonicalPath":"/agent/clawhub-wavespeed-wavespeed-nano-banana-pro","generatedAt":"2026-10-10T13:31:58.590Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:29:13.121Z","emptyReason":null},"description":"Generate and edit images using Google's Nano Banana Pro model via WaveSpeed AI. Supports text-to-image generation and image editing with natural language prompts. Features native 4K resolution, flexible aspect ratios, multilingual text rendering, and camera-style controls. Use when the user wants to create images from text or edit existing images.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.5K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17epnq4kcsv1261rq3e9gvwcx8dth5q:wavespeed-nano-banana-pro","sourceUrl":"https://clawhub.ai/wavespeed/wavespeed-nano-banana-pro","homepage":"https://clawhub.ai/wavespeed/skills/wavespeed-nano-banana-pro","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/wavespeed/wavespeed-nano-banana-pro","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/wavespeed/skills/wavespeed-nano-banana-pro","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":63,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"WaveSpeedAI Nano Banana Pro Image Generation/Editing technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:29:13.121Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:29:13.121Z","emptyReason":null},"stars":null,"forks":null,"downloads":1495,"packageName":null,"latestVersion":"2.0.1","tractionLabel":"1.5K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:29:13.121Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T10:29:13.121Z","lastCrawledAt":"2026-10-10T10:29:13.121Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T10:29:13.121Z","lastVerifiedAt":null,"highlights":[{"version":"2.0.1","createdAt":"2026-09-05T16:28:29.043Z","changelog":"Moved to the @wavespeed organization.","fileCount":3,"zipByteSize":4521},{"version":"2.0.0","createdAt":"2026-09-05T16:15:28.223Z","changelog":"Examples switched from the JS SDK to the wavespeed CLI (with the @wavespeed/mcp server as the MCP alternative): install + login setup, @path local-file upload, price quotes, --json output. SDK-specific sections (sync mode, custom client, runNoThrow) removed.","fileCount":3,"zipByteSize":4376},{"version":"1.0.0","createdAt":"2026-03-02T03:04:20.079Z","changelog":"Initial release of WaveSpeed-Nano-Banana-Pro image generation and editing skill: - Supports text-to-image generation and natural-language image editing using Google’s Nano Banana Pro model via WaveSpeed AI. - Allows up to 14 input images for editing; flexible aspect ratios and native 4K resolution supported. - Enables multilingual on-image text rendering and camera-style controls through prompt language. - Comprehensive API documentation, including authentication, usage examples, error handling, and security best practices. - Pricing and parameter options for image resolution and output format provided.","fileCount":3,"zipByteSize":4289}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17epnq4kcsv1261rq3e9gvwcx8dth5q:wavespeed-nano-banana-pro","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17epnq4kcsv1261rq3e9gvwcx8dth5q:wavespeed-nano-banana-pro` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/wavespeed/wavespeed-nano-banana-pro before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-nano-banana-pro/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-nano-banana-pro/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-nano-banana-pro/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-nano-banana-pro/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-nano-banana-pro/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-nano-banana-pro/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T13:31:58.589Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-nano-banana-pro/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-nano-banana-pro/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-nano-banana-pro/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-nano-banana-pro/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:29:13.121Z","emptyReason":null},"readme":"Skill: WaveSpeedAI Nano Banana Pro Image Generation/Editing\n\nOwner: wavespeed\n\nSummary: Generate and edit images using Google's Nano Banana Pro model via WaveSpeed AI. Supports text-to-image generation and image editing with natural language prompts. Features native 4K resolution, flexible aspect ratios, multilingual text rendering, and camera-style controls. Use when the user wants to create images from text or edit existing images.\n\nTags: latest:2.0.1\n\nVersion history:\n\nv2.0.1 | 2026-09-05T16:28:29.043Z | user\n\nMoved to the @wavespeed organization.\n\nv2.0.0 | 2026-09-05T16:15:28.223Z | user\n\nExamples switched from the JS SDK to the wavespeed CLI (with the @wavespeed/mcp server as the MCP alternative): install + login setup, @path local-file upload, price quotes, --json output. SDK-specific sections (sync mode, custom client, runNoThrow) removed.\n\nv1.0.0 | 2026-03-02T03:04:20.079Z | user\n\nInitial release of WaveSpeed-Nano-Banana-Pro image generation and editing skill:\n\n- Supports text-to-image generation and natural-language image editing using Google’s Nano Banana Pro model via WaveSpeed AI.\n- Allows up to 14 input images for editing; flexible aspect ratios and native 4K resolution supported.\n- Enables multilingual on-image text rendering and camera-style controls through prompt language.\n- Comprehensive API documentation, including authentication, usage examples, error handling, and security best practices.\n- Pricing and parameter options for image resolution and output format provided.\n\nArchive index:\n\nArchive v2.0.1: 3 files, 4521 bytes\n\nFiles: skill-card.md (2554b), SKILL.md (7337b), _meta.json (144b)\n\nFile v2.0.1:SKILL.md\n\n---\nname: wavespeed-nano-banana-pro\ndescription: Generate and edit images using Google's Nano Banana Pro model via WaveSpeed AI. Supports text-to-image generation and image editing with natural language prompts. Features native 4K resolution, flexible aspect ratios, multilingual text rendering, and camera-style controls. Use when the user wants to create images from text or edit existing images.\nmetadata:\n  author: wavespeedai\n  version: \"2.0\"\n---\n\n# WaveSpeedAI Nano Banana Pro Image Generation/Editing\n\nGenerate and edit images using Google's Nano Banana Pro model via the WaveSpeed AI platform. Supports both text-to-image generation and natural-language image editing with up to 14 input images.\n\n## Setup\n\nInstall the open-source CLI once and sign in; the CLI stores the key, so never ask the user to paste an API key into the chat:\n\n```bash\nnpm install -g @wavespeed/cli\nwavespeed login          # opens https://wavespeed.ai/accesskey and stores the key\nwavespeed status         # confirms you are signed in\n```\n\nFor CI or one-off shells, `WAVESPEED_API_KEY` in the environment also works.\n\nPrefer MCP tools over shell commands? The same platform is exposed by [`@wavespeed/mcp`](https://github.com/WaveSpeedAI/mcp-server) (`npx -y @wavespeed/mcp`; tools `search_models`, `get_model_schema`, `get_price`, `upload_file`, `run_model`, `get_prediction`). It shares the CLI's stored login. Every example below maps one-to-one onto `run_model` with the same model id and input fields.\n\n## Quick Start\n\n### Text-to-Image\n\n```bash\nOUTPUT_URL=$(wavespeed run google/nano-banana-pro/text-to-image \\\n  -p \"A serene Japanese garden with cherry blossoms, watercolor style\" \\\n  --json | jq -r '.outputs[0]')\n```\n\n### Image Editing\n\nThe `images` parameter accepts an array of image URLs. For local files use the `@path` marker; the CLI uploads them for you.\n\n```bash\n# Upload a local image to get a URL\nOUTPUT_URL=$(wavespeed run google/nano-banana-pro/edit \\\n  -i images='[\"@./photo.png\"]' \\\n  -p \"Replace the sky with a dramatic sunset\" \\\n  --json | jq -r '.outputs[0]')\n```\n\nExisting URLs work as-is:\n\n```bash\nOUTPUT_URL=$(wavespeed run google/nano-banana-pro/edit \\\n  -i images='[\"https://example.com/photo.jpg\"]' \\\n  -p \"Replace the sky with a dramatic sunset\" \\\n  --json | jq -r '.outputs[0]')\n```\n\n## API Endpoints\n\n### Text-to-Image\n\n**Model ID:** `google/nano-banana-pro/text-to-image`\n\nGenerate images from text prompts.\n\n#### Parameters\n\n| Parameter | Type | Required | Default | Description |\n|-----------|------|----------|---------|-------------|\n| `prompt` | string | Yes | -- | Text description of the image to generate |\n| `aspect_ratio` | string | No | -- | Output aspect ratio. One of: `1:1`, `3:2`, `2:3`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |\n| `resolution` | string | No | `1k` | Image resolution. One of: `1k`, `2k`, `4k` |\n| `output_format` | string | No | `png` | Output format. One of: `png`, `jpeg` |\n\n#### Example\n\n```bash\nOUTPUT_URL=$(wavespeed run google/nano-banana-pro/text-to-image \\\n  -p \"A red vintage Porsche 911 on a winding mountain road at golden hour, photorealistic\" \\\n  -i aspect_ratio=\"16:9\" \\\n  -i resolution=\"2k\" \\\n  -i output_format=\"png\" \\\n  --json | jq -r '.outputs[0]')\n```\n\n### Image Editing\n\n**Model ID:** `google/nano-banana-pro/edit`\n\nEdit existing images using natural language prompts. Supports up to 14 input images.\n\n#### Parameters\n\n| Parameter | Type | Required | Default | Description |\n|-----------|------|----------|---------|-------------|\n| `images` | string[] | Yes | `[]` | URLs of input images to edit (1-14 images) |\n| `prompt` | string | Yes | -- | Text description of the desired edit |\n| `aspect_ratio` | string | No | -- | Output aspect ratio. One of: `1:1`, `3:2`, `2:3`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |\n| `resolution` | string | No | `1k` | Image resolution. One of: `1k`, `2k`, `4k` |\n| `output_format` | string | No | `png` | Output format. One of: `png`, `jpeg` |\n\n#### Example\n\n```bash\n# Upload local images first, or use existing URLs\nOUTPUT_URL=$(wavespeed run google/nano-banana-pro/edit \\\n  -i images='[\"@./living-room.png\"]' \\\n  -p \"Change the wall color to warm terracotta and add indoor plants\" \\\n  -i aspect_ratio=\"16:9\" \\\n  -i resolution=\"4k\" \\\n  -i output_format=\"png\" \\\n  --json | jq -r '.outputs[0]')\n```\n\n#### Multi-Image Editing\n\n```bash\n# Upload multiple local images\nOUTPUT_URL=$(wavespeed run google/nano-banana-pro/edit \\\n  -i images='[\"@./face.png\", \"@./hairstyle.png\"]' \\\n  -p \"Apply the hairstyle from the second image to the person in the first image\" \\\n  --json | jq -r '.outputs[0]')\n```\n\n\n## Aspect Ratio Options\n\n| Aspect Ratio | Use Case |\n|-------------|----------|\n| `1:1` | Square — social media posts, profile pictures |\n| `3:2` | Landscape — standard photography |\n| `2:3` | Portrait — standard photography |\n| `3:4` | Portrait — social media, product images |\n| `4:3` | Landscape — presentations, web content |\n| `4:5` | Portrait — Instagram posts |\n| `5:4` | Landscape — print, web banners |\n| `9:16` | Vertical — mobile wallpapers, stories |\n| `16:9` | Widescreen — desktop wallpapers, video thumbnails |\n| `21:9` | Ultra-wide — cinematic, panoramic |\n\n## Resolution and Pricing\n\n| Resolution | Cost |\n|------------|------|\n| 1k | $0.14 per image |\n| 2k | $0.14 per image |\n| 4k | $0.24 per image |\n\n## Prompt Tips\n\n- Be specific and descriptive: \"A red vintage Porsche 911 on a winding mountain road at golden hour\" vs \"a car\"\n- Include style keywords: \"digital art\", \"oil painting\", \"photorealistic\", \"watercolor\", \"cinematic\"\n- For edits, clearly describe the desired change: \"Replace the sky with a dramatic sunset\"\n- For multi-image edits, reference images by position: \"Apply the style from the second image to the first image\"\n- Leverage multilingual text rendering: the model supports on-image text with automatic translation\n- Use camera-style control language: \"shallow depth of field\", \"wide angle\", \"top-down view\"\n\n## CLI tips\n\n```bash\n# Inspect the live input schema before running (fields, enums, defaults)\nwavespeed run google/nano-banana-pro/text-to-image -h\n\n# Quote the price first\nwavespeed price google/nano-banana-pro/text-to-image -p \"...\" -i key=value\n\n# Save outputs to disk instead of only printing URLs\nwavespeed run google/nano-banana-pro/text-to-image -p \"...\" --json --download \"./out/{index}.{ext}\"\n\n# Local files: prefix the path with @ and the CLI uploads it and passes the hosted URL\nwavespeed run google/nano-banana-pro/text-to-image -i <field>=@./local-file.png --json\n\n# Recover a result if the run was interrupted (the id is in the --json output)\nwavespeed show <id>\n```\n\n`run --json` prints `{ id, model, prompt, outputs: [url, ...], saved: [path, ...], elapsed_ms, raw }`. Read `outputs[0]` for the result URL.\n\n## Security constraints\n\n- **Never ask for the key in chat**: `wavespeed login` handles auth; if `wavespeed status` says signed out, ask the user to run it.\n- **Local files only via `@`**: bare paths are passed through untouched and the model will reject them. Only `@`-prefixed values upload.\n- **No arbitrary URL loading**: only pass media URLs the user provided or that came back from a previous run.\n- **Input validation**: only pass parameters documented above; confirm with `wavespeed run <model> -h` when unsure.\n\nFile v2.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn733k72mbe41a710dd1kfpg2s8257bs\",\n  \"slug\": \"wavespeed-nano-banana-pro\",\n  \"version\": \"2.0.1\",\n  \"publishedAt\": 1788625709043\n}\n\nFile v2.0.1:skill-card.md\n\n## Description:\n\nGenerate and edit images with Google's Nano Banana Pro model through WaveSpeed AI, including text-to-image prompts, natural-language edits, flexible aspect ratios, 1k/2k/4k outputs, and PNG/JPEG output.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[wavespeed](https://clawhub.ai/user/wavespeed)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to direct an agent through WaveSpeed AI setup and Nano Banana Pro image generation or image-editing runs. It is suited for creating new images from prompts, editing user-provided images, choosing output formats, and saving generated results.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill uses a paid remote service and uploads prompts plus any selected local images.\n\nMitigation: Confirm user intent before uploads, pass only user-provided media or prior result URLs, and avoid sending sensitive prompts or images unless the user accepts the remote-service exposure.\n\nRisk: The setup path can rely on global npm installation or ad hoc npx execution for WaveSpeed tooling.\n\nMitigation: Install WaveSpeed tooling only from trusted sources, prefer pinned package versions or a project-local locked install, and avoid ad hoc npx -y execution when possible.\n\nRisk: Stored WaveSpeed credentials could be misused if local tooling or dependencies are compromised.\n\nMitigation: Keep WaveSpeed credentials out of chat and rotate the stored credential if dependency compromise is suspected.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/wavespeed/skills/wavespeed-nano-banana-pro)\n- [WaveSpeed MCP server](https://github.com/WaveSpeedAI/mcp-server)\n- [WaveSpeed access key page](https://wavespeed.ai/accesskey)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Configuration, Guidance, API calls, Files]\n\n**Output Format:** [Markdown with bash command examples, parameter tables, and usage guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [When commands are executed, WaveSpeed returns prediction metadata, image URLs, and optionally downloaded PNG or JPEG image files.]\n\n## Skill Version(s):\n\n2.0.1 (source: server release evidence; SKILL.md frontmatter lists 2.0)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v2.0.0: 3 files, 4376 bytes\n\nFiles: skill-card.md (2227b), SKILL.md (7337b), _meta.json (144b)\n\nFile v2.0.0:SKILL.md\n\n---\nname: wavespeed-nano-banana-pro\ndescription: Generate and edit images using Google's Nano Banana Pro model via WaveSpeed AI. Supports text-to-image generation and image editing with natural language prompts. Features native 4K resolution, flexible aspect ratios, multilingual text rendering, and camera-style controls. Use when the user wants to create images from text or edit existing images.\nmetadata:\n  author: wavespeedai\n  version: \"2.0\"\n---\n\n# WaveSpeedAI Nano Banana Pro Image Generation/Editing\n\nGenerate and edit images using Google's Nano Banana Pro model via the WaveSpeed AI platform. Supports both text-to-image generation and natural-language image editing with up to 14 input images.\n\n## Setup\n\nInstall the open-source CLI once and sign in; the CLI stores the key, so never ask the user to paste an API key into the chat:\n\n```bash\nnpm install -g @wavespeed/cli\nwavespeed login          # opens https://wavespeed.ai/accesskey and stores the key\nwavespeed status         # confirms you are signed in\n```\n\nFor CI or one-off shells, `WAVESPEED_API_KEY` in the environment also works.\n\nPrefer MCP tools over shell commands? The same platform is exposed by [`@wavespeed/mcp`](https://github.com/WaveSpeedAI/mcp-server) (`npx -y @wavespeed/mcp`; tools `search_models`, `get_model_schema`, `get_price`, `upload_file`, `run_model`, `get_prediction`). It shares the CLI's stored login. Every example below maps one-to-one onto `run_model` with the same model id and input fields.\n\n## Quick Start\n\n### Text-to-Image\n\n```bash\nOUTPUT_URL=$(wavespeed run google/nano-banana-pro/text-to-image \\\n  -p \"A serene Japanese garden with cherry blossoms, watercolor style\" \\\n  --json | jq -r '.outputs[0]')\n```\n\n### Image Editing\n\nThe `images` parameter accepts an array of image URLs. For local files use the `@path` marker; the CLI uploads them for you.\n\n```bash\n# Upload a local image to get a URL\nOUTPUT_URL=$(wavespeed run google/nano-banana-pro/edit \\\n  -i images='[\"@./photo.png\"]' \\\n  -p \"Replace the sky with a dramatic sunset\" \\\n  --json | jq -r '.outputs[0]')\n```\n\nExisting URLs work as-is:\n\n```bash\nOUTPUT_URL=$(wavespeed run google/nano-banana-pro/edit \\\n  -i images='[\"https://example.com/photo.jpg\"]' \\\n  -p \"Replace the sky with a dramatic sunset\" \\\n  --json | jq -r '.outputs[0]')\n```\n\n## API Endpoints\n\n### Text-to-Image\n\n**Model ID:** `google/nano-banana-pro/text-to-image`\n\nGenerate images from text prompts.\n\n#### Parameters\n\n| Parameter | Type | Required | Default | Description |\n|-----------|------|----------|---------|-------------|\n| `prompt` | string | Yes | -- | Text description of the image to generate |\n| `aspect_ratio` | string | No | -- | Output aspect ratio. One of: `1:1`, `3:2`, `2:3`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |\n| `resolution` | string | No | `1k` | Image resolution. One of: `1k`, `2k`, `4k` |\n| `output_format` | string | No | `png` | Output format. One of: `png`, `jpeg` |\n\n#### Example\n\n```bash\nOUTPUT_URL=$(wavespeed run google/nano-banana-pro/text-to-image \\\n  -p \"A red vintage Porsche 911 on a winding mountain road at golden hour, photorealistic\" \\\n  -i aspect_ratio=\"16:9\" \\\n  -i resolution=\"2k\" \\\n  -i output_format=\"png\" \\\n  --json | jq -r '.outputs[0]')\n```\n\n### Image Editing\n\n**Model ID:** `google/nano-banana-pro/edit`\n\nEdit existing images using natural language prompts. Supports up to 14 input images.\n\n#### Parameters\n\n| Parameter | Type | Required | Default | Description |\n|-----------|------|----------|---------|-------------|\n| `images` | string[] | Yes | `[]` | URLs of input images to edit (1-14 images) |\n| `prompt` | string | Yes | -- | Text description of the desired edit |\n| `aspect_ratio` | string | No | -- | Output aspect ratio. One of: `1:1`, `3:2`, `2:3`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |\n| `resolution` | string | No | `1k` | Image resolution. One of: `1k`, `2k`, `4k` |\n| `output_format` | string | No | `png` | Output format. One of: `png`, `jpeg` |\n\n#### Example\n\n```bash\n# Upload local images first, or use existing URLs\nOUTPUT_URL=$(wavespeed run google/nano-banana-pro/edit \\\n  -i images='[\"@./living-room.png\"]' \\\n  -p \"Change the wall color to warm terracotta and add indoor plants\" \\\n  -i aspect_ratio=\"16:9\" \\\n  -i resolution=\"4k\" \\\n  -i output_format=\"png\" \\\n  --json | jq -r '.outputs[0]')\n```\n\n#### Multi-Image Editing\n\n```bash\n# Upload multiple local images\nOUTPUT_URL=$(wavespeed run google/nano-banana-pro/edit \\\n  -i images='[\"@./face.png\", \"@./hairstyle.png\"]' \\\n  -p \"Apply the hairstyle from the second image to the person in the first image\" \\\n  --json | jq -r '.outputs[0]')\n```\n\n\n## Aspect Ratio Options\n\n| Aspect Ratio | Use Case |\n|-------------|----------|\n| `1:1` | Square — social media posts, profile pictures |\n| `3:2` | Landscape — standard photography |\n| `2:3` | Portrait — standard photography |\n| `3:4` | Portrait — social media, product images |\n| `4:3` | Landscape — presentations, web content |\n| `4:5` | Portrait — Instagram posts |\n| `5:4` | Landscape — print, web banners |\n| `9:16` | Vertical — mobile wallpapers, stories |\n| `16:9` | Widescreen — desktop wallpapers, video thumbnails |\n| `21:9` | Ultra-wide — cinematic, panoramic |\n\n## Resolution and Pricing\n\n| Resolution | Cost |\n|------------|------|\n| 1k | $0.14 per image |\n| 2k | $0.14 per image |\n| 4k | $0.24 per image |\n\n## Prompt Tips\n\n- Be specific and descriptive: \"A red vintage Porsche 911 on a winding mountain road at golden hour\" vs \"a car\"\n- Include style keywords: \"digital art\", \"oil painting\", \"photorealistic\", \"watercolor\", \"cinematic\"\n- For edits, clearly describe the desired change: \"Replace the sky with a dramatic sunset\"\n- For multi-image edits, reference images by position: \"Apply the style from the second image to the first image\"\n- Leverage multilingual text rendering: the model supports on-image text with automatic translation\n- Use camera-style control language: \"shallow depth of field\", \"wide angle\", \"top-down view\"\n\n## CLI tips\n\n```bash\n# Inspect the live input schema before running (fields, enums, defaults)\nwavespeed run google/nano-banana-pro/text-to-image -h\n\n# Quote the price first\nwavespeed price google/nano-banana-pro/text-to-image -p \"...\" -i key=value\n\n# Save outputs to disk instead of only printing URLs\nwavespeed run google/nano-banana-pro/text-to-image -p \"...\" --json --download \"./out/{index}.{ext}\"\n\n# Local files: prefix the path with @ and the CLI uploads it and passes the hosted URL\nwavespeed run google/nano-banana-pro/text-to-image -i <field>=@./local-file.png --json\n\n# Recover a result if the run was interrupted (the id is in the --json output)\nwavespeed show <id>\n```\n\n`run --json` prints `{ id, model, prompt, outputs: [url, ...], saved: [path, ...], elapsed_ms, raw }`. Read `outputs[0]` for the result URL.\n\n## Security constraints\n\n- **Never ask for the key in chat**: `wavespeed login` handles auth; if `wavespeed status` says signed out, ask the user to run it.\n- **Local files only via `@`**: bare paths are passed through untouched and the model will reject them. Only `@`-prefixed values upload.\n- **No arbitrary URL loading**: only pass media URLs the user provided or that came back from a previous run.\n- **Input validation**: only pass parameters documented above; confirm with `wavespeed run <model> -h` when unsure.\n\nFile v2.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn733k72mbe41a710dd1kfpg2s8257bs\",\n  \"slug\": \"wavespeed-nano-banana-pro\",\n  \"version\": \"2.0.0\",\n  \"publishedAt\": 1788624928223\n}\n\nFile v2.0.0:skill-card.md\n\n## Description:\n\nGenerate and edit images using Google's Nano Banana Pro model via WaveSpeed AI, including text-to-image generation and natural-language image editing with flexible aspect ratios, multilingual text rendering, and camera-style controls.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chengzeyi](https://clawhub.ai/user/chengzeyi)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and external users use this skill to produce WaveSpeed CLI or MCP-based commands for generating new images from prompts and editing existing images with natural language instructions.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The setup examples use unpinned npm package installation commands for the WaveSpeed CLI and MCP package.\n\nMitigation: Pin reviewed package versions and run the tooling in a limited environment before using the skill in production workflows.\n\nRisk: Image generation and editing can upload local images or pass user-provided media URLs to WaveSpeed.\n\nMitigation: Only upload images intended for WaveSpeed processing, and avoid passing arbitrary URLs that were not provided by the user or returned by a previous run.\n\nRisk: Credential handling is required for WaveSpeed access.\n\nMitigation: Use the documented WaveSpeed login flow or environment-variable flow, and do not paste API keys into chat.\n\n## Reference(s):\n\n- [WaveSpeed MCP Server](https://github.com/WaveSpeedAI/mcp-server)\n- [WaveSpeed Access Key](https://wavespeed.ai/accesskey)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline bash commands and JSON output examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May reference WaveSpeed CLI JSON outputs containing generated image URLs and optional downloaded file paths.]\n\n## Skill Version(s):\n\n2.0.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.0: 3 files, 4289 bytes\n\nFiles: skill-card.md (2343b), SKILL.md (7789b), _meta.json (144b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: wavespeed-nano-banana-pro\ndescription: Generate and edit images using Google's Nano Banana Pro model via WaveSpeed AI. Supports text-to-image generation and image editing with natural language prompts. Features native 4K resolution, flexible aspect ratios, multilingual text rendering, and camera-style controls. Use when the user wants to create images from text or edit existing images.\nmetadata:\n  author: wavespeedai\n  version: \"1.0\"\n---\n\n# WaveSpeedAI Nano Banana Pro Image Generation/Editing\n\nGenerate and edit images using Google's Nano Banana Pro model via the WaveSpeed AI platform. Supports both text-to-image generation and natural-language image editing with up to 14 input images.\n\n## Authentication\n\n```bash\nexport WAVESPEED_API_KEY=\"your-api-key\"\n```\n\nGet your API key at [wavespeed.ai/accesskey](https://wavespeed.ai/accesskey).\n\n## Quick Start\n\n### Text-to-Image\n\n```javascript\nimport wavespeed from 'wavespeed';\n\nconst output_url = (await wavespeed.run(\n  \"google/nano-banana-pro/text-to-image\",\n  { prompt: \"A serene Japanese garden with cherry blossoms, watercolor style\" }\n))[\"outputs\"][0];\n```\n\n### Image Editing\n\nThe `images` parameter accepts an array of image URLs. If you have local files, upload them first with `wavespeed.upload()` to get a URL.\n\n```javascript\nimport wavespeed from 'wavespeed';\n\n// Upload a local image to get a URL\nconst imageUrl = await wavespeed.upload(\"/path/to/photo.png\");\n\nconst output_url = (await wavespeed.run(\n  \"google/nano-banana-pro/edit\",\n  {\n    images: [imageUrl],\n    prompt: \"Replace the sky with a dramatic sunset\"\n  }\n))[\"outputs\"][0];\n```\n\nYou can also pass existing image URLs directly:\n\n```javascript\nconst output_url = (await wavespeed.run(\n  \"google/nano-banana-pro/edit\",\n  {\n    images: [\"https://example.com/photo.jpg\"],\n    prompt: \"Replace the sky with a dramatic sunset\"\n  }\n))[\"outputs\"][0];\n```\n\n## API Endpoints\n\n### Text-to-Image\n\n**Model ID:** `google/nano-banana-pro/text-to-image`\n\nGenerate images from text prompts.\n\n#### Parameters\n\n| Parameter | Type | Required | Default | Description |\n|-----------|------|----------|---------|-------------|\n| `prompt` | string | Yes | -- | Text description of the image to generate |\n| `aspect_ratio` | string | No | -- | Output aspect ratio. One of: `1:1`, `3:2`, `2:3`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |\n| `resolution` | string | No | `1k` | Image resolution. One of: `1k`, `2k`, `4k` |\n| `output_format` | string | No | `png` | Output format. One of: `png`, `jpeg` |\n\n#### Example\n\n```javascript\nimport wavespeed from 'wavespeed';\n\nconst output_url = (await wavespeed.run(\n  \"google/nano-banana-pro/text-to-image\",\n  {\n    prompt: \"A red vintage Porsche 911 on a winding mountain road at golden hour, photorealistic\",\n    aspect_ratio: \"16:9\",\n    resolution: \"2k\",\n    output_format: \"png\"\n  }\n))[\"outputs\"][0];\n```\n\n### Image Editing\n\n**Model ID:** `google/nano-banana-pro/edit`\n\nEdit existing images using natural language prompts. Supports up to 14 input images.\n\n#### Parameters\n\n| Parameter | Type | Required | Default | Description |\n|-----------|------|----------|---------|-------------|\n| `images` | string[] | Yes | `[]` | URLs of input images to edit (1-14 images) |\n| `prompt` | string | Yes | -- | Text description of the desired edit |\n| `aspect_ratio` | string | No | -- | Output aspect ratio. One of: `1:1`, `3:2`, `2:3`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |\n| `resolution` | string | No | `1k` | Image resolution. One of: `1k`, `2k`, `4k` |\n| `output_format` | string | No | `png` | Output format. One of: `png`, `jpeg` |\n\n#### Example\n\n```javascript\nimport wavespeed from 'wavespeed';\n\n// Upload local images first, or use existing URLs\nconst imageUrl = await wavespeed.upload(\"/path/to/living-room.png\");\n\nconst output_url = (await wavespeed.run(\n  \"google/nano-banana-pro/edit\",\n  {\n    images: [imageUrl],\n    prompt: \"Change the wall color to warm terracotta and add indoor plants\",\n    aspect_ratio: \"16:9\",\n    resolution: \"4k\",\n    output_format: \"png\"\n  }\n))[\"outputs\"][0];\n```\n\n#### Multi-Image Editing\n\n```javascript\n// Upload multiple local images\nconst faceUrl = await wavespeed.upload(\"/path/to/face.png\");\nconst hairstyleUrl = await wavespeed.upload(\"/path/to/hairstyle.png\");\n\nconst output_url = (await wavespeed.run(\n  \"google/nano-banana-pro/edit\",\n  {\n    images: [faceUrl, hairstyleUrl],\n    prompt: \"Apply the hairstyle from the second image to the person in the first image\"\n  }\n))[\"outputs\"][0];\n```\n\n## Advanced Usage\n\n### Sync Mode\n\nUse sync mode for a single request that waits for the result without polling:\n\n```javascript\nconst output_url = (await wavespeed.run(\n  \"google/nano-banana-pro/text-to-image\",\n  { prompt: \"A minimalist logo for a coffee shop\" },\n  { enableSyncMode: true }\n))[\"outputs\"][0];\n```\n\n### Custom Client with Retry Configuration\n\n```javascript\nimport { Client } from 'wavespeed';\n\nconst client = new Client(\"your-api-key\", {\n  maxRetries: 2,\n  maxConnectionRetries: 5,\n  retryInterval: 1.0,\n});\n\nconst output_url = (await client.run(\n  \"google/nano-banana-pro/text-to-image\",\n  { prompt: \"A futuristic cityscape at dusk\" }\n))[\"outputs\"][0];\n```\n\n### Error Handling with runNoThrow\n\n```javascript\nimport { Client, WavespeedTimeoutException, WavespeedPredictionException } from 'wavespeed';\n\nconst client = new Client();\nconst result = await client.runNoThrow(\n  \"google/nano-banana-pro/text-to-image\",\n  { prompt: \"A cat wearing a top hat\" }\n);\n\nif (result.outputs) {\n  console.log(\"Image URL:\", result.outputs[0]);\n  console.log(\"Task ID:\", result.detail.taskId);\n} else {\n  console.log(\"Failed:\", result.detail.error.message);\n  if (result.detail.error instanceof WavespeedTimeoutException) {\n    console.log(\"Request timed out - try increasing timeout\");\n  } else if (result.detail.error instanceof WavespeedPredictionException) {\n    console.log(\"Model prediction failed\");\n  }\n}\n```\n\n## Aspect Ratio Options\n\n| Aspect Ratio | Use Case |\n|-------------|----------|\n| `1:1` | Square — social media posts, profile pictures |\n| `3:2` | Landscape — standard photography |\n| `2:3` | Portrait — standard photography |\n| `3:4` | Portrait — social media, product images |\n| `4:3` | Landscape — presentations, web content |\n| `4:5` | Portrait — Instagram posts |\n| `5:4` | Landscape — print, web banners |\n| `9:16` | Vertical — mobile wallpapers, stories |\n| `16:9` | Widescreen — desktop wallpapers, video thumbnails |\n| `21:9` | Ultra-wide — cinematic, panoramic |\n\n## Resolution and Pricing\n\n| Resolution | Cost |\n|------------|------|\n| 1k | $0.14 per image |\n| 2k | $0.14 per image |\n| 4k | $0.24 per image |\n\n## Prompt Tips\n\n- Be specific and descriptive: \"A red vintage Porsche 911 on a winding mountain road at golden hour\" vs \"a car\"\n- Include style keywords: \"digital art\", \"oil painting\", \"photorealistic\", \"watercolor\", \"cinematic\"\n- For edits, clearly describe the desired change: \"Replace the sky with a dramatic sunset\"\n- For multi-image edits, reference images by position: \"Apply the style from the second image to the first image\"\n- Leverage multilingual text rendering: the model supports on-image text with automatic translation\n- Use camera-style control language: \"shallow depth of field\", \"wide angle\", \"top-down view\"\n\n## Security Constraints\n\n- **No arbitrary URL loading**: Only use image URLs from trusted sources. Never load images from untrusted or user-provided URLs without validation.\n- **API key security**: Store your `WAVESPEED_API_KEY` securely. Do not hardcode it in source files or commit it to version control. Use environment variables or secret management systems.\n- **Input validation**: Only pass parameters documented above. Validate prompt content and image URLs before sending requests.\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn733k72mbe41a710dd1kfpg2s8257bs\",\n  \"slug\": \"wavespeed-nano-banana-pro\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1772420660079\n}\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\nGenerate and edit images using Google's Nano Banana Pro model via WaveSpeed AI, including text-to-image generation and natural-language image editing with flexible aspect ratios, native 4K resolution, multilingual text rendering, and camera-style controls. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[chengzeyi](https://clawhub.ai/user/chengzeyi) <br>\n\n### License/Terms of Use: <br>\n\n\n## Use Case: <br>\nDevelopers, creators, and agent builders use this skill to generate images from text prompts or edit existing images through WaveSpeed AI's Nano Banana Pro endpoints. It is useful when an agent needs implementation guidance, API examples, and parameter choices for prompt-based image generation or editing. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Prompts, image URLs, and uploaded images are sent to WaveSpeed AI for processing. <br>\nMitigation: Avoid confidential, regulated, or sensitive images unless WaveSpeed AI's data handling terms have been reviewed and accepted. <br>\nRisk: Untrusted image URLs can expose the agent workflow to unsafe or unintended external content. <br>\nMitigation: Use trusted or validated image URLs, and avoid arbitrary user-supplied links. <br>\nRisk: The skill requires a WaveSpeed API key. <br>\nMitigation: Store WAVESPEED_API_KEY in environment variables or secret management and do not hardcode it in source files. <br>\n\n\n## Reference(s): <br>\n- [WaveSpeed AI API key access](https://wavespeed.ai/accesskey) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Code, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown with JavaScript and shell code blocks] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Includes WaveSpeed model IDs, prompt and image parameters, aspect ratio options, resolution options, output format options, retry guidance, and error-handling examples.] <br>\n\n## Skill Version(s): <br>\n1.0.0 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: WaveSpeedAI Nano Banana Pro Image Generation/Editing Owner: wavespeed Summary: Generate and edit images using Google's Nano Banana Pro model via WaveSpeed AI. Supports text-to-image generation and image editing with natural language prompts. Features native 4K resolution, flexible aspect ratios, multilingual text rendering, and camera-style controls. Use when the user wants to create images from text or edit e","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"npm install -g @wavespeed/cli\nwavespeed login          # opens https://wavespeed.ai/accesskey and stores the key\nwavespeed status         # confirms you are signed in"},{"language":"bash","snippet":"OUTPUT_URL=$(wavespeed run google/nano-banana-pro/text-to-image \\\n  -p \"A serene Japanese garden with cherry blossoms, watercolor style\" \\\n  --json | jq -r '.outputs[0]')"},{"language":"bash","snippet":"# Upload a local image to get a URL\nOUTPUT_URL=$(wavespeed run google/nano-banana-pro/edit \\\n  -i images='[\"@./photo.png\"]' \\\n  -p \"Replace the sky with a dramatic sunset\" \\\n  --json | jq -r '.outputs[0]')"},{"language":"bash","snippet":"OUTPUT_URL=$(wavespeed run google/nano-banana-pro/edit \\\n  -i images='[\"https://example.com/photo.jpg\"]' \\\n  -p \"Replace the sky with a dramatic sunset\" \\\n  --json | jq -r '.outputs[0]')"},{"language":"bash","snippet":"OUTPUT_URL=$(wavespeed run google/nano-banana-pro/text-to-image \\\n  -p \"A red vintage Porsche 911 on a winding mountain road at golden hour, photorealistic\" \\\n  -i aspect_ratio=\"16:9\" \\\n  -i resolution=\"2k\" \\\n  -i output_format=\"png\" \\\n  --json | jq -r '.outputs[0]')"},{"language":"bash","snippet":"# Upload local images first, or use existing URLs\nOUTPUT_URL=$(wavespeed run google/nano-banana-pro/edit \\\n  -i images='[\"@./living-room.png\"]' \\\n  -p \"Change the wall color to warm terracotta and add indoor plants\" \\\n  -i aspect_ratio=\"16:9\" \\\n  -i resolution=\"4k\" \\\n  -i output_format=\"png\" \\\n  --json | jq -r '.outputs[0]')"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: wavespeed-nano-banana-pro\ndescription: Generate and edit images using Google's Nano Banana Pro model via WaveSpeed AI. Supports text-to-image generation and image editing with natural language prompts. Features native 4K resolution, flexible aspect ratios, multilingual text rendering, and camera-style controls. Use when the user wants to create images from text or edit existing images.\nmetadata:\n  author: wavespeedai\n  version: \"2.0\"\n---\n\n# WaveSpeedAI Nano Banana Pro Image Generation/Editing\n\nGenerate and edit images using Google's Nano Banana Pro model via the WaveSpeed AI platform. Supports both text-to-image generation and natural-language image editing with up to 14 input images.\n\n## Setup\n\nInstall the open-source CLI once and sign in; the CLI stores the key, so never ask the user to paste an API key into the chat:\n\n```bash\nnpm install -g @wavespeed/cli\nwavespeed login          # opens https://wavespeed.ai/accesskey and stores the key\nwavespeed status         # confirms you are signed in\n```\n\nFor CI or one-off shells, `WAVESPEED_API_KEY` in the environment also works.\n\nPrefer MCP tools over shell commands? The same platform is exposed by [`@wavespeed/mcp`](https://github.com/WaveSpeedAI/mcp-server) (`npx -y @wavespeed/mcp`; tools `search_models`, `get_model_schema`, `get_price`, `upload_file`, `run_model`, `get_prediction`). It shares the CLI's stored login. Every example below maps one-to-one onto `run_model` with the same model id and input fields.\n\n## Quick Start\n\n### Text-to-Image\n\n```bash\nOUTPUT_URL=$(wavespeed run google/nano-banana-pro/text-to-image \\\n  -p \"A serene Japanese garden with cherry blossoms, watercolor style\" \\\n  --json | jq -r '.outputs[0]')\n```\n\n### Image Editing\n\nThe `images` parameter accepts an array of image URLs. For local files use the `@path` marker; the CLI uploads them for you.\n\n```bash\n# Upload a local image to get a URL\nOUTPUT_URL=$(wavespeed run google/nano-banana-pro/edit \\\n  -i images='[\"@./photo.png\"]' \\\n  -p \"Replace the sky with a dramatic sunset\" \\\n  --json | jq -r '.outputs[0]')\n```\n\nExisting URLs work as-is:\n\n```bash\nOUTPUT_URL=$(wavespeed run google/nano-banana-pro/edit \\\n  -i images='[\"https://example.com/photo.jpg\"]' \\\n  -p \"Replace the sky with a dramatic sunset\" \\\n  --json | jq -r '.outputs[0]')\n```\n\n## API Endpoints\n\n### Text-to-Image\n\n**Model ID:** `google/nano-banana-pro/text-to-image`\n\nGenerate images from text prompts.\n\n#### Parameters\n\n| Parameter | Type | Required | Default | Description |\n|-----------|------|----------|---------|-------------|\n| `prompt` | string | Yes | -- | Text description of the image to generate |\n| `aspect_ratio` | string | No | -- | Output aspect ratio. One of: `1:1`, `3:2`, `2:3`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |\n| `resolution` | string | No | `1k` | Image resolution. One of: `1k`, `2k`, `4k` |\n| `output_format` | string | No | `png` | Output format. One of: `png`, `jpeg` |\n\n#### Example\n\n```bash\nOUTPUT_URL=$(wavespeed run google/nano"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn733k72mbe41a710dd1kfpg2s8257bs\",\n  \"slug\": \"wavespeed-nano-banana-pro\",\n  \"version\": \"2.0.1\",\n  \"publishedAt\": 1788625709043\n}"},{"path":"skill-card.md","content":"## Description:\n\nGenerate and edit images with Google's Nano Banana Pro model through WaveSpeed AI, including text-to-image prompts, natural-language edits, flexible aspect ratios, 1k/2k/4k outputs, and PNG/JPEG output.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[wavespeed](https://clawhub.ai/user/wavespeed)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to direct an agent through WaveSpeed AI setup and Nano Banana Pro image generation or image-editing runs. It is suited for creating new images from prompts, editing user-provided images, choosing output formats, and saving generated results.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill uses a paid remote service and uploads prompts plus any selected local images.\n\nMitigation: Confirm user intent before uploads, pass only user-provided media or prior result URLs, and avoid sending sensitive prompts or images unless the user accepts the remote-service exposure.\n\nRisk: The setup path can rely on global npm installation or ad hoc npx execution for WaveSpeed tooling.\n\nMitigation: Install WaveSpeed tooling only from trusted sources, prefer pinned package versions or a project-local locked install, and avoid ad hoc npx -y execution when possible.\n\nRisk: Stored WaveSpeed credentials could be misused if local tooling or dependencies are compromised.\n\nMitigation: Keep WaveSpeed credentials out of chat and rotate the stored credential if dependency compromise is suspected.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/wavespeed/skills/wavespeed-nano-banana-pro)\n- [WaveSpeed MCP server](https://github.com/WaveSpeedAI/mcp-server)\n- [WaveSpeed access key page](https://wavespeed.ai/accesskey)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Configuration, Guidance, API calls, Files]\n\n**Output Format:** [Markdown with bash command examples, parameter tables, and usage guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [When commands are executed, WaveSpeed returns prediction metadata, image URLs, and optionally downloaded PNG or JPEG image files.]\n\n## Skill Version(s):\n\n2.0.1 (source: server release evidence; SKILL.md frontmatter lists 2.0)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1250,"uniquenessScore":42,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T10:29:13.121Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T10:29:13.121Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T13:31:58.590Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}