muapi-blog-header — Claude Code skill: 1200×628 blog header
Generates a 1200×628 header image for a blog post and tells you where to place the title so it stays readable.
npx skills add SamurAIGPT/Generative-Media-Skills --skill muapi-blog-header -a claude-code
npx skills add SamurAIGPT/Generative-Media-Skills --skill blog-header -a claude-codeWhat muapi-blog-header does
The skill takes your post topic and builds a generation prompt around it: it picks a visual metaphor instead of the usual handshake or lone lightbulb, applies your publication style, and keeps negative space on the left for the title. Then it calls muapi image generate with the gpt-image-2-text-to-image model at a 21:9 aspect ratio.
You get three things back: the image, guidance on where to overlay the blog title, and a one-sentence alt text. If you already have a brand photo, the skill suggests adapting it with muapi image edit rather than generating from scratch. Dark-mode blogs get a dark background suggestion, light ones stay bright.
You need MUAPI_API_KEY set before the first run; if it is missing, run muapi auth configure first. Without the key nothing generates, so check that before anything else. Only topic is required — publication_style and dominant_color are optional.
What it helps with
- produce a 1200×628 header for a blog post
- replace cliché stock imagery with a visual metaphor
- leave room for the title so text does not clash with the image
- get SEO-friendly alt text for the header
- adapt an existing brand photo into a header format
Example prompts for the agent
- Make a header for my post about 10 productivity hacks for remote developers
- Generate a blog header for a post on Redis caching, dark tech blog style
- Take brand.png and turn it into a 1200×628 header
How to install muapi-blog-header
1Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill muapi-blog-header -a claude-codenpx skills add SamurAIGPT/Generative-Media-Skills --skill blog-header -a claude-code2Manually: put the files in place
~/.claude/skills/blog-header/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/blog-header/
1Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill blog-header -a codex2Manually: put the files in place
.agents/skills/blog-header/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill blog-header -a cursor2Manually: put the files in place
.cursor/skills/blog-header/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install SamurAIGPT/Generative-Media-Skills blog-header2Manually: put the files in place
.github/skills/blog-header/SKILL.md1Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill blog-header -a gemini-cli2Platform CLI
gemini skills install https://github.com/SamurAIGPT/Generative-Media-Skills --path library/visual/blog-headerManually: put the files in place
.devin/skills/blog-header/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill blog-header -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about muapi-blog-header
How do I install muapi-blog-header in Claude?
Run npx skills add SamurAIGPT/Generative-Media-Skills --skill muapi-blog-header -a claude-code. The skill lands in ~/.claude/skills/blog-header/SKILL.md.
What does muapi-blog-header do?
It builds a prompt from your post topic, generates a 1200×628 image through muapi image generate, and returns title placement guidance plus alt text.
What do I need before using it?
A MUAPI_API_KEY in your environment. If it is unset, run muapi auth configure first.
Source text
SKILL.md · MIT
---
slug: muapi-blog-header
name: muapi-blog-header
version: "1.0.0"
description: Create a professional, eye-catching blog post header image sized for web (1200×628) with optional title composition guidance.
acceptLicenseTerms: true
---
# Blog Header
**Create a professional, eye-catching blog post header image sized for web (1200×628) with optional title composition guidance.**
## Inputs
| Name | Type | Required | Default | Description |
|:---|:---|:---|:---|:---|
| `topic` | text | yes | — | The blog post topic or title (e.g. "10 productivity hacks for remote developers"). |
| `publication_style` | text | no | clean, editorial, modern, professional | Visual style matching the blog's brand (e.g. "dark tech blog", "warm lifestyle", "minimalist corporate"). |
| `dominant_color` | text | no | — | Optional primary color direction (e.g. "deep blue", "warm amber", "monochrome"). |
## Steps
Generate a single, publication-quality blog header in one shot — no plan needed unless the user requests variants.
1. Derive a strong visual metaphor for `{{topic}}`:
- Avoid cliché stock photo compositions (handshake, lightbulb alone).
- Prefer: dynamic flat lay, abstract concept visualization, illustrated scene, or dramatic lifestyle moment.
2. Build the image prompt:
- Subject derived from the metaphor above.
- Style: `{{publication_style}}, editorial photography, 16:9 wide, professional blog header, `
`ample negative space on the left side for title text overlay, {{dominant_color}} color palette`.
- Tier: quality.
- Aspect ratio: 1.91:1 (standard Open Graph / blog hero).
3. Call `muapi image generate` (model=gpt-image-2-text-to-image, aspect_ratio=21:9).
### Deliverables
Return:
- The header image asset.
- **Title placement guidance**: where to overlay the blog title for best readability.
- **Quick alt-text**: SEO-friendly image alt text (1 sentence).
## Notes
- Leave empty space (negative space) intentionally so titles can be overlaid without clashing.
- If the user uploads an existing brand photo, use `muapi image edit` to adapt it instead of generating from scratch.
- For dark-mode blogs, suggest a dark background; for light, keep backgrounds bright.
## Trigger Keywords
`blog header`, `blog image`, `article image`, `featured image`, `og image`, `open graph image`, `hero image`
---
## Notes for the Executing Agent
- This recipe is LLM-orchestrated: read each phase, gather any missing inputs from the user, then call `muapi` CLI commands. Use `muapi auth configure` first if `MUAPI_API_KEY` is unset.
- For model IDs without a CLI alias yet, fall back to the raw endpoint via `curl -X POST https://api.muapi.ai/api/v1/<endpoint> -H "x-api-key: $MUAPI_API_KEY" -H 'content-type: application/json' -d '{...}'` and poll with `muapi predict wait <request_id>`.
- Substitute `{{input_name}}` placeholders with the user's actual inputs before issuing each call.
© SamurAIGPT · MIT · SamurAIGPT/Generative-Media-Skills