Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate 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 iteration, in-image typography rendering, predictable framing, optional web-grounded context), the resolution-tier pricing, the safety-tolerance dial, and when to route to Nano Banana Pro / GPT Image 2 / Flux 2 / Seedream inste
.claude/skills/aiskillstore-nano-banana-2/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 119% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 724% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 117% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 29% | 0% |
Generate images with Google Gemini 3.1 Flash Image Preview via inference.sh CLI.
> Requires inference.sh CLI (infsh). Get installation instructions: npx skills add inference-sh/skills@agent-tools
bashinfsh login infsh app run google/gemini-3-1-flash-image-preview --input '{"prompt": "a banana in space, photorealistic"}'
bashinfsh app run google/gemini-3-1-flash-image-preview --input '{ "prompt": "A futuristic cityscape at sunset with flying cars" }'
bashinfsh app run google/gemini-3-1-flash-image-preview --input '{ "prompt": "Minimalist logo design for a coffee shop", "num_images": 4 }'
bashinfsh app run google/gemini-3-1-flash-image-preview --input '{ "prompt": "Panoramic mountain landscape with northern lights", "aspect_ratio": "16:9" }'
bashinfsh app run google/gemini-3-1-flash-image-preview --input '{ "prompt": "Add a rainbow in the sky", "images": ["https://example.com/landscape.jpg"] }'
bashinfsh app run google/gemini-3-1-flash-image-preview --input '{ "prompt": "Detailed illustration of a medieval castle", "resolution": "4K" }'
bashinfsh app run google/gemini-3-1-flash-image-preview --input '{ "prompt": "Current weather in Tokyo visualized as an artistic scene", "enable_google_search": true }'
| Parameter | Type | Description | |-----------|------|-------------| | prompt | string | Required. What to generate or change | | images | array | Input images for editing (up to 14). Supported: JPEG, PNG, WebP | | num_images | integer | Number of images to generate | | aspect_ratio | string | Output ratio: "1:1", "16:9", "9:16", "4:3", "3:4", "auto" | | resolution | string | "1K", "2K", "4K" (default: 1K) | | output_format | string | Output format for images | | enable_google_search | boolean | Enable real-time info grounding (weather, news, etc.) |
| Field | Type | Description | |-------|------|-------------| | images | array | The generated or edited images | | description | string | Text description or response from the model | | output_meta | object | Metadata about inputs/outputs for pricing |
Styles: photorealistic, illustration, watercolor, oil painting, digital art, anime, 3D render
Composition: close-up, wide shot, aerial view, macro, portrait, landscape
Lighting: natural light, studio lighting, golden hour, dramatic shadows, neon
Details: add specific details about textures, colors, mood, atmosphere
bash# 1. Generate sample input to see all options infsh app sample google/gemini-3-1-flash-image-preview --save input.json # 2. Edit the prompt # 3. Run infsh app run google/gemini-3-1-flash-image-preview --input input.json
pythonfrom inferencesh import inference client = inference() # Basic generation result = client.run({ "app": "google/gemini-3-1-flash-image-preview@0c7ma1ex", "input": { "prompt": "A banana in space, photorealistic" } }) print(result["output"]) # Stream live updates for update in client.run({ "app": "google/gemini-3-1-flash-image-preview@0c7ma1ex", "input": { "prompt": "A futuristic cityscape at sunset" } }, stream=True): if update.get("progress"): print(f"progress: {update['progress']}%") if update.get("output"): print(f"output: {update['output']}")
bash# Original Nano Banana (Gemini 3 Pro Image, Gemini 2.5 Flash Image) npx skills add inference-sh/skills@nano-banana # Full platform skill (all 150+ apps) npx skills add inference-sh/skills@agent-tools # All image generation models npx skills add inference-sh/skills@ai-image-generation
Browse all image apps: infsh app list --category image
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 5,363 | 5,824 | +9% | 1 | 1 | 0% | 733 | 1,607 | +119% | 0 | 0 | — |
case-02 | fail→pass | 15,929 | 10,712 | -33% | 1 | 1 | 0% | 355 | 2,925 | +724% | 0 | 0 | — |
case-03 | fail→pass | 7,234 | 4,526 | -37% | 1 | 1 | 0% | 1,017 | 2,203 | +117% | 0 | 0 | — |
case-04 | fail→pass | 8,415 | 2,805 | -67% | 1 | 1 | 0% | 1,257 | 1,703 | +35% | 0 | 0 | — |
case-05 | fail→fail | 17,464 | 3,206 | -82% | 1 | 1 | 0% | 2,640 | 1,844 | -30% | 0 | 0 | — |
case-06 | fail→pass | 7,084 | 2,265 | -68% | 1 | 1 | 0% | 1,238 | 1,594 | +29% | 0 | 0 | — |
case-07 | pass→pass | 5,685 | 2,460 | -57% | 1 | 1 | 0% | 605 | 1,732 | +186% | 0 | 0 | — |
case-08 | fail→pass | 14,366 | 5,205 | -64% | 1 | 1 | 0% | 1,998 | 2,050 | +3% | 0 | 0 | — |
case-09 | fail→pass | 13,239 | 11,775 | -11% | 1 | 1 | 0% | 1,841 | 3,270 | +78% | 0 | 0 | — |
case-10 | fail→fail | 16,506 | 9,970 | -40% | 1 | 1 | 0% | 3,707 | 2,620 | -29% | 0 | 0 | — |
case-11 | fail→pass | 7,856 | 4,330 | -45% | 1 | 1 | 0% | 1,540 | 2,151 | +40% | 0 | 0 | — |
case-12 | pass→pass | 10,281 | 4,512 | -56% | 1 | 1 | 0% | 1,771 | 2,136 | +21% | 0 | 0 | — |
case-13 | pass→pass | 8,035 | 3,338 | -58% | 1 | 1 | 0% | 1,220 | 1,847 | +51% | 0 | 0 | — |
case-14 | fail→pass | 7,418 | 1,924 | -74% | 1 | 1 | 0% | 1,380 | 1,641 | +19% | 0 | 0 | — |
case-15 | pass→pass | 15,324 | 7,073 | -54% | 1 | 1 | 0% | 2,409 | 2,640 | +10% | 0 | 0 | — |
case-16 | fail→pass | 6,209 | 3,374 | -46% | 1 | 1 | 0% | 961 | 1,918 | +100% | 0 | 0 | — |
case-17 | fail→pass | 11,914 | 4,565 | -62% | 1 | 1 | 0% | 2,120 | 1,930 | -9% | 0 | 0 | — |
case-18 | fail→fail | 13,722 | 4,890 | -64% | 1 | 1 | 0% | 2,596 | 2,111 | -19% | 0 | 0 | — |
case-19 | fail→pass | 9,285 | 3,497 | -62% | 1 | 1 | 0% | 1,503 | 1,878 | +25% | 0 | 0 | — |
case-20 | fail→pass | 9,581 | 2,625 | -73% | 1 | 1 | 0% | 1,625 | 1,751 | +8% | 0 | 0 | — |
case-21 | fail→fail | 14,418 | 17,178 | +19% | 1 | 1 | 0% | 1,935 | 3,710 | +92% | 0 | 0 | — |
case-22 | fail→pass | 7,780 | 4,984 | -36% | 1 | 1 | 0% | 1,042 | 2,160 | +107% | 0 | 0 | — |
case-23 | fail→pass | 16,868 | 8,939 | -47% | 1 | 1 | 0% | 2,510 | 2,984 | +19% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 22 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +65 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 8/22/2026 | +78% |
Other measured skills in the registry, with their headline benchmark lift.