{"id":"d7edd8b8-f4d3-4d6d-926b-7a1e253761c7","entityType":"agent","slug":"clawhub-wavespeed-wavespeed-nano-banana-2","name":"WaveSpeedAI Nano Banana 2 Image Generation/Editing","canonicalUrl":"https://www.xpersona.co/agent/clawhub-wavespeed-wavespeed-nano-banana-2","canonicalPath":"/agent/clawhub-wavespeed-wavespeed-nano-banana-2","generatedAt":"2026-10-11T15:19:23.552Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T12:50:09.773Z","emptyReason":null},"description":"Generate and edit images using Google's Nano Banana 2 model via WaveSpeed AI. Supports text-to-image generation and image editing with natural language prompts. Features native 4K resolution, flexible aspect ratios including ultra-narrow (1:8, 8:1), 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.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17epnq4kcsv1261rq3e9gvwcx8dth5q:wavespeed-nano-banana-2","sourceUrl":"https://clawhub.ai/wavespeed/wavespeed-nano-banana-2","homepage":"https://clawhub.ai/wavespeed/skills/wavespeed-nano-banana-2","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/wavespeed/wavespeed-nano-banana-2","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/wavespeed/skills/wavespeed-nano-banana-2","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"WaveSpeedAI Nano Banana 2 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-11T12:50:09.773Z","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-11T12:50:09.773Z","emptyReason":null},"stars":null,"forks":null,"downloads":1062,"packageName":null,"latestVersion":"2.0.1","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T12:50:09.706Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T12:50:09.773Z","lastCrawledAt":"2026-10-11T12:50:09.706Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T12:50:09.706Z","lastVerifiedAt":null,"highlights":[{"version":"2.0.1","createdAt":"2026-09-05T16:29:22.610Z","changelog":"Moved to the @wavespeed organization.","fileCount":3,"zipByteSize":4464},{"version":"2.0.0","createdAt":"2026-09-05T16:16:27.513Z","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":4578},{"version":"1.0.0","createdAt":"2026-03-02T03:10:46.787Z","changelog":"WaveSpeed Nano Banana 2 skill initial release: - Generate and edit images using Google's Nano Banana 2 model via WaveSpeed AI. - Supports text-to-image and text-based image editing for up to 14 images. - Offers native 4K resolution, flexible and ultra-wide/tall aspect ratios (from 1:8 to 8:1). - Multilingual on-image text rendering and camera-style prompt controls. - Includes code examples, usage tips, detailed API parameters, and security guidance.","fileCount":3,"zipByteSize":4356}]},"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-2","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17epnq4kcsv1261rq3e9gvwcx8dth5q:wavespeed-nano-banana-2` 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-2 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-2/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-nano-banana-2/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-nano-banana-2/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-nano-banana-2/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-nano-banana-2/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-nano-banana-2/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-11T15:19:23.552Z"}},"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-2/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-nano-banana-2/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-nano-banana-2/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wavespeed-wavespeed-nano-banana-2/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-11T12:50:09.773Z","emptyReason":null},"readme":"Skill: WaveSpeedAI Nano Banana 2 Image Generation/Editing\n\nOwner: wavespeed\n\nSummary: Generate and edit images using Google's Nano Banana 2 model via WaveSpeed AI. Supports text-to-image generation and image editing with natural language prompts. Features native 4K resolution, flexible aspect ratios including ultra-narrow (1:8, 8:1), 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:29:22.610Z | user\n\nMoved to the @wavespeed organization.\n\nv2.0.0 | 2026-09-05T16:16:27.513Z | 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:10:46.787Z | user\n\nWaveSpeed Nano Banana 2 skill initial release:\n\n- Generate and edit images using Google's Nano Banana 2 model via WaveSpeed AI.\n- Supports text-to-image and text-based image editing for up to 14 images.\n- Offers native 4K resolution, flexible and ultra-wide/tall aspect ratios (from 1:8 to 8:1).\n- Multilingual on-image text rendering and camera-style prompt controls.\n- Includes code examples, usage tips, detailed API parameters, and security guidance.\n\nArchive index:\n\nArchive v2.0.1: 3 files, 4464 bytes\n\nFiles: skill-card.md (2085b), SKILL.md (7640b), _meta.json (142b)\n\nFile v2.0.1:SKILL.md\n\n---\nname: wavespeed-nano-banana-2\ndescription: Generate and edit images using Google's Nano Banana 2 model via WaveSpeed AI. Supports text-to-image generation and image editing with natural language prompts. Features native 4K resolution, flexible aspect ratios including ultra-narrow (1:8, 8:1), 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 2 Image Generation/Editing\n\nGenerate and edit images using Google's Nano Banana 2 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-2/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-2/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-2/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-2/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`, `1:4`, `4:1`, `1:8`, `8:1` |\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-2/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-2/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`, `1:4`, `4:1`, `1:8`, `8:1` |\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-2/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-2/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| `1:4` | Ultra-tall — vertical banners, tall infographics |\n| `4:1` | Ultra-wide — horizontal banners, letterbox |\n| `1:8` | Extreme vertical — scrolling banners, tower ads |\n| `8:1` | Extreme horizontal — panoramic strips, timelines |\n\n## Resolution and Pricing\n\n| Resolution | Cost |\n|------------|------|\n| 1k | $0.08 per image |\n| 2k | $0.12 per image |\n| 4k | $0.16 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-2/text-to-image -h\n\n# Quote the price first\nwavespeed price google/nano-banana-2/text-to-image -p \"...\" -i key=value\n\n# Save outputs to disk instead of only printing URLs\nwavespeed run google/nano-banana-2/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-2/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-2\",\n  \"version\": \"2.0.1\",\n  \"publishedAt\": 1788625762610\n}\n\nFile v2.0.1:skill-card.md\n\n## Description:\n\nGenerate and edit images using Google's Nano Banana 2 model via WaveSpeed AI, with support for text-to-image generation, natural-language image editing, 4K outputs, 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[wavespeed](https://clawhub.ai/user/wavespeed)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and creative production teams use this skill to generate images from prompts or edit user-provided images through the WaveSpeed AI hosted Nano Banana 2 model.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Use of WaveSpeed AI sends prompts and uploaded images to a third-party cloud service.\n\nMitigation: Avoid uploading sensitive, regulated, or proprietary images unless the deployment has approval to use WaveSpeed AI for that data.\n\nRisk: The skill depends on third-party CLI or MCP packages and local credentials.\n\nMitigation: Use pinned package versions or a restricted environment, and authenticate through the documented WaveSpeed login flow instead of sharing keys in chat.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/wavespeed/skills/wavespeed-nano-banana-2)\n- [WaveSpeed MCP server](https://github.com/WaveSpeedAI/mcp-server)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline bash code blocks and command examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Guides agents to return WaveSpeed CLI or MCP commands, model parameters, output URLs, and saved file paths when available.]\n\n## Skill Version(s):\n\n2.0.1 (source: server release metadata; artifact 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, 4578 bytes\n\nFiles: skill-card.md (2385b), SKILL.md (7640b), _meta.json (142b)\n\nFile v2.0.0:SKILL.md\n\n---\nname: wavespeed-nano-banana-2\ndescription: Generate and edit images using Google's Nano Banana 2 model via WaveSpeed AI. Supports text-to-image generation and image editing with natural language prompts. Features native 4K resolution, flexible aspect ratios including ultra-narrow (1:8, 8:1), 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 2 Image Generation/Editing\n\nGenerate and edit images using Google's Nano Banana 2 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-2/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-2/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-2/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-2/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`, `1:4`, `4:1`, `1:8`, `8:1` |\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-2/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-2/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`, `1:4`, `4:1`, `1:8`, `8:1` |\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-2/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-2/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| `1:4` | Ultra-tall — vertical banners, tall infographics |\n| `4:1` | Ultra-wide — horizontal banners, letterbox |\n| `1:8` | Extreme vertical — scrolling banners, tower ads |\n| `8:1` | Extreme horizontal — panoramic strips, timelines |\n\n## Resolution and Pricing\n\n| Resolution | Cost |\n|------------|------|\n| 1k | $0.08 per image |\n| 2k | $0.12 per image |\n| 4k | $0.16 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-2/text-to-image -h\n\n# Quote the price first\nwavespeed price google/nano-banana-2/text-to-image -p \"...\" -i key=value\n\n# Save outputs to disk instead of only printing URLs\nwavespeed run google/nano-banana-2/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-2/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-2\",\n  \"version\": \"2.0.0\",\n  \"publishedAt\": 1788624987513\n}\n\nFile v2.0.0:skill-card.md\n\n## Description:\n\nGenerate and edit images using Google's Nano Banana 2 model via WaveSpeed AI, including text-to-image generation, natural-language image editing, native 4K output, 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\nExternal users and developers use this skill to generate images from prompts or edit existing images through WaveSpeed AI's Nano Banana 2 endpoints. It is suited for workflows that need command-line image generation, image editing, aspect-ratio selection, resolution selection, and output download guidance.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and uploaded images are sent to WaveSpeed AI for image generation or editing.\n\nMitigation: Do not upload confidential, regulated, or private images unless WaveSpeed AI's data handling terms have been reviewed and accepted.\n\nRisk: Setup examples use npm package installation and may use unpinned package resolution.\n\nMitigation: Pin package versions and avoid npx -y in sensitive environments.\n\nRisk: Local image upload commands can expose files from the agent workspace.\n\nMitigation: Run the CLI from a limited workspace that contains only files needed for the image task.\n\n## Reference(s):\n\n- [WaveSpeedAI MCP Server](https://github.com/WaveSpeedAI/mcp-server)\n- [WaveSpeed AI Access Key](https://wavespeed.ai/accesskey)\n- [ClawHub Skill Page](https://clawhub.ai/chengzeyi/skills/wavespeed-nano-banana-2)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown guidance with bash command examples, parameter tables, and CLI usage notes]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May produce WaveSpeed AI output URLs or downloaded image files when the agent runs the referenced CLI commands.]\n\n## Skill Version(s):\n\n2.0.0 (source: server release metadata; frontmatter metadata reports 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 v1.0.0: 3 files, 4356 bytes\n\nFiles: skill-card.md (2215b), SKILL.md (8094b), _meta.json (142b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: wavespeed-nano-banana-2\ndescription: Generate and edit images using Google's Nano Banana 2 model via WaveSpeed AI. Supports text-to-image generation and image editing with natural language prompts. Features native 4K resolution, flexible aspect ratios including ultra-narrow (1:8, 8:1), 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 2 Image Generation/Editing\n\nGenerate and edit images using Google's Nano Banana 2 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-2/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-2/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-2/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-2/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`, `1:4`, `4:1`, `1:8`, `8:1` |\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-2/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-2/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`, `1:4`, `4:1`, `1:8`, `8:1` |\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-2/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-2/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-2/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-2/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-2/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| `1:4` | Ultra-tall — vertical banners, tall infographics |\n| `4:1` | Ultra-wide — horizontal banners, letterbox |\n| `1:8` | Extreme vertical — scrolling banners, tower ads |\n| `8:1` | Extreme horizontal — panoramic strips, timelines |\n\n## Resolution and Pricing\n\n| Resolution | Cost |\n|------------|------|\n| 1k | $0.08 per image |\n| 2k | $0.12 per image |\n| 4k | $0.16 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-2\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1772421046787\n}\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\nGenerate and edit images using Google's Nano Banana 2 model via WaveSpeed AI, including text-to-image, multi-image editing, flexible aspect ratios, up to 4K output, multilingual text rendering, and camera-style prompt 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>\nExternal users and developers use this skill to ask an agent for WaveSpeed AI setup, JavaScript examples, and usage guidance for generating images from prompts or editing uploaded or URL-based images. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: WaveSpeed API keys can be exposed if hardcoded or committed. <br>\nMitigation: Store WAVESPEED_API_KEY in environment variables or secret management, and avoid placing credentials in source files. <br>\nRisk: WaveSpeed image generation and editing requests may incur provider usage charges. <br>\nMitigation: Use the service deliberately with an account intended for billing, and review resolution-specific costs before high-volume use. <br>\nRisk: Prompts and uploaded images are shared with the WaveSpeed AI service. <br>\nMitigation: Only upload images and prompts that are appropriate to share with that provider, and validate image URLs before sending requests. <br>\n\n\n## Reference(s): <br>\n- [WaveSpeed API key access](https://wavespeed.ai/accesskey) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [guidance, code, shell commands, configuration] <br>\n**Output Format:** [Markdown with JavaScript and shell command examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Includes model IDs, parameter tables, aspect ratio options, pricing notes, prompt tips, and security constraints.] <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 2 Image Generation/Editing Owner: wavespeed Summary: Generate and edit images using Google's Nano Banana 2 model via WaveSpeed AI. Supports text-to-image generation and image editing with natural language prompts. Features native 4K resolution, flexible aspect ratios including ultra-narrow (1:8, 8:1), multilingual text rendering, and camera-style controls. Use when the user wants to cre","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-2/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-2/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-2/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-2/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-2/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-2\ndescription: Generate and edit images using Google's Nano Banana 2 model via WaveSpeed AI. Supports text-to-image generation and image editing with natural language prompts. Features native 4K resolution, flexible aspect ratios including ultra-narrow (1:8, 8:1), 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 2 Image Generation/Editing\n\nGenerate and edit images using Google's Nano Banana 2 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-2/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-2/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-2/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-2/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`, `1:4`, `4:1`, `1:8`, `8:1` |\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"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn733k72mbe41a710dd1kfpg2s8257bs\",\n  \"slug\": \"wavespeed-nano-banana-2\",\n  \"version\": \"2.0.1\",\n  \"publishedAt\": 1788625762610\n}"},{"path":"skill-card.md","content":"## Description:\n\nGenerate and edit images using Google's Nano Banana 2 model via WaveSpeed AI, with support for text-to-image generation, natural-language image editing, 4K outputs, 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[wavespeed](https://clawhub.ai/user/wavespeed)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and creative production teams use this skill to generate images from prompts or edit user-provided images through the WaveSpeed AI hosted Nano Banana 2 model.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Use of WaveSpeed AI sends prompts and uploaded images to a third-party cloud service.\n\nMitigation: Avoid uploading sensitive, regulated, or proprietary images unless the deployment has approval to use WaveSpeed AI for that data.\n\nRisk: The skill depends on third-party CLI or MCP packages and local credentials.\n\nMitigation: Use pinned package versions or a restricted environment, and authenticate through the documented WaveSpeed login flow instead of sharing keys in chat.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/wavespeed/skills/wavespeed-nano-banana-2)\n- [WaveSpeed MCP server](https://github.com/WaveSpeedAI/mcp-server)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline bash code blocks and command examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Guides agents to return WaveSpeed CLI or MCP commands, model parameters, output URLs, and saved file paths when available.]\n\n## Skill Version(s):\n\n2.0.1 (source: server release metadata; artifact 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":1141,"uniquenessScore":44,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T12:50:09.773Z","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-11T12:50:09.773Z","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-11T15:19:23.552Z","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"}]}}}