antigravity-seo-kit 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/.agent/agent.md +96 -0
  2. package/.agent/skills/seo/SKILL.md +153 -0
  3. package/.agent/skills/seo/references/cwv-thresholds.md +108 -0
  4. package/.agent/skills/seo/references/eeat-framework.md +214 -0
  5. package/.agent/skills/seo/references/local-schema-types.md +230 -0
  6. package/.agent/skills/seo/references/local-seo-signals.md +218 -0
  7. package/.agent/skills/seo/references/maps-api-endpoints.md +160 -0
  8. package/.agent/skills/seo/references/maps-free-apis.md +176 -0
  9. package/.agent/skills/seo/references/maps-gbp-checklist.md +150 -0
  10. package/.agent/skills/seo/references/maps-geo-grid.md +154 -0
  11. package/.agent/skills/seo/references/quality-gates.md +155 -0
  12. package/.agent/skills/seo/references/schema-types.md +118 -0
  13. package/.agent/skills/seo/schema/templates.json +213 -0
  14. package/.agent/skills/seo/scripts/analyze_visual.py +217 -0
  15. package/.agent/skills/seo/scripts/capture_screenshot.py +181 -0
  16. package/.agent/skills/seo/scripts/fetch_page.py +196 -0
  17. package/.agent/skills/seo/scripts/parse_html.py +201 -0
  18. package/.agent/skills/seo-audit/SKILL.md +278 -0
  19. package/.agent/skills/seo-competitor-pages/SKILL.md +212 -0
  20. package/.agent/skills/seo-content/SKILL.md +230 -0
  21. package/.agent/skills/seo-dataforseo/SKILL.md +418 -0
  22. package/.agent/skills/seo-geo/SKILL.md +305 -0
  23. package/.agent/skills/seo-google/SKILL.md +405 -0
  24. package/.agent/skills/seo-google/assets/templates/cwv-audit-report.md +48 -0
  25. package/.agent/skills/seo-google/assets/templates/gsc-performance-report.md +44 -0
  26. package/.agent/skills/seo-google/assets/templates/indexation-status-report.md +43 -0
  27. package/.agent/skills/seo-google/references/auth-setup.md +154 -0
  28. package/.agent/skills/seo-google/references/ga4-data-api.md +184 -0
  29. package/.agent/skills/seo-google/references/indexing-api.md +107 -0
  30. package/.agent/skills/seo-google/references/keyword-planner-api.md +66 -0
  31. package/.agent/skills/seo-google/references/nlp-api.md +55 -0
  32. package/.agent/skills/seo-google/references/pagespeed-crux-api.md +204 -0
  33. package/.agent/skills/seo-google/references/rate-limits-quotas.md +75 -0
  34. package/.agent/skills/seo-google/references/search-console-api.md +156 -0
  35. package/.agent/skills/seo-google/references/supplementary-apis.md +99 -0
  36. package/.agent/skills/seo-google/references/youtube-api.md +49 -0
  37. package/.agent/skills/seo-google/scripts/crux_history.py +321 -0
  38. package/.agent/skills/seo-google/scripts/ga4_report.py +478 -0
  39. package/.agent/skills/seo-google/scripts/google_auth.py +795 -0
  40. package/.agent/skills/seo-google/scripts/google_report.py +2273 -0
  41. package/.agent/skills/seo-google/scripts/gsc_inspect.py +340 -0
  42. package/.agent/skills/seo-google/scripts/gsc_query.py +378 -0
  43. package/.agent/skills/seo-google/scripts/indexing_notify.py +313 -0
  44. package/.agent/skills/seo-google/scripts/keyword_planner.py +297 -0
  45. package/.agent/skills/seo-google/scripts/nlp_analyze.py +309 -0
  46. package/.agent/skills/seo-google/scripts/pagespeed_check.py +649 -0
  47. package/.agent/skills/seo-google/scripts/youtube_search.py +355 -0
  48. package/.agent/skills/seo-hreflang/SKILL.md +192 -0
  49. package/.agent/skills/seo-image-gen/SKILL.md +211 -0
  50. package/.agent/skills/seo-image-gen/references/cost-tracking.md +47 -0
  51. package/.agent/skills/seo-image-gen/references/gemini-models.md +200 -0
  52. package/.agent/skills/seo-image-gen/references/mcp-tools.md +115 -0
  53. package/.agent/skills/seo-image-gen/references/post-processing.md +192 -0
  54. package/.agent/skills/seo-image-gen/references/presets.md +69 -0
  55. package/.agent/skills/seo-image-gen/references/prompt-engineering.md +411 -0
  56. package/.agent/skills/seo-image-gen/references/seo-image-presets.md +137 -0
  57. package/.agent/skills/seo-image-gen/scripts/batch.py +97 -0
  58. package/.agent/skills/seo-image-gen/scripts/cost_tracker.py +191 -0
  59. package/.agent/skills/seo-image-gen/scripts/edit.py +141 -0
  60. package/.agent/skills/seo-image-gen/scripts/generate.py +149 -0
  61. package/.agent/skills/seo-image-gen/scripts/presets.py +153 -0
  62. package/.agent/skills/seo-image-gen/scripts/setup_mcp.py +151 -0
  63. package/.agent/skills/seo-image-gen/scripts/validate_setup.py +133 -0
  64. package/.agent/skills/seo-images/SKILL.md +176 -0
  65. package/.agent/skills/seo-local/SKILL.md +381 -0
  66. package/.agent/skills/seo-maps/SKILL.md +328 -0
  67. package/.agent/skills/seo-page/SKILL.md +86 -0
  68. package/.agent/skills/seo-plan/SKILL.md +118 -0
  69. package/.agent/skills/seo-plan/assets/agency.md +175 -0
  70. package/.agent/skills/seo-plan/assets/ecommerce.md +167 -0
  71. package/.agent/skills/seo-plan/assets/generic.md +144 -0
  72. package/.agent/skills/seo-plan/assets/local-service.md +160 -0
  73. package/.agent/skills/seo-plan/assets/publisher.md +153 -0
  74. package/.agent/skills/seo-plan/assets/saas.md +135 -0
  75. package/.agent/skills/seo-programmatic/SKILL.md +171 -0
  76. package/.agent/skills/seo-schema/SKILL.md +223 -0
  77. package/.agent/skills/seo-sitemap/SKILL.md +180 -0
  78. package/.agent/skills/seo-technical/SKILL.md +211 -0
  79. package/.agent/workflows/seo-audit.md +17 -0
  80. package/.agent/workflows/seo-competitor-pages.md +12 -0
  81. package/.agent/workflows/seo-content.md +14 -0
  82. package/.agent/workflows/seo-geo.md +12 -0
  83. package/.agent/workflows/seo-google.md +12 -0
  84. package/.agent/workflows/seo-hreflang.md +12 -0
  85. package/.agent/workflows/seo-images.md +13 -0
  86. package/.agent/workflows/seo-local.md +12 -0
  87. package/.agent/workflows/seo-maps.md +11 -0
  88. package/.agent/workflows/seo-page.md +13 -0
  89. package/.agent/workflows/seo-plan.md +13 -0
  90. package/.agent/workflows/seo-programmatic.md +12 -0
  91. package/.agent/workflows/seo-schema.md +11 -0
  92. package/.agent/workflows/seo-sitemap.md +9 -0
  93. package/.agent/workflows/seo-technical.md +18 -0
  94. package/LICENSE +88 -0
  95. package/README.md +122 -0
  96. package/bin/cli.js +117 -0
  97. package/docs/ARCHITECTURE.md +218 -0
  98. package/docs/COMMANDS.md +184 -0
  99. package/docs/INSTALLATION.md +100 -0
  100. package/docs/MCP-INTEGRATION.md +153 -0
  101. package/docs/TROUBLESHOOTING.md +151 -0
  102. package/docs/superpowers/plans/2026-03-13-github-audit-fixes.md +511 -0
  103. package/extensions/banana/README.md +95 -0
  104. package/extensions/banana/docs/BANANA-SETUP.md +86 -0
  105. package/extensions/banana/install.sh +170 -0
  106. package/extensions/banana/references/cost-tracking.md +47 -0
  107. package/extensions/banana/references/gemini-models.md +200 -0
  108. package/extensions/banana/references/mcp-tools.md +115 -0
  109. package/extensions/banana/references/post-processing.md +192 -0
  110. package/extensions/banana/references/presets.md +69 -0
  111. package/extensions/banana/references/prompt-engineering.md +411 -0
  112. package/extensions/banana/references/seo-image-presets.md +137 -0
  113. package/extensions/banana/scripts/batch.py +97 -0
  114. package/extensions/banana/scripts/cost_tracker.py +191 -0
  115. package/extensions/banana/scripts/edit.py +141 -0
  116. package/extensions/banana/scripts/generate.py +149 -0
  117. package/extensions/banana/scripts/presets.py +153 -0
  118. package/extensions/banana/scripts/setup_mcp.py +151 -0
  119. package/extensions/banana/scripts/validate_setup.py +133 -0
  120. package/extensions/banana/uninstall.sh +43 -0
  121. package/extensions/dataforseo/README.md +169 -0
  122. package/extensions/dataforseo/docs/DATAFORSEO-SETUP.md +74 -0
  123. package/extensions/dataforseo/field-config.json +280 -0
  124. package/extensions/dataforseo/install.ps1 +110 -0
  125. package/extensions/dataforseo/install.sh +161 -0
  126. package/extensions/dataforseo/uninstall.ps1 +35 -0
  127. package/extensions/dataforseo/uninstall.sh +39 -0
  128. package/lib/api.js +190 -0
  129. package/lib/fingerprint.js +68 -0
  130. package/lib/installer.js +486 -0
  131. package/lib/utils.js +254 -0
  132. package/package.json +40 -0
  133. package/pyproject.toml +11 -0
  134. package/requirements-google.txt +15 -0
  135. package/requirements.txt +11 -0
@@ -0,0 +1,192 @@
1
+ # Post-Processing Pipeline Reference
2
+
3
+ > Load this on-demand when the user needs image manipulation after generation.
4
+
5
+ ## Prerequisites
6
+
7
+ Check availability before using:
8
+ ```bash
9
+ which magick # ImageMagick 7 (preferred)
10
+ which convert # ImageMagick 6 (fallback)
11
+ which ffmpeg # For video/animation
12
+ ```
13
+
14
+ Install ImageMagick if not present: `sudo apt install imagemagick` (Debian/Ubuntu) or `brew install imagemagick` (macOS).
15
+
16
+ ## Common Operations
17
+
18
+ ### Resize for Platforms
19
+
20
+ ```bash
21
+ # Instagram post (1080x1080)
22
+ magick input.png -resize 1080x1080^ -gravity center -extent 1080x1080 instagram.png
23
+
24
+ # Twitter/X header (1500x500)
25
+ magick input.png -resize 1500x500^ -gravity center -extent 1500x500 twitter-header.png
26
+
27
+ # YouTube thumbnail (1280x720)
28
+ magick input.png -resize 1280x720^ -gravity center -extent 1280x720 youtube-thumb.png
29
+
30
+ # LinkedIn banner (1584x396)
31
+ magick input.png -resize 1584x396^ -gravity center -extent 1584x396 linkedin-banner.png
32
+
33
+ # Favicon (multi-size ICO)
34
+ magick input.png -resize 32x32 favicon.ico
35
+ ```
36
+
37
+ ### Background Removal (Transparency)
38
+
39
+ ```bash
40
+ # Remove solid white background
41
+ magick input.png -fuzz 10% -transparent white output.png
42
+
43
+ # Remove solid color background (specify color)
44
+ magick input.png -fuzz 15% -transparent "#F0F0F0" output.png
45
+
46
+ # Clean edges after transparency (anti-alias)
47
+ magick input.png -fuzz 10% -transparent white -channel A -blur 0x1 -level 50%,100% output.png
48
+
49
+ # Auto-crop transparent padding
50
+ magick input.png -trim +repage output.png
51
+ ```
52
+
53
+ ### Format Conversion
54
+
55
+ ```bash
56
+ # PNG to WebP (web-optimized, smaller file)
57
+ magick input.png -quality 85 output.webp
58
+
59
+ # PNG to JPEG (with white background for transparency)
60
+ magick input.png -background white -flatten -quality 90 output.jpg
61
+
62
+ # PNG to AVIF (modern, smallest size)
63
+ magick input.png -quality 80 output.avif
64
+
65
+ # SVG trace (for logos; requires potrace)
66
+ potrace input.pbm -s -o output.svg
67
+ ```
68
+
69
+ ### Color Adjustments
70
+
71
+ ```bash
72
+ # Increase contrast
73
+ magick input.png -contrast-stretch 2%x1% output.png
74
+
75
+ # Warm color temperature
76
+ magick input.png -modulate 100,110,105 output.png
77
+
78
+ # Cool color temperature
79
+ magick input.png -modulate 100,90,95 output.png
80
+
81
+ # Desaturate (muted colors)
82
+ magick input.png -modulate 100,70,100 output.png
83
+
84
+ # Convert to grayscale
85
+ magick input.png -colorspace Gray output.png
86
+
87
+ # Sepia tone
88
+ magick input.png -sepia-tone 80% output.png
89
+ ```
90
+
91
+ ### Compositing
92
+
93
+ ```bash
94
+ # Overlay watermark (bottom-right, 20% opacity)
95
+ magick base.png watermark.png -gravity southeast -geometry +20+20 \
96
+ -compose dissolve -define compose:args=20 -composite output.png
97
+
98
+ # Side-by-side comparison
99
+ magick input1.png input2.png +append comparison.png
100
+
101
+ # Vertical stack
102
+ magick input1.png input2.png -append stack.png
103
+
104
+ # Add padding/border
105
+ magick input.png -bordercolor white -border 40 output.png
106
+
107
+ # Add rounded corners
108
+ magick input.png \( +clone -alpha extract -draw \
109
+ "roundrectangle 0,0,%[fx:w-1],%[fx:h-1],20,20" \) \
110
+ -alpha off -compose CopyOpacity -composite rounded.png
111
+ ```
112
+
113
+ ### Batch Processing
114
+
115
+ ```bash
116
+ # Resize all PNGs in directory
117
+ for f in ~/Documents/nanobanana_generated/*.png; do
118
+ magick "$f" -resize 800x800 "${f%.png}_thumb.png"
119
+ done
120
+
121
+ # Convert all to WebP
122
+ for f in ~/Documents/nanobanana_generated/*.png; do
123
+ magick "$f" -quality 85 "${f%.png}.webp"
124
+ done
125
+ ```
126
+
127
+ ## Animation (GIF/Video from Multiple Frames)
128
+
129
+ ```bash
130
+ # Create GIF from multiple images
131
+ magick -delay 100 frame1.png frame2.png frame3.png animation.gif
132
+
133
+ # Create MP4 from image sequence
134
+ ffmpeg -framerate 1 -pattern_type glob -i '*.png' \
135
+ -c:v libx264 -pix_fmt yuv420p slideshow.mp4
136
+ ```
137
+
138
+ ## Note on 4K Output
139
+
140
+ With Gemini 3.1 Flash's `imageSize: "4K"` option (up to 4096×4096), many traditional
141
+ upscaling post-processing steps are no longer necessary. If your target platform accepts
142
+ images at or below 4K resolution, generate at native 4K instead of generating at 1K
143
+ and upscaling. This produces better detail and avoids upscaling artifacts.
144
+
145
+ ## Green Screen Transparency Pipeline
146
+
147
+ Gemini cannot generate transparent backgrounds. Use this workaround:
148
+
149
+ ### 1. Generate with green screen prompt
150
+
151
+ Append to any prompt:
152
+ ```
153
+ on a solid bright green (#00FF00) chroma key background
154
+ with a thin white outline separating the subject from the background
155
+ ```
156
+
157
+ ### 2. Remove green screen (ImageMagick)
158
+
159
+ ```bash
160
+ magick input.png -fuzz 20% -transparent "#00FF00" output.png
161
+ ```
162
+
163
+ ### 3. Clean edges + trim (ImageMagick)
164
+
165
+ ```bash
166
+ magick output.png -channel A -blur 0x1 -level 50%,100% -trim +repage final.png
167
+ ```
168
+
169
+ ### 4. Alternative (FFmpeg, better for batch)
170
+
171
+ ```bash
172
+ ffmpeg -i input.png -vf "colorkey=0x00FF00:0.3:0.1,despill=type=green" -pix_fmt rgba output.png
173
+ ```
174
+
175
+ ### Tips
176
+ - `-fuzz 20%` handles slight color variations at edges; increase to 25% for softer edges
177
+ - The white outline in the prompt helps prevent color spill on subject edges
178
+ - For batch processing, the FFmpeg approach is faster and handles despill automatically
179
+ - Always verify edges after conversion; may need manual touchup for hair/fur
180
+
181
+ ## Quality Assessment
182
+
183
+ ```bash
184
+ # Get image dimensions and info
185
+ magick identify -verbose input.png | head -20
186
+
187
+ # Check file size
188
+ ls -lh input.png
189
+
190
+ # Get exact pixel dimensions
191
+ magick identify -format "%wx%h" input.png
192
+ ```
@@ -0,0 +1,69 @@
1
+ # Brand/Style Presets Reference
2
+
3
+ > Load this on-demand when the user asks about presets or brand consistency.
4
+
5
+ ## Preset Schema
6
+
7
+ Each preset is stored as `~/.banana/presets/NAME.json`:
8
+
9
+ ```json
10
+ {
11
+ "name": "tech-saas",
12
+ "description": "Clean tech SaaS brand",
13
+ "colors": ["#2563EB", "#1E40AF", "#F8FAFC"],
14
+ "style": "clean minimal tech illustration, flat vectors, soft shadows",
15
+ "typography": "bold geometric sans-serif",
16
+ "lighting": "bright diffused studio, no harsh shadows",
17
+ "mood": "professional, trustworthy, modern",
18
+ "default_ratio": "16:9",
19
+ "default_resolution": "2K"
20
+ }
21
+ ```
22
+
23
+ ## Example Presets
24
+
25
+ ### tech-saas
26
+ - **Colors:** #2563EB, #1E40AF, #F8FAFC (blue + white)
27
+ - **Style:** Clean minimal tech illustration, flat vectors, soft shadows
28
+ - **Typography:** Bold geometric sans-serif
29
+ - **Mood:** Professional, trustworthy, modern
30
+
31
+ ### luxury-brand
32
+ - **Colors:** #1A1A1A, #C9A96E, #FAFAF5 (black + gold + cream)
33
+ - **Style:** Elegant high-end photography, rich textures, deep contrast
34
+ - **Typography:** Thin elegant serif, generous letter-spacing
35
+ - **Mood:** Exclusive, sophisticated, aspirational
36
+
37
+ ### editorial-magazine
38
+ - **Colors:** #000000, #FFFFFF, #FF3B30 (black + white + accent red)
39
+ - **Style:** Bold editorial photography, strong geometric composition
40
+ - **Typography:** Condensed all-caps sans-serif headlines
41
+ - **Mood:** Bold, provocative, contemporary
42
+
43
+ ## How Presets Merge into Reasoning Brief
44
+
45
+ When a preset is active, Claude uses its values as defaults for the Reasoning Brief:
46
+ 1. **Colors** → inform palette descriptions in Context and Style components
47
+ 2. **Style** → becomes the base for the Style component
48
+ 3. **Typography** → used for any text rendering
49
+ 4. **Lighting** → becomes the base for the Lighting component
50
+ 5. **Mood** → influences Action and Context components
51
+
52
+ User instructions always override preset values. If a user says "make it dark"
53
+ but the preset has bright lighting, follow the user's instruction.
54
+
55
+ ## Managing Presets
56
+
57
+ ```bash
58
+ # List presets
59
+ presets.py list
60
+
61
+ # Show details
62
+ presets.py show tech-saas
63
+
64
+ # Create interactively (Claude fills in details from conversation)
65
+ presets.py create NAME --colors "#hex,#hex" --style "..." --mood "..."
66
+
67
+ # Delete
68
+ presets.py delete NAME --confirm
69
+ ```
@@ -0,0 +1,411 @@
1
+ # Prompt Engineering Reference: Claude Banana
2
+
3
+ > Load this on-demand when constructing complex prompts or when the user
4
+ > asks about prompt techniques. Do NOT load at startup.
5
+ >
6
+ > Aligned with Google's March 2026 "Ultimate Prompting Guide" for Gemini image generation.
7
+
8
+ ## The 6-Component Reasoning Brief
9
+
10
+ Every image prompt should contain these components, written as natural
11
+ narrative paragraphs, NEVER as comma-separated keyword lists.
12
+
13
+ ### 1. Subject
14
+ The main focus of the image. Describe with physical specificity.
15
+
16
+ **Good:** "A weathered Japanese ceramicist in his 70s, deep sun-etched
17
+ wrinkles mapping decades of kiln work, calloused hands cradling a
18
+ freshly thrown tea bowl with an irregular, organic rim"
19
+
20
+ **Bad:** "old man, ceramic, bowl"
21
+
22
+ ### 2. Action
23
+ What is happening. Movement, pose, gesture, state of being.
24
+
25
+ **Good:** "leaning forward with intense concentration, gently smoothing
26
+ the rim with a wet thumb, a thin trail of slip running down his wrist"
27
+
28
+ **Bad:** "making pottery"
29
+
30
+ ### 3. Context
31
+ Environment, setting, temporal and spatial details.
32
+
33
+ **Good:** "inside a traditional wood-fired anagama kiln workshop,
34
+ stacked shelves of drying pots visible in the soft background, late
35
+ afternoon light filtering through rice paper screens"
36
+
37
+ **Bad:** "workshop, afternoon"
38
+
39
+ ### 4. Composition
40
+ Camera angle, shot type, framing, spatial relationships.
41
+
42
+ **Good:** "intimate close-up shot from slightly below eye level,
43
+ shallow depth of field isolating the hands and bowl against the
44
+ soft bokeh of the workshop behind"
45
+
46
+ **Bad:** "close up"
47
+
48
+ ### 5. Lighting
49
+ Light source, quality, direction, temperature, shadows.
50
+
51
+ **Good:** "warm directional light from a single high window camera-left,
52
+ creating gentle Rembrandt lighting on the face with a soft triangle
53
+ of light on the shadow-side cheek, deep warm shadows in the workshop"
54
+
55
+ **Bad:** "natural lighting"
56
+
57
+ ### 6. Style
58
+ Art medium, aesthetic reference, technical photographic details.
59
+
60
+ **Good:** "captured with a Sony A7R IV, 85mm f/1.4 GM lens, Kodak Portra
61
+ 400 color grading with lifted shadows and muted earth tones, reminiscent
62
+ of Dorothea Lange's documentary portraiture"
63
+
64
+ **Bad:** "photorealistic, 8K, masterpiece"
65
+
66
+ ## Domain Mode Modifier Libraries
67
+
68
+ ### Cinema Mode
69
+ **Camera specs:** RED V-Raptor, ARRI Alexa 65, Sony Venice 2, Blackmagic URSA
70
+ **Lenses:** Cooke S7/i, Zeiss Supreme Prime, Atlas Orion anamorphic
71
+ **Film stocks:** Kodak Vision3 500T (tungsten), Kodak Vision3 250D (daylight), Fuji Eterna Vivid
72
+ **Lighting setups:** three-point, chiaroscuro, Rembrandt, split, butterfly, rim/backlight
73
+ **Shot types:** establishing wide, medium close-up, extreme close-up, Dutch angle, overhead crane, Steadicam tracking
74
+ **Color grading:** teal and orange, desaturated cold, warm vintage, high-contrast noir
75
+
76
+ ### Product Mode
77
+ **Surfaces:** polished marble, brushed concrete, raw linen, acrylic riser, gradient sweep
78
+ **Lighting:** softbox diffused, hard key with fill card, rim separation, tent lighting, light painting
79
+ **Angles:** 45-degree hero, flat lay, three-quarter, straight-on, worm's-eye
80
+ **Style refs:** Apple product photography, Aesop minimal, Bang & Olufsen clean, luxury cosmetics
81
+
82
+ ### Portrait Mode
83
+ **Focal lengths:** 85mm (classic), 105mm (compression), 135mm (telephoto), 50mm (environmental)
84
+ **Apertures:** f/1.4 (dreamy bokeh), f/2.8 (subject-sharp), f/5.6 (environmental context)
85
+ **Pose language:** candid mid-gesture, direct-to-camera confrontational, profile silhouette, over-shoulder glance
86
+ **Skin/texture:** freckles visible, pores at macro distance, catch light in eyes, subsurface scattering
87
+
88
+ ### Editorial/Fashion Mode
89
+ **Publication refs:** Vogue Italia, Harper's Bazaar, GQ, National Geographic, Kinfolk
90
+ **Styling notes:** layered textures, statement accessories, monochromatic palette, contrast patterns
91
+ **Locations:** marble staircase, rooftop at golden hour, industrial loft, desert dunes, neon-lit alley
92
+ **Poses:** power stance, relaxed editorial lean, movement blur, fabric in wind
93
+
94
+ ### UI/Web Mode
95
+ **Styles:** flat vector, isometric 3D, line art, glassmorphism, neumorphism, material design
96
+ **Colors:** specify exact hex or descriptive palette (e.g., "cool blues #2563EB to #1E40AF")
97
+ **Sizing:** design at 2x for retina, specify exact pixel dimensions needed
98
+ **Backgrounds:** transparent (request solid white then post-process), gradient, solid color
99
+
100
+ ### Logo Mode
101
+ **Construction:** geometric primitives, golden ratio, grid-based, negative space
102
+ **Typography:** bold sans-serif, elegant serif, custom lettermark, monogram
103
+ **Colors:** max 2-3 colors, works in monochrome, high contrast
104
+ **Output:** request on solid white background, post-process to transparent
105
+
106
+ ### Landscape Mode
107
+ **Depth layers:** foreground interest, midground subject, background atmosphere
108
+ **Atmospherics:** fog, mist, haze, volumetric light rays, dust particles
109
+ **Time of day:** blue hour (pre-dawn), golden hour, magic hour (post-sunset), midnight blue
110
+ **Weather:** dramatic storm clouds, clearing after rain, snow-covered, sun-dappled
111
+
112
+ ### Infographic Mode
113
+ **Layout:** modular sections, clear visual hierarchy, bento grid, flow top-to-bottom
114
+ **Text:** use quotes for exact text, descriptive font style, specify size hierarchy
115
+ **Data viz:** bar charts, pie charts, flow diagrams, timelines, comparison tables
116
+ **Colors:** high-contrast, accessible palette, consistent brand colors
117
+
118
+ ### Abstract Mode
119
+ **Geometry:** fractals, voronoi tessellation, spirals, fibonacci, organic flow, crystalline
120
+ **Textures:** marble veining, fluid dynamics, smoke wisps, ink diffusion, watercolor bleed
121
+ **Color palettes:** analogous harmony, complementary clash, monochromatic gradient, neon-on-black
122
+ **Styles:** generative art, data visualization art, glitch, procedural, macro photography of materials
123
+
124
+ ## Advanced Techniques
125
+
126
+ ### Character Consistency (Multi-turn)
127
+ Use `gemini_chat` and maintain descriptive anchors:
128
+ - First turn: Generate character with exhaustive physical description
129
+ - Following turns: Reference "the same character" + repeat 2-3 key identifiers
130
+ - Key identifiers: hair color/style, distinctive clothing, facial feature
131
+
132
+ **Multi-image reference technique** (3.1 Flash):
133
+ - Provide up to 4-5 character reference images in the conversation
134
+ - Assign distinct names to each character ("Character A: the red-haired knight")
135
+ - Model preserves features across different angles, actions, and environments
136
+ - Works best when reference images show the character from multiple angles
137
+
138
+ ### Style Transfer Without Reference Images
139
+ Describe the target style exhaustively instead of referencing an image:
140
+ ```
141
+ Render this scene in the style of a 1950s travel poster: flat areas of
142
+ color in a limited palette of teal, coral, and cream. Bold geometric
143
+ shapes with visible paper texture. Hand-lettered title text with a
144
+ mid-century modern typeface feel.
145
+ ```
146
+
147
+ ### Text Rendering Tips
148
+ - Quote exact text: `with the text "OPEN DAILY" in bold condensed sans-serif`
149
+ - **25 characters or less**:this is the practical limit for reliable rendering
150
+ - **2-3 distinct phrases max**:more text fragments degrade quality
151
+ - Describe font characteristics, not font names
152
+ - Specify placement: "centered at the top third", "along the bottom edge"
153
+ - High contrast: light text on dark, or vice versa
154
+ - **Text-first hack:** Establish the text concept conversationally first ("I need a sign that says FRESH BREAD"), then generate. The model anchors on text mentioned early
155
+ - Expect creative font interpretations, not exact replication of described styles
156
+
157
+ ### Positive Framing (No Negative Prompts)
158
+ Gemini does NOT support negative prompts. Rephrase exclusions:
159
+ - Instead of "no blur" → "sharp, in-focus, tack-sharp detail"
160
+ - Instead of "no people" → "empty, deserted, uninhabited"
161
+ - Instead of "no text" → "clean, uncluttered, text-free"
162
+ - Instead of "not dark" → "brightly lit, high-key lighting"
163
+
164
+ ### Search-Grounded Generation
165
+ For images based on real-world data (weather, events, statistics),
166
+ Gemini can use Google Search grounding to incorporate live information.
167
+ Useful for infographics with current data.
168
+
169
+ **Three-part formula for search-grounded prompts:**
170
+ 1. `[Source/Search request`:What to look up
171
+ 2. `[Analytical task`:What to analyze or extract
172
+ 3. `[Visual translation`:How to render it as an image
173
+
174
+ **Example:** "Search for the current top 5 programming languages by GitHub usage in 2026, analyze their relative popularity percentages, then generate a clean infographic bar chart with the language logos and percentages in a modern dark theme."
175
+
176
+ ## Prompt Adaptation Rules
177
+
178
+ When adapting prompts from the claude-prompts database (Midjourney/DALL-E/etc.)
179
+ to Gemini's natural language format:
180
+
181
+ | Source Syntax | Gemini Equivalent |
182
+ |---------------|-------------------|
183
+ | `--ar 16:9` | Call `set_aspect_ratio("16:9")` separately |
184
+ | `--v 6`, `--style raw` | Remove - Gemini has no version/style flags |
185
+ | `--chaos 50` | Describe variety: "unexpected, surreal composition" |
186
+ | `--no trees` | Positive framing: "open clearing with no vegetation" |
187
+ | `(word:1.5)` weight | Descriptive emphasis: "prominently featuring [word]" |
188
+ | `8K, masterpiece, ultra-detailed` | Keep only "ultra-realistic, high resolution"; remove the rest |
189
+ | Comma-separated tags | Expand into descriptive narrative paragraphs |
190
+ | `shot on Hasselblad` | Keep - camera specs work well in Gemini |
191
+
192
+ ## Common Prompt Mistakes
193
+
194
+ 1. **Keyword stuffing**:stacking generic quality terms ("8K, masterpiece, best quality") adds nothing. Use only "ultra-realistic, high resolution" at the end
195
+ 2. **Tag lists**:Gemini wants prose, not "red car, sunset, mountain, cinematic"
196
+ 3. **Missing lighting**:The single biggest quality differentiator
197
+ 4. **No composition direction**:Results in generic centered framing
198
+ 5. **Vague style**:"make it look cool" vs specific art direction
199
+ 6. **Ignoring aspect ratio**:Always set before generating
200
+ 7. **Overlong prompts**:Diminishing returns past ~200 words; be precise, not verbose
201
+ 8. **Text longer than ~25 characters**:Rendering degrades rapidly past this limit
202
+ 9. **Burying key details at the end**:In long prompts, details placed last may be deprioritized; put critical specifics (exact text, key constraints) in the first third of the prompt
203
+ 10. **Not iterating with follow-up prompts**:Use `gemini_chat` for progressive refinement instead of trying to get everything right in one generation
204
+
205
+ ## Proven Prompt Templates
206
+
207
+ > Extracted from 2,500+ tested prompts. These patterns consistently produce
208
+ > high-quality results. Use them as starting points and adapt to the request.
209
+
210
+ ### The Winning Formula (Weight Distribution)
211
+
212
+ | Component | Weight | What to include |
213
+ |-----------|--------|-----------------|
214
+ | **Subject** | 40% | Age, skin tone, hair color/style, eye color, body type, expression |
215
+ | **Styling** | 25% | Brand names, textures, fit, accessories, colors |
216
+ | **Environment** | 15% | Location + time of day + context details |
217
+ | **Camera** | 10% | Camera model + lens + focal length + shot type |
218
+ | **Lighting** | 10% | Quality, direction, color temperature, shadows |
219
+
220
+ ### Instagram Ad / Social Media
221
+
222
+ **Pattern:** `[Subject with age/appearance] + [outfit with brand/texture] + [action verb] + [setting] + [camera spec] + [lighting] + [platform aesthetic]`
223
+
224
+ **Example (Product Placement):**
225
+ ```
226
+ Hyper-realistic gym selfie of athletic 24yo influencer with glowing olive
227
+ skin, wearing crinkle-textured athleisure set in mauve. iPhone 16 Pro Max
228
+ front-facing portrait mode capturing sweat droplets on collarbones, hazel
229
+ eyes enhanced by gym LED lighting. Mirror reflection shows perfect form,
230
+ golden morning light through floor-to-ceiling windows. Frayed chestnut
231
+ ponytail with baby hairs, ultra-detailed skin texture, trending aesthetic.
232
+ ```
233
+
234
+ **Example (Lifestyle Ad):**
235
+ ```
236
+ A 24-year-old blonde fitness model in a high-energy sports drink
237
+ advertisement. Mid-run on a beach, wearing a vibrant orange sports bra
238
+ and black shorts, playful smile and sparkling blue eyes exuding vitality.
239
+ Bottle of the drink held in hand, waves crashing in background. Shot on
240
+ Nikon D850 with 70-200mm f/2.8 lens, natural light, fast shutter speed
241
+ capturing motion. Ultra-realistic skin texture, water droplets, product
242
+ label clearly visible.
243
+ ```
244
+
245
+ **Example (Luxury Lifestyle):**
246
+ ```
247
+ Gorgeous Instagram model wearing a designer silk gown, luxury rooftop
248
+ restaurant, golden hour lighting, champagne in hand, luxurious aspirational
249
+ lifestyle. Captured with Sony A7R IV, 85mm f/1.4 lens, shallow depth of
250
+ field, warm color grading.
251
+ ```
252
+
253
+ ### Product / Commercial Photography
254
+
255
+ **Pattern:** `[Product with brand/detail] + [dynamic elements] + [surface/setting] + "commercial photography for advertising campaign" + [lighting] + "high resolution"`
256
+
257
+ **Example (Beverage):**
258
+ ```
259
+ Gatorade bottle with condensation dripping down the sides, surrounded by
260
+ lightning bolts and a burst of vibrant blue and orange light rays. The
261
+ Gatorade logo is prominently displayed on the bottle, with splashes of
262
+ water frozen in mid-air. Commercial food photography for an advertising
263
+ campaign, high resolution, high level of detail, vibrant complementary
264
+ colors.
265
+ ```
266
+
267
+ **Example (Food):**
268
+ ```
269
+ In and Out burger with layers of fresh lettuce, melted cheese, and pretzel
270
+ bun, placed on a white surface with the In and Out logo subtly glowing in
271
+ the background. Falling french fries and golden light, warm scene.
272
+ Commercial food photography for an advertising campaign, high resolution,
273
+ high level of detail, vibrant complementary colors.
274
+ ```
275
+
276
+ ### Fashion / Editorial
277
+
278
+ **Pattern:** `[Subject with ethnicity/age/features] + [outfit with texture/brand/cut] + [location] + [pose/action] + [camera + lens] + [lighting quality]`
279
+
280
+ **Example (Street Style):**
281
+ ```
282
+ A 24-year-old female AI influencer posing confidently in an urban cityscape
283
+ during golden hour. Flawless sun-kissed skin, long wavy brown hair, deep
284
+ green eyes. Wearing a chic streetwear outfit: oversized beige blazer,
285
+ white top, high-waisted jeans. Captured with Sony A7R IV at 85mm f/1.4,
286
+ shallow depth of field with warm golden bokeh.
287
+ ```
288
+
289
+ **Example (High Fashion):**
290
+ ```
291
+ Stunning 24-year-old woman, long platinum blonde hair, radiant skin,
292
+ piercing blue eyes, dressed in a chic pastel blazer with a modern
293
+ minimalist aesthetic, soft sunlight glow, high-end fashion appeal.
294
+ Shot on Canon EOS R5, 85mm f/1.2 lens.
295
+ ```
296
+
297
+ **Example (Avant-Garde):**
298
+ ```
299
+ A blonde fitness model transformed into a runway-ready fashion icon,
300
+ wearing a bold avant-garde outfit: cropped leather jacket with neon pink
301
+ accents, paired with high-waisted athletic shorts and knee-high boots.
302
+ Captured mid-stride on a minimalist white runway, playful twinkle in her
303
+ eye, dramatic studio lighting from above.
304
+ ```
305
+
306
+ ### SaaS / Tech Marketing
307
+
308
+ **Pattern:** `[UI mockup or abstract visual] + "on [dark/light] background" + [specific colors with hex] + [typography description] + "clean, premium SaaS aesthetic" + [glassmorphism/gradient/glow effects]`
309
+
310
+ **Example (Dashboard Hero):**
311
+ ```
312
+ A floating glassmorphism UI card on a deep charcoal background showing a
313
+ content analytics dashboard with a rising line graph in teal (#14B8A6),
314
+ bar charts in coral (#F97316), and a circular progress indicator at 94%.
315
+ Subtle grid lines, frosted glass effect with 20% opacity, teal glow
316
+ bleeding from the card edges. Clean premium SaaS aesthetic, no text
317
+ smaller than headline size.
318
+ ```
319
+
320
+ **Example (Feature Highlight):**
321
+ ```
322
+ An isometric 3D illustration of interconnected data nodes on a dark navy
323
+ background. Each node is a glowing teal sphere connected by thin luminous
324
+ lines, forming a constellation pattern. One central node pulses brighter
325
+ with radiating rings. Modern tech illustration style with subtle depth
326
+ of field, volumetric lighting from below.
327
+ ```
328
+
329
+ **Example (Comparison/Before-After):**
330
+ ```
331
+ Split-screen image: left side shows a cluttered, dim workspace with
332
+ scattered papers, red error indicators, and a frustrated expression
333
+ conveyed through a cracked coffee mug and tangled cables. Right side
334
+ shows a clean, organized dashboard interface glowing in teal and white
335
+ on a dark background, with smooth flowing lines and checkmarks. A sharp
336
+ vertical dividing line separates chaos from clarity.
337
+ ```
338
+
339
+ ### Logo / Branding
340
+
341
+ **Pattern:** `[Product/bottle/item] + "with [brand element] prominently displayed" + [dynamic visual elements] + "commercial photography" + [lighting style] + "high resolution, vibrant complementary colors"`
342
+
343
+ **Example:**
344
+ ```
345
+ A sleek matte black bottle with a minimal white logo mark centered on the
346
+ label, surrounded by swirling gradient ribbons of teal and coral light.
347
+ The bottle sits on a reflective dark surface, sharp studio rim lighting
348
+ separating it from the background. Product photography for luxury
349
+ branding, high resolution, dramatic contrast.
350
+ ```
351
+
352
+ ### Key Tactics That Make Prompts Work
353
+
354
+ 1. **Name real cameras**:"Sony A7R IV", "Canon EOS R5", "iPhone 16 Pro Max" anchor realism
355
+ 2. **Specify exact lens**:"85mm f/1.4" gives the model precise depth-of-field information
356
+ 3. **Use age + ethnicity + features**:"24yo with olive skin, hazel eyes" beats "a person"
357
+ 4. **Name brands for styling**:"Lululemon mat", "Tom Ford suit" triggers specific visual associations
358
+ 5. **Include micro-details**:"sweat droplets on collarbones", "baby hairs stuck to neck"
359
+ 6. **Add platform context**:"Instagram aesthetic", "commercial photography for advertising"
360
+ 7. **Describe textures**:"crinkle-textured", "metallic silver", "frosted glass"
361
+ 8. **Use action verbs**:"mid-run", "posing confidently", "captured mid-stride"
362
+ 9. **End with "ultra-realistic, high resolution"**:these two specific anchors help on Gemini. Avoid generic stacking like "8K, masterpiece, best quality" which adds no value
363
+ 10. **For products, say "prominently displayed"**:ensures the product/logo isn't hidden
364
+
365
+ ### Anti-Patterns (What NOT to Do)
366
+
367
+ - **"A dark-themed Instagram ad showing..."**:too meta, describes the concept not the image
368
+ - **"A sleek SaaS dashboard visualization..."**:abstract, no visual anchors
369
+ - **"Modern, clean, professional..."**:vague adjectives that mean nothing to the model
370
+ - **"A bold call to action with..."**:describes marketing intent, not visual content
371
+ - **Describing what the viewer should feel**:instead, describe what creates that feeling
372
+
373
+ ## Safety Filter Rephrase Strategies
374
+
375
+ Gemini's safety filters (Layer 2: server-side output filter) cannot be disabled.
376
+ When a prompt is blocked, the only path forward is rephrasing.
377
+
378
+ ### Common Trigger Categories
379
+
380
+ | Category | Triggers on | Rephrase approach |
381
+ |----------|------------|-------------------|
382
+ | Violence/weapons | Combat, blood, injuries, firearms | Use metaphor or aftermath: "battle-worn" → "weathered veteran" |
383
+ | Medical/gore | Surgery, wounds, anatomical detail | Abstract or clinical: "open wound" → "medical illustration" |
384
+ | Real public figures | Named celebrities, politicians | Use archetypes: "Elon Musk" → "a tech entrepreneur in a minimalist office" |
385
+ | Children + risk | Minors in any ambiguous context | Add safety context: specify educational, family, or playful framing |
386
+ | NSFW/suggestive | Revealing clothing, intimate poses | Use artistic framing: "fashion editorial, fully clothed, editorial pose" |
387
+
388
+ ### Rephrase Patterns
389
+
390
+ 1. **Abstraction**:Replace specific dangerous elements with abstract concepts
391
+ 2. **Artistic framing**:Frame content as art, editorial, or documentary
392
+ 3. **Metaphor**:Use symbolic language instead of literal descriptions
393
+ 4. **Positive emphasis**:Describe what IS present, not what's dangerous
394
+ 5. **Context shift**:Move from threatening to educational/professional context
395
+
396
+ ### Example Rephrases
397
+
398
+ | Blocked prompt | Successful rephrase |
399
+ |----------------|---------------------|
400
+ | "a soldier in combat firing a rifle" | "a determined soldier standing guard at dawn, rifle slung over shoulder, morning mist over the outpost" |
401
+ | "a scary horror monster" | "a fantastical creature from a dark fairy tale, intricate organic textures, bioluminescent accents, concept art style" |
402
+ | "dog in a fight" | "a friendly golden retriever playing energetically in a sunny park, action shot, joyful expression" |
403
+ | "medical surgery scene" | "a clean modern operating room viewed from the observation gallery, soft blue surgical lights, professional documentary style" |
404
+ | "celebrity portrait of [name]" | "a distinguished middle-aged man in a tailored navy suit, warm studio lighting, editorial portrait style" |
405
+
406
+ ### Key Principle
407
+
408
+ Layer 2 (output filter) analyzes the generated image, not just the prompt.
409
+ Even well-phrased prompts can be blocked if the model's interpretation triggers
410
+ the output filter. When this happens, try shifting the visual concept further
411
+ from the trigger rather than just changing words.