From nano-banana-poster
Generates images and posters using Google Gemini API via npx ts-node script. Supports aspect ratios, reference assets, gallery saving, and Hebrew RTL prompts. Use for marketing posters, thumbnails, visuals.
npx claudepluginhub aviz85/claude-skills-library --plugin nano-banana-posterThis skill uses the workspace's default tool permissions.
> **First time?** If `setup_complete: false` above, run `./SETUP.md` first, then set `setup_complete: true`.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
First time? If
setup_complete: falseabove, run./SETUP.mdfirst, then setsetup_complete: true.
Generate images using Google's Gemini model with optional reference assets.
cd ~/.claude/skills/nano-banana-image/scripts
# Basic generation (default 3:2 horizontal)
npx ts-node generate_poster.ts "A futuristic city at sunset"
# With aspect ratio (3:2 horizontal, 2:3 vertical, 16:9 wide, 9:16 tall)
npx ts-node generate_poster.ts --aspect 3:2 "A wide landscape poster"
npx ts-node generate_poster.ts -a 9:16 "A vertical story format"
# With reference assets
npx ts-node generate_poster.ts --assets "my-logo" "Create banner with logo"
# Combined: aspect ratio + assets
npx ts-node generate_poster.ts --aspect 16:9 --assets "logo" "YouTube thumbnail"
IMPORTANT: Always use the default 3:2 aspect ratio unless the user explicitly requests a different format (like "vertical", "story", "square", etc.). Do NOT change the aspect ratio on your own.
Control image dimensions with --aspect or -a:
| Ratio | Use Case |
|---|---|
3:2 | Horizontal (DEFAULT - use this unless user specifies otherwise) |
1:1 | Square - Instagram, profile pics |
2:3 | Vertical - Pinterest, posters |
16:9 | Wide - YouTube thumbnails, headers |
9:16 | Tall - Stories, reels, TikTok |
npx ts-node generate_poster.ts --aspect 3:2 "Your prompt"
npx ts-node generate_poster.ts -a 16:9 "Your prompt"
Use --assets with full paths to include reference images:
# Single asset
npx ts-node generate_poster.ts --assets "/full/path/to/image.jpg" "Your prompt"
# Multiple assets (comma-separated)
npx ts-node generate_poster.ts --assets "/path/a.jpg,/path/b.png" "Use both images"
Supported formats: .jpg, .jpeg, .png, .webp, .gif
IMPORTANT: Assets are NOT automatically included. You must explicitly pass them via --assets.
Save good results for future style reference:
npx ts-node generate_poster.ts --save-to-gallery "my-style" "prompt"
Creates assets/gallery/my-style.jpg + .meta.json with prompt info.
Create scripts/.env:
GEMINI_API_KEY=your_api_key_here
When generating images with Hebrew text:
ALWAYS include in prompt:
CRITICAL: All text must be in Hebrew.
CRITICAL: Layout direction is RTL (right-to-left).
Flow, reading order, and visual hierarchy must go from RIGHT to LEFT.
This ensures text renders correctly and visual flow matches Hebrew reading direction.
poster_0.jpg, poster_1.jpg, etc.--aspect (default: 3:2)