Image Generation (1 Skill)
Part 1: What You're Getting
This skill turns Claude Code into your personal image studio. You describe what you want - a thumbnail, an ad creative, a LinkedIn banner, an Instagram story, a podcast cover - and it generates a production-ready image using Google's Gemini 3 Pro Image Preview model (Nano Banana Pro).
One free API key. No design experience needed.
Nano Banana
Two modes:
Text-Only Mode - You describe the image (subject, headline, mood, platform) and it generates it from scratch. It handles all the prompt engineering for you - cinematic backgrounds with real texture, strong typography, the right accent color, no AI-typical clutter or glow effects.
Headshot Mode - You drop your face into the headshots folder once during onboarding, and any future image can place you into the frame - YouTube thumbnails with your reaction shot, LinkedIn banners with you as the focal point, ad creatives where you talk to the camera. Your likeness is composed onto a real cinematic background, not a flat void.
Reference Mode - Pass in any image (a logo, a product photo, a screenshot of a style you like, or a previous output you want to iterate on) and the model uses it as a visual anchor. This is how you do logical edits: "keep this composition, change the headline" or "same vibe but make it more cinematic."
What you get:
- A single PNG file at the exact aspect ratio you asked for
- 10 native ratios supported (1:1, 4:5, 16:9, 9:16, 21:9, and more)
- Smart platform presets - say "Facebook cover" or "Instagram story" and it picks the ratio + final crop dimensions for you
- A bundled Python environment so the script runs in isolation - no polluting your global Python
- A brand profile saved during onboarding so every image inherits your default tone, color, and ratio
- Iteration baked in - pass any previous image back as a reference to edit it
You need: A free Google AI Studio API key (https://aistudio.google.com/apikey). That's it. Gemini's free tier covers a generous number of image generations per day.
Platform presets built in:
- YouTube thumbnail → 16:9 → 1280x720
- YouTube channel banner → 16:9 → 2560x1440
- Facebook cover → 21:9 → 1640x624
- LinkedIn personal cover → 21:9 → 1584x396
- LinkedIn company banner → 21:9 → 1128x191
- Instagram square → 1:1 → 1080x1080
- Instagram portrait → 4:5 → 1080x1350
- Instagram story / Reel cover → 9:16 → 1080x1920
- X (Twitter) header → 21:9 → 1500x500
- X (Twitter) post → 16:9 → 1600x900
If you say a platform name, it picks the ratio + crop automatically. If you say a semantic word ("square", "story", "banner", "widescreen"), it maps that to the closest native ratio.
Anti-patterns it avoids:
- Flat black voids instead of textured backgrounds
- AI-typical glow effects on everything
- Stock-photo composition
- Random emoji you didn't ask for
- Generic typography
- Important elements buried where the platform crops them (e.g., the bottom-left corner of a Facebook cover where the profile pic overlaps)
Part 2: Copy-Paste This Into Claude Code
Copy everything below and paste it into Claude Code. It will install the skill, walk you through onboarding, and generate a test image.
I want you to install the Nano Banana image generation skill and onboard me. Here's what to do:
Step 1 - Install the skill:
Run these commands:
git clone https://github.com/bosar-academy/cc-nano-banana.git /tmp/cc-nano-banana
cd /tmp/cc-nano-banana && ./install.sh --all
The install script will copy the skill to ~/.claude/skills/nano-banana/ AND create a Python venv inside that folder with the required dependencies (google-genai, pillow). Confirm both happened.
Step 2 - Get my Gemini API key:
Tell me to grab a free key from https://aistudio.google.com/apikey and paste it back to you. Once I give it to you, write it to ~/.claude/skills/nano-banana/.env in the format:
GEMINI_API_KEY=<my key>
Step 3 - Optional headshot:
Ask me if I want to add a headshot for image generations that include my face (YouTube thumbnails, LinkedIn banners, etc). If yes, ask for either:
- A file path on my machine - copy it to ~/.claude/skills/nano-banana/assets/headshots/me.png
- Or tell me to drop a PNG/JPG into that folder myself
Skip this if I say I won't be using my face in images.
Step 4 - Brand profile interview:
Walk me through these questions one at a time and write the answers to ~/.claude/skills/nano-banana/config.json:
1. Brand or project name (so images can theme around it)
2. Default platform I generate for most (YouTube? LinkedIn? Instagram? Ads? Mixed?)
3. Default aspect ratio if no platform is specified (16:9, 1:1, 9:16, 21:9)
4. Primary brand color (hex code or description like "electric blue")
5. Tone keywords - 3 to 5 words describing the brand feel ("premium, dark, cinematic" or "playful, bright, friendly")
6. Avoid list - anything I never want in my images (e.g. "no stock-photo feel, no glow effects, no emoji")
Save it like this:
{
"brand_name": "...",
"default_platform": "...",
"default_aspect_ratio": "16:9",
"primary_color": "#...",
"tone": ["...", "...", "..."],
"avoid": ["...", "..."],
"default_headshot": "~/.claude/skills/nano-banana/assets/headshots/me.png"
}
Step 5 - Verify and test:
Confirm the skill is installed at ~/.claude/skills/nano-banana/SKILL.md, the venv exists at ~/.claude/skills/nano-banana/.venv/bin/python, my config.json is written, and my .env has the API key.
Then generate one test image to prove the pipeline works end-to-end. Use my brand profile as defaults. Make it a 16:9 image with the headline "Hello, [my brand name]" - premium dark cinematic background, no clutter. Save it to /tmp/nano-banana-test.png and open it for me.
After the test, tell me the skill is ready and remind me of the three modes:
- Text-only: just describe the image
- Headshot mode: ask for my face in the image (only if I added a headshot)
- Reference mode: pass any image (logo, product, prior output) as a visual anchor
Also remind me of the trigger phrases - I can say "/nano-banana", "generate an image", "make a thumbnail", "create a banner", and the skill auto-activates.