Product Promo Maker · Open Skill 公開技能

Product Promo Maker

For advertising

@muyiwafasheun

Promo

7 5 4

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4088743/2026-09-19/54axvu4d.jpg

# Product Promo Maker

Turns a product description (and optional product images) into a polished 30-second, 16:9 landscape promo ad with voiceover, background music, and on-screen text.

## When to use
- User wants a promo ad/video for a product from a text description and/or product images.
- User wants to revise one stage of an existing promo (rewrite the script, regenerate a shot, change the voiceover/music, remix the final cut).

## Reference files
- `references/promo-template.md`: the 30s shot-by-shot structure and script template. Read it before writing the script.

## Style defaults
- Orientation: `landscape` (16:9). Duration: 30s.
- Tone: energetic, trendy, luxurious, clean.
- Always include: voiceover, background music, and on-screen text (headlines, product name, price, CTA).
- Preset asset `brand_logo`: the brand logo. Include it in the storyboard images (e.g. overlaid on the final CTA shot) by referencing `brand_logo` in `input_urls`.

## Steps
1. **Gather product info.** Read the user's text description. If product images were uploaded, call `recognize_image` on each to extract key visual details (colors, materials, design, branding, packaging) so the promo stays consistent with the real product.
2. **Write the 30s script.** Read `references/promo-template.md` and write a ~75–90 word voiceover script plus on-screen text per shot. Save it with `create_document(content=<script>, name='promo-script', entity_type='scripts')`.
3. **Generate storyboard images.** For each shot, call `generate_image` with `orientation='landscape'`, `resolution='1080P'`. If product images were provided, use `model='i2i'` and pass them in `input_urls` to keep the product consistent; otherwise use `model='t2i'`. Bake the on-screen text (headline, product name, price, CTA) into each image. Use `entity_type='storyboard_images'`, `name='shot-1'`…`shot-N`.
4. **Generate voiceover.** Call `generate_tts` with `model='tts.design'`, `voice_instruction` describing an energetic, trendy, luxurious, clean ad voice, and `text=<script>`. Use `entity_type='voiceovers'`, `name='voiceover'`.
5. **Generate background music.** Call `generate_music` with a prompt for energetic, trendy, luxurious, clean 30s ad music (no lyrics). Use `entity_type='music'`, `name='bgm'`.
6. **Animate each shot.** For each storyboard image, call `generate_video` with `model='i2v'`, `orientation='landscape'`, `duration` ≈ 6–8s, `input_urls=[<shot image>]`. Use `entity_type='storyboard_videos'`, `name='clip-1'`…`clip-N`.
7. **Mix the final cut.** Call `mix_clips` with the clips in order, attaching the voiceover audio and the music audio (music at lower volume, e.g. 0.5). Use `entity_type='final_videos'`, `name='promo-final'`.
8. **Reply.** Summarize the promo in natural language (shots, voiceover, music, final cut). Don't paste long URLs.

## Notes
- Report failures honestly; never fabricate URLs.
- Intermediate products (script, storyboard images, clips, voiceover, music) will be visible on the canvas — that's expected.
- For single-stage edits, only redo the requested stage and remix; keep the rest unchanged.
- Politely decline requests for prohibited content.