← back to the board · all wave-1 PRDs

PRD CL10 · UKIYO TEST WAVE 1

Status: Needs 2 keyframes made and approved (chin opener + MB01 end frame), then 4 paid clips + voice take + edit.

1. The ad

Ad CL10 · reel 9:16, phone POV · ~20.4 s
ad_id uki-ad-20261013-005 (16-pilot/mint-CL10.json)
Objective Conversion: WhatsApp booking of the RM198 first trial, judged on cost per booked trial from the chat log + the per-ad code, never on cost per chat alone (map-v4 objective).
Offer line 首次细胞光体验 RM198
Type · pain UGC · pain A: breakouts that keep coming back after bottle after bottle of skincare
ICP Women about 25-40 within ~8 km of The Park, Bukit Jalil whose breakouts keep coming back after switching skincare (07-icp-pain-usp/ICP-MAP.md §0 point 1: Jev picked this segment 0.49 vs next 0.19; the product-switching loop is its strongest angle, 0.77).
Hook (map-v4) 「痘痘一直反复的客人,第一次来,我会先做这件事。」
Structure from map-v4 CL10 (variant CL10a): the aesthetician films on her phone: opens on bumps on a chin (tight), then the skin check, then CellLight on the cheek; hands and face tight so the room never shows; RM198 end card. Step labels one line each (op2 DeB7Fk3tyc4). The consult-then-choose narration is the vendor's note4 40-62 s skeleton (22-xhs-celllight/BLOCKS.md §(d) 2). MB01 sits between the gel and the light (23-machine-blocks/blocks.json MB01 use_in).
Chain so far brief atom-brief-ukiyo-newbatch-cl10 · visual evidence atom-visual-evidence-ukiyo-newbatch-cl10

2. References — what is copied, what never is

Ref Source (file · record) Signal We copy Never copy
Your ref 2 · Dr Avora DeB7Fk3tyc4 (IG) 11-operator-refs/locked3/LOCKED-3.md row DeB7Fk3tyc4; DeB7Fk3tyc4-sheet.jpg 12.1 s post, decoded 12 Oct Opens on the face first, one-line step labels, staff-side close-ups. the step claims (brighten, repair barrier); goggles (UKIYO never mentions eye shields); services UKIYO doesn't run; her face as the patient
FACE BAR phone footage 13-gap-refs/ugc.json record 1368544614407574 MY · 501 days running Aesthetician-side phone footage, tight on hands and face, short step labels. 懒人 / easy-relax angle; wide shots that show the real room
Letitia 皮肤管理中心 phone close-ups 13-gap-refs/ugc.json record 943550588501522 MY · 147 days running Staff tells one guest's story in captions over phone close-ups. 一次解决 / 完全无疼感 / 方便极快见效; price-shaming other shops
Dr Stan pas6 'rent vs repair' reel 02-drstan-winners/WINNERS.md §'#2 (tie) pas6' drs-ad-20260508-006-pas6-rent-vs-repair · 13 bookings, best cost/chat RM6.72 The voice order: the fix falls short → not your fault → a different route → a small first step; the person holding the device. doctor authority and credentials (EAU line); the men's-health topic; the English metaphor wording
XHS vendor block N4-B6 (gel) 22-xhs-celllight/BLOCKS.md + blocks.json id N4-B6 (note4 21.0-25.0 s) vendor video (宏泰光电) Framing and pace of the coin-thick gel step only (already reskinned as KF-N4-B6). the XHS watermark and vendor tag; the vendor's client faces; any vendor footage itself
XHS vendor block N4-B10 (CellLight over the shoulder) 22-xhs-celllight/BLOCKS.md + blocks.json id N4-B10 (note4 57.0-66.0 s) vendor video, Jev value high 1.58 Over-the-shoulder handpiece movement and pace (reskinned as KF-N4-B10). the purple-lit manufacturer logo head; the spoken 提亮 / 白白 / 嫩肤 lines; vendor watermark, towel, faces
UKIYO machine clips IMG_8136 / 5645 / 8139 23-machine-blocks/blocks.json (MB01-MB07) + kf/MB0?-ukiyo.png UKIYO's own machine footage, restyled stills The real machine and the 牛奶光 head, to illustrate 「先看肤况,再选适合你的光」. the staff face and 宏泰光电 idle-screen logo (blocks.json excluded); filter counts, wavelengths or specs as a selling point; crops into on-screen numbers

3. Shot list (~20.4 s)

# Time (s) Source On screen Camera Text on screen Voice-over Engine · cost
1 0.0-4.4 (4.4) KEYFRAME TO MAKE: K1 (see below) Tight on a chin with small bumps (visible but mild: this is not a comparison ad), gloved fingertip near the jaw; plain background handheld phone micro-shake, slight push-in 痘痘一直反复的客人,/ 第一次来,我会先做这件事。 痘痘一直反复的客人,第一次来,我会先做这件事。 Wan 3.0 i2v (skills/video-gen/scripts/wan3-i2v-fire.sh, 1080p, --audio false), 5 s · $1.00
2 4.4-6.6 (2.2) ~/.zennith/state/ukiyo-celllight-w1/video-blocks/library/SkinCheck/SK01_SkinAnalysisLaptopOTS/UKIYO_SK01_skin-analysis-laptop-ots_Reel01_v1.mp4 (2.25 s, approved 2 Oct, INDEX.json SK01) Aesthetician's hand points at the skin-analysis screen over the shoulder, small pull-back 先看皮肤 先看清楚她哪里在冒, library block, $0
3 6.6-9.0 (2.4) Approved keyframe 16-pilot/blocks/kf/r5/KF-N4-B6.png (canvas atom-canvas-atom-ukiyo-macbook-air-2-01279) Gloved hand spreads clear gel with a white spatula; she lies flat, brown towel turban handheld, follows the spatula — 再按她的皮肤,选适合的光。 Wan 3.0 i2v (skills/video-gen/scripts/wan3-i2v-fire.sh, 1080p, --audio false), 3 s · $0.60
4 9.0-10.2 (1.2) Restyled still 23-machine-blocks/kf/MB01-ukiyo.png → end frame K2 Filter bays lighting up along the top of the machine, 'Cell Light Platinum' print slow pan along the bays (MB01's own move) 先看肤况,再选适合你的光 (voice continues) Wan 3.0 i2v (skills/video-gen/scripts/wan3-i2v-fire.sh, 1080p, --audio false) with start + end frame, 2 s · $0.40
5 10.2-15.6 (5.4) Approved keyframe 16-pilot/blocks/kf/r5/KF-N4-B10.png (canvas atom-canvas-atom-ukiyo-macbook-air-2-01282) Cream paddle on her cheek with the red light-bar, masked aesthetician leaning in over the shoulder; mild skin slow handheld drift following the paddle 细胞光 3.0 细胞光 3.0,我们这样照顾反复冒痘的皮肤。 / 第一次,先给我看看你的皮肤。 Wan 3.0 i2v (skills/video-gen/scripts/wan3-i2v-fire.sh, 1080p, --audio false), 6 s · $1.20
6 15.6-20.4 (4.8) End card (static, built in the edit) UKIYO logo + offer static 首次细胞光体验 RM198 / WhatsApp 预约 / 效果因人而异 首次体验,WhatsApp 我们。 edit, $0

Keyframes to make (before any paid fire):

Id For shot Reskin from (exact frame) Change Also Engine
K1 0.0-4.4 ~/.zennith/state/ukiyo-celllight-w1/addon-08-09-11/orig/R10-leave-it-to-me_797ed212.mp4 @ 5.2 s (gloved hands at the jaw; the frame the 08 reel shows at ~5.0 s) Crop tight on the chin, phone-POV look, small natural bumps (texture from the same clip @ 2.0 s), remove the burned-in caption 「交给我搞定。」 and the UKIYO corner logo, new generated face, plain background 16-pilot/blocks/UK-5648-hands-only.png is NOT needed; use only the frame + R3/real-usage/key/IMG_5646-7.1.jpg for the glove look codex-image-gen --mode edit via 16-pilot/fire_pilot.sh (MODE=edit), $0 (subscription); then the 5-point keyframe audit (ukiyo-celllight-w1/KEYFRAME-AUDIT-CHECKLIST.md) and board review
K2 9.0-10.2 (end frame) IMG_8136.MOV @ 18.6 s (MB01 out-point, 23-machine-blocks/blocks.json) — inside the clean range, no staff face or idle-screen logo Same restyle as MB01-ukiyo.png (23-machine-blocks/restyle_rest.sh, prompt MBR-restyle.txt, look ref crops-05-r13/look-R6-approved-2.18s.png) kf/MB01-src.png, kf/MB01-ukiyo.png codex-image-gen --mode edit, $0

Every keyframe with a person passes the 5 checks in ukiyo-celllight-w1/KEYFRAME-AUDIT-CHECKLIST.md (aesthetician at the head of the bed, ≤2 hands joined to arms, handpiece with its hose, a reskin not an invention, head/face orientation 1:1 with the reference), plain background, mild skin in treatment shots, no lettering on handpieces.

Wan motion lines (motion only; the scene is locked by the start frame):

Fire one shot per command: bash skills/video-gen/scripts/wan3-i2v-fire.sh --start-image-url <keyframe S3 url> [--end-image-url <url>] --prompt-file <motion line> --duration <s> --resolution 1080p --aspect 9:16 --audio false --ad-id uki-ad-20261013-005 --out <path>. Complete payload only (the endpoint queues before it validates). Each clip: full-size frame check, scene-cut check, then on chain before the edit.

Voice pace (target 4.5-5 syllables/s, gaps ≤0.6 s):

Time (s) Line Syllables Syl/s
0.0-4.4 痘痘一直反复的客人,第一次来,我会先做这件事。 20 4.55
4.6-6.4 先看清楚她哪里在冒, 9 5.0
6.6-9.0 再按她的皮肤,选适合的光。 11 4.58
9.4-13.4 细胞光 3.0,我们这样照顾反复冒痘的皮肤。 19 4.75
13.6-15.8 第一次,先给我看看你的皮肤。 12 5.45
16.0-18.2 首次体验,WhatsApp 我们。 8 3.64

Gaps between lines (s): [0.2, 0.2, 0.4, 0.2, 0.2]. All within 0.6 s.

Sound and edit: Edit in the 08/11 pipeline (ukiyo-celllight-w1/addon-08-09-11/edit-remotion/build.sh, planner make_spec_v5.py with PRICE=RM198): music bed ~/.zennith/state/ukiyo-celllight-w1/R3/wan/bgm/rm99-00060.wav (117.5 BPM, full range) 6 dB under the voice and full between lines; gates duck_check.py (exit 7), seam_check.py, blackframe_check.py; voice checked word by word with R6/wan/tools/vo_check.py (one Whisper process at a time on the Air). Voice gaps ≤0.6 s; slow real footage plays at 1.3-1.6x; machine beats about 1 s.

Voice: One continuous voice take, voice-locked to R3's voice: ukiyo-celllight-w1/R6/wan/tools/fire_wan_r2v_voice.py --voice-ref addon-08-09-11/vo/r3-voice-ref.wav (Higgsfield; HF_ENV_FILE=~/.zennith/secrets/higgsfield.env). Target 4.5-5 syllables/s; the operator hears the take alone before the edit.

4. Engine and cost

Paid video seconds 16 s of Wan 3.0 i2v
Est. USD (one fire per shot) $3.20 at 1080p ($1.60 at 720p); $6.40 if every shot needs one retry
Voice take ~19 s, ≈33.2 Higgsfield credits (planning rate 1.75/s, not in the USD figure)
Keyframes / statics codex-image-gen or local composite, $0 (subscription / local)

5. Compliance

legal_scan.py --selftest PASS, then legal_scan.py 24-wave1-prd/wave1-lines.json: CL10 pass (hook + 8 on-screen + 6 voice lines). Hits: none. Review flags: none.

Extra code check for the scanner's known blind spots (17-dpl/COMPLIANCE.md §3) and this run's rules (放松 / 舒缓 / 健康 / Korean claims / eye shields): none found.

Rules held (where they apply to this ad): real pain first; results only as how skin looks + 效果因人而异; offer line only (no visit details); no relax / lie-back / feel lines; no eye-shield mention; no 'you have X'; generated people never pose as customers; before/after only from the real UKIYO client; device = the cream paddle with the red light-bar, never the purple-logo head; machine keeps its own 'Cell Light III Platinum' print; aesthetician at the head of the bed.

6. Blocking items

7. Steps to launch

  1. Clear the blocking items above.
  2. Make the keyframes, audit them, put them on the board (LEFT = reference, RIGHT = our image).
  3. Fire the Wan shots one command per shot; land each clip on chain.
  4. Voice take; operator hears it; edit; gates (duck, seam, black frame, word check).
  5. qa-doctor: audit-reel (reels, R277 ≥84/120) or G7 (statics); legal_scan on the final copy.
  6. Your approval; /approvals row; Meta upload with ad_name = the ad_id and its tracked_url; per-ad code in the WhatsApp prefill; Meta primary text + headline legal-scanned; G8 published-atom.

Every Wan clip and every final lands on chain at action time: S3 copy, then a G5 video/canvas atom parented to this ad's visual-evidence atom, then the /approvals row (CLAUDE.md forward-emission rule).

← back to the board · all wave-1 PRDs