{
  "schemaVersion": "1.0",
  "item": {
    "slug": "nano-banana-prompting",
    "name": "Nano Banana Prompting Skill",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/minilozio/nano-banana-prompting",
    "canonicalUrl": "https://clawhub.ai/minilozio/nano-banana-prompting",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/nano-banana-prompting",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=nano-banana-prompting",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "assets/banner.svg",
      "references/prompt-guide.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/nano-banana-prompting"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/nano-banana-prompting",
    "agentPageUrl": "https://openagent3.xyz/skills/nano-banana-prompting/agent",
    "manifestUrl": "https://openagent3.xyz/skills/nano-banana-prompting/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/nano-banana-prompting/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Gemini Image Prompting",
        "body": "This skill transforms simple, natural image requests into optimized structured prompts that produce dramatically better results from Gemini 3 Pro Image.\n\nInstead of sending a plain text prompt (which produces generic, \"AI slop\" results), this skill builds a structured JSON prompt with the right technical details for the detected style — camera specs for photography, art techniques for illustration, render settings for 3D, and more."
      },
      {
        "title": "How to Use",
        "body": "When the user asks you to generate or edit an image:\n\nRead the user's request — understand what they want (subject, mood, style)\nDetect the style — use the Style Detection rules below\nBuild the structured JSON prompt — follow the template for that style\nCall the generator:\n\nuv run {nano-banana-pro-dir}/scripts/generate_image.py \\\n  --prompt '<YOUR_JSON_PROMPT>' \\\n  --filename \"<descriptive-name>.png\" \\\n  --resolution 2K\n\nReplace {nano-banana-pro-dir} with the path to the nano-banana-pro skill (typically bundled with OpenClaw).\n\nFor image editing (user provides a reference image):\n\nuv run {nano-banana-pro-dir}/scripts/generate_image.py \\\n  --prompt '<YOUR_JSON_PROMPT>' \\\n  --filename \"<output-name>.png\" \\\n  -i \"/path/to/reference.png\" \\\n  --resolution 2K"
      },
      {
        "title": "Security Note",
        "body": "The --filename argument should always be a simple file path constructed by the agent (e.g., gecko-running.png). Never pass unsanitized user input directly as the filename. The agent should derive a safe, descriptive filename from the context."
      },
      {
        "title": "Output Location",
        "body": "Save images to the user's Desktop or the path they specify:\n\nDefault: ~/Desktop/<descriptive-name>.png\nUse descriptive filenames: gecko-coding-night.png, not output.png"
      },
      {
        "title": "Style Detection",
        "body": "Detect the style from the user's request. Look for keywords, context, and intent:\n\nStyleTrigger Keywords / ContextCinematic / Photorealistic\"photo\", \"realistic\", \"cinematic\", \"portrait\", \"street\", \"landscape\", real-world scenes, people, animals in real settingsProduct / Studio\"product shot\", \"studio\", \"mockup\", \"packaging\", \"e-commerce\", objects on clean backgroundsStreet / Documentary\"candid\", \"street\", \"reportage\", \"documentary\", \"raw\", urban scenesIllustration / Digital Art\"illustration\", \"digital art\", \"concept art\", \"fantasy art\", \"draw\", \"artwork\"Anime / Manga\"anime\", \"manga\", \"cel shaded\", \"studio ghibli\", Japanese animation style3D / Pixar\"3D\", \"Pixar\", \"render\", \"CGI\", \"clay\", \"isometric\", cartoon charactersWatercolor / Traditional\"watercolor\", \"oil painting\", \"sketch\", \"pencil\", \"pastel\", \"charcoal\", traditional mediaMinimalist / Graphic\"logo\", \"icon\", \"flat\", \"minimal\", \"vector\", \"graphic design\", \"poster\"Surreal / Abstract\"surreal\", \"abstract\", \"dreamlike\", \"psychedelic\", \"impossible\", \"Dalí\"\n\nIf no style is obvious, default to Cinematic / Photorealistic — it's the most versatile and produces the best baseline quality.\n\nIf the user specifies a style explicitly, always respect that over auto-detection."
      },
      {
        "title": "🎬 Cinematic / Photorealistic",
        "body": "{\n  \"instruction\": \"<one-line description of the final image>\",\n  \"subject\": {\n    \"description\": \"<main subject in detail>\",\n    \"clothing\": \"<if applicable>\",\n    \"expression\": \"<facial expression or mood>\",\n    \"pose\": \"<body position, action>\",\n    \"details\": \"<distinguishing features, textures>\"\n  },\n  \"scene\": {\n    \"setting\": \"<location/environment>\",\n    \"key_elements\": \"<important objects in the scene>\",\n    \"background\": \"<what's behind the subject>\",\n    \"foreground\": \"<what's in front, if any>\",\n    \"time_of_day\": \"<morning, golden hour, night, etc.>\"\n  },\n  \"photography\": {\n    \"camera\": \"<Sony A7IV | Hasselblad X2D | Canon R5 | ARRI Alexa 65 | Leica M11>\",\n    \"lens\": \"<24mm f/1.4 | 35mm f/1.4 | 50mm f/1.2 | 85mm f/1.8 | 135mm f/2>\",\n    \"shot_type\": \"<wide | medium | close-up | extreme close-up | aerial | low angle>\",\n    \"depth_of_field\": \"<shallow with bokeh | deep | tilt-shift>\",\n    \"lighting\": \"<natural golden hour | chiaroscuro | rim light | neon | overcast soft | studio three-point>\",\n    \"film_stock\": \"<Kodak Portra 400 | Fujifilm Pro 400H | Kodak Ektar 100 | CineStill 800T | Ilford HP5>\",\n    \"texture\": \"<subtle film grain | clean digital | heavy grain>\"\n  },\n  \"mood\": \"<emotional atmosphere in one sentence>\",\n  \"color_palette\": \"<dominant colors or color grading style>\",\n  \"aspect_ratio\": \"<1:1 | 16:9 | 4:3 | 9:16 | 3:2>\",\n  \"quality\": \"8K, photorealistic, cinematic, RAW photo\",\n  \"negative\": \"no text, no watermark, no deformed faces, no extra limbs, no blurry\"\n}\n\nCamera selection guide:\n\nPortraits → Hasselblad X2D or Canon R5 + 85mm\nStreet/documentary → Leica M11 + 35mm\nLandscapes/cinematic → Sony A7IV + 24mm or ARRI Alexa 65\nNight/low light → Sony A7IV + 50mm f/1.2 + CineStill 800T\nFashion → Hasselblad X2D + 80mm"
      },
      {
        "title": "📸 Product / Studio",
        "body": "{\n  \"instruction\": \"<product shot description>\",\n  \"subject\": {\n    \"product\": \"<item name and type>\",\n    \"material\": \"<glass, metal, fabric, wood, plastic, ceramic>\",\n    \"color\": \"<product colors>\",\n    \"details\": \"<logos, textures, unique features>\"\n  },\n  \"scene\": {\n    \"backdrop\": \"<seamless white | gradient | textured surface | lifestyle context>\",\n    \"surface\": \"<marble | wood | concrete | acrylic | fabric>\",\n    \"props\": \"<complementary objects if any>\"\n  },\n  \"photography\": {\n    \"camera\": \"Hasselblad X2D\",\n    \"lens\": \"90mm f/3.2 macro\",\n    \"shot_type\": \"<hero shot | flat lay | 45-degree | floating | exploded view>\",\n    \"lighting\": \"<softbox | ring light | natural window | dramatic single source | backlit>\",\n    \"reflections\": \"<subtle | mirror-like | none>\",\n    \"depth_of_field\": \"shallow, product sharp, background soft\"\n  },\n  \"mood\": \"<clean and premium | warm and inviting | bold and modern>\",\n  \"color_palette\": \"<brand-aligned colors>\",\n  \"aspect_ratio\": \"1:1\",\n  \"quality\": \"8K, commercial photography, sharp detail, color-accurate\",\n  \"negative\": \"no text, no watermark, no dust, no scratches\"\n}"
      },
      {
        "title": "🖌️ Illustration / Digital Art",
        "body": "{\n  \"instruction\": \"<illustration description>\",\n  \"subject\": {\n    \"character\": \"<character description>\",\n    \"expression\": \"<emotion>\",\n    \"pose\": \"<action or stance>\",\n    \"details\": \"<costume, accessories, distinctive features>\"\n  },\n  \"scene\": {\n    \"setting\": \"<world/environment>\",\n    \"key_elements\": \"<important scene elements>\",\n    \"atmosphere\": \"<fog, particles, light rays, sparks>\"\n  },\n  \"art_style\": {\n    \"medium\": \"<digital painting | concept art | comic book | storybook | gouache>\",\n    \"technique\": \"<cel shading | painterly | line art with color | crosshatching>\",\n    \"reference_artists\": \"<1-2 artist names for style reference>\",\n    \"color_approach\": \"<vibrant saturated | muted earthy | monochromatic | complementary>\"\n  },\n  \"composition\": {\n    \"framing\": \"<rule of thirds | centered | dynamic diagonal | symmetrical>\",\n    \"perspective\": \"<eye level | bird's eye | worm's eye | isometric>\",\n    \"focal_point\": \"<where the eye should go>\"\n  },\n  \"mood\": \"<epic and dramatic | whimsical and playful | dark and moody>\",\n  \"color_palette\": \"<specific colors or palette description>\",\n  \"aspect_ratio\": \"<16:9 | 3:2 | 1:1>\",\n  \"quality\": \"highly detailed illustration, trending on ArtStation, masterpiece\",\n  \"negative\": \"no text, no watermark, no photo-realistic, no AI artifacts\"\n}"
      },
      {
        "title": "🌸 Anime / Manga",
        "body": "{\n  \"instruction\": \"<anime scene description>\",\n  \"subject\": {\n    \"character\": \"<character description>\",\n    \"hair\": \"<style, color>\",\n    \"eyes\": \"<color, expression>\",\n    \"outfit\": \"<clothing details>\",\n    \"pose\": \"<action or expression>\"\n  },\n  \"scene\": {\n    \"setting\": \"<location>\",\n    \"atmosphere\": \"<cherry blossoms, rain, sunset glow, sparkles>\",\n    \"background_style\": \"<detailed | simplified | gradient wash>\"\n  },\n  \"art_style\": {\n    \"studio_reference\": \"<Studio Ghibli | Kyoto Animation | Ufotable | MAPPA | Trigger | Makoto Shinkai>\",\n    \"line_weight\": \"<thin and clean | bold and expressive | variable>\",\n    \"shading\": \"<flat cel | soft gradient | dramatic shadow>\",\n    \"era\": \"<modern anime | 90s retro | 80s vintage>\"\n  },\n  \"composition\": {\n    \"framing\": \"<close-up portrait | action shot | scenic wide | over-the-shoulder>\",\n    \"effects\": \"<speed lines | light flares | motion blur | sparkle overlay>\"\n  },\n  \"mood\": \"<heartwarming | intense action | melancholic | comedic>\",\n  \"color_palette\": \"<pastel soft | vibrant saturated | dark moody | warm sunset>\",\n  \"aspect_ratio\": \"16:9\",\n  \"quality\": \"anime key visual, high detail, studio quality, clean lines\",\n  \"negative\": \"no western cartoon style, no 3D, no photorealistic, no deformed hands\"\n}"
      },
      {
        "title": "🧸 3D / Pixar / CGI",
        "body": "{\n  \"instruction\": \"<3D scene description>\",\n  \"subject\": {\n    \"character\": \"<character description>\",\n    \"material\": \"<clay | plastic | rubber | fur | fabric>\",\n    \"proportions\": \"<chibi | realistic | stylized | exaggerated>\",\n    \"expression\": \"<emotion>\",\n    \"pose\": \"<stance or action>\"\n  },\n  \"scene\": {\n    \"environment\": \"<setting>\",\n    \"props\": \"<objects in scene>\",\n    \"scale\": \"<miniature diorama | life-size | macro>\"\n  },\n  \"render\": {\n    \"engine\": \"<Pixar RenderMan | Blender Cycles | Unreal Engine 5 | Octane>\",\n    \"style\": \"<Pixar | DreamWorks | Aardman claymation | Nendoroid figure>\",\n    \"materials\": \"<subsurface scattering | glossy plastic | matte clay | fabric texture>\",\n    \"lighting\": \"<three-point studio | HDRI environment | dramatic rim | soft ambient>\",\n    \"effects\": \"<ambient occlusion | global illumination | volumetric fog | depth of field>\"\n  },\n  \"mood\": \"<playful and colorful | dramatic and cinematic | cozy and warm>\",\n  \"color_palette\": \"<bright primary | pastel | earthy muted | vibrant candy>\",\n  \"aspect_ratio\": \"16:9\",\n  \"quality\": \"3D render, Pixar quality, high detail, raytraced, 8K\",\n  \"negative\": \"no 2D, no flat, no sketch, no watermark, no text\"\n}"
      },
      {
        "title": "🎨 Watercolor / Traditional Art",
        "body": "{\n  \"instruction\": \"<painting description>\",\n  \"subject\": {\n    \"description\": \"<what to paint>\",\n    \"details\": \"<important visual details>\"\n  },\n  \"scene\": {\n    \"setting\": \"<environment or abstract>\",\n    \"elements\": \"<supporting visual elements>\"\n  },\n  \"traditional_art\": {\n    \"medium\": \"<watercolor | oil paint | acrylic | gouache | pastel | charcoal | pencil | ink wash>\",\n    \"paper\": \"<cold press watercolor | hot press | canvas | toned paper | rice paper>\",\n    \"technique\": \"<wet-on-wet | dry brush | impasto | glazing | stippling | hatching | wash>\",\n    \"brush\": \"<round | flat | fan | palette knife | sponge>\",\n    \"finish\": \"<loose and expressive | tight and detailed | abstract | impressionistic>\"\n  },\n  \"composition\": {\n    \"framing\": \"<centered | rule of thirds | asymmetric>\",\n    \"white_space\": \"<generous margins | edge-to-edge | vignette>\"\n  },\n  \"mood\": \"<serene | vibrant | nostalgic | raw and emotional>\",\n  \"color_palette\": \"<limited palette (3-4 colors) | full spectrum | monochrome wash>\",\n  \"aspect_ratio\": \"3:2\",\n  \"quality\": \"fine art quality, museum worthy, masterful brushwork, visible texture\",\n  \"negative\": \"no digital look, no photorealistic, no text, no watermark, no AI artifacts\"\n}"
      },
      {
        "title": "✏️ Minimalist / Graphic Design",
        "body": "{\n  \"instruction\": \"<design description>\",\n  \"subject\": {\n    \"element\": \"<main visual element>\",\n    \"style\": \"<geometric | organic | typographic | iconographic>\"\n  },\n  \"design\": {\n    \"approach\": \"<flat design | material design | swiss style | brutalist | retro>\",\n    \"grid\": \"<centered | asymmetric | modular grid>\",\n    \"shapes\": \"<circles | rectangles | triangles | organic blobs | line art>\",\n    \"contrast\": \"<high contrast | subtle | duotone>\"\n  },\n  \"color_palette\": \"<2-3 specific colors or palette name>\",\n  \"background\": \"<solid color | gradient | textured | transparent>\",\n  \"aspect_ratio\": \"1:1\",\n  \"quality\": \"clean vector quality, crisp edges, professional graphic design\",\n  \"negative\": \"no photorealistic, no complex textures, no gradients unless specified, no text unless requested\"\n}"
      },
      {
        "title": "🌀 Surreal / Abstract",
        "body": "{\n  \"instruction\": \"<surreal scene description>\",\n  \"subject\": {\n    \"central_element\": \"<main impossible or dreamlike element>\",\n    \"transformation\": \"<how reality is bent or broken>\",\n    \"symbolism\": \"<underlying meaning or motif>\"\n  },\n  \"scene\": {\n    \"reality_level\": \"<slightly off | dreamlike | fully impossible | cosmic>\",\n    \"environment\": \"<melting landscape | infinite space | underwater sky | fractal world>\",\n    \"scale_distortion\": \"<giant small things | tiny big things | impossible geometry>\"\n  },\n  \"art_style\": {\n    \"reference\": \"<Dalí | Magritte | Escher | Beksinski | James Jean | Android Jones>\",\n    \"medium\": \"<hyperrealistic oil | digital surrealism | mixed media | collage>\",\n    \"technique\": \"<photobashing | matte painting | double exposure | glitch>\"\n  },\n  \"mood\": \"<unsettling beauty | peaceful absurdity | cosmic wonder | dark fantasy>\",\n  \"color_palette\": \"<describe the color world>\",\n  \"aspect_ratio\": \"16:9\",\n  \"quality\": \"highly detailed, surrealist masterpiece, museum quality\",\n  \"negative\": \"no text, no watermark, no generic, no stock photo feel\"\n}"
      },
      {
        "title": "Always Do:",
        "body": "Be specific — \"mint-green gecko\" not \"a gecko\", \"warm golden hour\" not \"nice light\"\nInclude negative prompt — always specify what to avoid\nPick an aspect ratio — match the content (landscape 16:9, portrait 9:16, square 1:1)\nAdd sensory details — textures, temperatures, sounds implied visually\nOne focal point — every image needs a clear subject\nMatch quality keywords to style — \"8K photorealistic\" for photos, \"trending on ArtStation\" for illustrations\nColor palette matters — specify colors or a grading reference, don't leave it to chance"
      },
      {
        "title": "Never Do:",
        "body": "❌ Don't include text/words in the image (Gemini renders text poorly)\n❌ Don't over-specify (pick 1 camera, 1 lens, not 3 options)\n❌ Don't mix conflicting styles (\"photorealistic anime\" — pick one)\n❌ Don't use generic prompts (\"a beautiful sunset\" — add specifics)\n❌ Don't forget the negative prompt\n❌ Don't request NSFW content"
      },
      {
        "title": "Resolution Guide:",
        "body": "1K — Quick drafts, thumbnails, iteration\n2K — Social media, general use (best quality/cost ratio)\n4K — Print, hero images, final deliverables"
      },
      {
        "title": "User says: \"make me a gecko eating pizza on a skateboard\"",
        "body": "Detected style: 3D / Pixar (fun character scene)\n\n{\n  \"instruction\": \"A cute mint-green gecko character riding a skateboard while eating a large slice of pepperoni pizza\",\n  \"subject\": {\n    \"character\": \"small mint-green gecko with big expressive pale pink eyes and a wide happy grin\",\n    \"material\": \"smooth glossy skin with subtle subsurface scattering\",\n    \"proportions\": \"stylized chibi, slightly oversized head\",\n    \"expression\": \"pure joy, eyes half-closed savoring the pizza\",\n    \"pose\": \"standing on a moving skateboard, one hand holding pizza slice, cheese stretching\"\n  },\n  \"scene\": {\n    \"environment\": \"sunny Venice Beach boardwalk, palm trees, blue sky\",\n    \"props\": \"worn wooden skateboard with flame decals, pizza box on a nearby bench\",\n    \"scale\": \"life-size character in real-world setting\"\n  },\n  \"render\": {\n    \"engine\": \"Pixar RenderMan\",\n    \"style\": \"Pixar\",\n    \"materials\": \"subsurface scattering on gecko skin, glossy cheese, matte concrete\",\n    \"lighting\": \"warm golden hour sunlight with soft shadows\",\n    \"effects\": \"subtle motion blur on skateboard wheels, depth of field\"\n  },\n  \"mood\": \"carefree summer vibes, playful and fun\",\n  \"color_palette\": \"warm yellows, mint green, sky blue, pizza orange\",\n  \"aspect_ratio\": \"16:9\",\n  \"quality\": \"3D render, Pixar quality, high detail, raytraced, 8K\",\n  \"negative\": \"no 2D, no flat, no text, no watermark, no dark mood\"\n}"
      },
      {
        "title": "User says: \"a samurai in the rain, dramatic\"",
        "body": "Detected style: Cinematic / Photorealistic\n\n{\n  \"instruction\": \"A lone samurai standing in heavy rain at night, katana drawn, cinematic and dramatic\",\n  \"subject\": {\n    \"description\": \"weathered samurai warrior, middle-aged, battle-scarred\",\n    \"clothing\": \"dark indigo hakama and kimono, worn leather chest armor, straw sandals\",\n    \"expression\": \"intense focus, eyes locked forward, jaw set\",\n    \"pose\": \"standing in chudan-no-kamae stance, katana held at center\",\n    \"details\": \"rain droplets on blade edge catching light, wet hair tied in topknot\"\n  },\n  \"scene\": {\n    \"setting\": \"abandoned temple courtyard with stone lanterns\",\n    \"key_elements\": \"heavy rainfall, puddles reflecting lantern light\",\n    \"background\": \"dark silhouette of temple roof, mist rolling between pillars\",\n    \"foreground\": \"rain splashing on stone ground, shallow puddles\",\n    \"time_of_day\": \"deep night, moonless\"\n  },\n  \"photography\": {\n    \"camera\": \"ARRI Alexa 65\",\n    \"lens\": \"50mm f/1.2\",\n    \"shot_type\": \"medium shot, slightly low angle\",\n    \"depth_of_field\": \"shallow, rain drops in foreground out of focus\",\n    \"lighting\": \"single warm lantern as key light from left, cool rain backlit by distant light, rim light on shoulders\",\n    \"film_stock\": \"CineStill 800T\",\n    \"texture\": \"subtle film grain\"\n  },\n  \"mood\": \"tense calm before the storm, honor and solitude\",\n  \"color_palette\": \"deep indigo, warm amber lantern glow, cool steel grey\",\n  \"aspect_ratio\": \"16:9\",\n  \"quality\": \"8K, photorealistic, cinematic, RAW photo\",\n  \"negative\": \"no text, no watermark, no deformed faces, no blurry, no anime style\"\n}"
      },
      {
        "title": "User says: \"paint me some sunflowers, like watercolor\"",
        "body": "Detected style: Watercolor / Traditional\n\n{\n  \"instruction\": \"A loose, expressive watercolor painting of sunflowers in a ceramic vase\",\n  \"subject\": {\n    \"description\": \"five sunflowers in various stages of bloom, some drooping slightly\",\n    \"details\": \"petals ranging from bright yellow to burnt sienna, dark brown seed heads with visible texture\"\n  },\n  \"scene\": {\n    \"setting\": \"simple tabletop, implied window light\",\n    \"elements\": \"rustic blue ceramic vase, a few fallen petals on the surface, soft shadow\"\n  },\n  \"traditional_art\": {\n    \"medium\": \"watercolor\",\n    \"paper\": \"cold press watercolor paper, visible tooth texture\",\n    \"technique\": \"wet-on-wet for soft petal edges, dry brush for seed head texture, controlled wash for background\",\n    \"brush\": \"large round for washes, small round for details\",\n    \"finish\": \"loose and expressive, some areas left unfinished showing white paper\"\n  },\n  \"composition\": {\n    \"framing\": \"slightly off-center, flowers extending above frame edge\",\n    \"white_space\": \"generous margins, breathing room around the vase\"\n  },\n  \"mood\": \"warm, nostalgic, peaceful afternoon light\",\n  \"color_palette\": \"cadmium yellow, burnt sienna, cerulean blue, sap green — limited palette\",\n  \"aspect_ratio\": \"3:2\",\n  \"quality\": \"fine art quality, museum worthy, masterful brushwork, visible paper texture\",\n  \"negative\": \"no digital look, no photorealistic, no text, no watermark, no harsh edges\"\n}"
      },
      {
        "title": "Editing / Reference Images",
        "body": "When the user provides a reference image to edit or use as inspiration:\n\nInclude the image with -i flag\nDescribe what to change in the instruction field\nKeep the JSON structure — same style detection and template applies\nBe explicit about what to preserve vs change\n\nuv run {nano-banana-pro-dir}/scripts/generate_image.py \\\n  --prompt '<JSON_PROMPT>' \\\n  --filename \"edited-output.png\" \\\n  -i \"/path/to/original.png\" \\\n  --resolution 2K\n\nFor character consistency across multiple images, always include the same reference image(s) and describe the character identically in the subject field."
      },
      {
        "title": "Quick Reference: Style → Key Fields",
        "body": "StyleMust-Have FieldsKey DifferentiatorCinematicphotography.camera, lens, film_stockReal camera specs sell the realismProductphotography.lighting, surface, reflectionsClean, commercial precisionIllustrationart_style.medium, technique, reference_artistsArtist references anchor the styleAnimeart_style.studio_reference, line_weight, shadingStudio name = instant style match3D/Pixarrender.engine, style, materialsRender engine + material physicsWatercolortraditional_art.medium, paper, techniquePaper texture + brush techniqueMinimalistdesign.approach, shapes, contrastLess is more, precision mattersSurrealart_style.reference, reality_level, transformationNamed surrealist = instant vibe"
      }
    ],
    "body": "Gemini Image Prompting\n\nThis skill transforms simple, natural image requests into optimized structured prompts that produce dramatically better results from Gemini 3 Pro Image.\n\nInstead of sending a plain text prompt (which produces generic, \"AI slop\" results), this skill builds a structured JSON prompt with the right technical details for the detected style — camera specs for photography, art techniques for illustration, render settings for 3D, and more.\n\nHow to Use\n\nWhen the user asks you to generate or edit an image:\n\nRead the user's request — understand what they want (subject, mood, style)\nDetect the style — use the Style Detection rules below\nBuild the structured JSON prompt — follow the template for that style\nCall the generator:\nuv run {nano-banana-pro-dir}/scripts/generate_image.py \\\n  --prompt '<YOUR_JSON_PROMPT>' \\\n  --filename \"<descriptive-name>.png\" \\\n  --resolution 2K\n\n\nReplace {nano-banana-pro-dir} with the path to the nano-banana-pro skill (typically bundled with OpenClaw).\n\nFor image editing (user provides a reference image):\n\nuv run {nano-banana-pro-dir}/scripts/generate_image.py \\\n  --prompt '<YOUR_JSON_PROMPT>' \\\n  --filename \"<output-name>.png\" \\\n  -i \"/path/to/reference.png\" \\\n  --resolution 2K\n\nSecurity Note\n\nThe --filename argument should always be a simple file path constructed by the agent (e.g., gecko-running.png). Never pass unsanitized user input directly as the filename. The agent should derive a safe, descriptive filename from the context.\n\nOutput Location\n\nSave images to the user's Desktop or the path they specify:\n\nDefault: ~/Desktop/<descriptive-name>.png\nUse descriptive filenames: gecko-coding-night.png, not output.png\nStyle Detection\n\nDetect the style from the user's request. Look for keywords, context, and intent:\n\nStyle\tTrigger Keywords / Context\nCinematic / Photorealistic\t\"photo\", \"realistic\", \"cinematic\", \"portrait\", \"street\", \"landscape\", real-world scenes, people, animals in real settings\nProduct / Studio\t\"product shot\", \"studio\", \"mockup\", \"packaging\", \"e-commerce\", objects on clean backgrounds\nStreet / Documentary\t\"candid\", \"street\", \"reportage\", \"documentary\", \"raw\", urban scenes\nIllustration / Digital Art\t\"illustration\", \"digital art\", \"concept art\", \"fantasy art\", \"draw\", \"artwork\"\nAnime / Manga\t\"anime\", \"manga\", \"cel shaded\", \"studio ghibli\", Japanese animation style\n3D / Pixar\t\"3D\", \"Pixar\", \"render\", \"CGI\", \"clay\", \"isometric\", cartoon characters\nWatercolor / Traditional\t\"watercolor\", \"oil painting\", \"sketch\", \"pencil\", \"pastel\", \"charcoal\", traditional media\nMinimalist / Graphic\t\"logo\", \"icon\", \"flat\", \"minimal\", \"vector\", \"graphic design\", \"poster\"\nSurreal / Abstract\t\"surreal\", \"abstract\", \"dreamlike\", \"psychedelic\", \"impossible\", \"Dalí\"\n\nIf no style is obvious, default to Cinematic / Photorealistic — it's the most versatile and produces the best baseline quality.\n\nIf the user specifies a style explicitly, always respect that over auto-detection.\n\nStructured Prompt Templates\n🎬 Cinematic / Photorealistic\n{\n  \"instruction\": \"<one-line description of the final image>\",\n  \"subject\": {\n    \"description\": \"<main subject in detail>\",\n    \"clothing\": \"<if applicable>\",\n    \"expression\": \"<facial expression or mood>\",\n    \"pose\": \"<body position, action>\",\n    \"details\": \"<distinguishing features, textures>\"\n  },\n  \"scene\": {\n    \"setting\": \"<location/environment>\",\n    \"key_elements\": \"<important objects in the scene>\",\n    \"background\": \"<what's behind the subject>\",\n    \"foreground\": \"<what's in front, if any>\",\n    \"time_of_day\": \"<morning, golden hour, night, etc.>\"\n  },\n  \"photography\": {\n    \"camera\": \"<Sony A7IV | Hasselblad X2D | Canon R5 | ARRI Alexa 65 | Leica M11>\",\n    \"lens\": \"<24mm f/1.4 | 35mm f/1.4 | 50mm f/1.2 | 85mm f/1.8 | 135mm f/2>\",\n    \"shot_type\": \"<wide | medium | close-up | extreme close-up | aerial | low angle>\",\n    \"depth_of_field\": \"<shallow with bokeh | deep | tilt-shift>\",\n    \"lighting\": \"<natural golden hour | chiaroscuro | rim light | neon | overcast soft | studio three-point>\",\n    \"film_stock\": \"<Kodak Portra 400 | Fujifilm Pro 400H | Kodak Ektar 100 | CineStill 800T | Ilford HP5>\",\n    \"texture\": \"<subtle film grain | clean digital | heavy grain>\"\n  },\n  \"mood\": \"<emotional atmosphere in one sentence>\",\n  \"color_palette\": \"<dominant colors or color grading style>\",\n  \"aspect_ratio\": \"<1:1 | 16:9 | 4:3 | 9:16 | 3:2>\",\n  \"quality\": \"8K, photorealistic, cinematic, RAW photo\",\n  \"negative\": \"no text, no watermark, no deformed faces, no extra limbs, no blurry\"\n}\n\n\nCamera selection guide:\n\nPortraits → Hasselblad X2D or Canon R5 + 85mm\nStreet/documentary → Leica M11 + 35mm\nLandscapes/cinematic → Sony A7IV + 24mm or ARRI Alexa 65\nNight/low light → Sony A7IV + 50mm f/1.2 + CineStill 800T\nFashion → Hasselblad X2D + 80mm\n📸 Product / Studio\n{\n  \"instruction\": \"<product shot description>\",\n  \"subject\": {\n    \"product\": \"<item name and type>\",\n    \"material\": \"<glass, metal, fabric, wood, plastic, ceramic>\",\n    \"color\": \"<product colors>\",\n    \"details\": \"<logos, textures, unique features>\"\n  },\n  \"scene\": {\n    \"backdrop\": \"<seamless white | gradient | textured surface | lifestyle context>\",\n    \"surface\": \"<marble | wood | concrete | acrylic | fabric>\",\n    \"props\": \"<complementary objects if any>\"\n  },\n  \"photography\": {\n    \"camera\": \"Hasselblad X2D\",\n    \"lens\": \"90mm f/3.2 macro\",\n    \"shot_type\": \"<hero shot | flat lay | 45-degree | floating | exploded view>\",\n    \"lighting\": \"<softbox | ring light | natural window | dramatic single source | backlit>\",\n    \"reflections\": \"<subtle | mirror-like | none>\",\n    \"depth_of_field\": \"shallow, product sharp, background soft\"\n  },\n  \"mood\": \"<clean and premium | warm and inviting | bold and modern>\",\n  \"color_palette\": \"<brand-aligned colors>\",\n  \"aspect_ratio\": \"1:1\",\n  \"quality\": \"8K, commercial photography, sharp detail, color-accurate\",\n  \"negative\": \"no text, no watermark, no dust, no scratches\"\n}\n\n🖌️ Illustration / Digital Art\n{\n  \"instruction\": \"<illustration description>\",\n  \"subject\": {\n    \"character\": \"<character description>\",\n    \"expression\": \"<emotion>\",\n    \"pose\": \"<action or stance>\",\n    \"details\": \"<costume, accessories, distinctive features>\"\n  },\n  \"scene\": {\n    \"setting\": \"<world/environment>\",\n    \"key_elements\": \"<important scene elements>\",\n    \"atmosphere\": \"<fog, particles, light rays, sparks>\"\n  },\n  \"art_style\": {\n    \"medium\": \"<digital painting | concept art | comic book | storybook | gouache>\",\n    \"technique\": \"<cel shading | painterly | line art with color | crosshatching>\",\n    \"reference_artists\": \"<1-2 artist names for style reference>\",\n    \"color_approach\": \"<vibrant saturated | muted earthy | monochromatic | complementary>\"\n  },\n  \"composition\": {\n    \"framing\": \"<rule of thirds | centered | dynamic diagonal | symmetrical>\",\n    \"perspective\": \"<eye level | bird's eye | worm's eye | isometric>\",\n    \"focal_point\": \"<where the eye should go>\"\n  },\n  \"mood\": \"<epic and dramatic | whimsical and playful | dark and moody>\",\n  \"color_palette\": \"<specific colors or palette description>\",\n  \"aspect_ratio\": \"<16:9 | 3:2 | 1:1>\",\n  \"quality\": \"highly detailed illustration, trending on ArtStation, masterpiece\",\n  \"negative\": \"no text, no watermark, no photo-realistic, no AI artifacts\"\n}\n\n🌸 Anime / Manga\n{\n  \"instruction\": \"<anime scene description>\",\n  \"subject\": {\n    \"character\": \"<character description>\",\n    \"hair\": \"<style, color>\",\n    \"eyes\": \"<color, expression>\",\n    \"outfit\": \"<clothing details>\",\n    \"pose\": \"<action or expression>\"\n  },\n  \"scene\": {\n    \"setting\": \"<location>\",\n    \"atmosphere\": \"<cherry blossoms, rain, sunset glow, sparkles>\",\n    \"background_style\": \"<detailed | simplified | gradient wash>\"\n  },\n  \"art_style\": {\n    \"studio_reference\": \"<Studio Ghibli | Kyoto Animation | Ufotable | MAPPA | Trigger | Makoto Shinkai>\",\n    \"line_weight\": \"<thin and clean | bold and expressive | variable>\",\n    \"shading\": \"<flat cel | soft gradient | dramatic shadow>\",\n    \"era\": \"<modern anime | 90s retro | 80s vintage>\"\n  },\n  \"composition\": {\n    \"framing\": \"<close-up portrait | action shot | scenic wide | over-the-shoulder>\",\n    \"effects\": \"<speed lines | light flares | motion blur | sparkle overlay>\"\n  },\n  \"mood\": \"<heartwarming | intense action | melancholic | comedic>\",\n  \"color_palette\": \"<pastel soft | vibrant saturated | dark moody | warm sunset>\",\n  \"aspect_ratio\": \"16:9\",\n  \"quality\": \"anime key visual, high detail, studio quality, clean lines\",\n  \"negative\": \"no western cartoon style, no 3D, no photorealistic, no deformed hands\"\n}\n\n🧸 3D / Pixar / CGI\n{\n  \"instruction\": \"<3D scene description>\",\n  \"subject\": {\n    \"character\": \"<character description>\",\n    \"material\": \"<clay | plastic | rubber | fur | fabric>\",\n    \"proportions\": \"<chibi | realistic | stylized | exaggerated>\",\n    \"expression\": \"<emotion>\",\n    \"pose\": \"<stance or action>\"\n  },\n  \"scene\": {\n    \"environment\": \"<setting>\",\n    \"props\": \"<objects in scene>\",\n    \"scale\": \"<miniature diorama | life-size | macro>\"\n  },\n  \"render\": {\n    \"engine\": \"<Pixar RenderMan | Blender Cycles | Unreal Engine 5 | Octane>\",\n    \"style\": \"<Pixar | DreamWorks | Aardman claymation | Nendoroid figure>\",\n    \"materials\": \"<subsurface scattering | glossy plastic | matte clay | fabric texture>\",\n    \"lighting\": \"<three-point studio | HDRI environment | dramatic rim | soft ambient>\",\n    \"effects\": \"<ambient occlusion | global illumination | volumetric fog | depth of field>\"\n  },\n  \"mood\": \"<playful and colorful | dramatic and cinematic | cozy and warm>\",\n  \"color_palette\": \"<bright primary | pastel | earthy muted | vibrant candy>\",\n  \"aspect_ratio\": \"16:9\",\n  \"quality\": \"3D render, Pixar quality, high detail, raytraced, 8K\",\n  \"negative\": \"no 2D, no flat, no sketch, no watermark, no text\"\n}\n\n🎨 Watercolor / Traditional Art\n{\n  \"instruction\": \"<painting description>\",\n  \"subject\": {\n    \"description\": \"<what to paint>\",\n    \"details\": \"<important visual details>\"\n  },\n  \"scene\": {\n    \"setting\": \"<environment or abstract>\",\n    \"elements\": \"<supporting visual elements>\"\n  },\n  \"traditional_art\": {\n    \"medium\": \"<watercolor | oil paint | acrylic | gouache | pastel | charcoal | pencil | ink wash>\",\n    \"paper\": \"<cold press watercolor | hot press | canvas | toned paper | rice paper>\",\n    \"technique\": \"<wet-on-wet | dry brush | impasto | glazing | stippling | hatching | wash>\",\n    \"brush\": \"<round | flat | fan | palette knife | sponge>\",\n    \"finish\": \"<loose and expressive | tight and detailed | abstract | impressionistic>\"\n  },\n  \"composition\": {\n    \"framing\": \"<centered | rule of thirds | asymmetric>\",\n    \"white_space\": \"<generous margins | edge-to-edge | vignette>\"\n  },\n  \"mood\": \"<serene | vibrant | nostalgic | raw and emotional>\",\n  \"color_palette\": \"<limited palette (3-4 colors) | full spectrum | monochrome wash>\",\n  \"aspect_ratio\": \"3:2\",\n  \"quality\": \"fine art quality, museum worthy, masterful brushwork, visible texture\",\n  \"negative\": \"no digital look, no photorealistic, no text, no watermark, no AI artifacts\"\n}\n\n✏️ Minimalist / Graphic Design\n{\n  \"instruction\": \"<design description>\",\n  \"subject\": {\n    \"element\": \"<main visual element>\",\n    \"style\": \"<geometric | organic | typographic | iconographic>\"\n  },\n  \"design\": {\n    \"approach\": \"<flat design | material design | swiss style | brutalist | retro>\",\n    \"grid\": \"<centered | asymmetric | modular grid>\",\n    \"shapes\": \"<circles | rectangles | triangles | organic blobs | line art>\",\n    \"contrast\": \"<high contrast | subtle | duotone>\"\n  },\n  \"color_palette\": \"<2-3 specific colors or palette name>\",\n  \"background\": \"<solid color | gradient | textured | transparent>\",\n  \"aspect_ratio\": \"1:1\",\n  \"quality\": \"clean vector quality, crisp edges, professional graphic design\",\n  \"negative\": \"no photorealistic, no complex textures, no gradients unless specified, no text unless requested\"\n}\n\n🌀 Surreal / Abstract\n{\n  \"instruction\": \"<surreal scene description>\",\n  \"subject\": {\n    \"central_element\": \"<main impossible or dreamlike element>\",\n    \"transformation\": \"<how reality is bent or broken>\",\n    \"symbolism\": \"<underlying meaning or motif>\"\n  },\n  \"scene\": {\n    \"reality_level\": \"<slightly off | dreamlike | fully impossible | cosmic>\",\n    \"environment\": \"<melting landscape | infinite space | underwater sky | fractal world>\",\n    \"scale_distortion\": \"<giant small things | tiny big things | impossible geometry>\"\n  },\n  \"art_style\": {\n    \"reference\": \"<Dalí | Magritte | Escher | Beksinski | James Jean | Android Jones>\",\n    \"medium\": \"<hyperrealistic oil | digital surrealism | mixed media | collage>\",\n    \"technique\": \"<photobashing | matte painting | double exposure | glitch>\"\n  },\n  \"mood\": \"<unsettling beauty | peaceful absurdity | cosmic wonder | dark fantasy>\",\n  \"color_palette\": \"<describe the color world>\",\n  \"aspect_ratio\": \"16:9\",\n  \"quality\": \"highly detailed, surrealist masterpiece, museum quality\",\n  \"negative\": \"no text, no watermark, no generic, no stock photo feel\"\n}\n\nPrompting Rules (ALL styles)\nAlways Do:\nBe specific — \"mint-green gecko\" not \"a gecko\", \"warm golden hour\" not \"nice light\"\nInclude negative prompt — always specify what to avoid\nPick an aspect ratio — match the content (landscape 16:9, portrait 9:16, square 1:1)\nAdd sensory details — textures, temperatures, sounds implied visually\nOne focal point — every image needs a clear subject\nMatch quality keywords to style — \"8K photorealistic\" for photos, \"trending on ArtStation\" for illustrations\nColor palette matters — specify colors or a grading reference, don't leave it to chance\nNever Do:\n❌ Don't include text/words in the image (Gemini renders text poorly)\n❌ Don't over-specify (pick 1 camera, 1 lens, not 3 options)\n❌ Don't mix conflicting styles (\"photorealistic anime\" — pick one)\n❌ Don't use generic prompts (\"a beautiful sunset\" — add specifics)\n❌ Don't forget the negative prompt\n❌ Don't request NSFW content\nResolution Guide:\n1K — Quick drafts, thumbnails, iteration\n2K — Social media, general use (best quality/cost ratio)\n4K — Print, hero images, final deliverables\nExamples\nUser says: \"make me a gecko eating pizza on a skateboard\"\n\nDetected style: 3D / Pixar (fun character scene)\n\n{\n  \"instruction\": \"A cute mint-green gecko character riding a skateboard while eating a large slice of pepperoni pizza\",\n  \"subject\": {\n    \"character\": \"small mint-green gecko with big expressive pale pink eyes and a wide happy grin\",\n    \"material\": \"smooth glossy skin with subtle subsurface scattering\",\n    \"proportions\": \"stylized chibi, slightly oversized head\",\n    \"expression\": \"pure joy, eyes half-closed savoring the pizza\",\n    \"pose\": \"standing on a moving skateboard, one hand holding pizza slice, cheese stretching\"\n  },\n  \"scene\": {\n    \"environment\": \"sunny Venice Beach boardwalk, palm trees, blue sky\",\n    \"props\": \"worn wooden skateboard with flame decals, pizza box on a nearby bench\",\n    \"scale\": \"life-size character in real-world setting\"\n  },\n  \"render\": {\n    \"engine\": \"Pixar RenderMan\",\n    \"style\": \"Pixar\",\n    \"materials\": \"subsurface scattering on gecko skin, glossy cheese, matte concrete\",\n    \"lighting\": \"warm golden hour sunlight with soft shadows\",\n    \"effects\": \"subtle motion blur on skateboard wheels, depth of field\"\n  },\n  \"mood\": \"carefree summer vibes, playful and fun\",\n  \"color_palette\": \"warm yellows, mint green, sky blue, pizza orange\",\n  \"aspect_ratio\": \"16:9\",\n  \"quality\": \"3D render, Pixar quality, high detail, raytraced, 8K\",\n  \"negative\": \"no 2D, no flat, no text, no watermark, no dark mood\"\n}\n\nUser says: \"a samurai in the rain, dramatic\"\n\nDetected style: Cinematic / Photorealistic\n\n{\n  \"instruction\": \"A lone samurai standing in heavy rain at night, katana drawn, cinematic and dramatic\",\n  \"subject\": {\n    \"description\": \"weathered samurai warrior, middle-aged, battle-scarred\",\n    \"clothing\": \"dark indigo hakama and kimono, worn leather chest armor, straw sandals\",\n    \"expression\": \"intense focus, eyes locked forward, jaw set\",\n    \"pose\": \"standing in chudan-no-kamae stance, katana held at center\",\n    \"details\": \"rain droplets on blade edge catching light, wet hair tied in topknot\"\n  },\n  \"scene\": {\n    \"setting\": \"abandoned temple courtyard with stone lanterns\",\n    \"key_elements\": \"heavy rainfall, puddles reflecting lantern light\",\n    \"background\": \"dark silhouette of temple roof, mist rolling between pillars\",\n    \"foreground\": \"rain splashing on stone ground, shallow puddles\",\n    \"time_of_day\": \"deep night, moonless\"\n  },\n  \"photography\": {\n    \"camera\": \"ARRI Alexa 65\",\n    \"lens\": \"50mm f/1.2\",\n    \"shot_type\": \"medium shot, slightly low angle\",\n    \"depth_of_field\": \"shallow, rain drops in foreground out of focus\",\n    \"lighting\": \"single warm lantern as key light from left, cool rain backlit by distant light, rim light on shoulders\",\n    \"film_stock\": \"CineStill 800T\",\n    \"texture\": \"subtle film grain\"\n  },\n  \"mood\": \"tense calm before the storm, honor and solitude\",\n  \"color_palette\": \"deep indigo, warm amber lantern glow, cool steel grey\",\n  \"aspect_ratio\": \"16:9\",\n  \"quality\": \"8K, photorealistic, cinematic, RAW photo\",\n  \"negative\": \"no text, no watermark, no deformed faces, no blurry, no anime style\"\n}\n\nUser says: \"paint me some sunflowers, like watercolor\"\n\nDetected style: Watercolor / Traditional\n\n{\n  \"instruction\": \"A loose, expressive watercolor painting of sunflowers in a ceramic vase\",\n  \"subject\": {\n    \"description\": \"five sunflowers in various stages of bloom, some drooping slightly\",\n    \"details\": \"petals ranging from bright yellow to burnt sienna, dark brown seed heads with visible texture\"\n  },\n  \"scene\": {\n    \"setting\": \"simple tabletop, implied window light\",\n    \"elements\": \"rustic blue ceramic vase, a few fallen petals on the surface, soft shadow\"\n  },\n  \"traditional_art\": {\n    \"medium\": \"watercolor\",\n    \"paper\": \"cold press watercolor paper, visible tooth texture\",\n    \"technique\": \"wet-on-wet for soft petal edges, dry brush for seed head texture, controlled wash for background\",\n    \"brush\": \"large round for washes, small round for details\",\n    \"finish\": \"loose and expressive, some areas left unfinished showing white paper\"\n  },\n  \"composition\": {\n    \"framing\": \"slightly off-center, flowers extending above frame edge\",\n    \"white_space\": \"generous margins, breathing room around the vase\"\n  },\n  \"mood\": \"warm, nostalgic, peaceful afternoon light\",\n  \"color_palette\": \"cadmium yellow, burnt sienna, cerulean blue, sap green — limited palette\",\n  \"aspect_ratio\": \"3:2\",\n  \"quality\": \"fine art quality, museum worthy, masterful brushwork, visible paper texture\",\n  \"negative\": \"no digital look, no photorealistic, no text, no watermark, no harsh edges\"\n}\n\nEditing / Reference Images\n\nWhen the user provides a reference image to edit or use as inspiration:\n\nInclude the image with -i flag\nDescribe what to change in the instruction field\nKeep the JSON structure — same style detection and template applies\nBe explicit about what to preserve vs change\nuv run {nano-banana-pro-dir}/scripts/generate_image.py \\\n  --prompt '<JSON_PROMPT>' \\\n  --filename \"edited-output.png\" \\\n  -i \"/path/to/original.png\" \\\n  --resolution 2K\n\n\nFor character consistency across multiple images, always include the same reference image(s) and describe the character identically in the subject field.\n\nQuick Reference: Style → Key Fields\nStyle\tMust-Have Fields\tKey Differentiator\nCinematic\tphotography.camera, lens, film_stock\tReal camera specs sell the realism\nProduct\tphotography.lighting, surface, reflections\tClean, commercial precision\nIllustration\tart_style.medium, technique, reference_artists\tArtist references anchor the style\nAnime\tart_style.studio_reference, line_weight, shading\tStudio name = instant style match\n3D/Pixar\trender.engine, style, materials\tRender engine + material physics\nWatercolor\ttraditional_art.medium, paper, technique\tPaper texture + brush technique\nMinimalist\tdesign.approach, shapes, contrast\tLess is more, precision matters\nSurreal\tart_style.reference, reality_level, transformation\tNamed surrealist = instant vibe"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/minilozio/nano-banana-prompting",
    "publisherUrl": "https://clawhub.ai/minilozio/nano-banana-prompting",
    "owner": "minilozio",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/nano-banana-prompting",
    "downloadUrl": "https://openagent3.xyz/downloads/nano-banana-prompting",
    "agentUrl": "https://openagent3.xyz/skills/nano-banana-prompting/agent",
    "manifestUrl": "https://openagent3.xyz/skills/nano-banana-prompting/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/nano-banana-prompting/agent.md"
  }
}