Book Cover Generation について
Book Cover Generation は each::sense API を使って、作家や出版デザイナー向けの表紙を生成するスキルです。ジャンル別の表現や電子書籍・オーディオブック形式に対応し、シリーズ作品の統一感も保てます。
主な機能
- 01小説・ノンフィクションの表紙生成
- 02電子書籍・オーディオブック用画像
- 03ジャンルに合わせたビジュアル
- 04シリーズのデザイン統一
活用シーン
- 01ミステリーや恋愛小説の表紙制作
- 02正方形のオーディオブック表紙制作
- 03電子書籍シリーズの統一デザイン検討
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ eachlabs/ skills --skill book-cover-generationインストール後、Claude Code で/book-cover-generationを入力して読み込まれたか確認します。
同梱ファイルreferences/SSE-EVENTS.md
詳細
書籍の表紙生成
each::sense API を使って、魅力的な書籍の表紙、電子書籍の表紙、オーディオブックのアートワークを生成します。本の本質を捉え、読者の関心を引く、ジャンルに合ったデザインを作成できます。
概要
each::sense API は、AI を活用した書籍の表紙生成に対応しており、次の機能を提供します。
- フィクションの表紙:スリラー、ロマンス、SF、ファンタジー、文芸小説
- ノンフィクションの表紙:自己啓発、ビジネス、回顧録、伝記、歴史
- 電子書籍の表紙:オンラインマーケットプレイス向けに最適化されたデザイン
- オーディオブックの表紙:オーディオプラットフォーム向けの正方形フォーマットのアートワーク
- ジャンルに特化したスタイル:読者の期待や市場の慣習に合ったデザイン
- シリーズの統一感:書籍シリーズ全体でビジュアルブランディングを維持
クイックスタート
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"
}'
書籍の表紙のジャンル
| ジャンル | ビジュアルスタイル | 主な要素 |
|---|---|---|
| スリラー/ミステリー | 暗く、サスペンスに満ちた | 影、シルエット、ドラマチックな照明 |
| ロマンス | 温かく、感情豊かな | カップル、柔らかな照明、親密な場面 |
| SF | 未来的、宇宙的 | 宇宙、テクノロジー、異世界の風景 |
| ファンタジー | 魔法的、壮大な | 神話上の生き物、魔法にかけられた舞台 |
| 自己啓発 | すっきりとした、意欲を高める | ミニマルなデザイン、前向きなイメージ |
| ビジネス | プロフェッショナルで大胆な | すっきりとしたタイポグラフィ用のスペース、企業的な美意識 |
| 回顧録 | 個人的で、ありのままの | 写真の要素、親密な雰囲気 |
| 児童書 | 色鮮やかで、遊び心のある | イラスト、キャラクター、鮮やかな色 |
ユースケースの例
スリラー/ミステリーの表紙
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"
}'
ロマンス小説の表紙
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"
}'
SF/ファンタジーの表紙
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"
}'
自己啓発/ビジネス書
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"
}'
回顧録/伝記
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"
}'
児童書の表紙
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"
}'
料理本の表紙
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"
}'
詩集
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"
}'
オーディオブックの表紙(正方形フォーマット)
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"
}'
電子書籍シリーズ(統一されたスタイル)
session_id を使って、書籍シリーズ全体でビジュアルの一貫性を保ちます。
# 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"
}'
書籍の表紙を作成する際のベストプラクティス
ジャンルの慣習
確立されたジャンルのビジュアル表現に沿って、読者の期待に応えましょう。
- スリラーの読者は、暗くサスペンスに満ちたイメージを期待します
- ロマンスの読者は、感情豊かで親密な場面を求めます
- SF の読者は、未来的または宇宙的な要素を期待します
- ビジネス書の読者は、すっきりとしたプロフェッショナルなデザインを好みます
タイトル用スペースの設計
テキストを配置する場所を必ず明確に指定します。
- 上部の3分の1をタイトル用に確保します
- 下部に著者名を入れるスペースを空けます
- 印刷版では背表紙のスペースも考慮します
- テキストが重なる場所には重要なイメージを配置しないようにします
サムネイルテスト
複数の表示サイズを想定してデザインします。
- 小さなサイズ(オンラインストア)でも表紙を判別できる必要があります
- コントラストを高くし、目立つ要素を使います
- サムネイルサイズで消えてしまう細部は避けます
- さまざまなサイズで読みやすさを確認します
印刷版とデジタル版
最終的なフォーマットを考慮します。
- 印刷版:塗り足し、背表紙、裏表紙を考慮します
- 電子書籍:画面での表示に最適化します
- オーディオブック:正方形フォーマットにし、非常に小さなサイズでも見やすくします
プロンプトのヒント
ムードと雰囲気
感情的なトーンを具体的に指定します。
- 「不吉でサスペンスに満ちた」と「暗くミステリアスな」
- 「温かくロマンチックな」と「情熱的で強烈な」
- 「気まぐれで遊び心のある」と「魔法のように魅惑的な」
タイポグラフィ用スペース
テキスト配置の要件を必ず伝えます。
- 「タイトル用に上部の3分の1を空けてください」
- 「大きな文字を配置するため、上部にネガティブスペースを設けてください」
- 「中央揃えのタイトルとサブタイトルを配置できる構図にしてください」
ジャンルの期待
ジャンルに特有の要素を指定します。
- 「現代的なひねりを加えた、クラシックなスリラーの美学」
- 「現代的なロマンス小説の表紙スタイル」
- 「大手ファンタジー出版社の伝統を受け継ぐ、壮大なファンタジー」
カラーパレット
ジャンルに合った色を指定します。
- スリラー:濃いブルー、黒、深い赤
- ロマンス:温かみのあるゴールド、ピンク、柔らかなパステルカラー
- SF:寒色系のブルー、紫、ネオンのアクセント
- 自己啓発:清潔感のある白、意欲を高める色、ミニマルなパレット
モードの選択
Max モード
以下には "mode": "max" を使用します。
- 書籍の最終表紙
- プロ仕様の出版品質
- 複雑で詳細なシーン
- 印刷に対応したアートワーク
Eco モード
以下には "mode": "eco" を使用します。
- すばやいコンセプトの検討
- さまざまな方向性のテスト
- ドラフトの反復
- 予算を重視するプロジェクト
複数ターンの会話
リクエスト間でコンテキストを維持するには、session_id を使用します。
# 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"
}'
エラー処理
実装では、一般的なエラーを処理します。
# 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://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 ]; then
echo "Error: API returned status $http_code"
echo "$body"
exit 1
fi
echo "$body"
関連スキル
コメント
Markdown 対応