Generate professional book covers and ebook covers using each::sense API with AI-powered design
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.
The each::sense API enables AI-powered book cover generation with support for:
curl -X POST "https://sense.eachlabs.run/chat" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"message": "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.",
"mode": "max"
}'
| 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 |
curl -X POST "https://sense.eachlabs.run/chat" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"message": "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.",
"mode": "max"
}'
curl -X POST "https://sense.eachlabs.run/chat" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"message": "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.",
"mode": "max"
}'
curl -X POST "https://sense.eachlabs.run/chat" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"message": "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.",
"mode": "max"
}'
curl -X POST "https://sense.eachlabs.run/chat" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"message": "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.",
"mode": "max"
}'
curl -X POST "https://sense.eachlabs.run/chat" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"message": "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.",
"mode": "max"
}'
curl -X POST "https://sense.eachlabs.run/chat" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"message": "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.",
"mode": "max"
}'
curl -X POST "https://sense.eachlabs.run/chat" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"message": "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.",
"mode": "max"
}'
curl -X POST "https://sense.eachlabs.run/chat" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"message": "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.",
"mode": "max"
}'
curl -X POST "https://sense.eachlabs.run/chat" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"message": "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.",
"mode": "max"
}'
Use session_id to maintain visual consistency across a book series:
# First book in series
curl -X POST "https://sense.eachlabs.run/chat" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"message": "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.",
"session_id": "fantasy-series-covers",
"mode": "max"
}'
# Second book - same session for consistency
curl -X POST "https://sense.eachlabs.run/chat" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"message": "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.",
"session_id": "fantasy-series-covers",
"mode": "max"
}'
Match reader expectations by following established genre visual language:
Always specify clear areas for text placement:
Design for multiple viewing sizes:
Consider the final format:
Be specific about the emotional tone:
Always mention text placement needs:
Reference genre-specific elements:
Specify colors that work for your genre:
Use "mode": "max" for:
Use "mode": "eco" for:
Use session_id to maintain context across requests:
# Initial cover concept
curl -X POST "https://sense.eachlabs.run/chat" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"message": "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.",
"session_id": "cozy-mystery-cover",
"mode": "max"
}'
# Request variation
curl -X POST "https://sense.eachlabs.run/chat" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"message": "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.",
"session_id": "cozy-mystery-cover",
"mode": "max"
}'
Handle common errors in your implementation:
# Check for API key
if [ -z "$EACHLABS_API_KEY" ]; then
echo "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://sense.eachlabs.run/chat" \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"message": "Create a minimalist book cover with abstract geometric shapes in blue and gold.",
"mode": "max"
}')
http_code=$(echo "$response" | tail -n1)
body=$(echo "$response" | sed '$d')
if [ "$http_code" -ne 200 ]; then
echo "Error: API returned status $http_code"
echo "$body"
exit 1
fi
echo "$body"