$npx -y skills add prime-skills/runcomfy-agent-skills --skill nano-banana-2Generate images with Google Nano Banana 2 (Gemini-family flash-tier text-to-image) on RunComfy — bundled with the model's documented prompting patterns so the skill gets sharper output than naive prompting against the same model. Documents Nano Banana 2's strengths (rapid iterati
| 1 | # Nano Banana 2 — Pro Pack on RunComfy |
| 2 | |
| 3 | [runcomfy.com](https://www.runcomfy.com/?utm_source=skills.sh&utm_medium=skill&utm_campaign=nano-banana-2) · [Model page](https://www.runcomfy.com/models/google/nano-banana-2?utm_source=skills.sh&utm_medium=skill&utm_campaign=nano-banana-2) · [GitHub](https://github.com/agentspace-so/runcomfy-skills/tree/main/nano-banana-2) |
| 4 | |
| 5 | 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. |
| 6 | |
| 7 | ```bash |
| 8 | npx skills add agentspace-so/runcomfy-skills --skill nano-banana-2 -g |
| 9 | ``` |
| 10 | |
| 11 | ## When to pick this model (vs siblings) |
| 12 | |
| 13 | 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. |
| 14 | |
| 15 | | You want | Use | |
| 16 | |---|---| |
| 17 | | Rapid drafts, social thumbnails, batch variants | **Nano Banana 2** | |
| 18 | | In-image typography with predictable rendering | **Nano Banana 2** | |
| 19 | | Web-grounded image (current events / real entities) | **Nano Banana 2** + `enable_web_search` | |
| 20 | | Image **edit** (preserve subject, swap background) | **Nano Banana Edit** (sibling skill) | |
| 21 | | Heavy stylization, painterly look | Flux 2 | |
| 22 | | Maximum prompt adherence + multilingual text | GPT Image 2 | |
| 23 | | 2K–4K hero shots, max realism | Seedream 5 | |
| 24 | | Hyperrealistic portrait | Nano Banana Pro | |
| 25 | |
| 26 | 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. |
| 27 | |
| 28 | ## Prerequisites |
| 29 | |
| 30 | 1. **RunComfy CLI** — `npm i -g @runcomfy/cli` |
| 31 | 2. **RunComfy account** — `runcomfy login` opens a browser device-code flow. |
| 32 | 3. **CI / containers** — set `RUNCOMFY_TOKEN=<token>` instead of `runcomfy login`. |
| 33 | |
| 34 | ## Endpoints + input schema |
| 35 | |
| 36 | ### `google/nano-banana-2/text-to-image` |
| 37 | |
| 38 | | Field | Type | Required | Default | Notes | |
| 39 | |---|---|---|---|---| |
| 40 | | `prompt` | string | yes | — | Subject-first description. | |
| 41 | | `num_images` | int | no | 1 | 1–4. Use 4 for ideation rounds. | |
| 42 | | `seed` | int | no | 0 | Reuse for reproducibility. | |
| 43 | | `aspect_ratio` | enum | no | `auto` | `auto`, `21:9`, `16:9`, `3:2`, `4:3`, `5:4`, `1:1`, `4:5`, `3:4`, `2:3`, `9:16`. | |
| 44 | | `resolution` | enum | no | `1K` | `0.5K` (drafts), `1K` (default), `2K` (final), `4K` (max). | |
| 45 | | `output_format` | enum | no | `png` | `png`, `jpeg`, `webp`. | |
| 46 | | `safety_tolerance` | int | no | 4 | 1 (strict) – 6 (permissive). | |
| 47 | | `limit_generations` | bool | no | true | Limit each prompt round to one generation. | |
| 48 | | `enable_web_search` | bool | no | false | Adds web grounding (extra cost + latency). | |
| 49 | |
| 50 | For image edit (preserve subject + apply changes), see the sibling [`nano-banana-edit`](../nano-banana-edit) skill. |
| 51 | |
| 52 | ## How to invoke |
| 53 | |
| 54 | **Default draft (1K, square, png):** |
| 55 | |
| 56 | ```bash |
| 57 | runcomfy run google/nano-banana-2/text-to-image \ |
| 58 | --input '{"prompt": "<user prompt>"}' \ |
| 59 | --output-dir <absolute/path> |
| 60 | ``` |
| 61 | |
| 62 | **Vertical 4-up batch for ideation:** |
| 63 | |
| 64 | ```bash |
| 65 | runcomfy run google/nano-banana-2/text-to-image \ |
| 66 | --input '{ |
| 67 | "prompt": "<user prompt>", |
| 68 | "num_images": 4, |
| 69 | "aspect_ratio": "9:16", |
| 70 | "resolution": "0.5K" |
| 71 | }' \ |
| 72 | --output-dir <absolute/path> |
| 73 | ``` |
| 74 | |
| 75 | **Final at 2K with seed lock:** |
| 76 | |
| 77 | ```bash |
| 78 | runcomfy run google/nano-banana-2/text-to-image \ |
| 79 | --input '{ |
| 80 | "prompt": "<user prompt>", |
| 81 | "resolution": "2K", |
| 82 | "aspect_ratio": "16:9", |
| 83 | "seed": 42 |
| 84 | }' \ |
| 85 | --output-dir <absolute/path> |
| 86 | ``` |
| 87 | |
| 88 | **Web-grounded (current event / real entity):** |
| 89 | |
| 90 | ```bash |
| 91 | runcomfy run google/nano-banana-2/text-to-image \ |
| 92 | --input '{ |
| 93 | "prompt": "<prompt referencing a real-world event from this week>", |
| 94 | "enable_web_search": true |
| 95 | }' \ |
| 96 | --output-dir <absolute/path> |
| 97 | ``` |
| 98 | |
| 99 | ## Prompting — what actually works |
| 100 | |
| 101 | **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, th |