PTENES
Claude Code skill + brief generator · Seedance 2.5

A product becomes an ad UGC 30 seconds long, in a single take

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.

Creator filming herself with her phone, product in hand, natural light
What it is

The recipe for the "Seedance 2.5 UGC Ads" pack, in your workflow

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.

🎬 30-second one-take

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.

🧩 9 ready-to-use formats

Review, table confession, nighttime routine, unboxing, try-on, hands-only POV, taste test, and two “bring your product” formats (photo or store screenshot).

🛡️ Rules to avoid AI slop

Product in frame for the first 3 seconds, realism block, every line in quotation marks with a timestamp, prohibited sounds, QA on frozen frames.

How it works

Three generations, always in the same order

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.

Product brief→ STEP 1 · product photo→ STEP 2 · creator portrait→ STEP 3 · one-take video→ Frame QA
1

Product

Clean e-commerce photo, short label (brand + two lines). It becomes the product identity across all ads.

2

Creator

Portrait: “iPhone front camera, no retouching,” in the exact room, outfit, and lighting of the video. The same face works for a series.

3

Video

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.

Prerequisites

What needs to be live

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.

Claude Code (skill and AI mode)

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

Node 20+ (local app)

Only for AI Mode. Template Mode is static.

cd app && npm install
npm run dev   # http://localhost:3040

A platform with Seedance 2.5

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
User Guide · step by step

From product to finished brief

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).

1

Open the generator and fill out the brief

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
2

Write (or generate) the 5 lines

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."
3

Copy the 3 prompts with the platform parameters

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
4

Or use the skill in Claude Code

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
5

Generate with cost control: 720p draft, 1080p final

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
6

QA on frozen frames, not on vibes

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

The 9 formats

#FormatBest forThe key idea
01Classic Reviewserum, moisturizer, hairthe hook sounds like the middle of a story, never the start of an ad
02Desk Confessionsupplement, coffee, productivitynever cut the beat of consuming on camera
03Night Routinebeauty gadget, home techa self-deprecating joke halfway through the demo
04Unboxinglaunch, premium packagingthe sealed box is the hook; reveal it halfway through
05Try-Onclothing, activewear, jewelryfabric touches the lens; repurchase close
06Product-Only POVkitchen, home, stationeryvoice-over matches what the hands are doing
07Taste Testfood, drinks, snacksskeptic-turned-believer; “Wait.” after the sip
08Bring Your Own (photo)your real productreshoot; never use the raw photo in the video
09Screenshot-to-POVstore screenshot, no face"ignore any website interface" or inherits buttons
Examples

The generator and project cover

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.

Generator screen with STEP 3 set up for the try-on format
Generator in Template mode: STEP 3 ready to copy, with the platform parameters at the top.
UGC Seedance 2.5 project cover
Official project cover in the INEMA catalog.
Roadmap

What’s here and what’s next

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

Done
Skill + brief generator9 formats, 5 beats, fixed blocks, Magnific/Higgsfield/fal.ai targets, Template mode and AI mode (Claude Code OAuth or OpenRouter), QA on frames.
Measure
Actual cost of a 30 s 1080p one-take in MagnificOnly 5 s has been measured. The skill requires simulate_cost before generating; the number goes in the PLAN once measured.
Test
PT-BR lip sync directly from the promptReady-to-use fallback: voice from inemavox as an audio reference. The two approaches still need to be compared in a real ad.
After
Variant seriesSame product photo, new hook and creator, twice a week. Batch with automatic contact sheet QA.