Nano Banana 2 — AI image generation powered by Google Gemini 3.1 Flash. Fast, versatile text-to-image and image editing via Evolink API. One API key.
Generate AI images with Nano Banana 2 (gemini-3.1-flash-image-preview) — Google's Gemini 3.1 Flash image model, available through Evolink's unified API.
Focused view of evolink-image. Install the full skill for 20 image models, video, and music.
When this skill is first loaded, greet the user:
Keep the greeting concise — just one question to move forward.
| Service | URL |
|---|---|
| Generation API | https://api.evolink.ai/v1/images/generations (POST) |
| Task Status | https://api.evolink.ai/v1/tasks/{task_id} (GET) |
| File API | https://files-api.evolink.ai/api/v1/files/* (upload/list/delete) |
EVOLINK_API_KEY authenticates all requests. Injected by OpenClaw automatically. Treat as confidential.api.evolink.ai. Uploaded files expire in 72h, result URLs in 24h.Get your API key at evolink.ai → Dashboard → API Keys.
mcporter (recommended): mcporter call --stdio "npx -y @evolinkai/evolink-media@latest" list_models
Claude Code: claude mcp add evolink-media -e EVOLINK_API_KEY=your-key -- npx -y @evolinkai/evolink-media@latest
Claude Desktop / Cursor — add MCP server with command npx -y @evolinkai/evolink-media@latest and env EVOLINK_API_KEY=your-key. See references/image-api-params.md for full config JSON.
| Tool | When to use | Returns |
|---|---|---|
generate_image | Create or edit an image | task_id (async) |
upload_file | Upload local image for editing/reference | File URL (sync) |
delete_file | Free file quota | Confirmation |
list_files | Check uploaded files or quota | File list |
check_task | Poll generation progress | Status + result URLs |
list_models | Compare available models | Model list |
estimate_cost | Check pricing | Model info |
Important: generate_image returns a task_id. Always poll check_task until status is "completed" or "failed".
| Property | Value |
|---|---|
| Model ID | gemini-3.1-flash-image-preview |
| Provider | Google (Gemini 3.1 Flash) |
| Status | BETA |
| Capability | text-to-image, image-editing |
| Speed | Fast |
| Best for | Quick, versatile image generation with strong prompt understanding |
Why Nano Banana 2?
nano-banana-2-lite [BETA] — Lightweight version for ultra-fast iterations when speed is the top priority.
| Model | Best for | Speed |
|---|---|---|
gpt-image-1.5 (default) | Latest OpenAI generation | Medium |
gpt-4o-image [BETA] | Best quality, complex editing | Medium |
z-image-turbo | Quick iterations | Ultra-fast |
doubao-seedream-4.5 | Photorealistic | Medium |
gemini-3-pro-image-preview | Google Pro generation | Medium |
If 401 occurs: "Your API key isn't working. Check at evolink.ai/dashboard/keys"
For image editing or reference workflows:
upload_file with file_path, base64_data, or file_url → get file_url (sync)file_url as image_urls for generate_imageSupported: JPEG/PNG/GIF/WebP. Max 100MB. Expire in 72h. Quota: 100 (default) / 500 (VIP).
Ask only what's needed, when it's needed.
Default to model: "gemini-3.1-flash-image-preview" for this skill. Only ask about what's missing:
| Parameter | Ask when | Notes |
|---|---|---|
| prompt | Always | What they want to see |
| model | User wants alternatives | Default: gemini-3.1-flash-image-preview. Suggest gpt-4o-image for best quality |
| size | Orientation needed | Ratio format: 1:1, 16:9, 9:16, 2:3, 3:2, 4:3, 3:4 etc. |
| n | Wants variations | 1–4 images |
| image_urls | Edit/reference images | Up to 14 URLs; triggers i2i mode |
generate_image with model: "gemini-3.1-flash-image-preview" → tell user: "Generating with Nano Banana 2 — ~Xs estimated."check_task every 3–5s. Report progress %.processing: "Still working..."{id} — check again later."| Error | Action |
|---|---|
| 401 | "API key isn't working. Check at evolink.ai/dashboard/keys" |
| 402 | "Balance is low. Add credits at evolink.ai/dashboard/billing" |
| 429 | "Rate limited — wait 30s and retry" |
| 503 | "Servers busy — retry in a minute" |
| Code | Retry? | Action |
|---|---|---|
content_policy_violation | No | Revise prompt (no celebrities, NSFW, violence) |
invalid_parameters | No | Check values against model limits |
image_processing_error | No | Check format/size/URL accessibility |
generation_timeout | Yes | Retry; simplify prompt if repeated |
service_error | Yes | Retry after 1 min |
generation_failed_no_content | Yes | Modify prompt, retry |
Full error reference: references/image-api-params.md
Use Evolink's file hosting API for image uploads (72h expiry). See references/file-api.md for curl commands.
references/image-api-params.md — Complete API parameters, model details, polling strategy, error codesreferences/file-api.md — File hosting API (curl upload/list/delete)