Nano Banana Prompting Skill
Transform natural language image requests into optimized structured prompts for Gemini image generation. Automatically detects style and builds the perfect prompt — cinematic, illustration, anime, 3D, watercolor, product, and more.
安装 / 下载方式
TotalClaw CLI推荐
totalclaw install clawskills:minilozio~nano-banana-promptingcURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/clawskills%3Aminilozio~nano-banana-prompting/file -o nano-banana-prompting.mdGit 仓库获取源码
git clone https://github.com/openclaw/skills/commit/a0f2714c40fd953833d5a125c40393601183853e# 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:
1. **Read the user's request** — understand what they want (subject, mood, style)
2. **Detect the style** — use the Style Detection rules below
3. **Build the structured JSON prompt** — follow the template for that style
4. **Call the generator:**
```bash
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):
```bash
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:
| Style | Trigger Keywords / Context |
|-------|---------------------------|
| **Cinematic / Photorealistic** | "photo", "realistic", "cinematic", "portrait", "street", "landscape", real-world scenes, people, animals in real settings |
| **Product / Studio** | "product shot", "studio", "mockup", "packaging", "e-commerce", objects on clean backgrounds |
| **Street / Documentary** | "candid", "street", "reportage", "documentary", "raw", urban scenes |
| **Illustration / Digital Art** | "illustration", "digital art", "concept art", "fantasy art", "draw", "artwork" |
| **Anime / Manga** | "anime", "manga", "cel shaded", "studio ghibli", Japanese animation style |
| **3D / Pixar** | "3D", "Pixar", "render", "CGI", "clay", "isometric", cartoon characters |
| **Watercolor / Traditional** | "watercolor", "oil painting", "sketch", "pencil", "pastel", "charcoal", traditional media |
| **Minimalist / 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.
---
## Structured Prompt Templates
### 🎬 Cinematic / Photorealistic
```json
{
"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
```json
{
"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
```json
{
"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
```json
{
"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_st