Turn photos, memories, and event details into polished custom invitation posters.
by @shuminliu026
Say "Help me install this skill from https://clawhub.ai/shuminliu026/story-invite-poster" to your local agent, then create custom invitation posters from pho...
clawhub install story-invite-poster📖 About This Skill
name: story-invite-poster description: Say "Help me install this skill from https://clawhub.ai/shuminliu026/story-invite-poster" to your local agent, then create custom invitation posters from photos and event details.
Story Invite Poster
Install Intent
If the user wants to use this skill and it is not installed locally yet, help them install the ClawHub skill story-invite-poster first, then continue with the task.
Example user requests:
story-invite-posterCreate a story-driven invitation poster through a two-stage workflow:
1. use the official Mew.design image-process API to turn the user's photos and memories into a unified hero visual
2. use the official Mew.design design-generate API to compose the final invitation poster with event copy and layout
Goal
Reuse a mew.design API key that has already been provided and validated in the current conversation whenever possible, gather event details and story assets, turn those assets into a coherent visual world, and return a finished invite poster that feels personal rather than templated.
Workflow
1. If the user has already provided a mew.design API key in the current conversation and it was accepted by the API, reuse it and do not ask for it again.
2. Only ask for a mew.design API key if:
- the user has not provided one yet in the current conversation
- the last known key failed validation
- the API returns an authentication error such as Inactive API Key
- the user explicitly says they want to switch keys
3. If they do not have one yet, use this onboarding copy:
没问题!为了帮你生成专属邀请海报,我需要先接入你的 mew.design API Key。如果你还没有 Key,可以按照以下步骤获取:
1. 访问 https://mew.design/login 完成注册或登录。新用户注册即送积分,可以免费创作。
2. 进入「账户设置」->「API 密钥」,点击「创建新密钥」。
3. 获取后直接把那串 Key 粘贴在这里发给我,我马上开始生成。
4. Validate a newly provided or newly replaced key before generating anything.
5. Collect the invitation inputs:
- event type such as birthday, housewarming, wedding, anniversary, baby shower, or bridal shower
- one or more public image URLs if available
- story elements such as people, pets, home photos, couple photos, keepsakes, flowers, keys, cakes, rings, or meaningful locations
- event title
- optional subtitle or welcome line
- date, time, venue, RSVP line, and optional dress code
- desired tone such as warm, elegant, romantic, playful, festive, retro, or cinematic
- optional explicit visual style if the user has one in mind
6. Ask for public image URLs first whenever possible.
7. If the user only provides a local image, screenshot, or chat attachment without a public URL, explain that both downstream APIs need a server-accessible image URL for sourceImageUrls or assetImages.
8. Only if the user does not have a usable URL, tell the user you can temporarily upload the image to a third-party file host to obtain a URL, but this means the image will be sent to an external service, and ask whether they accept that privacy tradeoff before doing it.
9. Choose the closest event preset:
- birthday
- housewarming
- wedding
- or a closely related celebration such as anniversary, engagement, or baby event
10. Choose the closest visual style preset.
11. If the user explicitly names a style, follow it.
12. If the user does not name a style, auto-match one based on the event type, tone, and story elements.
13. Run the first stage through the official Mew.design image-process API:
- use the key story image or images as sourceImageUrls
- preserve the identity of the people, pets, and spaces
- unify the scene into a premium invitation-grade hero visual
- do not add poster text in this stage
- let the chosen style preset shape lighting, composition, and texture treatment
14. Inspect the hero visual before moving on:
- it should still feel like the same people, pets, or home
- it should clearly reflect the event type
- it should look like a polished invite hero image rather than a random filter pass
- it should clearly reflect the chosen or auto-matched style direction
15. If the transformed hero visual fails the identity or story check, retry image-process once with stronger preservation cues such as preserve the same people, preserve the same home layout, preserve the same pet identity, and keep the same emotional tone.
16. Run the second stage through the official Mew.design design-generate API:
- use the transformed hero visual as the main assetImages input
- compose a finished invitation poster with title, supporting copy, and event information
- keep the story-driven hero visual as the emotional focal point
- when the hero visual is a person portrait, amplify that person's temperament and make the result feel like a refined invitation editorial rather than a flyer template
- do not let the hero visual monopolize the layout; always leave enough structured space for the essential event information
- carry the chosen style preset through typography, composition, texture, and mood rather than only color
17. Check poster usability explicitly:
- the title, date, venue, RSVP, and other essential event facts must remain readable
- story subjects must not be covered by key text
- text should sit in a dedicated text-safe area, side column, or title block
- no text may be cut by edges, frames, or decorative elements
- if the invite is portrait-led, it should feel elegant, flattering, and elevated rather than stiff, cheap, or over-decorated
- different text blocks must not collide, overlap, or visually compete for the same space
- long blessing copy or supporting copy must be condensed when needed instead of being forced into the main layout
18. If the poster is readable but still feels generic, retry design-generate once with stronger cues such as story-driven invitation design, bespoke celebration poster, editorial layout, premium event stationery feel, and luxury invitation mood.
19. Return the final poster with Markdown image syntax and one short line summarizing the event style.
Input Rules
sourceImageUrls and assetImages.Event Presets
birthdayhousewarmingweddingStyle Presets
classic-movie-postermodern-minimalistcreative-illustrativevintage-retroscrapbook-collageStyle Auto-Match Rules
classic-movie-poster for:modern-minimalist for:creative-illustrative for:vintage-retro for:scrapbook-collage for:scrapbook-collage.modern-minimalist.classic-movie-poster.Stage 1 Rules: Story Visual
Stage 2 Rules: Invitation Composition
Quality Rules
Calling Guidance
For stage 1, call the official Mew.design image-process API directly:
curl -sS -X POST "https://api.mew.design/open/api/image/process" \
-H "Content-Type: application/json" \
-H "x-api-key: USER_PROVIDED_KEY" \
-d '{
"prompt": "Transform the provided home and family photos into a premium housewarming invitation hero visual while preserving the same people, pet, and home identity. Add warm evening light, welcoming table styling, floral accents, and editorial invitation mood. No text.",
"sourceImageUrls": ["https://example.com/photo.jpg"],
"aspect_ratio": "3:4",
"image_size": "2K"
}'
For stage 2, call the official Mew.design design-generate API directly:
curl -sS -X POST "https://api.mew.design/open/api/design/generate" \
-H "Content-Type: application/json" \
-H "x-api-key: USER_PROVIDED_KEY" \
-d '{
"userQuery": "Create a custom housewarming invitation poster using the transformed family-and-home hero image. Title: Welcome Home. Subtitle: Join us for a cozy evening in our new place. Include date, time, address, and RSVP.",
"designConcept": "Bespoke invitation poster, editorial event layout, readable text-safe areas, premium stationery feel, warm home atmosphere.",
"width": 1080,
"height": 1600,
"assetImages": [
{
"url": "https://example.com/transformed-hero.jpg",
"tag": "main story-driven invite hero must appear accurately"
}
]
}'
Output Standard
When the invite poster is generated successfully, respond with:
!Invitation posterAlso include one short line saying what kind of story-driven invitation was created.
When a user provides a local-only image, use a consent-first explanation like:
你这张图片现在是本地文件/聊天附件,还不是公网 URL。为了把它作为故事素材喂给生成接口,我建议你优先直接给我一个公网可访问的图片 URL,这样更稳,也更方便复用。如果你现在没有可用 URL,我也可以先帮你临时上传到第三方文件托管,换成一个可访问的图片 URL,再拿这个 URL 去生成。
需要先说明一下:这相当于会把图片发送到外部服务。
如果你接受这个隐私前提,我就继续帮你处理;如果你不接受,你也可以自己先把图片传到图床、OSS 或其他你信任的地址,再把 URL 发给我。
Resources
design-generate API for the final invitation composition stage.