Repository navigation
Releases
v2.2.0
New: let AI agents drive the studio (MCP)
Claude Code, Claude Desktop, Cursor or any MCP-capable agent can now drive NanoThumbnail: brief, generate, edit (whole image or a region), critique, rank and export — while you watch every action live in the studio.
claude mcp add nanothumbnail -- npx -y nanothumbnail-mcpThen ask your agent to “open the NanoThumbnail studio” and click Allow once in the studio. It reconnects by itself afterwards.
How it stays local-first
nanothumbnail-mcpis a small relay: it forwards tool calls over a WebSocket on127.0.0.1to the studio tab, which runs them as regular actions.- API keys, projects and images never leave your browser. The socket only accepts the studio's origin and a pairing token; agents can't read your keys or delete anything.
- New AI agent (MCP) panel in the studio: connection status, pairing, and a log of everything the agent did. Disconnect at any time.
24 tools: projects, brief, output settings, references (local files, URLs, YouTube remix), people, concept suggestions, generate, edit with optional region, view, score, rank, favourite, export (YouTube-ready 1280×720 JPEG), feed preview / safe zones, cancel.
Companion skill
A skill teaches the agent how to make a thumbnail that gets clicked — workflow, brief writing for Nano Banana, critique checklist, one-change-at-a-time edits, and restraint with your API credits:
npx skills add yoanbernabeu/NanoThumbnail --skill nanothumbnailAlso
- Landing: new “AI agents” section (FR/EN), FAQ entry,
llms.txtupdated. - CSP now allows
ws://127.0.0.1:*for the local bridge.
Full details: mcp/README.md.
v2.1.0
New: OpenRouter provider
NanoThumbnail now supports OpenRouter as a third bring-your-own-key provider, alongside Replicate and Google Gemini — with the same models:
- Nano Banana Pro →
google/gemini-3-pro-image - Nano Banana 2 →
google/gemini-3.1-flash-image - AI critique, ranking, concepts and channel style analysis →
google/gemini-3.6-flash
OpenRouter is called directly from your browser (no proxy), your key stays on your device like the others. Pick it in Settings → Provider and paste an sk-or-… key (get one).
Thanks to @przxmus, whose original contribution (#4) this is ported from. Full change: #6.
v2.0.0
First tagged release. NanoThumbnail v2 is a full rewrite of the studio and the landing.
Live: nanothumbnail.com · Studio
Highlights
Studio (rewritten in React 19 + shadcn/ui)
- Brief-driven generation: title, scene, on-thumbnail text, 1–4 variants, 1K/2K/4K, 16:9 / 9:16 / 4:3 / 1:1.
- 14 styles, concept assistant, people (identity preserved), brand kit, up to 14 references and YouTube remix.
- Conversational edits with full version lineage, and area edits (painted mask, untouched pixels merged back).
- AI critique, feed preview (home, search, up next, mobile, TV, light/dark), safe zones, compare & rank, export for YouTube Test & Compare (1280×720, < 2 MB).
- Keyboard-first:
⌘Kpalette,⌘↵generate,F,Z,M,Esc. - Nano Banana Pro / Nano Banana 2 via Replicate or Google Gemini (BYOK).
Local-first
- Projects, images, people and brand kit in IndexedDB; automatic one-time import of v1 data.
- Installable PWA, offline library, zip backup/restore; API key in localStorage or session only.
Landing, SEO & GEO
- Static FR (
/) and EN (/en/) landing, zero client JS, real studio screenshots and a 14-style gallery. - Lighthouse 100/100/100/100, Open Graph per language, hreflang, JSON-LD, sitemap,
llms.txt/llms-full.txt.
Under the hood
- Astro 7, CSP with script hashes, Tailwind v4, Zustand, Vitest, GitHub Actions CI.
- Hardened Replicate proxy: same-origin only, relays only create/poll/cancel.