Cover Image Generator
Generate elegant cover images for articles with 5-dimensional customization.
Usage
# Auto-select dimensions based on content
/baoyu-cover-image path/to/article.md
# Quick mode: skip confirmation
/baoyu-cover-image article.md --quick
# Specify dimensions
/baoyu-cover-image article.md --type conceptual --palette warm --rendering flat-vector
# Style presets (shorthand for palette + rendering)
/baoyu-cover-image article.md --style blueprint
# With reference images
/baoyu-cover-image article.md --ref style-ref.png
# Direct content input
/baoyu-cover-image --palette mono --aspect 1:1 --quick
[paste content]
Options
| Option |
Description |
--type <name> |
hero, conceptual, typography, metaphor, scene, minimal |
--palette <name> |
warm, elegant, cool, dark, earth, vivid, pastel, mono, retro |
--rendering <name> |
flat-vector, hand-drawn, painterly, digital, pixel, chalk |
--style <name> |
Preset shorthand (see Style Presets) |
--text <level> |
none, title-only, title-subtitle, text-rich |
--mood <level> |
subtle, balanced, bold |
--font <name> |
clean, handwritten, serif, display |
--aspect <ratio> |
16:9 (default), 2.35:1, 4:3, 3:2, 1:1, 3:4 |
--lang <code> |
Title language (en, zh, ja, etc.) |
--no-title |
Alias for --text none |
--quick |
Skip confirmation, use auto-selection |
--ref <files...> |
Reference images for style/composition guidance |
Five Dimensions
| Dimension |
Values |
Default |
| Type |
hero, conceptual, typography, metaphor, scene, minimal |
auto |
| Palette |
warm, elegant, cool, dark, earth, vivid, pastel, mono, retro |
auto |
| Rendering |
flat-vector, hand-drawn, painterly, digital, pixel, chalk |
auto |
| Text |
none, title-only, title-subtitle, text-rich |
title-only |
| Mood |
subtle, balanced, bold |
balanced |
| Font |
clean, handwritten, serif, display |
clean |
Auto-selection rules: references/auto-selection.md
Galleries
Types: hero, conceptual, typography, metaphor, scene, minimal
→ Details: references/types.md
Palettes: warm, elegant, cool, dark, earth, vivid, pastel, mono, retro
→ Details: references/palettes/
Renderings: flat-vector, hand-drawn, painterly, digital, pixel, chalk
→ Details: references/renderings/
Text Levels: none (pure visual) | title-only (default) | title-subtitle | text-rich (with tags)
→ Details: references/dimensions/text.md
Mood Levels: subtle (low contrast) | balanced (default) | bold (high contrast)
→ Details: references/dimensions/mood.md
Fonts: clean (sans-serif) | handwritten | serif | display (bold decorative)
→ Details: references/dimensions/font.md
File Structure
Output directory MUST be: Assets/Cover-Images/{topic-slug}/
(As this vault is for a text & image content creator, all generated cover images and their assets live here uniformly to decouple them from the article.)
Assets/Cover-Images/{topic-slug}/
├── source-{slug}.{ext} # Source files
├── refs/ # Reference images (if provided)
│ ├── ref-01-{slug}.{ext}
│ └── ref-01-{slug}.md # Description file
├── prompts/cover.md # Generation prompt
└── cover.png # Output image
Slug: 2-4 words, kebab-case. Conflict: append -YYYYMMDD-HHMMSS
Workflow
Progress Checklist
Cover Image Progress:
- [ ] Step 1: Analyze content + save refs + determine output dir
- [ ] Step 2: Confirm options (6 dimensions) ⚠️ unless --quick
- [ ] Step 3: Create prompt
- [ ] Step 4: Generate image
- [ ] Step 5: Completion report
Flow
Input → Analyze + Save Refs → [Output Dir] → [Confirm: 6 Dimensions] → Prompt → Generate → Complete
↓
(skip if --quick or all specified)
- Save reference images (if provided) → references/workflow/reference-images.md
- Save source content (if pasted, save to
source.md)
- Analyze content: topic, tone, keywords, visual metaphors
- Deep analyze references ⚠️: Extract specific, concrete elements (see reference-images.md)
- Detect language: Compare source and user input
- Determine output directory: Per File Structure rules
Step 2: Confirm Options ⚠️
Full confirmation flow: references/workflow/confirm-options.md
| Condition |
Skipped |
Still Asked |
--quick |
6 dimensions |
Aspect ratio (unless --aspect) |
All 6 + --aspect specified |
All |
None |
Step 3: Create Prompt
Save to prompts/cover.md. Template: references/workflow/prompt-template.md
CRITICAL - References in Frontmatter:
- Files saved to
refs/ → Add to frontmatter references list
- Style extracted verbally (no file) → Omit
references, describe in body
- Before writing → Verify:
test -f refs/ref-NN-{slug}.{ext}
Reference elements in body MUST be detailed, prefixed with "MUST"/"REQUIRED", with integration approach.
Step 4: Generate Image (using baoyu-image-gen)
- Backup existing
cover.png if regenerating
- Process references from prompt frontmatter:
direct usage → pass via --ref (use ref-capable backend)
style/palette → extract traits, append to prompt
- Environment: ALWAYS explicitly rely on the shared
.env at .agents/skills/.env for models.
- Generate: Execute baoyu-image-gen via the unified command:
bun .agents/skills/baoyu-image-gen/scripts/main.ts --promptfiles <output-dir>/prompts/cover.md --image <output-dir>/cover.png --ar <aspect>
- On failure: auto-retry once
Step 5: Completion Report
Cover Generated!
Topic: [topic]
Type: [type] | Palette: [palette] | Rendering: [rendering]
Text: [text] | Mood: [mood] | Font: [font] | Aspect: [ratio]
Title: [title or "visual only"]
Language: [lang] | Watermark: [enabled/disabled]
References: [N images or "extracted style" or "none"]
Location: [directory path]
Files:
✓ source-{slug}.{ext}
✓ prompts/cover.md
✓ cover.png
Image Modification
| Action |
Steps |
| Regenerate |
Backup → Update prompt file FIRST → Regenerate |
| Change dimension |
Backup → Confirm new value → Update prompt → Regenerate |
Composition Principles
- Whitespace: 40-60% breathing room
- Visual anchor: Main element centered or offset left
- Characters: Simplified silhouettes; NO realistic humans
- Title: Use exact title from user/source; never invent
Configuration
Use .agents/skills/.env for model/provider settings.
References
Dimensions: text.md | mood.md | font.md
Palettes: references/palettes/
Renderings: references/renderings/
Types: references/types.md
Auto-Selection: references/auto-selection.md
Style Presets: references/style-presets.md
Compatibility: references/compatibility.md
Visual Elements: references/visual-elements.md
Workflow: confirm-options.md | prompt-template.md | reference-images.md
1---2name: baoyu-cover-image3description: Generates article cover images with 5 dimensions (type, palette, rendering, text, mood) combining 9 color palettes and 6 rendering styles. Supports cinematic (2.35:1), widescreen (16:9), and square (1:1) aspects. Use when user asks to "generate cover image", "create article cover", or "make cover".4---56# Cover Image Generator78Generate elegant cover images for articles with 5-dimensional customization.910## Usage1112```bash13# Auto-select dimensions based on content14/baoyu-cover-image path/to/article.md1516# Quick mode: skip confirmation17/baoyu-cover-image article.md --quick1819# Specify dimensions20/baoyu-cover-image article.md --type conceptual --palette warm --rendering flat-vector2122# Style presets (shorthand for palette + rendering)23/baoyu-cover-image article.md --style blueprint2425# With reference images26/baoyu-cover-image article.md --ref style-ref.png2728# Direct content input29/baoyu-cover-image --palette mono --aspect 1:1 --quick30[paste content]31```3233## Options3435| Option | Description |36|--------|-------------|37| `--type <name>` | hero, conceptual, typography, metaphor, scene, minimal |38| `--palette <name>` | warm, elegant, cool, dark, earth, vivid, pastel, mono, retro |39| `--rendering <name>` | flat-vector, hand-drawn, painterly, digital, pixel, chalk |40| `--style <name>` | Preset shorthand (see [Style Presets](references/style-presets.md)) |41| `--text <level>` | none, title-only, title-subtitle, text-rich |42| `--mood <level>` | subtle, balanced, bold |43| `--font <name>` | clean, handwritten, serif, display |44| `--aspect <ratio>` | 16:9 (default), 2.35:1, 4:3, 3:2, 1:1, 3:4 |45| `--lang <code>` | Title language (en, zh, ja, etc.) |46| `--no-title` | Alias for `--text none` |47| `--quick` | Skip confirmation, use auto-selection |48| `--ref <files...>` | Reference images for style/composition guidance |4950## Five Dimensions5152| Dimension | Values | Default |53|-----------|--------|---------|54| **Type** | hero, conceptual, typography, metaphor, scene, minimal | auto |55| **Palette** | warm, elegant, cool, dark, earth, vivid, pastel, mono, retro | auto |56| **Rendering** | flat-vector, hand-drawn, painterly, digital, pixel, chalk | auto |57| **Text** | none, title-only, title-subtitle, text-rich | title-only |58| **Mood** | subtle, balanced, bold | balanced |59| **Font** | clean, handwritten, serif, display | clean |6061Auto-selection rules: [references/auto-selection.md](references/auto-selection.md)6263## Galleries6465**Types**: hero, conceptual, typography, metaphor, scene, minimal66→ Details: [references/types.md](references/types.md)6768**Palettes**: warm, elegant, cool, dark, earth, vivid, pastel, mono, retro69→ Details: [references/palettes/](references/palettes/)7071**Renderings**: flat-vector, hand-drawn, painterly, digital, pixel, chalk72→ Details: [references/renderings/](references/renderings/)7374**Text Levels**: none (pure visual) | title-only (default) | title-subtitle | text-rich (with tags)75→ Details: [references/dimensions/text.md](references/dimensions/text.md)7677**Mood Levels**: subtle (low contrast) | balanced (default) | bold (high contrast)78→ Details: [references/dimensions/mood.md](references/dimensions/mood.md)7980**Fonts**: clean (sans-serif) | handwritten | serif | display (bold decorative)81→ Details: [references/dimensions/font.md](references/dimensions/font.md)8283## File Structure8485Output directory MUST be: `Assets/Cover-Images/{topic-slug}/`86(As this vault is for a text & image content creator, all generated cover images and their assets live here uniformly to decouple them from the article.)8788```89Assets/Cover-Images/{topic-slug}/90├── source-{slug}.{ext} # Source files91├── refs/ # Reference images (if provided)92│ ├── ref-01-{slug}.{ext}93│ └── ref-01-{slug}.md # Description file94├── prompts/cover.md # Generation prompt95└── cover.png # Output image96```9798**Slug**: 2-4 words, kebab-case. Conflict: append `-YYYYMMDD-HHMMSS`99100## Workflow101102### Progress Checklist103104```105Cover Image Progress:106- [ ] Step 1: Analyze content + save refs + determine output dir107- [ ] Step 2: Confirm options (6 dimensions) ⚠️ unless --quick108- [ ] Step 3: Create prompt109- [ ] Step 4: Generate image110- [ ] Step 5: Completion report111```112113### Flow114115```116Input → Analyze + Save Refs → [Output Dir] → [Confirm: 6 Dimensions] → Prompt → Generate → Complete117 ↓118 (skip if --quick or all specified)119```1201211. **Save reference images** (if provided) → [references/workflow/reference-images.md](references/workflow/reference-images.md)1222. **Save source content** (if pasted, save to `source.md`)1233. **Analyze content**: topic, tone, keywords, visual metaphors1244. **Deep analyze references** ⚠️: Extract specific, concrete elements (see reference-images.md)1255. **Detect language**: Compare source and user input1266. **Determine output directory**: Per File Structure rules127128### Step 2: Confirm Options ⚠️129130Full confirmation flow: [references/workflow/confirm-options.md](references/workflow/confirm-options.md)131132| Condition | Skipped | Still Asked |133|-----------|---------|-------------|134| `--quick` | 6 dimensions | Aspect ratio (unless `--aspect`) |135| All 6 + `--aspect` specified | All | None |136137### Step 3: Create Prompt138139Save to `prompts/cover.md`. Template: [references/workflow/prompt-template.md](references/workflow/prompt-template.md)140141**CRITICAL - References in Frontmatter**:142- Files saved to `refs/` → Add to frontmatter `references` list143- Style extracted verbally (no file) → Omit `references`, describe in body144- Before writing → Verify: `test -f refs/ref-NN-{slug}.{ext}`145146**Reference elements in body** MUST be detailed, prefixed with "MUST"/"REQUIRED", with integration approach.147148### Step 4: Generate Image (using baoyu-image-gen)1491501. **Backup existing** `cover.png` if regenerating1512. **Process references** from prompt frontmatter:152 - `direct` usage → pass via `--ref` (use ref-capable backend)153 - `style`/`palette` → extract traits, append to prompt1543. **Environment**: ALWAYS explicitly rely on the shared `.env` at `.agents/skills/.env` for models.1554. **Generate**: Execute baoyu-image-gen via the unified command:156 ```bash157 bun .agents/skills/baoyu-image-gen/scripts/main.ts --promptfiles <output-dir>/prompts/cover.md --image <output-dir>/cover.png --ar <aspect>158 ```1595. On failure: auto-retry once160161### Step 5: Completion Report162163```164Cover Generated!165166Topic: [topic]167Type: [type] | Palette: [palette] | Rendering: [rendering]168Text: [text] | Mood: [mood] | Font: [font] | Aspect: [ratio]169Title: [title or "visual only"]170Language: [lang] | Watermark: [enabled/disabled]171References: [N images or "extracted style" or "none"]172Location: [directory path]173174Files:175✓ source-{slug}.{ext}176✓ prompts/cover.md177✓ cover.png178```179180## Image Modification181182| Action | Steps |183|--------|-------|184| **Regenerate** | Backup → Update prompt file FIRST → Regenerate |185| **Change dimension** | Backup → Confirm new value → Update prompt → Regenerate |186187## Composition Principles188189- **Whitespace**: 40-60% breathing room190- **Visual anchor**: Main element centered or offset left191- **Characters**: Simplified silhouettes; NO realistic humans192- **Title**: Use exact title from user/source; never invent193194## Configuration195196Use `.agents/skills/.env` for model/provider settings.197198## References199200**Dimensions**: [text.md](references/dimensions/text.md) | [mood.md](references/dimensions/mood.md) | [font.md](references/dimensions/font.md)201**Palettes**: [references/palettes/](references/palettes/)202**Renderings**: [references/renderings/](references/renderings/)203**Types**: [references/types.md](references/types.md)204**Auto-Selection**: [references/auto-selection.md](references/auto-selection.md)205**Style Presets**: [references/style-presets.md](references/style-presets.md)206**Compatibility**: [references/compatibility.md](references/compatibility.md)207**Visual Elements**: [references/visual-elements.md](references/visual-elements.md)208**Workflow**: [confirm-options.md](references/workflow/confirm-options.md) | [prompt-template.md](references/workflow/prompt-template.md) | [reference-images.md](references/workflow/reference-images.md)