{"id":81844,"plugin_id":"plugin_asdk_app_6ad7a6e23400819198e9cc963ee1da61","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-11-05T01:19:12.904Z","digest":"29a6d59d089e9f5d0b62e62c59af1bceba0a15adbc484ef14eaa60cab9acec8b","against":null,"payload":{"description":"Prompt the Nano Banana family (Google's Gemini Image — `image/nano-banana-2-lite`, `image/nano-banana`, `image/nano-banana-2`, `image/nano-banana-pro`) well. Trigger whenever the user is about to call `vsb run image/nano-banana*` or asks how to phrase a prompt for these models — covers the variant picker, edit-mode rules, text rendering, multi-reference blending, and the things this family gets wrong. For the universal prompt-anatomy rules and reference-image subject-anchor pattern, read [`vsb-image-prompting`](../vsb-image-prompting/SKILL.md) first — this skill only adds nano-banana-specific quirks on top.\n","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":280}],"name":"vsb-nano-banana","skill_md_contents":"---\nname: vsb-nano-banana\nrenamed_from: nano-banana\ndescription: >\n  Prompt the Nano Banana family (Google's Gemini Image — `image/nano-banana-2-lite`,\n  `image/nano-banana`, `image/nano-banana-2`, `image/nano-banana-pro`) well. Trigger whenever the\n  user is about to call `vsb run image/nano-banana*` or asks how to phrase a\n  prompt for these models — covers the variant picker, edit-mode rules, text\n  rendering, multi-reference blending, and the things this family gets\n  wrong. For the universal prompt-anatomy rules and reference-image\n  subject-anchor pattern, read [`vsb-image-prompting`](../vsb-image-prompting/SKILL.md)\n  first — this skill only adds nano-banana-specific quirks on top.\nlicense: Proprietary. See LICENSE for the terms.\n---\n\n# Prompting Nano Banana\n\n**Read [`vsb-image-prompting`](../vsb-image-prompting/SKILL.md) first.** It covers the\nfour universal rules, the full prompt-anatomy slot list, the\nreference-image keep/ignore pattern, and the vocabulary banks — those apply\nto every image model. This skill only adds Nano Banana–specific behavior\nthat diverges from the trunk.\n\nNano Banana is built on Gemini 3 — it reasons over the prompt before\ndrawing, so the natural-language scene-description approach in\n[`vsb-image-prompting`](../vsb-image-prompting/SKILL.md) works especially well here.\nThe same endpoint handles text-to-image AND edits: pass `image_input` (an\narray) to switch into edit mode.\n\nVerify the live schema first: `vsb schema image/nano-banana --json`.\n\n## Picking a variant\n\n| Slug | When to use |\n|------|-------------|\n| `image/nano-banana-2-lite` | **Default.** Lightweight Nano Banana 2 — same low cost as the original (~$0.05/image, ~5s) but on the newer NB2 architecture. Great for iterating and everyday text-to-image + image edits. No `resolution` or web-search knobs. |\n| `image/nano-banana` | The original Gemini 3 model. Same ~$0.05/image. Fall back here if a `nano-banana-2-lite` result looks off. Best with 1–3 reference images. |\n| `image/nano-banana-2` | Full NB2 — adds `resolution` (up to 4K) and web-search grounding. Use when stills aren't crisp enough or you need higher fidelity. |\n| `image/nano-banana-pro` | 4K-capable, sharpest text + typography, best for posters, infographics, packaging mockups, editorial work, and multi-reference character blending (up to 14 refs). Slowest + priciest of the three. |\n\nAll three share the same `image_input` array, `aspect_ratio` enum, and\n`output_format` enum. Confirm with `vsb schema` before assuming.\n\n## Image edits (`image_input` set)\n\n> ⚠️ **Editing the same picture a second time degrades it.** The model never\n> edits — it redraws the whole image from scratch on every pass, so error\n> compounds. Before a second edit on one image, read\n> [`vsb-image-iteration`](../vsb-image-iteration/SKILL.md). Also pass\n> `--output_format png` on any output you may feed back in; the default is\n> `jpg` and its compression stacks on every pass.\n\nWhen `image_input` is non-empty, the model is editing — the prompt should\nlead with the change and be explicit about what stays the same. The\nuniversal subject-anchor pattern (in\n[`vsb-image-prompting`](../vsb-image-prompting/SKILL.md)) is the floor; Nano Banana\ntakes especially well to plain-English edit instructions on top.\n\n**Good:** `\"Change the man's tie to dark green. Keep the rest of the photo,\nlighting, and composition exactly as they are.\"`\n\n**Bad:** `\"man with green tie\"` (loses every other detail).\n\nEdit patterns Nano Banana handles cleanly:\n\n- **Add / remove / swap:** `\"Remove the car in the background.\"`\n  `\"Replace the coffee mug with a vintage typewriter.\"`\n- **Restyle:** `\"Restyle as a 1990s film photograph — kodak gold, slight\n  grain, warm cast.\"` `\"Convert to ink-on-paper line art.\"`\n- **Reframe / re-angle:** `\"Re-render this scene from a low angle, keeping\n  the same subject and lighting.\"`\n- **Weather / time-of-day:** `\"Same scene but at golden hour with backlit\n  rim light.\"`\n- **Product extraction:** `\"Extract the mug and place it on a clean white\n  studio backdrop with a soft shadow.\"`\n\nFor the `aspect_ratio` field, `match_input_image` only makes sense in edit\nmode — it keeps the first reference's dimensions.\n\n## Text rendering (Nano Banana's standout strength)\n\nNano Banana is one of the few image models that renders legible text. Pro\nis the sharpest of the three.\n\n- **Quote the exact words.** `\"The headline 'URBAN EXPLORER' rendered in\n  bold, white, sans-serif font at the top of the poster.\"`\n- **Describe the font.** Style words work (`bold`, `cursive`, `serif`,\n  `monospace`, `neon signage`), and named fonts work surprisingly often\n  (`Century Gothic`, `Helvetica`-style).\n- **Localize.** Write the prompt in any language and pass the target text\n  in quotes. For exotic scripts give the model the literal characters —\n  don't ask it to translate.\n- **Text-first hack for tricky layouts.** Two-step: first ask Nano Banana\n  (chat-style) for the literal text content, then run a generation request\n  that quotes that text. Improves accuracy on long strings.\n\n## Multi-reference character consistency\n\nThe universal subject-anchor pattern (in\n[`vsb-image-prompting`](../vsb-image-prompting/SKILL.md)) tells you *how* to phrase\n\"keep the subject, ignore the rest\". Nano Banana adds two specifics on top:\n\n- **Name each character / object in the prompt.** The model uses the name\n  as an anchor across edits. `\"Marigold the calico cat\"` survives across\n  follow-up edits better than `\"the cat\"`.\n- **Use a reference pack.** Multiple angles of the same subject (front,\n  profile, three-quarter) help the model triangulate identity. Pro takes\n  up to **14 references** per prompt; standard nano-banana is best with\n  **1–3**. For more than 3 references, switch to Pro.\n\n## Multi-subject anatomy lock\n\nMulti-person scenes hallucinate extra hands/arms when limb count is left\nimplicit. Budget every visible limb: state the exact total (\"visible\nhands: 2\"), name whose and where each is, then declare the remaining arms\nout of frame or hidden behind a torso. Same rule applies to feet on\nfull-body shots.\n\n## What this family gets wrong (known limits)\n\nAdds to the model-agnostic failure modes in\n[`vsb-image-prompting`](../vsb-image-prompting/SKILL.md):\n\n- **Tiny / dense text.** Long paragraphs at small size will hallucinate\n  glyphs. Pro is best; even Pro isn't perfect.\n- **Factual diagrams.** Anatomy, scientific cross-sections, and\n  infographics may be confidently wrong. Verify any data-driven visual\n  yourself.\n- **Multilingual grammar.** Non-English text may have small grammatical\n  slips or cultural mismatches. Provide the literal target string in\n  quotes when accuracy matters.\n\n## Worked examples\n\n### Photoreal portrait (text-to-image)\n\n```bash\nvsb run image/nano-banana \\\n  --prompt \"A 28-year-old florist standing in her shop doorway at golden hour. She wears a denim apron over a cream linen shirt. Shot on Fujifilm X-T5, 35mm, f/1.8 shallow depth of field. Warm rim light from the right, soft fill from the open window. Photoreal, cinematic muted teal-and-orange grading, slight sensor grain.\" \\\n  --aspect_ratio 4:5 \\\n  --output_format jpg \\\n  --download \"./out/{request_id}.jpg\" \\\n  --json\n```\n\n### Edit with reference (`image_input`)\n\n```bash\nURL=$(vsb upload ./product.jpg --json | jq -r '.url')\nvsb run image/nano-banana \\\n  --prompt \"Use the reference image as the PRODUCT source only. Keep the mug's pattern, colour, handle shape, and reflections exactly as they are. Ignore everything else from the reference — including any watermarks, text overlays, original background, and original lighting.\n\nNow place this mug on a sunny tropical beach with sand and ocean waves in the background. Photoreal, natural midday daylight, soft shadow on the sand. No logos, no captions, no watermarks.\" \\\n  --image_input \"[\\\"$URL\\\"]\" \\\n  --aspect_ratio match_input_image \\\n  --download \"./out/\" \\\n  --json\n```\n\n### Poster with crisp typography (Pro)\n\n```bash\nvsb run image/nano-banana-pro \\\n  --prompt \"A minimal travel poster. Composition: 9:16 vertical, full-bleed. Background: silhouette of a mountain range at dusk, indigo-to-magenta sky. Foreground typography: the word 'PATAGONIA' rendered in bold, white, condensed sans-serif font, baseline aligned at the bottom third. Subline reads 'Edge of the World' in a smaller serif italic directly underneath. Cinematic, slight film grain.\" \\\n  --aspect_ratio 9:16 \\\n  --output_format png \\\n  --download \"./out/poster.png\" \\\n  --json\n```\n\n### Multi-reference character blend (Pro shines here)\n\n```bash\nA=$(vsb upload ./pose.jpg --json | jq -r '.url')\nB=$(vsb upload ./style.jpg --json | jq -r '.url')\nC=$(vsb upload ./background.jpg --json | jq -r '.url')\nvsb run image/nano-banana-pro \\\n  --prompt \"Render a single image. Use Image A as the IDENTITY source — keep the subject's face, hair, skin tone, and body proportions exactly. Use Image B as the STYLE source — match its color grade, grain, and lighting feel, but ignore its subject. Use Image C as the BACKGROUND source — match the environment, but ignore any people or text in it. Cinematic, high-detail, no watermarks, no captions.\" \\\n  --image_input \"[\\\"$A\\\",\\\"$B\\\",\\\"$C\\\"]\" \\\n  --aspect_ratio match_input_image \\\n  --json\n```\n\n## Sources\n\n- Google DeepMind — Gemini Image prompt guide: <https://deepmind.google/models/gemini-image/prompt-guide/>\n- Google Cloud — Ultimate prompting guide for Nano Banana (2026-03): <https://cloud.google.com/blog/products/ai-machine-learning/ultimate-prompting-guide-for-nano-banana>\n- Google blog — 7 tips for Nano Banana Pro: <https://blog.google/products-and-platforms/products/gemini/prompting-tips-nano-banana-pro/>\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}