← All skills
Tencent SkillHub Β· AI

Nano Banana Prompting Skill

Transform natural language image requests into optimized structured prompts for Gemini image generation. Automatically detects style and builds the perfect p...

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Transform natural language image requests into optimized structured prompts for Gemini image generation. Automatically detects style and builds the perfect p...

⬇ 0 downloads β˜… 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
README.md, SKILL.md, assets/banner.svg, references/prompt-guide.md

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

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.

Upgrade existing

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.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.0.1

Documentation

ClawHub primary doc Primary doc: SKILL.md 21 sections Open source page

Gemini Image Prompting

This skill transforms simple, natural image requests into optimized structured prompts that produce dramatically better results from Gemini 3 Pro Image. Instead 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.

How to Use

When the user asks you to generate or edit an image: Read the user's request β€” understand what they want (subject, mood, style) Detect the style β€” use the Style Detection rules below Build the structured JSON prompt β€” follow the template for that style Call the generator: uv run {nano-banana-pro-dir}/scripts/generate_image.py \ --prompt '<YOUR_JSON_PROMPT>' \ --filename "<descriptive-name>.png" \ --resolution 2K Replace {nano-banana-pro-dir} with the path to the nano-banana-pro skill (typically bundled with OpenClaw). For image editing (user provides a reference image): uv run {nano-banana-pro-dir}/scripts/generate_image.py \ --prompt '<YOUR_JSON_PROMPT>' \ --filename "<output-name>.png" \ -i "/path/to/reference.png" \ --resolution 2K

Security Note

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.

Output Location

Save images to the user's Desktop or the path they specify: Default: ~/Desktop/<descriptive-name>.png Use descriptive filenames: gecko-coding-night.png, not output.png

Style Detection

Detect the style from the user's request. Look for keywords, context, and intent: StyleTrigger 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Γ­" If no style is obvious, default to Cinematic / Photorealistic β€” it's the most versatile and produces the best baseline quality. If the user specifies a style explicitly, always respect that over auto-detection.

🎬 Cinematic / Photorealistic

{ "instruction": "<one-line description of the final image>", "subject": { "description": "<main subject in detail>", "clothing": "<if applicable>", "expression": "<facial expression or mood>", "pose": "<body position, action>", "details": "<distinguishing features, textures>" }, "scene": { "setting": "<location/environment>", "key_elements": "<important objects in the scene>", "background": "<what's behind the subject>", "foreground": "<what's in front, if any>", "time_of_day": "<morning, golden hour, night, etc.>" }, "photography": { "camera": "<Sony A7IV | Hasselblad X2D | Canon R5 | ARRI Alexa 65 | Leica M11>", "lens": "<24mm f/1.4 | 35mm f/1.4 | 50mm f/1.2 | 85mm f/1.8 | 135mm f/2>", "shot_type": "<wide | medium | close-up | extreme close-up | aerial | low angle>", "depth_of_field": "<shallow with bokeh | deep | tilt-shift>", "lighting": "<natural golden hour | chiaroscuro | rim light | neon | overcast soft | studio three-point>", "film_stock": "<Kodak Portra 400 | Fujifilm Pro 400H | Kodak Ektar 100 | CineStill 800T | Ilford HP5>", "texture": "<subtle film grain | clean digital | heavy grain>" }, "mood": "<emotional atmosphere in one sentence>", "color_palette": "<dominant colors or color grading style>", "aspect_ratio": "<1:1 | 16:9 | 4:3 | 9:16 | 3:2>", "quality": "8K, photorealistic, cinematic, RAW photo", "negative": "no text, no watermark, no deformed faces, no extra limbs, no blurry" } Camera selection guide: Portraits β†’ Hasselblad X2D or Canon R5 + 85mm Street/documentary β†’ Leica M11 + 35mm Landscapes/cinematic β†’ Sony A7IV + 24mm or ARRI Alexa 65 Night/low light β†’ Sony A7IV + 50mm f/1.2 + CineStill 800T Fashion β†’ Hasselblad X2D + 80mm

πŸ“Έ Product / Studio

{ "instruction": "<product shot description>", "subject": { "product": "<item name and type>", "material": "<glass, metal, fabric, wood, plastic, ceramic>", "color": "<product colors>", "details": "<logos, textures, unique features>" }, "scene": { "backdrop": "<seamless white | gradient | textured surface | lifestyle context>", "surface": "<marble | wood | concrete | acrylic | fabric>", "props": "<complementary objects if any>" }, "photography": { "camera": "Hasselblad X2D", "lens": "90mm f/3.2 macro", "shot_type": "<hero shot | flat lay | 45-degree | floating | exploded view>", "lighting": "<softbox | ring light | natural window | dramatic single source | backlit>", "reflections": "<subtle | mirror-like | none>", "depth_of_field": "shallow, product sharp, background soft" }, "mood": "<clean and premium | warm and inviting | bold and modern>", "color_palette": "<brand-aligned colors>", "aspect_ratio": "1:1", "quality": "8K, commercial photography, sharp detail, color-accurate", "negative": "no text, no watermark, no dust, no scratches" }

πŸ–ŒοΈ Illustration / Digital Art

{ "instruction": "<illustration description>", "subject": { "character": "<character description>", "expression": "<emotion>", "pose": "<action or stance>", "details": "<costume, accessories, distinctive features>" }, "scene": { "setting": "<world/environment>", "key_elements": "<important scene elements>", "atmosphere": "<fog, particles, light rays, sparks>" }, "art_style": { "medium": "<digital painting | concept art | comic book | storybook | gouache>", "technique": "<cel shading | painterly | line art with color | crosshatching>", "reference_artists": "<1-2 artist names for style reference>", "color_approach": "<vibrant saturated | muted earthy | monochromatic | complementary>" }, "composition": { "framing": "<rule of thirds | centered | dynamic diagonal | symmetrical>", "perspective": "<eye level | bird's eye | worm's eye | isometric>", "focal_point": "<where the eye should go>" }, "mood": "<epic and dramatic | whimsical and playful | dark and moody>", "color_palette": "<specific colors or palette description>", "aspect_ratio": "<16:9 | 3:2 | 1:1>", "quality": "highly detailed illustration, trending on ArtStation, masterpiece", "negative": "no text, no watermark, no photo-realistic, no AI artifacts" }

🌸 Anime / Manga

{ "instruction": "<anime scene description>", "subject": { "character": "<character description>", "hair": "<style, color>", "eyes": "<color, expression>", "outfit": "<clothing details>", "pose": "<action or expression>" }, "scene": { "setting": "<location>", "atmosphere": "<cherry blossoms, rain, sunset glow, sparkles>", "background_style": "<detailed | simplified | gradient wash>" }, "art_style": { "studio_reference": "<Studio Ghibli | Kyoto Animation | Ufotable | MAPPA | Trigger | Makoto Shinkai>", "line_weight": "<thin and clean | bold and expressive | variable>", "shading": "<flat cel | soft gradient | dramatic shadow>", "era": "<modern anime | 90s retro | 80s vintage>" }, "composition": { "framing": "<close-up portrait | action shot | scenic wide | over-the-shoulder>", "effects": "<speed lines | light flares | motion blur | sparkle overlay>" }, "mood": "<heartwarming | intense action | melancholic | comedic>", "color_palette": "<pastel soft | vibrant saturated | dark moody | warm sunset>", "aspect_ratio": "16:9", "quality": "anime key visual, high detail, studio quality, clean lines", "negative": "no western cartoon style, no 3D, no photorealistic, no deformed hands" }

🧸 3D / Pixar / CGI

{ "instruction": "<3D scene description>", "subject": { "character": "<character description>", "material": "<clay | plastic | rubber | fur | fabric>", "proportions": "<chibi | realistic | stylized | exaggerated>", "expression": "<emotion>", "pose": "<stance or action>" }, "scene": { "environment": "<setting>", "props": "<objects in scene>", "scale": "<miniature diorama | life-size | macro>" }, "render": { "engine": "<Pixar RenderMan | Blender Cycles | Unreal Engine 5 | Octane>", "style": "<Pixar | DreamWorks | Aardman claymation | Nendoroid figure>", "materials": "<subsurface scattering | glossy plastic | matte clay | fabric texture>", "lighting": "<three-point studio | HDRI environment | dramatic rim | soft ambient>", "effects": "<ambient occlusion | global illumination | volumetric fog | depth of field>" }, "mood": "<playful and colorful | dramatic and cinematic | cozy and warm>", "color_palette": "<bright primary | pastel | earthy muted | vibrant candy>", "aspect_ratio": "16:9", "quality": "3D render, Pixar quality, high detail, raytraced, 8K", "negative": "no 2D, no flat, no sketch, no watermark, no text" }

🎨 Watercolor / Traditional Art

{ "instruction": "<painting description>", "subject": { "description": "<what to paint>", "details": "<important visual details>" }, "scene": { "setting": "<environment or abstract>", "elements": "<supporting visual elements>" }, "traditional_art": { "medium": "<watercolor | oil paint | acrylic | gouache | pastel | charcoal | pencil | ink wash>", "paper": "<cold press watercolor | hot press | canvas | toned paper | rice paper>", "technique": "<wet-on-wet | dry brush | impasto | glazing | stippling | hatching | wash>", "brush": "<round | flat | fan | palette knife | sponge>", "finish": "<loose and expressive | tight and detailed | abstract | impressionistic>" }, "composition": { "framing": "<centered | rule of thirds | asymmetric>", "white_space": "<generous margins | edge-to-edge | vignette>" }, "mood": "<serene | vibrant | nostalgic | raw and emotional>", "color_palette": "<limited palette (3-4 colors) | full spectrum | monochrome wash>", "aspect_ratio": "3:2", "quality": "fine art quality, museum worthy, masterful brushwork, visible texture", "negative": "no digital look, no photorealistic, no text, no watermark, no AI artifacts" }

✏️ Minimalist / Graphic Design

{ "instruction": "<design description>", "subject": { "element": "<main visual element>", "style": "<geometric | organic | typographic | iconographic>" }, "design": { "approach": "<flat design | material design | swiss style | brutalist | retro>", "grid": "<centered | asymmetric | modular grid>", "shapes": "<circles | rectangles | triangles | organic blobs | line art>", "contrast": "<high contrast | subtle | duotone>" }, "color_palette": "<2-3 specific colors or palette name>", "background": "<solid color | gradient | textured | transparent>", "aspect_ratio": "1:1", "quality": "clean vector quality, crisp edges, professional graphic design", "negative": "no photorealistic, no complex textures, no gradients unless specified, no text unless requested" }

πŸŒ€ Surreal / Abstract

{ "instruction": "<surreal scene description>", "subject": { "central_element": "<main impossible or dreamlike element>", "transformation": "<how reality is bent or broken>", "symbolism": "<underlying meaning or motif>" }, "scene": { "reality_level": "<slightly off | dreamlike | fully impossible | cosmic>", "environment": "<melting landscape | infinite space | underwater sky | fractal world>", "scale_distortion": "<giant small things | tiny big things | impossible geometry>" }, "art_style": { "reference": "<DalΓ­ | Magritte | Escher | Beksinski | James Jean | Android Jones>", "medium": "<hyperrealistic oil | digital surrealism | mixed media | collage>", "technique": "<photobashing | matte painting | double exposure | glitch>" }, "mood": "<unsettling beauty | peaceful absurdity | cosmic wonder | dark fantasy>", "color_palette": "<describe the color world>", "aspect_ratio": "16:9", "quality": "highly detailed, surrealist masterpiece, museum quality", "negative": "no text, no watermark, no generic, no stock photo feel" }

Always Do:

Be specific β€” "mint-green gecko" not "a gecko", "warm golden hour" not "nice light" Include negative prompt β€” always specify what to avoid Pick an aspect ratio β€” match the content (landscape 16:9, portrait 9:16, square 1:1) Add sensory details β€” textures, temperatures, sounds implied visually One focal point β€” every image needs a clear subject Match quality keywords to style β€” "8K photorealistic" for photos, "trending on ArtStation" for illustrations Color palette matters β€” specify colors or a grading reference, don't leave it to chance

Never Do:

❌ Don't include text/words in the image (Gemini renders text poorly) ❌ Don't over-specify (pick 1 camera, 1 lens, not 3 options) ❌ Don't mix conflicting styles ("photorealistic anime" β€” pick one) ❌ Don't use generic prompts ("a beautiful sunset" β€” add specifics) ❌ Don't forget the negative prompt ❌ Don't request NSFW content

Resolution Guide:

1K β€” Quick drafts, thumbnails, iteration 2K β€” Social media, general use (best quality/cost ratio) 4K β€” Print, hero images, final deliverables

User says: "make me a gecko eating pizza on a skateboard"

Detected style: 3D / Pixar (fun character scene) { "instruction": "A cute mint-green gecko character riding a skateboard while eating a large slice of pepperoni pizza", "subject": { "character": "small mint-green gecko with big expressive pale pink eyes and a wide happy grin", "material": "smooth glossy skin with subtle subsurface scattering", "proportions": "stylized chibi, slightly oversized head", "expression": "pure joy, eyes half-closed savoring the pizza", "pose": "standing on a moving skateboard, one hand holding pizza slice, cheese stretching" }, "scene": { "environment": "sunny Venice Beach boardwalk, palm trees, blue sky", "props": "worn wooden skateboard with flame decals, pizza box on a nearby bench", "scale": "life-size character in real-world setting" }, "render": { "engine": "Pixar RenderMan", "style": "Pixar", "materials": "subsurface scattering on gecko skin, glossy cheese, matte concrete", "lighting": "warm golden hour sunlight with soft shadows", "effects": "subtle motion blur on skateboard wheels, depth of field" }, "mood": "carefree summer vibes, playful and fun", "color_palette": "warm yellows, mint green, sky blue, pizza orange", "aspect_ratio": "16:9", "quality": "3D render, Pixar quality, high detail, raytraced, 8K", "negative": "no 2D, no flat, no text, no watermark, no dark mood" }

User says: "a samurai in the rain, dramatic"

Detected style: Cinematic / Photorealistic { "instruction": "A lone samurai standing in heavy rain at night, katana drawn, cinematic and dramatic", "subject": { "description": "weathered samurai warrior, middle-aged, battle-scarred", "clothing": "dark indigo hakama and kimono, worn leather chest armor, straw sandals", "expression": "intense focus, eyes locked forward, jaw set", "pose": "standing in chudan-no-kamae stance, katana held at center", "details": "rain droplets on blade edge catching light, wet hair tied in topknot" }, "scene": { "setting": "abandoned temple courtyard with stone lanterns", "key_elements": "heavy rainfall, puddles reflecting lantern light", "background": "dark silhouette of temple roof, mist rolling between pillars", "foreground": "rain splashing on stone ground, shallow puddles", "time_of_day": "deep night, moonless" }, "photography": { "camera": "ARRI Alexa 65", "lens": "50mm f/1.2", "shot_type": "medium shot, slightly low angle", "depth_of_field": "shallow, rain drops in foreground out of focus", "lighting": "single warm lantern as key light from left, cool rain backlit by distant light, rim light on shoulders", "film_stock": "CineStill 800T", "texture": "subtle film grain" }, "mood": "tense calm before the storm, honor and solitude", "color_palette": "deep indigo, warm amber lantern glow, cool steel grey", "aspect_ratio": "16:9", "quality": "8K, photorealistic, cinematic, RAW photo", "negative": "no text, no watermark, no deformed faces, no blurry, no anime style" }

User says: "paint me some sunflowers, like watercolor"

Detected style: Watercolor / Traditional { "instruction": "A loose, expressive watercolor painting of sunflowers in a ceramic vase", "subject": { "description": "five sunflowers in various stages of bloom, some drooping slightly", "details": "petals ranging from bright yellow to burnt sienna, dark brown seed heads with visible texture" }, "scene": { "setting": "simple tabletop, implied window light", "elements": "rustic blue ceramic vase, a few fallen petals on the surface, soft shadow" }, "traditional_art": { "medium": "watercolor", "paper": "cold press watercolor paper, visible tooth texture", "technique": "wet-on-wet for soft petal edges, dry brush for seed head texture, controlled wash for background", "brush": "large round for washes, small round for details", "finish": "loose and expressive, some areas left unfinished showing white paper" }, "composition": { "framing": "slightly off-center, flowers extending above frame edge", "white_space": "generous margins, breathing room around the vase" }, "mood": "warm, nostalgic, peaceful afternoon light", "color_palette": "cadmium yellow, burnt sienna, cerulean blue, sap green β€” limited palette", "aspect_ratio": "3:2", "quality": "fine art quality, museum worthy, masterful brushwork, visible paper texture", "negative": "no digital look, no photorealistic, no text, no watermark, no harsh edges" }

Editing / Reference Images

When the user provides a reference image to edit or use as inspiration: Include the image with -i flag Describe what to change in the instruction field Keep the JSON structure β€” same style detection and template applies Be explicit about what to preserve vs change uv run {nano-banana-pro-dir}/scripts/generate_image.py \ --prompt '<JSON_PROMPT>' \ --filename "edited-output.png" \ -i "/path/to/original.png" \ --resolution 2K For character consistency across multiple images, always include the same reference image(s) and describe the character identically in the subject field.

Quick Reference: Style β†’ Key Fields

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

Category context

Agent frameworks, memory systems, reasoning layers, and model-native orchestration.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
3 Docs1 Assets
  • SKILL.md Primary doc
  • README.md Docs
  • references/prompt-guide.md Docs
  • assets/banner.svg Assets