← back to the board · all wave-1 PRDs

PRD CL18 · UKIYO TEST WAVE 1

Status: Needs 2 keyframes made and approved (left panel), then 2 paid clips + voice take + edit. Right panel = approved library blocks.

1. The ad

Ad CL18 · reel 9:16, split screen · ~18.7 s
ad_id uki-ad-20261013-006 (16-pilot/mint-CL18.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 comparison · pain C: small bumps and red dots: 一粒粒的闭口、小红点、红红的痘印, oily T-zone (re-anchored 13 Oct; was 'trial veteran')
ICP Same catchment; small bumps and red dots she covers every morning (map-v4 pains.C, re-anchored 13 Oct from the 'trial veteran' segment, ICP-MAP.md §0 point 2, 1.80).
Hook (map-v4) 「左边:每天遮的小红点。右边:先看肤况,再做细胞光。」
Structure from map-v4 CL18 picture_and_structure: split reel; left her morning concealer over small red dots, day after day; right the skin check, then CellLight on the cheek (approved video blocks); real before/after end beat (1.5 s, with its disclosure); end card. Left = her own routine, never another salon (changed_after_jev). Side-by-side opening from Kinohimitsu (COMPARISON-REFS.md §6). Obvious red dots are allowed here because it is a comparison ad (operator 13 Oct rule).
Chain so far brief atom-brief-ukiyo-newbatch-cl18 · visual evidence atom-visual-evidence-ukiyo-newbatch-cl18

2. References — what is copied, what never is

Ref Source (file · record) Signal We copy Never copy
Dify MS-A23 'been to so many salons' 03-market-skin/library.json record MS-A23 (1061082566057013) HK · 467 days running · no still captured The pain aimed at a routine that keeps failing, not at her face. 地表最強 / 最快 superlatives; 暗瘡 treatment claims; naming or implying another salon (map-v4 CL18 changed_after_jev: her own routine 0.88 vs another salon 0.66)
Kinohimitsu 'A versus B, the difference?' 14-comparison-reworks/refs/COMPARISON-REFS.md §6 (AD-KINOH-0010, 1012533634783007); thumbs/px-KINOH-0010.jpg MY · 161 days running Two side-by-side pictures in the first seconds and a 'what's the difference' framing. the collagen product and box; the age framing (25 vs 35)
UKIYO approved 08 reel (Leave it to me) ~/.zennith/state/ukiyo-celllight-w1/addon-08-09-11/edit-remotion/out/build-manifest-08.json ad uki-ad-20261009-004 · RM99 v5b approved 10 Oct (videos 00168-00173) The approved pictures and their order: bumps first, skin check, CellLight, machine, end card. its RM99 card; its old voice-over; ORIG08's burned-in captions (the 08 build crops them out with zoom 1.6)
UKIYO reel 01 (real CellLight before/after) ~/.zennith/state/ukiyo-celllight-w1/reel01-real-ba/STATUS.json; reel01-paid-master.mp4 video atom 00132 · approved 2 Oct, publish-held The real client's before/after and the real session. the off-pain dullness segments; any line that promises an effect

3. Shot list (~18.7 s)

# Time (s) Source On screen Camera Text on screen Voice-over Engine · cost
1 0.0-4.8 (4.8) LEFT half: KEYFRAME TO MAKE L1 (see below) Hands only: a makeup sponge dabs concealer over small red dots on a cheek at the mirror near-still, small sponge dabs 左边:每天遮的小红点 左边,是每天早上遮的小红点。 Wan 3.0 i2v (skills/video-gen/scripts/wan3-i2v-fire.sh, 1080p, --audio false), 5 s (centre-cropped to the left half) · $1.00
2 4.8-9.6 (4.8) LEFT half: KEYFRAME TO MAKE L2 Another morning: a fingertip blends concealer over the same dots, a different top near-still 每天早上 每天遮一层,不如先看看皮肤要什么。 Wan 3.0 i2v (skills/video-gen/scripts/wan3-i2v-fire.sh, 1080p, --audio false), 5 s (left half) · $1.00
3 0.0-9.6 (9.6) RIGHT half (runs beside the left): ~/.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) 0-2.25 · ~/.zennith/state/ukiyo-celllight-w1/video-blocks/library/CellLight/CL02_HandpieceJawPressSide/UKIYO_CL02_handpiece-jaw-press-side_R3_v1.mp4 (3.0 s, approved 2 Oct, INDEX.json CL02) 2.25-5.25 · ~/.zennith/state/ukiyo-celllight-w1/video-blocks/library/CellLight/CL01_HandpieceJawCloseAbove/UKIYO_CL01_handpiece-jaw-close-above_R3_v1.mp4 (1.7 s, approved 2 Oct, INDEX.json CL01) 5.25-6.95 · ~/.zennith/state/ukiyo-celllight-w1/video-blocks/library/CellLight/CL09_HandpieceCheekDiagonalHold/UKIYO_CL09_handpiece-cheek-diagonal-hold_Reel01_v1.mp4 (1.46 s, approved 2 Oct, INDEX.json CL09) 6.95-8.4 · ~/.zennith/state/ukiyo-celllight-w1/video-blocks/library/CellLight/CL07_HandpieceJawGel3Q/UKIYO_CL07_handpiece-jaw-gel-3q_Reel01_v1.mp4 (2.75 s, approved 2 Oct, INDEX.json CL07) 8.4-9.6 Skin check, then the cream paddle with red light on cheek and jaw, hands from the head of the bed each block's own move 右边:先看肤况,再做细胞光 右边,是先看清楚肤况,再做细胞光。 library blocks, $0
4 9.6-12.2 (2.6) Full frame: ~/.zennith/state/ukiyo-celllight-w1/video-blocks/library/CellLight/CL03_HandpieceCheekShields/UKIYO_CL03_handpiece-cheek-shields_R3_v1.mp4 (3.3 s, approved 2 Oct, INDEX.json CL03) Paddle on the cheek, red glow slow press 效果因人而异 (small) 让小红点看起来没那么明显。 library block, $0
5 12.2-13.7 (1.5) Real before/after, pair 1: ~/.zennith/state/ukiyo-celllight-w1/R6/ba/reel01-ba1.png (pair 1, 722×483) Before = red, flushed cheek with small marks; after = calmer, more even; face pixelated static, 3% push 真实客人 · 细胞光 · 未修图 · 效果因人而异 / 细胞光 × [N] 次 · [N] 周 这是客人的前后,效果因人而异。 real photo, $0
6 13.7-18.7 (5.0) 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
L1 0.0-4.8 left ~/.zennith/state/ukiyo-celllight-w1/reel01-real-ba/reel01-paid-master.mp4 @ 11.9 s (mirror close, her hand at the chin) — no decoded concealer reference exists in lanes 03 / 13 / 17 (searched 13 Oct), so this UKIYO-approved mirror frame is the nearest geometry Hands only: crop to cheek + hand at the mirror; a sponge with concealer pressed over a few small red dots; remove the burned-in caption and corner logo; plain wall; new generated identity; subject centred so a 540-px centre crop holds skin texture: ~/.zennith/state/ukiyo-celllight-w1/addon-08-09-11/orig/R10-leave-it-to-me_797ed212.mp4 @ 2.0 s (approved 08 bumps) codex-image-gen --mode edit, $0; 5-point keyframe audit + board review
L2 4.8-9.6 left ~/.zennith/state/ukiyo-celllight-w1/addon-08-09-11/orig/R10-leave-it-to-me_797ed212.mp4 @ 2.0 s (tight cheek with small bumps, no hands) Add one fingertip blending concealer over the dots; another top colour at the frame edge; crop below the eyes; remove burned-in caption and logo L1 for the same skin and light codex-image-gen --mode edit, $0; audit + board review

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-006 --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-2.6 左边,是每天早上遮的小红点。 12 4.62
2.8-5.6 右边,是先看清楚肤况,再做细胞光。 14 5.0
5.8-8.8 每天遮一层,不如先看看皮肤要什么。 15 5.0
9.4-11.8 让小红点看起来没那么明显。 12 5.0
12.0-14.6 这是客人的前后,效果因人而异。 13 5.0
15.0-16.8 首次体验,WhatsApp 我们。 8 4.44

Gaps between lines (s): [0.2, 0.2, 0.6, 0.2, 0.4]. 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. Split layout: two 540×1920 halves, labels at the top, text kept above the bottom third.

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 10 s of Wan 3.0 i2v
Est. USD (one fire per shot) $2.00 at 1080p ($1.00 at 720p); $4.00 if every shot needs one retry
Voice take ~17 s, ≈29.8 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: CL18 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