Product photo + creator portrait + one-take video with native voice and lip sync. You get the 3 prompts ready to paste into Magnific, Higgsfield, or fal.ai.

The pack (Zubair Trabzada · AI Workshop, 2026) teaches a 3-step recipe and 9 formats for ads that look like they were recorded by a real person on a phone. This project turns the recipe into two tools: a skill for Claude Code and a web brief generator.
Seedance 2.5 generates the entire ad at once: same face, same voice, same product, no stitching. 9:16, 1080p, native audio with lip sync.
Review, table confession, nighttime routine, unboxing, try-on, hands-only POV, taste test, and two “bring your product” formats (photo or store screenshot).
Product in frame for the first 3 seconds, realism block, every line in quotation marks with a timestamp, prohibited sounds, QA on frozen frames.
The prompts are in English (the model reads them better); only the lines in quotation marks use the selected language, PT-BR by default. Five timestamped beats guide the performance: 70–80 spoken words fit in 30 s.
Clean e-commerce photo, short label (brand + two lines). It becomes the product identity across all ads.
Portrait: “iPhone front camera, no retouching,” in the exact room, outfit, and lighting of the video. The same face works for a series.
5-beat shot list: hook (0–4 s), what it is (4–11 s), demo (11–18 s), result (18–25 s), close (25–30 s). Realism block and audio block.
The generator in Template Mode runs in any browser, with no server. The skill and AI Mode use what you already have in Claude Code.
The skill runs inside Claude Code. The app's AI mode uses Claude Code OAuth by default, with no API key.
# on the machine where the app will run claude login
Only for AI Mode. Template Mode is static.
cd app && npm install npm run dev # http://localhost:3040
Magnific (MCP, default), Higgsfield, or fal.ai. The app switches the parameter headers for each one. Generation costs credits; the skill simulates the cost first.
# QA tools (optional) ffmpeg -version
Two paths to the same result: the web generator (nothing to install) or the skill in Claude Code (which can also run it in Magnific).
Brand, one-line product description, who buys it, product source (from scratch, photo, or store screenshot), format (01–09), creator, spoken language, and target platform.
https://inematds.github.io/ugc-seedance25/app/public/ # Template mode, no server # or locally, with AI mode via Claude Code OAuth: cd app && npm install && npm run dev
Template Mode: you enter the lines in the 5 fields, and the counter warns you if you go outside the 70–80-word range. AI Mode: Claude writes the product, creator, beat actions, the 5 lines in the selected language, and 2–3 alternate hooks.
# hook speech example (format 07, flavor test) "Todo energético diz que não sabe a remédio. Toda vez é mentira."
Each STEP has a copy button and the parameter header for the selected target. "Copy full brief" or "Download .md" gets everything at once, including the QA checklist.
# STEP 3 in Magnific video_generate · slug bytedance-seedance-pro-2.5 · 9:16 · 1080p · duration 30 references[]: {type:'product', STEP 1} + {type:'character', STEP 2} · sem keyframes
The skill asks for any missing brief details, chooses the format based on the product, writes the 3 prompts, and saves a brief.md. It only runs in Magnific if you ask, and always with a cost simulation first.
# install (symlink to the cloned repo) ln -s ~/projetos/ugc-seedance25/skill/ugc-seedance25 ~/.claude/skills/ugc-seedance25 # use /ugc-seedance25 anúncio ugc do meu sérum, tenho a foto em ~/fotos/serum.jpg # output: ~/projetos/output/ugc-seedance25/<slug>/brief.md
In Magnific, the skill runs simulate_cost and show the number before generating. Then: product photo, creator portrait, 720p draft, approval, 1080p final. Did the PT-BR voice come out poorly? Generate it in inemavox and use it as an audio reference.
# fixed order
simulate_cost → STEP 1 → STEP 2 → vídeo 720p → QA → vídeo 1080p
3×3 contact sheet and mirror check. One product only, no more than two hands, label legible and facing the right way, face matching the portrait, no embedded captions, product visible before 3 s.
ffmpeg -y -i ad.mp4 -vf "fps=0.3,scale=360:-1,tile=3x3" contact.png ffmpeg -y -i ad.mp4 -vf hflip -c:a copy ad-fixed.mp4 # if the label came out mirrored
| # | Format | Best for | The key idea |
|---|---|---|---|
| 01 | Classic Review | serum, moisturizer, hair | the hook sounds like the middle of a story, never the start of an ad |
| 02 | Desk Confession | supplement, coffee, productivity | never cut the beat of consuming on camera |
| 03 | Night Routine | beauty gadget, home tech | a self-deprecating joke halfway through the demo |
| 04 | Unboxing | launch, premium packaging | the sealed box is the hook; reveal it halfway through |
| 05 | Try-On | clothing, activewear, jewelry | fabric touches the lens; repurchase close |
| 06 | Product-Only POV | kitchen, home, stationery | voice-over matches what the hands are doing |
| 07 | Taste Test | food, drinks, snacks | skeptic-turned-believer; “Wait.” after the sip |
| 08 | Bring Your Own (photo) | your real product | reshoot; never use the raw photo in the video |
| 09 | Screenshot-to-POV | store screenshot, no face | "ignore any website interface" or inherits buttons |
Format 05 (try-on) loaded with the pack example, Higgsfield target: STEP 3 comes with a mirror opening, 5 beats, a realism block, and a list of prohibited sounds.


Version 1.0.0. The complete plan, with the pack-to-Magnific mapping and risks, is in PLANO.md in the repo.