| name | arcanea-book-cover |
| description | Design and generate premium book covers using NB2 (Nano Banana 2 / Gemini 3.1 Flash Image) with deep thinking about book tension, emotion, and genre. Pulls from top book cover design principles (Chip Kidd, Peter Mendelsund, Coralie Bickford-Smith). Auto-activates when user requests book cover, cover art, cover design, or mentions generating a cover for a book project. |
| triggers | book cover, cover art, cover design, book jacket, cover generation, generate cover, book cover art |
| model | claude-opus-4-6 |
Arcanea Book Cover Design Skill
Generate premium book covers by thinking deeply about the book first, then translating that thinking into a precision image prompt. NB2 is default. NB Pro only when user specifies "premium" or "hero".
The 5-Phase Method
Do NOT skip phases. The thinking is the skill. The generation is the reward.
Phase 1: READ THE BOOK (or its architecture)
Before writing any prompt, you must understand:
- Central tension — What does the protagonist fight against? What internal conflict mirrors the external?
- Emotional register — Is this grief-heavy? Wonder-heavy? Dread-heavy? A dark comedy? Bittersweet? Name it precisely.
- Iconic image — What ONE visual moment defines the book? The image a reader would tattoo on themselves.
- Genre expectations vs subversion — What do readers of this genre expect? What should you give them, and what should you withhold?
- Color emotional key — What color (singular) carries the book's feeling?
If the book has a book.yaml or outline, read them. If the book has existing chapters, read at least one opening and one pivotal scene.
Phase 2: PULL BEST PRACTICES
Top book cover designers operate on these principles. Keep them active during prompt design:
Chip Kidd's Rules:
- One idea, one image, one emotion
- The cover is a question, not an answer — it should make readers curious, not satisfied
- Text and image are one unit — typography is 50% of the cover
- Don't illustrate the plot. Illustrate the feeling.
Peter Mendelsund's Rules:
- Covers are "visual metaphors, not visual illustrations"
- Abstraction > literalism when the book is literary
- The reader should finish the book and look at the cover and think "of course"
- White space is content
Coralie Bickford-Smith's Rules (Penguin Classics):
- Pattern + symbol > scene (for literary)
- Limited palette (2-4 colors max)
- Typography must be the hero on pattern-based covers
- Consistency within a series, uniqueness between series
Genre-specific heuristics:
| Genre | What sells | What kills |
|---|
| Dark fantasy / grimdark | Single figure, cold color + ember accent, imposing silhouette, minimal text | Cluttered action, bright colors, generic fantasy tropes |
| Literary fantasy | Symbolic object, atmospheric landscape, negative space, serif typography | Characters' faces, action poses, over-illustration |
| Epic fantasy mashup | Dynamic composition, heroic pose, dramatic sky, bold title | Muddy color, too many elements, small title |
| Sci-fi | Clean geometry, singular focal point, future-tech subtlety | Cliché ships, robots, generic space |
| Romance | Character connection, warm palette, emotion over action | Text overload, generic stock |
| Thriller | High contrast, negative space, one menacing element | Too much happening, bright |
| Literary fiction | Photograph crop, object as metaphor, serif title | Fantasy tropes, illustration |
Universal principles:
- Title first: Typography must be readable at thumbnail size (Amazon grid)
- Composition rule of thirds: Focal point on intersection, not dead center
- Depth layering: Foreground / mid-ground / background — create dimension
- One hero color: Everything else supports it
- Resist clutter: If it's not essential, delete it
- Portrait ratio: 2:3 is the book cover standard (1200x1800, 800x1200, etc.)
Phase 3: COMPOSE THE PROMPT
The prompt has a specific structure. Follow it exactly:
Generate an image: [Genre descriptor] book cover for [TITLE]. Portrait orientation, 2:3 ratio.
SCENE: [One paragraph describing the single iconic image. Concrete. Specific. No abstractions.]
COMPOSITION: [Focal point location, depth layers, what's foreground/mid/background]
LIGHTING: [Source, direction, mood. Cinematic lighting terminology.]
PALETTE: [Hero color + 2-4 supporting colors as hex codes or named precisely]
TYPOGRAPHY: [Title at top/bottom, font style: serif/sans/display, weight: bold/thin]
STYLE REFERENCES: [2-3 specific references. Real designers, movies, or artists.]
MOOD: [One sentence on the emotional register the cover should evoke]
TECHNICAL: 4K resolution, portrait ratio, book cover composition, cinematic depth of field, readable typography.
Phase 4: GENERATE
Model routing:
- DEFAULT: NB2 (
gemini-3.1-flash-image-preview) — $0.02, portrait-native, best for covers
- PREMIUM (only when user says "premium", "hero", "final", or "launch"): NB Pro (
nano-banana-pro-preview) — $0.04
API call template:
MODEL="gemini-3.1-flash-image-preview"
curl -s "https://generativelanguage.googleapis.com/v1beta/models/$MODEL:generateContent?key=$GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contents":[{"parts":[{"text":"PROMPT_HERE"}]}],"generationConfig":{"responseModalities":["TEXT","IMAGE"]}}' \
| python3 -c "
import json,base64,sys
data=json.load(sys.stdin)
for p in data.get('candidates',[{}])[0].get('content',{}).get('parts',[]):
if 'inlineData' in p:
d=base64.b64decode(p['inlineData']['data'])
out='apps/web/public/images/books/SLUG-cover.png'
open(out,'wb').write(d)
print(f'OK: {len(d)} bytes -> {out}')
elif 'text' in p:
print('Text:',p['text'][:200])
"
Save path convention: apps/web/public/images/books/[slug]-cover.png
(Add -nb2 or -nbpro suffix if generating multiple for comparison.)
Phase 5: VALIDATE
Before declaring the cover done, check:
If any fail, iterate. One re-generation is fine. Beyond that, revise the prompt.
Quality Tiers
- Draft cover — NB2, one generation, basic validation. Good enough for book-in-progress.
- Production cover — NB2, 2-3 generations, full validation, pick best. Default for published works.
- Premium cover — NB Pro, multiple angles, hero-quality. For launches, featured tier, or when user specifies.
Anti-Patterns (Never Do)
- Generic "fantasy book cover" prompts with no specificity
- Character faces unless specifically required (faces are the hardest AI generation)
- More than one human figure on the cover (crowd scenes fail)
- Trying to illustrate the entire plot in one image
- Using NB Pro by default (costs 2x with marginal benefit for most covers)
- Skipping Phase 1 (reading the book) to save time
- Bright neon palettes on literary books
- Embedded text longer than the title (taglines often fail in generation)
Integration with Arcanea Ecosystem
- Save covers to
apps/web/public/images/books/[slug]-cover.png
- Update
COVER_MAP in apps/web/app/books/drafts/[slug]/page.tsx
- Update
COVER_MAP in apps/web/app/books/drafts/page.tsx
- Log the cover generation in the book's
book.yaml under ai_transparency.models_used
- For featured tier books: also register in the book reader's metadata
Output Format
When using this skill, produce:
- The thinking — A brief (150-250 word) analysis of the book's tension, emotion, iconic image, genre expectations
- The prompt — The composed prompt with all 7 structural sections
- The generation — Execute the curl command, save to correct path
- The validation — Run the checklist, report pass/fail per item
- The result — Read the generated image and confirm visually
"A cover is a haiku. One image, one emotion, one question that makes you turn the book over to read the back." — The Arcanea Book Cover Method