ワンクリックで
nanobanana-2-lite-image
Use Nanobanana 2 Lite Image Generation through EvoLink with runnable examples, API key guidance, and task polling.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use Nanobanana 2 Lite Image Generation through EvoLink with runnable examples, API key guidance, and task polling.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | nanobanana-2-lite-image |
| description | Use Nanobanana 2 Lite Image Generation through EvoLink with runnable examples, API key guidance, and task polling. |
| homepage | https://github.com/cheercheung/nanobanana-2-lite-image-generate-api-skill |
| metadata | {"openclaw":{"homepage":"https://github.com/cheercheung/nanobanana-2-lite-image-generate-api-skill","requires":{"bins":["jq","curl"],"env":["EVOLINK_API_KEY"]},"primaryEnv":"EVOLINK_API_KEY"}} |
Nanobanana 2 Lite Image Generation is exposed here as a local-first EvoLink API and agent skill scaffold.
Activate this skill when the user asks to:
Keywords: nanobanana-2-lite-image-generation, evolink, api, agent, skill
IMPORTANT: All script paths in this file are relative to the directory containing this SKILL.md file. Before running any script, resolve the absolute path:
SKILL_DIR = directory containing this SKILL.md file
Script = {SKILL_DIR}/scripts/nanobanana-2-lite-image.sh
For example, if this SKILL.md is at ~/.claude/skills/nanobanana-2-lite-image/SKILL.md, then the script is at ~/.claude/skills/nanobanana-2-lite-image/scripts/nanobanana-2-lite-image.sh.
When this skill is first loaded, proactively greet the user and start the setup:
Check if EVOLINK_API_KEY is set (run: echo $EVOLINK_API_KEY)
That's it. One question. The user is now in the flow.
Do NOT list features, show a menu, or dump instructions. Just ask one question to move forward.
If the user hasn't provided an API key or set EVOLINK_API_KEY:
If the key is already set or provided, skip directly to Step 2.
Assess what the user wants based on their message:
Check what the user has already provided and only ask about what's missing:
| Parameter | What to tell the user | Required? |
|---|---|---|
| TBD | TBD | Yes |
| TBD | TBD | Yes |
| TBD | TBD | Optional |
| TBD | TBD | Optional |
Smart gathering rules — STRICT:
model=gemini-3.1-flash-lite-image, prompt='Create a short demo'. If the user says "default" or "just go", use these values immediately.Once all required information is confirmed:
Claude Code — use the Bash tool with run_in_background: true, then read the output file to check progress:
# Step 1: Run in background (resolves SKILL_DIR first)
Bash(command: "{SKILL_DIR}/scripts/nanobanana-2-lite-image.sh \"input\" --dry-run true", run_in_background: true, timeout: 300000)
# Step 2: Wait ~30 seconds, then read the background task output file to check for RESULT_URL= or STATUS_UPDATE lines
# Step 3: When you see RESULT_URL=<value>, relay it to the user
OpenClaw / OpenCode / Cursor — run the script as a blocking shell command (the script handles its own polling internally, typically completes in 2-10 minutes):
EVOLINK_API_KEY=$EVOLINK_API_KEY {SKILL_DIR}/scripts/nanobanana-2-lite-image.sh "input" --dry-run true
All agents — critical rules:
TASK_SUBMITTED: in the output, the task is already queued on the server. Do NOT run the script again — retrying wastes the user's API credits.POLL_TIMEOUT, the task may still be processing — tell the user to check https://evolink.ai/dashboard.Remember: Replace {SKILL_DIR} with the actual directory containing this SKILL.md file.
# Set API key
export EVOLINK_API_KEY=your_key_here
# Basic
{SKILL_DIR}/scripts/nanobanana-2-lite-image.sh "Create a short Nanobanana 2 Lite Image Generation demo"
# With options
{SKILL_DIR}/scripts/nanobanana-2-lite-image.sh "Test prompt" --dry-run true --timeout TBD
# Advanced
{SKILL_DIR}/scripts/nanobanana-2-lite-image.sh "Dry run" --help TBD
# Dry run (preview payload without calling API)
{SKILL_DIR}/scripts/nanobanana-2-lite-image.sh "Test" --dry-run
The script writes structured lines to stdout that you must parse and act on:
| Line format | When | Your action |
|---|---|---|
TASK_SUBMITTED: task_id=<id> estimated=<Ns> | Right after submission | Confirm to the user that the task has started. This means the API call succeeded — do NOT retry. |
STATUS_UPDATE: <message> | Every ~15s during execution | Relay to the user — e.g., "Still working, about 30 seconds remaining..." |
RESULT_URL=<value> | On success | Extract and present to the user |
ELAPSED=<Ns> | On success | Optionally mention how long it took |
POLL_TIMEOUT: task_id=<id> dashboard=<url> | Polling exceeded 5 min | Tell user: "Your task may already be done — check <dashboard_url> (task: <id>)" |
ERROR: ... (stderr) | On failure | Surface the error message to the user |
Critical: Once you see TASK_SUBMITTED:, the task is queued on the server. Do NOT run the script again. Retrying wastes the user's API credits. If the script times out locally, the task may still complete — tell the user to check their dashboard at https://evolink.ai/dashboard.
Provide friendly, actionable messages:
| Error | What to tell the user |
|---|---|
| Invalid/missing key (401) | "Your API key doesn't seem to work. You can check it at https://evolink.ai/dashboard" |
| Insufficient balance (402) | "Your account balance is low. You can add credits at https://evolink.ai/dashboard" |
| Rate limited (429) | "Too many requests — let's wait a moment and try again" |
| Content blocked (400) | "This input was flagged by content moderation. Try adjusting it" |
| Service unavailable (503) | "The service is temporarily busy. Let's try again in a minute" |
Use this when the user asks what the model can do:
references/api-params.md: Complete API parameter referencescripts/nanobanana-2-lite-image.sh: Run a Nanobanana 2 Lite Image Generation task through EvoLink.