From ha
Generates customizable article cover images with 5 dimensions (type, palette, rendering, text, mood) and multiple aspect ratios. Integrates with Qwen, OpenAI, and Google AI providers.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ha:cover-imageThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate elegant cover images for articles with 5-dimensional customization. Supports Chinese text rendering.
references/auto-selection.mdreferences/dimensions/font.mdreferences/dimensions/mood.mdreferences/dimensions/text.mdreferences/palettes/cool.mdreferences/palettes/dark.mdreferences/palettes/earth.mdreferences/palettes/elegant.mdreferences/palettes/mono.mdreferences/palettes/pastel.mdreferences/palettes/retro.mdreferences/palettes/vivid.mdreferences/palettes/warm.mdreferences/renderings/chalk.mdreferences/renderings/digital.mdreferences/renderings/flat-vector.mdreferences/renderings/hand-drawn.mdreferences/renderings/painterly.mdreferences/renderings/pixel.mdreferences/style-presets.mdGenerate elegant cover images for articles with 5-dimensional customization. Supports Chinese text rendering.
# Auto-select dimensions based on content
/cover-image path/to/article.md
# Quick mode: skip confirmation
/cover-image article.md --quick
# Specify dimensions
/cover-image article.md --type conceptual --palette warm --rendering flat-vector
# WeChat Official Account cover
/cover-image article.md --aspect 2.35:1
# Specify provider
/cover-image article.md --provider qwen
# Use style preset
/cover-image article.md --style tech-dark
# Large font for better visibility
/cover-image article.md --font-size large
# Generate multiple options
/cover-image article.md --n 3
# With reference images (Google/OpenAI only)
/cover-image article.md --ref style-ref.png
# Direct content input
/cover-image --palette mono --aspect 1:1 --quick
[paste content]
| 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 |
--text <level> | none, title-only, title-subtitle, text-rich |
--mood <level> | subtle, balanced, bold |
--font <name> | clean, handwritten, serif, display |
--font-size <size> | small, medium (default), large, xlarge |
--aspect <ratio> | 16:9 (default), 2.35:1 (公众号封面), 4:3, 3:2, 1:1, 3:4 |
--provider <name> | qwen (default), openai, google |
--style <preset> | tech-dark, tech-clean, lifestyle-warm, business-elegant, announcement-bold, minimal-zen, creative-playful, retro-vintage |
--lang <code> | Title language (en, zh, ja, etc.) |
--no-title | Alias for --text none |
--n <count> | Number of images to generate (1-4) |
--quick | Skip confirmation, use auto-selection |
--ref <files...> | Reference images for style/composition guidance |
| Provider | Model | Text Rendering | Chinese Support | Price |
|---|---|---|---|---|
qwen | qwen-image-plus | Excellent | Native Chinese | 0.2 CNY/image |
openai | gpt-image-1 | Good | Limited | ~$0.04/image |
google | gemini-2.0-flash-exp | Good | Limited | Free tier available |
--provider specified -> use itqwengoogle or openaiqwenBest for Chinese text rendering. Native support for Chinese characters.
API Endpoint: https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis
Environment Variable: DASHSCOPE_API_KEY
Supported Sizes: 1664*928, 1024*1024, 928*1664, 1472*1104, 1104*1472
Good for English text and creative designs.
Environment Variable: OPENAI_API_KEY
Supported Sizes: 1024x1024, 1536x1024, 1024x1536
Good for multimodal generation with reference images.
Environment Variable: GOOGLE_API_KEY
Supported Sizes: Various aspect ratios supported
| 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
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
Output directory per default_output_dir preference:
same-dir: {article-dir}/imgs-subdir: {article-dir}/imgs/independent (default): cover-image/{topic-slug}/<output-dir>/
├── 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
Cover Image Progress:
- [ ] Step 1: Analyze content + save refs + determine output dir
- [ ] Step 2: Confirm options (6 dimensions + provider) unless --quick
- [ ] Step 3: Create prompt
- [ ] Step 4: Generate image
- [ ] Step 5: Resize for platform (if needed)
- [ ] Step 6: Completion report
source.md)Full confirmation flow: references/workflow/confirm-options.md
| Condition | Skipped | Still Asked |
|---|---|---|
--quick | 6 dimensions + provider | Aspect ratio (unless --aspect) |
All 6 + --aspect + --provider specified | All | None |
Save to prompts/cover.md. Template: references/workflow/prompt-template.md
CRITICAL - References in Frontmatter:
refs/ -> Add to frontmatter references listreferences, describe in bodytest -f refs/ref-NN-{slug}.{ext}Reference elements in body MUST be detailed, prefixed with "MUST"/"REQUIRED", with integration approach.
cover.png if regeneratingdirect usage -> pass reference images directly (google/openai only)style/palette -> extract traits, append to promptResize generated image to target platform size:
| Platform | Target Size | Aspect Ratio |
|---|---|---|
| 公众号封面 | 900x383 | 2.35:1 |
| 博客/视频 | 1920x1080 | 16:9 |
| 小红书 | 1080x1080 | 1:1 |
| 手机海报 | 1080x1440 | 3:4 |
Cover Generated!
Provider: [provider]
Topic: [topic]
Type: [type] | Palette: [palette] | Rendering: [rendering]
Text: [text] | Mood: [mood] | Font: [font] | Aspect: [ratio]
Title: [title or "visual only"]
Language: [lang]
References: [N images or "extracted style" or "none"]
Location: [directory path]
Files:
- source-{slug}.{ext}
- prompts/cover.md
- cover.png
- cover-{platform}.png (if resized)
| Ratio | Platform | Use Case |
|---|---|---|
2.35:1 | 微信公众号封面 | 公众号首图,900x383px |
16:9 | 通用宽屏 | 博客、视频封面 |
1:1 | 社交媒体 | 微博、小红书、Instagram |
4:3 | 经典比例 | 演示文稿、传统媒体 |
3:2 | 摄影标准 | 照片风格封面 |
3:4 | 竖版 | 手机端、海报 |
| Variable | Required For | Get From |
|---|---|---|
DASHSCOPE_API_KEY | Qwen (default) | https://bailian.console.aliyun.com |
OPENAI_API_KEY | OpenAI | https://platform.openai.com |
GOOGLE_API_KEY | https://aistudio.google.com |
Dimensions: text.md | mood.md | font.md Palettes: references/palettes/ Renderings: references/renderings/ Types: references/types.md Style Presets: references/style-presets.md Auto-Selection: references/auto-selection.md Visual Elements: references/visual-elements.md Workflow: confirm-options.md | prompt-template.md | reference-images.md | qwen-api.md
npx claudepluginhub notedit/happy-skillsGenerates article cover images with 5 customizable dimensions (type, palette, rendering, text, mood) and 3 aspect ratios. Use /canghe-cover-image to create cover images from markdown files or direct input.
Generates article cover images with customizable dimensions (type, palette, rendering style, text, mood), 11 color palettes, 7 rendering styles, and supports cinematic (2.35:1), widescreen (16:9), and square (1:1) aspect ratios.
Generates hand-drawn style cover images for articles with multiple style and composition options. Useful for creating article covers, blog headers, or social media images.