Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Une commande directe contourne le prompt de vérification. Examinez la source avant de l'exécuter.
Generate stunning book covers, ebook covers, and audiobook artwork using the each::sense API. Create genre-appropriate designs that capture your book's essence and attract readers.
Overview
The each::sense API enables AI-powered book cover generation with support for:
Non-Fiction Covers: Self-help, business, memoir, biography, history
Ebook Covers: Digital-optimized designs for online marketplaces
Audiobook Covers: Square format artwork for audio platforms
Genre-Specific Styles: Designs that match reader expectations and market conventions
Series Consistency: Maintain visual branding across book series
Quick Start
curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a book cover for a psychological thriller titled \"The Silent Witness\" by Sarah Mitchell. Dark, moody atmosphere with a shadowy figure standing at a window. Include space for the title at the top."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
Book Cover Genres
Genre
Visual Style
Key Elements
Thriller/Mystery
Dark, suspenseful
Shadows, silhouettes, dramatic lighting
Romance
Warm, emotional
Couples, soft lighting, intimate scenes
Sci-Fi
Futuristic, cosmic
Space, technology, otherworldly landscapes
Fantasy
Magical, epic
Mythical creatures, enchanted settings
Self-Help
Clean, inspirational
Minimalist design, uplifting imagery
Business
Professional, bold
Clean typography space, corporate aesthetics
Memoir
Personal, authentic
Photographic elements, intimate feel
Children's
Colorful, playful
Illustrations, characters, vibrant colors
Use Case Examples
Thriller/Mystery Cover
curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Design a book cover for a crime thriller called \"Dead End Road\". Show an abandoned car on a foggy rural road at night, headlights cutting through mist. Ominous atmosphere with dark blues and blacks. Leave clear space at the top third for the title text."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
Romance Novel Cover
curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a contemporary romance book cover. A couple silhouetted against a sunset on a beach, warm golden and pink tones. Romantic and dreamy atmosphere. The composition should have open space at the top for the title and bottom for author name. Soft, painterly style."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
Sci-Fi/Fantasy Cover
curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Generate an epic fantasy book cover showing a lone warrior standing on a cliff overlooking a vast magical kingdom with floating islands and a massive dragon silhouette in the stormy sky. Rich purples, deep blues, and golden highlights. Epic cinematic composition with title space at top."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
Self-Help/Business Book
curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Design a minimalist self-help book cover. Abstract representation of personal growth - a small seedling transforming into a flourishing tree. Clean white background with teal and gold accents. Modern, professional aesthetic with plenty of negative space for large typography."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
Memoir/Biography
curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a memoir book cover with a nostalgic, vintage feel. An old photograph-style image of a weathered wooden porch with a rocking chair, faded sepia tones blending into modern color. Evokes memory and reflection. Elegant, literary design with space for a centered title."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
Children's Book Cover
curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Design a colorful children's book cover featuring a brave little fox wearing a red scarf, exploring an enchanted forest with glowing mushrooms and friendly woodland creatures. Whimsical illustration style with bright, cheerful colors. Large clear area at top for playful title text."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
Cookbook Cover
curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a cookbook cover with a rustic, appetizing aesthetic. A beautifully arranged overhead shot of fresh Mediterranean ingredients - olive oil, tomatoes, herbs, artisan bread on a worn wooden table. Warm, inviting lighting. Clean space at top for title and bottom for subtitle."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
Poetry Collection
curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Design an artistic poetry book cover. Abstract watercolor imagery with flowing shapes suggesting nature and emotion - soft petals, flowing water, gentle gradients. Muted earth tones with touches of deep rose. Ethereal, contemplative mood. Minimalist composition with centered title area."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
Audiobook Cover (Square Format)
curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a square audiobook cover for a historical fiction novel set in 1920s Paris. Show the Eiffel Tower at twilight with art deco styling, a mysterious woman in silhouette wearing a cloche hat. Rich golds, deep burgundy, and midnight blue. Bold, legible design that works at small sizes. Square 1:1 aspect ratio."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
Ebook Series (Consistent Style)
Use session_id to maintain visual consistency across a book series:
# First book in series
curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create the first book cover for a urban fantasy series. A city skyline at night with magical energy swirling through the streets, a hooded figure with glowing eyes. Dark purples and electric blues with neon accents. Consistent banner area at top for series branding and title."}],
"model": "eachsense/beta",
"stream": true,
"session_id": "fantasy-series-covers",
"mode": "max"
}'# Second book - same session for consistency
curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create the second book cover in the same urban fantasy series style. Same hooded figure now standing in an ancient underground chamber with mystical runes glowing on the walls. Maintain the same color palette of dark purples, electric blues, and neon accents. Same banner layout for series consistency."}],
"model": "eachsense/beta",
"stream": true,
"session_id": "fantasy-series-covers",
"mode": "max"
}'
Best Practices for Book Covers
Genre Conventions
Match reader expectations by following established genre visual language:
Thriller readers expect dark, suspenseful imagery
Romance readers look for emotional, intimate scenes
Sci-fi readers expect futuristic or cosmic elements
Business readers prefer clean, professional designs
Title Space Planning
Always specify clear areas for text placement:
Reserve the top third for title
Leave space at bottom for author name
Consider spine area for print editions
Avoid placing important imagery where text will overlay
Thumbnail Test
Design for multiple viewing sizes:
Covers must be recognizable at small sizes (online stores)
Use high contrast and bold elements
Avoid fine details that disappear at thumbnail size
Test legibility at various scales
Print vs Digital
Consider the final format:
Print: Account for bleed, spine, back cover
Ebook: Optimize for screen viewing
Audiobook: Square format, works at very small sizes
Prompt Tips
Mood and Atmosphere
Be specific about the emotional tone:
"Ominous and suspenseful" vs "dark and mysterious"
"Warm and romantic" vs "passionate and intense"
"Whimsical and playful" vs "magical and enchanting"
Typography Space
Always mention text placement needs:
"Leave clear space at the top third for title text"
"Negative space in upper area for large typography"
"Composition should accommodate centered title and subtitle"
Genre Expectations
Reference genre-specific elements:
"Classic thriller aesthetic with modern edge"
"Contemporary romance cover style"
"Epic fantasy in the tradition of major fantasy publishers"
Use session_id to maintain context across requests:
# Initial cover concept
curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a book cover for a cozy mystery novel set in a small bookshop. Show a charming bookstore exterior at dusk with warm light glowing from windows, a cat sitting in the doorway, autumn leaves scattered on the cobblestone."}],
"model": "eachsense/beta",
"stream": true,
"session_id": "cozy-mystery-cover",
"mode": "max"
}'# Request variation
curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create another version with the same bookshop but from an interior perspective, looking out through the window at the evening street. Keep the cozy, inviting atmosphere and the cat somewhere in the scene."}],
"model": "eachsense/beta",
"stream": true,
"session_id": "cozy-mystery-cover",
"mode": "max"
}'
Error Handling
Handle common errors in your implementation:
# Check for API keyif [ -z "$EACHLABS_API_KEY" ]; thenecho"Error: EACHLABS_API_KEY environment variable not set"exit 1
fi# Make request with error handling
response=$(curl -s -w "\n%{http_code}" -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a minimalist book cover with abstract geometric shapes in blue and gold."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}')
http_code=$(echo"$response" | tail -n1)
body=$(echo"$response" | sed '$d')
if [ "$http_code" -ne 200 ]; thenecho"Error: API returned status $http_code"echo"$body"exit 1
fiecho"$body"