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.