nano-banana-2

作者: agentspace-so

使用 RunComfy 上的 Google Nano Banana 2(Gemini 系列 flash 層級文字轉圖像)生成圖片——內建該模型的提示模式,使技能輸出比直接對同一模型進行簡單提示更為精準。記錄 Nano Banana 2 的優勢(快速迭代、圖像內文字渲染、可預測構圖、可選網路接地上下文)、解析度層級定價、安全容忍度調節,以及何時轉向 Nano Banana Pro / GPT Image 2 / Flux 2 / Seedream……

npx skills add https://github.com/agentspace-so/runcomfy-agent-skills --skill nano-banana-2

Nano Banana 2 — Pro Pack on RunComfy

runcomfy.com · Model page · GitHub

Google Nano Banana 2 — the flash-tier text-to-image model in the Gemini family — hosted on the RunComfy Model API. Optimized for ideation, social-thumbnail batches, and rapid drafts with strong in-image typography.

npx skills add agentspace-so/runcomfy-skills --skill nano-banana-2 -g

When to pick this model (vs siblings)

Nano Banana 2 is the flash-tier of the Google image-gen line. Pick it when iteration speed and predictable framing matter more than maximum detail.

You wantUse
Rapid drafts, social thumbnails, batch variantsNano Banana 2
In-image typography with predictable renderingNano Banana 2
Web-grounded image (current events / real entities)Nano Banana 2 + enable_web_search
Image edit (preserve subject, swap background)Nano Banana Edit (sibling skill)
Heavy stylization, painterly lookFlux 2
Maximum prompt adherence + multilingual textGPT Image 2
2K–4K hero shots, max realismSeedream 5
Hyperrealistic portraitNano Banana Pro

If the user said "Nano Banana" / "nano-banana-2" / "Gemini image" explicitly, route here regardless. If they said "Nano Banana" without specifying 2 vs Pro, default to Pro for portraits and 2 for everything else.

Prerequisites

  1. RunComfy CLInpm i -g @runcomfy/cli
  2. RunComfy accountruncomfy login opens a browser device-code flow.
  3. CI / containers — set RUNCOMFY_TOKEN=<token> instead of runcomfy login.

Endpoints + input schema

google/nano-banana-2/text-to-image

FieldTypeRequiredDefaultNotes
promptstringyesSubject-first description.
num_imagesintno11–4. Use 4 for ideation rounds.
seedintno0Reuse for reproducibility.
aspect_ratioenumnoautoauto, 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16.
resolutionenumno1K0.5K (drafts), 1K (default), 2K (final), 4K (max).
output_formatenumnopngpng, jpeg, webp.
safety_toleranceintno41 (strict) – 6 (permissive).
limit_generationsboolnotrueLimit each prompt round to one generation.
enable_web_searchboolnofalseAdds web grounding (extra cost + latency).

For image edit (preserve subject + apply changes), see the sibling nano-banana-edit skill.

How to invoke

Default draft (1K, square, png):

runcomfy run google/nano-banana-2/text-to-image \
  --input '{"prompt": "<user prompt>"}' \
  --output-dir <absolute/path>

Vertical 4-up batch for ideation:

runcomfy run google/nano-banana-2/text-to-image \
  --input '{
    "prompt": "<user prompt>",
    "num_images": 4,
    "aspect_ratio": "9:16",
    "resolution": "0.5K"
  }' \
  --output-dir <absolute/path>

Final at 2K with seed lock:

runcomfy run google/nano-banana-2/text-to-image \
  --input '{
    "prompt": "<user prompt>",
    "resolution": "2K",
    "aspect_ratio": "16:9",
    "seed": 42
  }' \
  --output-dir <absolute/path>

Web-grounded (current event / real entity):

runcomfy run google/nano-banana-2/text-to-image \
  --input '{
    "prompt": "<prompt referencing a real-world event from this week>",
    "enable_web_search": true
  }' \
  --output-dir <absolute/path>

Prompting — what actually works

Subject-first declarative grammar. "A cinematic close-up portrait of an American woman standing under neon lights in rainy Tokyo, shallow depth of field, reflective wet streets, ultra-detailed, realistic skin texture" — primary subject, then action, environment, style, camera. Front-load subject; trail with directives.

Exact text quoting for in-image typography. "The label reads 'AURA' in clean bold sans-serif, centered, white on black" — quote the literal characters. Specify placement and font style. Don't say "with the brand name on it" and hope.

Consistent seeds for refinement. Lock seed when iterating a single prompt across small variants — keeps composition stable.

Web-grounding, sparingly. Turn on enable_web_search only when the prompt names current events / real entities. Adds latency + cost; off by default.

Don't conflict styles. "minimalist + ornate + retro + cyberpunk" cancels. Pick 1–2 anchors.

Anti-patterns:

  • Trying to verbally describe a stable subject identity — use the edit endpoint with image refs instead.
  • Asking for resolutions outside the 4 tiers → 422.
  • Aspect ratios outside the 11 supported values → 422.
  • Non-quoted in-image text → unpredictable rendering.

Where it shines

Use caseWhy Nano Banana 2
Marketing draft thumbnails (batch of 4)Fast iteration at 0.5K, then promote winner to 2K
Social-platform-nativeWide aspect ratio support including 9:16, 4:5, 21:9
In-image typography for posters / cardsPredictable text rendering when characters are quoted
Web-grounded current-event imageryenable_web_search integrates fresh info
Reproducible variant testingStrong seed + consistent framing

Sample prompts (verified to produce strong results)

Cinematic portrait (page example):

A cinematic close-up portrait of an American woman standing under neon
lights in rainy Tokyo, shallow depth of field, reflective wet streets,
ultra-detailed, realistic skin texture

Brand-asset card with quoted text:

A minimalist 16:9 product card: a matte black ceramic mug centered on a
soft warm-grey paper background, rim highlight from upper-left, the
headline "Brewed Quietly" in clean bold sans-serif top-right, balanced
negative space below, e-commerce ready, clean studio lighting

Vertical platform-native:

A 9:16 vertical hero for a wellness brand: a single ceramic teacup on a
linen runner, soft morning side-light, the words "Slow Down" in
hand-drawn serif large at the top, gentle steam rising, neutral color
palette, uncluttered

Limitations

  • Still images only. No video on this endpoint.
  • Max 4 outputs per request.
  • Web search adds latency + cost — only enable on demand.
  • 2K / 4K cost more — default to 1K unless user asked for higher.
  • For image edit, use the /edit endpoint — not this one.

Exit codes

codemeaning
0success
64bad CLI args
65bad input JSON / schema mismatch
69upstream 5xx
75retryable: timeout / 429
77not signed in or token rejected

Full reference: docs.runcomfy.com/cli/troubleshooting.

How it works

The skill invokes runcomfy run google/nano-banana-2/text-to-image with a JSON body matching the schema. The CLI POSTs to https://model-api.runcomfy.net/v1/models/google/nano-banana-2/text-to-image, polls the request, fetches the result, and downloads any .runcomfy.net/.runcomfy.com URL into --output-dir. Ctrl-C cancels the remote request before exit.

Security & Privacy

  • Token storage: runcomfy login writes the API token to ~/.config/runcomfy/token.json with mode 0600 (owner-only read/write). Set RUNCOMFY_TOKEN env var to bypass the file entirely in CI / containers.
  • Input boundary: the user prompt is passed as a JSON string to the CLI via --input. The CLI does NOT shell-expand the prompt; it transmits the JSON body directly to the Model API over HTTPS. No shell injection surface from prompt content.
  • Third-party content: image / mask / video URLs you pass are fetched by the RunComfy model server, not by the CLI on your machine. Treat external URLs as untrusted; image-based prompt injection is a known risk for any image-edit / video-edit model.
  • Outbound endpoints: only model-api.runcomfy.net (request submission) and *.runcomfy.net / *.runcomfy.com (download whitelist for generated outputs). No telemetry, no callbacks.
  • Generated-file size cap: the CLI aborts any single download > 2 GiB to prevent disk-fill from a malicious or runaway model output.

來自 agentspace-so 的更多技能

ai-avatar-video
agentspace-so
Create AI avatar, talking-head, and lip-sync videos on RunComfy via the `runcomfy` CLI. Routes across ByteDance OmniHuman (audio-driven full-body avatar), Wan-AI Wan 2-7 (audio-driven mouth sync via `audio_url` on a portrait), HappyHorse 1.0 (Arena #1 t2v / i2v with in-pass audio), and Seedance v2 Pro (multi-modal cinematic with reference audio + reference subject). Picks the right model for the user's actual intent — UGC voiceover, virtual presenter, dubbed product demo, lip-synced...
videocreativemedia
ai-music
agentspace-so
我們要將提供的英文描述翻譯成繁體中文。注意事項:保留產品名稱、協議名稱、URL、數字和技術術語。不要添加聲明、解釋、Markdown、項目符號、鏈接、標籤、前綴或額外評論。目標語言是繁體中文。目錄項類型是agent skill,名稱是ai-music,但不要包含名稱除非它在源文本中出現。源文本中沒有出現ai-music,所以不用管。 翻譯內容:描述RunComfy通過runcomfy CLI生成AI音樂,是一個智能路由器,路由到ElevenLabs AI Music Generation和ACE Step / ACE Step 1.5等。需要準確翻譯,保留數字、單位、價格等。注意「~27× cheaper」要保留「約27倍便宜」或類似表達。還有「audio-inpaint」和「audio-outpaint」是技術術語,保留英文或翻譯?通常保留英文或加上中文解釋,但指示說保留技術術語,所以可以保留英文或
creativeaudioapi
video-edit
agentspace-so
在 RunComfy 上編輯現有影片 — 此技能為智慧路由器,可將使用者意圖匹配至 RunComfy 目錄中的正確編輯模型。選用 Wan 2.7 Edit-Video(通用風格重製 / 背景替換 / 包裝替換,保留身份與動作)、Kling 2.6 Pro Motion Control(將參考影片的精確動作轉移至目標角色),或 Lucy Edit Restyle(輕量級身份穩定風格重製 / 服裝替換)。整合各模型的提示模式,使技能...
videocreativemedia
relight
agentspace-so
Relight a still image — change the lighting setup, color temperature, direction, or mood — on RunComfy via the `runcomfy` CLI. Routes to Qwen Edit 2509's dedicated `relight` LoRA endpoint for purpose-built relighting, with fallback to identity-preserving edit endpoints (Nano Banana 2 Edit, GPT Image 2 Edit, FLUX Kontext Pro) when prose lighting language is enough. Use for product relighting (studio softbox → window light), portrait mood shift (overcast → golden hour), or color-grade change....
creativeimagemedia
kling-3-0
agentspace-so
在 RunComfy 上進行 Kling 3.0 影片生成。Kling 3.0(也稱為 Kling V3.0)是快手科技第三代多鏡頭影片模型,具備原生同步音訊及跨鏡頭一致的角色身份。此技能涵蓋所有六個 Kling 3.0 端點,橫跨三種渲染層級(標準、專業、4K)與兩種模式(文字轉影片、圖片轉影片)。透過本地 RunComfy CLI 執行 runcomfy run kling/kling-3.0/ /。觸發詞為「kling」、「kling 3.0」、「kling v3」、「kling pro」等。
creativevideomedia
runcomfy-cli
agentspace-so
We need to translate the given text from English to Traditional Chinese. The text describes a CLI tool called runcomfy-cli. The instruction says to preserve the name "runcomfy-cli" but only if it appears in the source text. The source text mentions "runcomfy CLI" but not "runcomfy-cli" exactly. However, the directory item type is "agent skill" and the name to preserve is "runcomfy-cli". The instruction says "Do not include the name unless it appears in the source text." The source text has "runcomfy CLI" (with space) not "runcomfy-cli". But the name to preserve is "runcomfy-cli". I think we should preserve the exact name as given, but only if it appears. Since it doesn't appear, we should not add it. However, the instruction says "Name to preserve: runcomfy-cli" and "Do not include the name unless it appears in the source text." So we should not add it. But the source text has
creativemediaapi
happyhorse-1-0
agentspace-so
在 RunComfy 上使用 HappyHorse 1.0 生成文字轉影片
creativevideomedia
ai-image-generation
agentspace-so
Generate and edit images on RunComfy via the `runcomfy` CLI — a smart router across the full image-model catalog: FLUX 2 (Klein 9B/4B, Pro, Dev, Flash, Turbo, Max), Google Nano Banana 2 / Pro, OpenAI GPT Image 2, ByteDance Seedream 5 / 4-5 / 4-0 and Dreamina 4-0, Alibaba Qwen Image and Z-Image Turbo, Wan 2-7. Covers both text-to-image (t2i) and image-to-image / edit (i2i) endpoints — the skill picks the right model for the user's actual intent (typography precision, photoreal portraits,...
creativemediaimage