← Files HiggsfieldARCHIVED FILE

skills/ugc-unboxing-video/references/ugc-unboxing-clip.md

66.7 KB · Oct 2, 2026 · 00:02 UTC

↓ Download file

# UGC clip prompt (Seedance) — full rule set

This file is the complete rule set for the Seedance clip prompt. There is no enhancer service
here: you read these rules, write ONE prompt string yourself, and submit it.

```json
generate_video_batch({"requests":[{"index":"<K>","params":{
  "model": "seedance_2_5",
  "prompt": "<the string you wrote>",
  "count": 1,
  "duration": "<this clip's seconds>",
  "aspect_ratio": "9:16",
  "resolution": "1080p",
  "mode": "omni_reference",
  "generate_audio": true,
  "medias": [
    { "value": "<board_media_id>", "role": "image" },
    { "value": "<character_media_id>", "role": "image" },
    { "value": "<product_media_id>", "role": "image" }
  ]
}}]})
```

Seedance 2.5 renders native audio with `mode:"omni_reference"` and `generate_audio:true`; never make a separate
`generate_audio` call. Submit clips in stable-index `generate_video_batch`
groups of at most six, then wait through `jobs_wait`.
The board image is fed as a reference AND described by your prompt; the prompt is the primary
signal, so keep it dense.

You are a Seedance 2.5 video prompt writer for UGC unboxing clips. You work from structured inputs describing ONE board of a UGC unboxing video — the board image (21:9 with four vertical 9:16 narrative slots), the character reference, an optional product reference, plus position metadata (K, N), clip duration, arc role, the spoken monologue for this clip, and the input tier.

You output ONE Seedance prompt string that produces a single 9:16 vertical video clip of `clip_duration` seconds. The clip contains FOUR INTERNAL HARD CUTS corresponding to the four board slots — Cut 1 = slot 1's moment, Cut 2 = slot 2's moment, Cut 3 = slot 3's moment, Cut 4 = slot 4's moment.

For Board 1 of an unboxing video (`arc_role == "BOARD_1_CANONICAL_UNBOXING"`) the slots carry the canonical arc: Cut 1 = PACKED, Cut 2 = REVEAL, Cut 3 = PRODUCT-FOCUS, Cut 4 = SATISFACTION. For Boards 2..N (`arc_role == "BOARD_K_POST_REVEAL"`) the slots carry a post-reveal exploration / use / settle mini-arc.

The board image is your **narrative map** — read it to understand the story, not to copy frames.

Extract from the board: **what happens** in each slot (the story beat), **chronology** (slot 1 → Cut 1, slot 2 → Cut 2, slot 3 → Cut 3, slot 4 → Cut 4), **overall aesthetic** (light, environment, mood), and **character / product continuity**.

Your written prompt is the **primary signal** to Seedance. The board is also fed to Seedance as a reference image — if your prompt is sparse, Seedance will copy board panels frame-for-frame and the result will look stiff. Your prompt must be dense enough to dominate: packed with motion, breath, micro-expressions, and kinetic detail that no static panel can encode.

Write the prompt as a plain string; there is no JSON wrapper and no enhancer service in
this pipeline.

---

## Inputs to settle before writing

Settle these yourself from the brief, the product analysis, and the run state — nothing is
handed to you:

```
{
  "K": <integer — this board's index, 1-based>,
  "N": <integer — total boards in the video>,
  "clip_duration": <integer 4-15 — seconds of this clip>,
  "arc_role": "BOARD_1_CANONICAL_UNBOXING" | "BOARD_K_POST_REVEAL",
  "monologue_segment": "<verbatim spoken text for this clip, to distribute across the 4 cuts>",
  "input_tier": "auto" | "guided" | "director",
  "user_request": "<original brief verbatim — read it for tone signals (goth / luxury / clinical / hyped / etc.)>",
  "board_media_id": "<reference media id — always provided>",
  "character_media_id": "<reference media id — always provided>",
  "product_media_id": "<reference media id, or null when no product>"
}
```

## Output

The prompt string itself — plain text, no JSON wrapper, no fences, no commentary. Pass it as
`params.prompt` of the `generate_video_batch` call at the top of this file (`seedance_2_5`, `9:16`,
`1080p`) with this clip's duration and the board / character / product references in `medias`.

## Prompt Structure (mandatory)

Each Seedance prompt follows this structure, in order. When a persona / accent is explicitly requested, ONE persona line precedes Style & Mood (see Audio language, persona & accent in Step 5); otherwise Style & Mood is first:

```
Style & Mood: UGC iPhone aesthetic, [light description matching the board], [SELFIE: front-facing camera, intimate handheld feel | STATIC: locked-off static camera, completely static, frozen frame | MIXED: starts SELFIE handheld, hard-cuts to STATIC locked-off, hard-cuts back to SELFIE handheld — POV alternates per cut], social media vertical format.

Narrative Summary: [1 sentence stating what happens in this clip — references the arc_role and the throughline of the 4 cuts. Close it with a register calibration phrase, gated THREE ways by `user_request`: NATURAL (DEFAULT — no signals needed) — close with `performed by a natural, engaged creator — genuine reactions across every beat of the unboxing, lively but human, one honest peak at the reveal, never staged screaming energy` (or near-equivalent). HYPED (opt-in ONLY) — when `user_request` carries an explicit energy signal (`hyped` / `hype` / `energetic` / `explosive` / `high-energy` / `viral energy` / `insane energy`), close with `performed by an INSANELY hyped creator with explosive screaming energy across every beat of the unboxing` (or near-equivalent). CALM — skip the calibration phrase entirely when `user_request` signals a calm-tone aesthetic (`goth` / `vampire` / `cinematic noir` / `cold` / `passive` / `deadpan` / `clinical` / `refined` / `luxury-passive` / `minimal` / `somber` / `serious` / `dark` / `shadowy` / `quiet` / `GRWM` / `routine` / `process-led`). The explicit `user_request` word always wins].

Dynamic Description:
Cut 1 (0-Xs) — [framing distance per board slot 1, e.g. MEDIUM, MEDIUM CLOSE-UP, TIGHT CLOSE-UP, MACRO, WIDER, PRODUCT-EXTENDED] [POV per slot 1]: [action from slot 1, explicit hand allocation (role of EACH hand, ≤ 2 simultaneous hand roles), 5+ micro-behaviors, expression, product/box placement]. Hard cut to.
Cut 2 (Xs-Ys) — [framing distance per board slot 2] [POV per slot 2]: [action from slot 2, explicit hand allocation (role of EACH hand, ≤ 2 simultaneous hand roles), 5+ micro-behaviors, expression, product placement]. Hard cut to.
Cut 3 (Ys-Zs) — [framing distance per board slot 3] [POV per slot 3]: [action from slot 3, explicit hand allocation (role of EACH hand, ≤ 2 simultaneous hand roles), 5+ micro-behaviors, expression, product placement]. Hard cut to.
Cut 4 (Zs-end) — [framing distance per board slot 4] [POV per slot 4]: [action from slot 4, explicit hand allocation (role of EACH hand, ≤ 2 simultaneous hand roles), 5+ micro-behaviors, expression, product placement].

Static Description: [1-2 sentences: setting, ambient details, props, light direction — match the board image's environment].

Audio: She speaks to camera, iPhone microphone audio with natural room tone[, IF K==1 AND non-verbal cues used: include bracketed sounds at the start of Cut 1, e.g. [*small bright laugh*] [*soft gasp*] [*delighted 'oh!'*] (HYPED register only: [*explosive gasp*] [*hyped yelp*])]: "[monologue_segment, distributed across the 4 cuts at natural phrase boundaries]"

[ONLY when user_request explicitly asks for music or names a genre/mood — Music: [genre/mood], low in the mix under the voice, swells at [the peak beat], returns under the closer.]

Facial features clear and undistorted, consistent clothing throughout. Shot on iPhone, natural lighting, social media aesthetic. [SELFIE-only: slight natural handheld micro-shake from her grip | STATIC-only: locked-off static camera, absolutely static, zero camera movement of any kind, no shake, no drift, no breathing wobble | MIXED: handheld micro-shake during selfie cuts, locked-off frozen frame during static-camera cuts]. No on-screen text, no subtitles, no captions, no watermarks. [+ the appended negative tail per Step 7]
```

For male creators (when the character reference clearly reads male): replace "She speaks" with "He speaks", change pronouns throughout. Always third-person framing.

---

## Step 1 — Read the Board

Before writing the prompt, read the board image and extract per-slot:

1. **POV** — selfie or static camera (look for the creator's phone-holding arm visible at the frame edge = SELFIE; framing locked symmetric with both hands free = STATIC)
2. **Framing distance** — MEDIUM CLOSE-UP, TIGHTER CLOSE-UP, TIGHT CLOSE-UP, MEDIUM, MEDIUM-WIDE, MACRO, WIDER, PRODUCT-EXTENDED
3. **Action** — what is she doing with her hands, the box, and the product
4. **Product / box placement** — box sealed / box-at-edge / box-gone; product visible / partially visible / fully hidden / absent
5. **Expression** — opener / building / peak / settle

Don't **contradict** the board (don't switch SELFIE↔STATIC between Cut and slot, don't swap which hand holds the product, don't replace the product interaction). Beyond that, **don't transcribe** the board into the Cut either — the LLM's job is not to put what it sees on the board into words. The Cut description's job is to render the **story beat** of that slot **in motion**: in-cut movement, weight shifts, breath, micro-expressions, kinetic hand detail, posture changes — all the things the static panel cannot show.

Rule of thumb: if a sentence in your Cut could be a caption for the board panel, you're transcribing — rewrite it as motion / change / kinetic detail.

**For unboxing specifically:** Slot 1 ALWAYS depicts a sealed box (the character interacting with packaging, product not yet visible) — Cut 1 must reflect this and never describe the product itself in this Cut. Slot 4 ALWAYS depicts the settled satisfaction closer (warm confident victory by default; peak-victory only under the hyped register) — Cut 4 lands the closer with the character and product, never re-introduces packaging. The story arc PACKED → REVEAL → PRODUCT-FOCUS → SATISFACTION is the spine of Board 1; treat any deviation as an error in your reading of the board, not a creative choice.

**Critical reminder — board panels are SEQUENCE and TIMING reference only.** They confirm WHICH beat each slot represents (PACKED / REVEAL / PRODUCT-FOCUS / SATISFACTION). They are NOT pose-by-pose frame templates. Your Cut description must invent the in-cut motion (breath, weight shift, slicing, kinetic detail, expression evolution, hand mechanics) — these things are NOT on the static panel and must come from your text. Repeating the panel composition frame-for-frame in the Cut text gives Seedance two identical signals (image input + text caption) and produces stiff, lifeless output. The board says "this is the PACKED moment" — your text says HOW it unfolds in motion.

---

## Step 2 — POV Cadence and Style & Mood

Based on the board's per-slot POVs, set the Style & Mood line:

| Per-slot POVs | Style & Mood camera language |
|---|---|
| All four slots SELFIE | `front-facing camera, intimate handheld feel` |
| All four slots STATIC | `locked-off static camera, completely static, frozen frame` |
| POV varies between slots (e.g., STATIC → STATIC → STATIC → SELFIE) | `MIXED: starts [POV1] [language], hard-cuts to [POV2] [language], hard-cuts to [POV3] [language], hard-cuts to [POV4] [language] — POV alternates per cut` |

The canonical Board 1 unboxing cadence is `STATIC → STATIC → STATIC-CLOSE → SELFIE` (PACKED, REVEAL, PRODUCT-FOCUS in static camera for two-handed package/product handling and product close-up; SATISFACTION in selfie for intimate ending). Use the MIXED phrasing in Style & Mood for it.

### UGC camera realism (into Style & Mood + Static Description)

Raw iPhone footage, never cinema: front-camera wide look (mild phone wideness only — never fisheye, never ultra-wide warp), DEEP focus (background sharp, no depth of field) — handheld language ONLY in SELFIE cuts (the STATIC forbidden-word list wins); one small auto-exposure or autofocus adjustment allowed inside a SELFIE cut only — never in a STATIC cut (they stay frozen); digital sharpness, mild HDR flattening; pore-level skin (no smoothing, no glow); ONE motivated light source; real weight, inertia, contact shadows. Cinema negatives are appended in Step 7.

---

## Step 2b — Baked camera moves (deliberate, opt-in)

Seedance renders the camera move you WRITE into the clip. OFF by default — add it only for a livelier edited-vlog energy or the "shot on a real phone" opener. A baked move is a single DELIBERATE, controlled dolly — never the banned uncontrolled `shake` / `drift` / `wobble` / `sway`, which stay forbidden everywhere.

- **Slow push-in / gentle ease-back.** Write it per cut: `the camera slowly PUSHES IN across the cut (a gentle dolly-in)` on a reveal / reaction beat, or `eases back and PULLS OUT` to open a wider beat. Echo it once in the quality tail (`a deliberate slow camera push-in then a gentle ease-back`).
- **On a LOCKED (static camera) cut, one deliberate slow push-in is the SOLE exception** to the freeze: the framing stays locked, the ONLY motion is that single intentional dolly (this is how a macro product / reveal beat gets its push-in) — still no shake / drift / wobble, and that cut's quality tail reads `locked framing with one deliberate slow push-in, otherwise static`.
- **Candid handheld ZOOM-IN opener (Cut 1, SELFIE).** For the real-phone opening, make Cut 1 a `candid HANDHELD iPhone ZOOM-IN toward the face — the frame pushes in fast and a little unsteady, a tiny overshoot-and-correct, like a real hand pinch-zooming, never a smooth professional dolly`; the first word / sound lands during the zoom. Echo in the tail (`an opening candid handheld iPhone zoom-in, then steady`).
- **At most ONE baked move per cut, never on every cut** — a move on every beat reads mechanical. Boards are stills and cannot encode motion; this is a clip-only instruction.

---

## Step 3 — Time-Slicing the Cuts

Distribute `clip_duration` across the 4 cuts. Default split for unboxing — REVEAL gets the most time (peak moment), PRODUCT-FOCUS is brief (single beat), SATISFACTION lands the closer:

| `clip_duration` | Cut 1 (PACKED) | Cut 2 (REVEAL) | Cut 3 (FOCUS) | Cut 4 (SATISFACTION) |
|---|---|---|---|---|
| 4s | 1s | 1.5s | 0.5s | 1s |
| 6s | 1.5s | 2s | 1s | 1.5s |
| 8s | 2s | 2.5s | 1.5s | 2s |
| 10s | 2.5s | 3s | 2s | 2.5s |
| 12s | 3s | 3.5s | 2.5s | 3s |
| 15s | 3.5s | 4.5s | 3s | 4s |

Adjust by ±0.5-1s if the action of a particular cut needs more or less time (the sum MUST equal `clip_duration` exactly). Each cut MUST remain ≥0.5s.

Write the time spans into the Cut headers exactly: `Cut 1 (0-3.5s)`, `Cut 2 (3.5-8s)`, `Cut 3 (8-11s)`, `Cut 4 (11-15s)` — values per the table above.

---

## Step 4 — Action Language Per Cut

For each cut, write 4-10 sentences in the Dynamic Description describing the action. Rules:

### STATIC cut language
- Camera is **absolutely frozen and locked off — zero movement of any kind. No shake. No drift. No breathing wobble. No organic sway. No micro-movement. The frame is completely fixed and immovable. Only the subject and the product move within the locked frame.**
- The Style & Mood / quality suffix MUST use locked-off STATIC phrasing for the static cut(s).
- **Forbidden words inside a STATIC cut's description:** `handheld`, `shake`, `drift`, `wobble`, `sway`, `slight movement`, `micro-shake`, `intimate handheld`, `natural movement`, `subtle movement`. These leak motion into the render.

### SELFIE cut language
- **The phone is NEVER visible in frame.** The camera IS her phone — the viewer sees exactly what her front-facing iPhone captures. The phone object is NEVER held up to her face in the frame, NEVER over-the-shoulder POV, NEVER any "mirror selfie" look (where the camera sees her looking at her own phone screen). NO phone screen visible. NO third-person view of her holding a phone.
- Her free hand or arm may be partially visible at the frame edge if natural — only the arm/forearm, never the phone object itself.
- Natural handheld micro-shake from her grip is expected.
- The quality suffix uses `slight natural handheld micro-shake from her grip` for selfie-only clips, or the MIXED phrasing.

**Forbidden words/concepts in SELFIE cut descriptions:** `mirror selfie`, `looking at her phone`, `phone in her hand`, `holding phone up to face`, `over-the-shoulder`, `phone screen visible`, `reflection`, `mirror`. These leak phone-as-object into the render — Seedance interprets them as "show the phone object", which produces the wrong shot.

### Hand Allocation per cut
- SELFIE cut → 1 hand free for action (other holds phone). NEVER two objects in selfie cut → if the action requires it, the slot is wrong, the board is wrong, fix the board first.
- STATIC cut → 2 hands free. Suitable for opening, twisting, applying with one hand while holding product with another, lifting heavy items.

**THE HAND-COUNT LAW (hard cap — one hand or two, NEVER three).** The character has exactly TWO hands, and every hand written into a cut belongs to her. At any simultaneous moment of a cut, the hand roles described (and expected in frame) total ≤ 2 — an action load that needs a third hand ("holds the box while unwrapping the ribbon while waving" = three jobs, two hands) writes a phantom third arm into the render; a third hand must be impossible to read out of the prompt. The law composes with the bullets above: SELFIE's one-free-hand cap and STATIC's two-free-hands stand unchanged.

- **Name the role of EACH hand.** One-hand actions name the acting hand AND park the other explicitly (in SELFIE the parked hand IS the phone grip, off-frame; in STATIC: resting at her side, flat on the surface beside the box). Two-hand actions are LEGAL when the action naturally needs both (Weight & Grip two-hand lifts, the Action Sequences hold-base → twist-lid mechanics) — then name both roles in ONE sentence ("left hand steadies the jar on the counter, right hand twists the lid") and give the hands NO other simultaneous job. The Cut 1 box-cutter beat keeps its single decisive motion and fits the law natively: one hand slices, the other steadies the box resting on the surface.
- **Third-hand-prevention staging:** prefer one hand actively on the product with the other parked; when the product would otherwise need a stabilizing hand, rest it on a surface instead (the resting-box law is the native example). A product floating unheld beside busy hands also spawns the third hand — it is held or it is resting, explicitly. Multi-step actions sequence across the existing hard cuts (show — hard cut — open), never piled into one beat.
- **Count before output:** before finalizing, count the hand roles written into each cut — total simultaneous ≤ 2.

### Box Presence per Cut (mandatory for unboxing)

The unboxing centers on a delivery package. Each Cut of Board 1 has a fixed box state:

- **Cut 1 (PACKED)**: sealed box is the focal object. Product is NOT visible. Character interacts with the box (hands on, hovering, ready). The box rests on a flat premium surface — never lifted in the air, never carried. Branch by the box type visible in the board's Slot 1:
  - **Case A — generic brown taped cardboard delivery box visible in board Slot 1**: At the end of Cut 1, the character picks up a small utility / box-cutter knife from beside the box, slices the packing tape with one decisive motion (one quick action — no lingering on the blade, no zoom-in, no detailed inspection of the knife), then sets the knife aside on the surface beside the box. The knife stays visible on the surface in subsequent cuts but is NEVER described, focal, or referenced again — it's a quick functional beat, not a feature. As the box flaps fall open, color-matched packing / tissue paper inside the box is briefly visible (atmospheric backdrop, one quick beat — not focal, not zoomed).
  - **Case B — user-supplied retail / branded / gift package visible in board Slot 1**: NO knife, NO packing tape, NO tissue paper anywhere in Cut 1 — none of these are described, referenced, or implied. Instead, the character builds genuine TikTok "the package just arrived" excitement throughout the entire Cut: playful finger-drumming on the lid (clear knuckle-bumps, rhythmic 3-4 taps), an excited shoulder wiggle, wide-eyed grin with brow-pump suspense, a quick mock-shake of the head, possibly a tiny "ooooh"-shaped mouth peek; followed by a playful sideways slide / nudge of the box on the surface with one hand (just a few cm of glide on the surface — NEVER lifted off the surface, NEVER tossed in the air, NEVER dropped; the product inside stays safe). The character's energy stays register-matched throughout — NATURAL (default): bright contained excitement, a grin she can't hold down, brows up, lively but human; HYPED (ONLY on the explicit energy signals): mouth open mid-scream-laugh, brows skyward, full-body explosive joy. At the end of Cut 1, read the package in the board image and describe its natural opening mechanism as the closing beat — lift-off lid pulled straight up / hinged lid tilted back on its hinge / slide-out drawer pulled forward / magnetic flap flipped open / wraparound sleeve slid off / whichever fits the visible package. The opening is one clean motion, no fumbling, performed with lively anticipation (HYPED register: mouth open mid-scream-laugh as the box opens).

  Hard cut to Cut 2.
- **Cut 2 (REVEAL)**: product is just emerging from the open package. The box may be visible at the frame edge in its just-opened state — but is fading from focus. The hard cut from Cut 1 handles the "box → product" transition. Do not describe the opening motion within Cut 2 itself unless the user explicitly asks for slow opening. Branch by box type from Cut 1 (matches the board's Slot 1):
  - **Case A (generic delivery box)**: product is nestled in / lifted from color-matched packing / tissue paper inside the open box. The paper is backdrop only — visible for the first beat of Cut 2, never described in detail beyond "color-matched tissue paper inside the open box flaps". The cutter knife (now resting on the surface from Cut 1's end) is not mentioned.
  - **Case B (user-supplied package)**: NO tissue paper, NO packing material described or implied. The product emerges cleanly from inside the package — from under the lifted lid, out of the drawer, behind the magnetic flap, etc., matching the opening type from Cut 1. The package interior remains undescribed beyond what is strictly needed to land the product reveal.
- **Cut 3 (PRODUCT-FOCUS)**: box is GONE from the frame. Product is the hero — extended toward lens, on palms, held up.
- **Cut 4 (SATISFACTION)**: box is GONE. Character + product only.

Once the box has disappeared in any Cut, NEVER re-introduce it in subsequent Cuts. No re-taping, no closing, no carrying, no setting it back on the table. The box ceases to exist.

If the user provided a real package image (visible in the board's Slot 1), Cut 1 must depict THAT package (matching the reference) — do not invent a generic box when a specific one is provided.

For `arc_role == "BOARD_K_POST_REVEAL"` (Boards 2..N): the box NEVER appears in any Cut. Cut 1 of Board K picks up the action mid-stream from Board K-1's Slot 4 — no packaging, no re-introduction.

### The 0.1-second hook law (EVERY clip, mandatory)

Cut 1 opens ALREADY MID-EVENT: frame one is mid-motion per the board's slot 1 — for Board 1 the hands are already at the sealed box (fingers at the tape edge, box mid-turn toward the lens), for Boards 2..N the action picks up mid-stream — NEVER a settled pose, never a person waiting to start talking. And the voice starts IMMEDIATELY: the first spoken word (or the K=1 bracketed sound) lands within 0.0–0.4s of frame one — no silent lead-in, no breath-before-speaking, no settle-in beat. Write Cut 1's description so its FIRST clause is motion, and open the Audio line's first phrase at the very top of Cut 1. The only legal delay of the first word is an explicitly staged freeze-beat (hook staging only, ≤0.7s). In quiet voice-free mode the law transfers to sound: the first named SOUND lands ≤0.4s of frame one.

### Optional Cut-1 entry device — H9 operator-action hooks (SELFIE Cut 1 only)

When the board's Slot 1 reads SELFIE AND `arc_role == "BOARD_1_CANONICAL_UNBOXING"`, Cut 1 MAY open on an operator-action hook — frame one is something happening to the CAMERA, reading as an accident of recording, not a directed shot. Optional flavor, never mandatory; at most ONE H9 device per clip; never in a STATIC cut (the canonical Board 1 cadence opens STATIC — on those boards this menu is OFF); never combined with a Set-Down / Pick-Up in the same cut. Skip when Cut 1's span is under 1.5s.

Menu (PACKED-compatible — sealed box focal, product never visible):

- **H9a Drop-Catch** — the frame is already tumbling, world spinning, caught and righted onto the sealed box; the first word lands during the catch.
- **H9d Walk-and-Slam** — violent handheld motion, walking FAST, breathing audible, background streaking, the sealed box riding at the frame edge under her free arm; the frame drops and settles as the box comes to rest on the surface. The carry exists ONLY inside this entry beat — the settled composition obeys the resting-box law above (box on the surface, never in the air).
- **H9e Zoom-Out Reveal** — extreme close digital zoom on a textless detail of the SEALED box (tape seam, box edge, embossed texture — never legible print, the no-legible-text-on-props law wins; never the product); a quick zoom-out reveals the box; the first line refers to the detail.
- **H9g Light Switch** — near-black, only her voice; a lamp clicks on — the scene appears already mid-moment, sound leading picture by half a second.

Laws:

- **Frame-physics language only** — the frame tumbles / swings / settles / clears. The SELFIE forbidden words above stay in full force next to this menu, and it adds: never `drops her phone`, never `holding phone`; `reflection` / `mirror` stay banned — no H9 via mirrors.
- **Resolves INTO the board's Slot 1 composition within ~1.5s** — the board is still the moment the camera arrives at; board fidelity stands.
- **The first spoken word lands ≤0.4s in / during the event** — the Step 5 first-word content bans stand unchanged; this menu extends them.
- **Audio twin mandatory** — write the device's sound into the Audio line's room-tone clause (H9a: fabric scrape on the lens + a caught breath; H9d: audible fast breathing + the soft thump of the settle; H9e: autofocus silence + a close breath; H9g: a lamp click, sound leading picture) — same ambient-sound treatment as the K=1 bracketed pool, never production audio.
- **A camera event, not a product interaction** — the H9 device does not consume Cut 1's single action; the Case A / Case B box beats still land after the frame settles.

### Weight & Grip Logic (mandatory)

Classify the product by weight before describing the lifting/holding action in any Cut:

| Class | Examples | Hand allocation | Facial expression |
|---|---|---|---|
| Heavy | Appliance, bottle ≥1L, toolbox-class, kettlebell, dumbbell ≥3kg | TWO hands required, body leans forward | Visible strain — jaw set, brow slightly furrowed, controlled exhale — combined with the register-matched unboxing reaction (genuine delight by default; explosive only on the explicit energy signals) so the strain reads as "lifting + reacting", not deadpan effort |
| Bulky but light | Oversized box, large but empty | TWO hands for stability | NO strain — relaxed face, easy grip |
| Light | Cosmetics, phone, small bottle | ONE hand, relaxed grip | Neutral / register-matched lively depending on the slot's expression beat, no strain |
| Tiny | Earring, pill, contact lens | Pinched (thumb + index), close to lens | Focused / curious, no strain |

**Forbidden:** describing one-handed lifting of heavy items, or two-handed strain on light items. Both produce unrealistic AI-tell renders. Classify the product before writing the prompt — if the class is ambiguous, default to the heavier class (safer for realism).

**Size is hand-relative:** `palm-sized, fits in one hand, ~15 cm tall` — never object comparisons; those drift oversized.

Weight + hand allocation MUST appear explicitly in the Cut 2 REVEAL description — e.g. `Cut 2 (3.5-8s) — MEDIUM CLOSE-UP STATIC: heavy 5kg kettlebell clears the box flaps in both hands, character leans forward into the lift, jaw sets, neck tendons visible, controlled exhale, combined with a genuine open-mouthed laugh of delight as the kettlebell rises to chest level` (the WILD open-mouth scream of victory version fires ONLY in the HYPED register).

### Action Sequences (when the cut depicts product opening or application)

Use exact physical mechanics, never vague verbs:

| Product | Cut sequence |
|---|---|
| Perfume / cologne | Hold base → lift cap straight up → cap disappears → press nozzle → mist on wrist or neck |
| Serum dropper | Hold bottle → unscrew dropper counterclockwise → lift pipette → squeeze bulb → drops on fingertips |
| Cream jar | Hold base → twist lid off counterclockwise → lid disappears → fingertip scoop |
| Soft tube | Hold middle → flip or unscrew cap → squeeze → product on fingertip |
| Pump bottle | Hold base → press pump head with two fingers → product on palm |
| Lipstick | Hold base → pull cap straight up off → cap disappears → twist base → swipe lips |
| Mascara | Hold tube → unscrew wand → pull out slowly → apply |
| Compact / powder | Hold compact → flip hinged lid open → tap brush/sponge → apply |
| Spray bottle | Hold bottle → remove cap if visible → press trigger → mist |

Cap / lid rules: cap is removed BEFORE contents exit; after removal, NEVER describe where the cap goes — it ceases to exist; max 1 opening + 1 usage action per cut. Every prop state change is a SHOWN action inside its Cut's span — an off-camera change forks the object into both states.

Staging laws (into the cut text):
- **Mechanism anatomy lock:** for products not in the table, name the mechanism once — which part is where, what moves, where output exits — same flow every Cut.
- **Cause before effect:** no result without its on-camera cause in an earlier beat. One vessel / one target throughout.
- **Absent features:** when the selling point is an ABSENCE, write it visually in the cut text (`hand-pump only, cordless, no buttons`) AND as an appended Step 7 negative (`no power cord, no buttons, no charging port, no display`) — else the default gets hallucinated back.

### Cinematic Specificity (mandatory per cut)

Each cut must include all three of:

1. **5+ concrete micro-beats** from the register-matched menu below (rotate — never repeat the same combination across the 4 cuts). **Default emotional register is NATURAL — conversational, lively, genuinely engaged; pick predominantly from the natural menu.** Switch to predominantly-hyped picks ONLY when `user_request` carries an explicit energy signal (`hyped` / `hype` / `energetic` / `explosive` / `high-energy` / `viral energy` / `insane energy`). Switch to predominantly-calm picks ONLY when `user_request` explicitly signals one of: `goth`, `vampire`, `cinematic noir`, `cold`, `passive`, `deadpan`, `clinical`, `refined`, `luxury-passive`, `minimal`, `somber`, `serious`, `dark`, `shadowy`, `quiet`, `GRWM`, `routine`, `process-led` tone or aesthetic. Keep the energy language concrete in every register — Seedance under-renders energy; a flat-neutral prompt renders a wooden AI presenter.

   **Natural menu (default — pick from here first):** raised brows with a genuine grin, small bright laugh, lean-in toward the lens, head tilt with narrowed appraising eyes, surprised blink, satisfied slow nod, half-laugh through the nose, breaking grin she doesn't fight, delighted eyebrow flash, quick glance down at the box or product then back up with a warmer smile, honest jaw-drop that relaxes into a smile, hand-to-cheek small disbelief, weight rock back with a pleased exhale, quiet appreciative head shake.

   **Hyped menu (opt-in — pick from here first ONLY on the explicit energy signals above):** WILD open-mouth scream-gasp (jaw dropped wide, eyes blown wide, neck tendons visible), mouth blown open in full scream of excitement, victorious mouth-open shout, dramatic head jerk back recoil with explosive joy, cheek puff out then deflate, lip wipe with thumb at corner of mouth, eyebrows shoot skyward, knuckles white grip-tighten, mock-confused squint then break-into-laugh, slow head shake with massive grin, full-body satisfaction shudder, tongue-press inside cheek, eye-roll then explosive grin back to lens, head thrown back with burst of laughter.

   **Calm menu (override — pick from here only when `user_request` signals calm tone):** weight shift, hair touch, glance break, head tilt, eyebrow flash, hand gesture, posture shift, lip movement, shoulder shrug, breath (inhale / exhale / sigh / sharp inhale), jaw set, neck tendon definition, knuckle tightening, foot pivot, brow furrow, chin tuck, lean forward / back, micro-grin, half-blink, slight off-center handheld tilt.

   **Quiet process-led mode** (on a `quiet` / `GRWM` / `routine` / `process-led` signal in `user_request`): the calm override applies in full, plus — a sparse `monologue_segment` is LEGAL (≤ 20 words per 15s clip; the word-density floor is waived — distribute it thin, never pad); SOUND carries the clip instead: denser precisely named SFX in the Audio line's room-tone clause (tape peel, box flaps, tissue paper, lid clicks — close and intimate). An early Set-Down is the preferred transition (the Set-Down / Pick-Up rules apply unchanged — Cut 1 → Cut 2 stays a hard cut, always); no presentation gestures — the product is handled as one honest step, used in real time; keep ONE tiny human beat so it breathes. The 0.1s hook law holds: when Cut 1 opens voice-free, the first named SOUND lands ≤0.4s of frame one instead of the first word. In this mode the playful-improv mandate collapses to the ONE tiny human beat (no separate goofy beats), and on the closing clip (K == N) the default Pick-Up wins over the early Set-Down preference (max one device stands).

2. **At least 1 within-cut motion beat** — something that progresses or changes during the cut. The cut is not a still — describe what evolves inside it. Examples: "weight shifts forward as the kettlebell clears the flaps", "shoulders roll back as the reaction peaks", "knuckles tighten as the product locks into view", "a quick genuine grin breaks across her face after the controlled exhale".

3. **Expression evolution across the 4 cuts** — never the same expression twice (NATURAL default: bright genuine anticipation → genuine wide-eyed delight at the reveal, lips parted, audible gasp → engaged admiration → satisfied victory settle. HYPED — only on the explicit energy signals: hyped anticipation → explosive scream-gasp peak → hyped admiration → victory celebration). Identical expression across cuts is forbidden.

**Micro-beat placement:** beats land BETWEEN spoken phrases, never during a key word (smears lip sync); ONE movement at a time; name the body part and object (never `fidgets`); write audible beats as audible (K=1 may echo them in the bracketed pool).

**Peak pairing:** 1-2 true PEAKS per clip above the clip's register baseline — on Board 1, Cut 2's REVEAL peak is the mandatory one: in the NATURAL register it is a genuine delighted surprise at HUMAN scale (a real jaw-drop, a breaking grin, audible gasp OK — never staged screaming); the REVEAL scream version fires ONLY in the HYPED register. Each peak is motivated by a product beat (reveal, texture, result) and paired with ONE big body event that REPLACES a micro-beat slot (lean-back then snap back, jaw stays dropped, double-take). A third peak is noise; quirk and peak never share a beat.

**Performance tendency — at least 1 unguarded micro-beat per clip.** Real UGC creators break character, recover, and let micro-mistakes through. Include at least one recovered eye-flick / mid-thought stumble / post-laugh settle / quick self-correction / re-found composure / "wait what was I saying" beat. Wooden, posed-throughout performances read as AI. Skip this tendency only when `user_request` explicitly specifies a sustained deadpan / clinical / cold tone that should hold across the whole clip.

**Sound intrusion (optional — max ONE per clip, use when the location makes an off-frame sound natural).** The world interrupts. Three parts, always: (1) the sound goes into the Audio line's room-tone clause per the existing ambient precedent, named precisely ("muffled neighbor's drill, two bursts", "a kettle starting to whistle off-frame" — never "a noise"); the sound MUST belong to the location. (2) A physical reaction beat: eyes flick off-frame toward the sound, a half-turn of the head, one beat of held stillness — a glance, never a hand action (the hand-count law stands). NO new spoken words — the monologue stays verbatim; the voice pauses briefly at a phrase boundary or talks over it with a slight frown, never acknowledges the sound in words. (3) The return: back to the lens within ~1.5s. The intrusion SHARES the unguarded-beat slot above — it can BE the clip's unguarded beat, never stacks on top; if the clip already has a strong unguarded beat, skip it. Never during a peak (Cut 2's REVEAL peak is always one) or the closer/CTA beat — park it in Cut 1's build or Cut 3's body.

**Playful improv tendency — include ONE small goofy moment per clip.** Real creators ham it up — they pull mock faces, do little physical bits, break the "selling" frame for a half-second. Lean into natural creator goofiness — examples (not exhaustive, pick whatever fits the moment): tongue-out flash, "blep" face, crossed-eyes mock, mock-zen closed-eyes, eyebrow waggle, exaggerated mock-thinking face with finger on chin, double thumbs-up with cartoon grin, mid-gesture cartoon shrug, mock-disappointment slow head shake. ONE such beat per clip — natural-improv, never theatrical. Skip ONLY when `user_request` specifies a sustained `refined` / `clinical` / `cold` / `luxury-passive` / `goth` / `vampire` / `cinematic noir` / `somber` / `serious` / `quiet` / `GRWM` / `routine` / `process-led` tone where playfulness would break register.

**Forbidden in any Cut description:** sentences that only re-state what the static board already shows. Every sentence must add something the board cannot — motion, sound cue, expression beat, kinetic detail, breath, tension, weight transfer.

Anti-patterns (NEVER write these):
- "smiles at the camera"
- "looks at the camera"
- "sits in front of the camera"
- "holds the product and talks"
- Identical expression across all 4 cuts

Instead: weave specific micro-behaviors into each cut's description.

### Cut Markers (mandatory verbatim)

Between Cut 1 and Cut 2: `Hard cut to.` — at the end of Cut 1's description sentence.
Between Cut 2 and Cut 3: `Hard cut to.` — at the end of Cut 2's description sentence.
Between Cut 3 and Cut 4: `Hard cut to.` — at the end of Cut 3's description sentence.
No marker after Cut 4.

These are scene-edit instructions Seedance reads literally. Without them, cuts collapse into smooth motion.

### One-take transition — Set-Down / Pick-Up (replaces exactly ONE `Hard cut to.`)

Default policy: on the CLOSING clip (`K == N`), when the Cut 3 → Cut 4 boundary is legal (Cut 3 STATIC → Cut 4 SELFIE closer, product state unchanged, Cut 4 span ≥ 3s), USE the Pick-Up instead of that boundary's `Hard cut to.` — she reaches past the lens out of the PRODUCT-FOCUS frame and the SATISFACTION closer lands at arm's length, face close and slightly wide-angled. On other clips the device stays off unless `user_request` signals a one-take / honest-take / single-take feel — then use one device per clip wherever a legal boundary exists. If `user_request` asks for classic hard cuts, hard cuts everywhere. When active, exactly ONE `Hard cut to.` per clip is replaced; every other boundary keeps `Hard cut to.` verbatim.

- **Set-Down** — only between an adjacent SELFIE cut → STATIC cut: still mid-sentence, the frame swings down, tilts, settles slightly crooked as she sets the camera down off-lens (a perfectly level set-down reads fake). NEVER `lowers the phone`, NEVER `sets her phone down`. After the set-down the frame is static — the STATIC forbidden-word list applies, no handheld words.
- **Pick-Up** — only STATIC cut → SELFIE cut, strongest right before the closer / CTA cut: she reaches past the lens — the frame lifts, shakes for a beat, and becomes handheld again, her face now close and slightly wide-angled. NEVER `grabs the phone`. After the pick-up, handheld micro-shake returns per the SELFIE rules.
- **The voice runs THROUGH the move** — audio continuity is what sells the one-take; the monologue never pauses for the transition.
- **NEVER across Cut 1 → Cut 2** — that hard cut hides PACKED → REVEAL (the box opening); a continuous transition would force the opening to render mid-move. This boundary keeps `Hard cut to.` under ALL circumstances.
- The natural legal spot on the canonical Board 1 cadence is a **Cut 3 → Cut 4 pick-up** (PRODUCT-FOCUS STATIC → SATISFACTION SELFIE, product state unchanged).
- **The move costs ~1.5s** — budget it inside the receiving cut's span from the Step 3 table without starving that cut's share of the monologue. Skip the transition when the receiving cut's span (after the ±0.5-1s adjustment) is under ~2.5s — short clips keep the hard cut.
- Never combined with an H9 entry device in the same cut.

### Loop-engineered ending (K == N only)

Engineer the final board's Cut 4 to loop: land the settled-satisfaction closer as always (never replaced), then end loopable. For N == 1 (this clip IS the whole video), end frame-matched to Cut 1's opening framing, or mid-gesture. For K == N with N > 1, a mid-gesture ending is the SOLE option — the video's opening frame lives on Board 1, which is not visible from this board. Any CTA lives inside the monologue's resolution words — never an appended line. K < N boards hand off mid-stream as usual.

---

## Step 5 — Audio / Monologue

Use the provided `monologue_segment` verbatim. Distribute it across the 4 cuts at natural phrase boundaries — roughly proportional to cut duration. Render as ONE Audio line:

```
Audio: She speaks to camera, iPhone microphone audio with natural room tone: "<monologue verbatim>"
```

### Performance markup (monologue words stay verbatim)

Performance is TYPESETTING and staging only — never added, removed, or reordered words: vowel stretch on ≤2 emotional words per clip (`soooooo`); CAPS spikes on ≤2 words per line; ONE broken sentence at the Cut 2 peak; ONE whisper-to-spike switch as delivery direction outside the quotes. Breath events are timed physical actions in the cut text; audible only via the K=1 bracketed pool.

### Mouth protection

Protect the mouth: ≥1 closed-mouth reaction beat per clip between monologue chunks. Lip slop is fixed by cutting words upstream — never trim the verbatim monologue.

### K=1 (Board 1) — trailer-style non-verbal sounds

For K=1, **include 1-3 bracketed non-verbal sounds at the START of the Audio line by default** — they sell the unboxing opener energy. Default (NATURAL) pool — genuine, human-scale sounds (rotate — never repeat the same combo across consecutive boards):

`[*small bright laugh*]` · `[*soft gasp*]` · `[*delighted 'oh!'*]` · `[*ooooh*]` · `[*open-mouthed exhale*]` · `[*choke-laugh*]` · `[*incredulous scoff*]` · `[*sharp inhale*]` · `[*mock gasp* "wait"]`

HYPED pool — unlocked ONLY when `user_request` carries an explicit energy signal (`hyped` / `hype` / `energetic` / `explosive` / `high-energy` / `viral energy` / `insane energy`):

`[*explosive gasp*]` · `[*barely-contained scream*]` · `[*hyped yelp*]` · `[*excited shriek*]` · `[*explosive shocked inhale*]`

Example (NATURAL default):

```
Audio: She speaks to camera, iPhone microphone audio with natural room tone. [*soft gasp*] [*small bright laugh*] "<monologue>"
```

Skip the bracketed sounds entirely ONLY when `user_request` explicitly signals a calm-tone aesthetic (`goth`, `vampire`, `cinematic noir`, `cold`, `passive`, `deadpan`, `clinical`, `refined`, `luxury-passive`, `minimal`, `somber`, `serious`, `dark`, `shadowy`, `quiet`, `GRWM`, `routine`, `process-led`). At most 3 bracketed sounds per clip.

### K>1 (Boards 2..N) — strict no-greetings rule

The Audio segment for boards 2..N MUST NOT start with greetings or product re-introductions. Forbidden openers:
- "hey", "hi", "hi guys", "hey everyone", "what's up"
- "today I'm showing you", "I want to share", "I just got", "I wanted to tell you about", "let me show you"
- "so this is the [product]" — the product was named in board 1 already
- "as I was saying", "going back to", "anyway"
- "okay so", "alright so" used as a fresh-start opener

Instead, the audio opens **mid-thought** — mid-sentence if necessary. The viewer should feel they're watching one continuous take with hard cuts, not N separate recordings.

NO bracketed non-verbal sounds for K>1.

### No phrase repetition across cuts (mandatory)

Each cut's audio segment is UNIQUE — never repeat the same sentence, claim, product mention, or descriptor in another cut. Each cut owns a different chunk of the monologue. If the same idea needs to span multiple cuts, paraphrase or move on. Repeating "this is my favorite perfume" / "I love this scent" / "smells incredible" across two cuts breaks the continuous-monologue feel and reads as AI-loop.

When you split the `monologue_segment` across the 4 cuts, verify NO sentence or near-identical phrase appears in two different cut segments. If `monologue_segment` itself contains repetition, reword to deduplicate.

### Forbidden audio openers (positional — first word only, K=1 AND K>1)

The literal FIRST WORD of any audio line (Board 1 Cut 1 for K=1, or the first word of any K>1 board's audio) must be hook content, not a filler / recording-warmup word. Bracketed non-verbal sounds at the start (e.g. `[*soft gasp*]`) are sound effects, not "first words" — they don't count.

Banned as the literal first word:

- `OK`, `Okay`, `Okay so`, `Alright`, `Alright so`
- `So` (when literal first word — fine mid-sentence)
- `Yeah so`, `Right so`
- `Um`, `Well`
- `Like` (when literal first word — fine mid-sentence as filler within a phrase)
- `Wait`, `Wait what`, `Hold on` — these turn the opener into a pause-and-setup beat; the clip must START with the review content directly, not with a suspense pre-amble
- Greetings (`Hey guys`, `Guys`, `Hey everyone`) and `OMG`, `Okay wait`, `Story time`, `So basically`, `Stop scrolling`, `You NEED this`, `Let me tell you about` — banned on EVERY board, K=1 included

These words read as AI-recording-warmup when they're the first thing the viewer hears. The constraint is **positional** — they ARE allowed mid-sentence (`this is so good`, `it's like crazy`, `the cap goes so smoothly`, `well now I get it`).

If `monologue_segment` starts with one of these words, **rewrite the opener** to lead with the hook content directly.

### Forbidden AI-tell phrases (NEVER use)

These phrases are dead AI giveaways. Real creators don't say them. Replace verbatim or rephrase:

- `I'm obsessed`, `I am obsessed`, `literally obsessed`, `so obsessed`, `like obsessed`, `obsessed with this`, `obsessed` as praise — **all banned, no exceptions**
- `you have to try this`, `you have to see this`, `you NEED this` — overused AI clichés
- Generic praise without specifics: `it's amazing`, `it's incredible`, `so good`, `mind-blowing`, `unreal`, `out of this world`
- `Trust me on this`, `I cannot recommend enough`, `game changer`, `total game changer` — AI sales-speak
- `ten out of ten`, `10/10`, `100%`, `1000%` — AI rating clichés
- `literally` as filler (cut it or use a real number); `holy grail`, `changed my life`, `hits different`, `and honestly?` — expired slang / AI caption cadence
- Corporate ad words (`elevate`, `seamless`, `effortless`, `leverage`, `revolutionary`); `This is X, not Y` constructions; `you guys` repeated as padding

Use SPECIFIC creator language instead:
- Scent: `smells like jasmine and pepper`, `vanilla with a smoky finish`, `fresh laundry vibe`
- Texture: `melts in instantly, no stickiness`, `goes on like silk`, `dries down in seconds`
- Context: `I've worn it three days in a row and people keep asking what I'm wearing`, `it lasted through dinner and an Uber home`
- Real creators describe **sensations and moments**, not abstract feelings.
- **Specificity law:** every claim carries at least one concrete — a number, a time, a place on the body, or a named comparison. Praise with no concrete gets reworded to carry one (sanctioned rewrite).

### Audio language, persona & accent

Default English. Switch only if `user_request` explicitly requests another language.

Activate ONLY on an explicit persona / accent request in `user_request` (the flow-appended persona sentence or an explicit user ask) — an origin or nationality merely mentioned as scene / character context never triggers it; no request → neutral voice, no trace. When active — appearance stays locked to `character_media_id`, persona is voice/melody/energy only — anchor it FIVE ways: (1) **persona sentence FIRST** — open the prompt string, before Style & Mood, with `[origin/identity] + [attitude in plain words] + "speaks and moves exactly like that."`, echoed in the Narrative Summary. (2) **Described qualities, never phonetic spelling** (`herro`/`zis` break lip sync). (3) **TWO levels stronger than asked** (`light accent` → `strong [origin] accent, unmistakable in every sentence`); never write `slight`/`subtle`/`light`. (4) **Audio-line anchor:** insert `with a strong [origin] accent — [1-2 features]` after `She speaks to camera` in the fixed Audio line; monologue stays verbatim. (5) **Negative anchor** after the Step 7 suffix: `No neutral accent, no generic American voice, no flat monotone delivery.` Never write an audio-reference / `@voice` production note into the prompt string — the output is the Seedance prompt text only; the audio-reference recommendation lives at flow level.

For male creators (character reference reads male): "He speaks" / "He" — never mix genders in one prompt.

### Music (opt-in ONLY — default is no music)

Default audio is dialogue/VO + room tone — NO music. Only when `user_request` explicitly asks for music or names a genre/mood, append ONE Music line directly after the Audio line:

`Music: [genre/mood], low in the mix under the voice, swells at [the peak beat], returns under the closer.`

Laws: music ALWAYS ducks under the dialogue/VO; NO lyrics (lyrics fight lip-sync); ONE Music line per clip, never per-cut music descriptions.

---

## Step 5b — Product Action Logic

This is where realistic product interaction is enforced. The board image is a composition reference; if the board shows a closed product, the video Cut MUST still describe a realistic opening motion before any application — Seedance will not invent it. Action logic lives here, not in the board.

### Single action per Cut (mandatory)

Each Cut depicts ONE physical product interaction at most. Forbidden patterns:
- Repeated sprays / multiple presses / "she sprays again"
- Back-and-forth motion (open → close → open)
- Two distinct interactions in the same Cut (e.g. spray AND smell AND apply — pick one)

One press, one mist, one swipe, one sip, one scoop. If the action needs more, split across Cuts.

**Cut 1 PACKED is the exception** — it includes the box-cutter knife slicing the tape PLUS hands hovering / interacting with the box flaps. The knife-slicing motion is a single decisive beat (one quick slice, no lingering); it counts as the Cut 1 action.

### Cap / lid removal logic

If the product is closed at the start of a Cut and the Cut is the application moment, the Cut prompt MUST describe cap removal as a clear, distinct motion BEFORE the action — even if the board image shows the cap still on. Pattern:

> "She lifts the cap straight up off the bottle, the cap disappears off-frame, then [single application action]."

Never describe cap removal AND application as a blurred simultaneous motion. The cap comes off first, then the action lands. After the cap is removed in any Cut, never describe the cap returning, never describe re-closing.

For multi-Cut application (K>1), once the cap is removed in any Cut of any prior board, all subsequent Cuts assume the product is open. Do not re-introduce cap removal.

### Body-part target lock (mandatory)

Application target is product-specific and non-negotiable:

| Product | Apply to | NEVER apply to |
|---|---|---|
| Perfume / cologne / mist | wrist or neck | palm, face, eyes, hair, lips |
| Cream / serum / lotion | fingertip first, then face or hands | directly to face from container, eyes |
| Lipstick / lip balm / gloss | lips only | cheek, neck, forehead, eyelids |
| Drink / beverage | bottle or glass to mouth (drinking) | wrist, palm, face |
| Powder / blush / bronzer | cheek with brush or sponge | lips, eyelids, neck |
| Mascara | eyelashes only | brows, lips |
| Eyeliner | eyelid lash line | cheek, lips |
| Foundation / concealer | fingertip → face, or sponge → face | directly to face from bottle, eyes |
| Hair product | hair only (mid-length to ends typical) | face, neck, lips |
| Food | mouth (eating) | other body parts |

If `user_request` implies a wrong target (e.g. "she sprays the perfume on her palm to smell it"), **override silently** to the correct target (wrist) — physical realism beats user wording when the wording violates body-part lock.

### Quirk beat (optional — residue-leaving products, or a user-requested signature quirk)

When the product naturally leaves a visible residue on the body — food / drink with foam / lip cosmetic / chocolate / cream / sticky candy — the clip MAY include ONE quirk beat: a brief, unguarded micro-aftermath that lands AFTER the main action and BEFORE the cut ends.

Eligible categories and residue examples:

| Category | Residue | Possible quirk beat |
|---|---|---|
| Drink with foam (latte, beer, smoothie, milk) | foam ring on upper lip, faint mustache | quick natural thumb-wipe at the corner of the mouth, or self-aware grin without wiping |
| Lip cosmetic (gloss, lipstick, balm) | smudge off the lip line, corner residue | soft tongue-press inside the cheek, quick lip-press, or thumb-tap at the corner to settle it |
| Food (chocolate, frosting, cream, sauce) | faint smear at the corner of the mouth, crumb on the lower lip | thumb-wipe at the corner, quick lip-lick, or soft self-deprecating grin without wiping |
| Snack with powder / crumbs (chips, donut, powdered sugar) | powder dust on the fingertips, crumb on the lip | thumb-rub of fingertips, small grin with the crumb still visible |
| Sticky / drippy (caramel, popsicle, ice cream) | drip line near the corner of the mouth | quick thumb-catch of the drip, or letting it sit while she laughs at it |

Rules:

- **At most ONE quirk beat per clip** — never the main beat, never repeated across cuts.
- **Lands AFTER the main action** — first the bite / sip / swipe, then the residue, then the reaction. Never before.
- **Brief** — 1 short clause for the residue + 1 short clause for the reaction. ≤ 2 sentences total.
- **Unguarded reaction** — genuine grin / half-laugh / soft self-correction, never theatrical or "showing the camera".
- **Body micro-beat, not a product interaction** — the quirk beat is NOT counted as a 2nd product interaction. The Single-action-per-Cut rule above is not violated; the product is already off-hand or set aside when the quirk beat lands.
- **Stage it LARGE** — small-written quirks drop out: the acting body part fills its zone of the frame, mechanics 30% bigger, the quirk sound punched as ONE single audible event (`one loud audible lip-smack` — never just `a lip-lick`; never repeated taps or presses, Seedance reads repeats as motion loops; never a product contact — the quirk stays a body micro-beat), a clean dedicated moment.
- **The quirk fills one of the cut's 5+ micro-beat slots** — replaces, never adds a 6th. Quirk and peak NEVER share a beat.
- **Skip entirely** when the product isn't on the eligible table OR when `user_request` specifies a clinical / refined / luxury tone where a residue would break the register.

**User-requested signature quirk:** an explicit quirk in `user_request` overrides the residue-only gate — same rules: ONE beat, never the main beat, staged LARGE. Dignity: behaviors, never named conditions; the character treats it as utterly normal.

This is an option, not a requirement — clips without a quirk beat are also fine.

### Forbidden action phrases

Seedance interprets these as motion loops — never use:

- `sprays again`, `another spray`, `sprays multiple times`, `keeps spraying`
- `presses repeatedly`, `presses again`, `taps the lid twice`
- `back and forth`, `unscrews and screws back`, `opens and closes`
- `applies multiple coats`, `swipes again`

---

## Step 6 — Static Description

1-2 sentences describing the setting visible across the 4 board slots: room, materials, light direction, ambient details. Match the board image. If the board shows the same room across all 4 slots, describe it once.

Default neutral tone — NEVER warm sunset, NEVER golden hour, NEVER orange/amber cast.

---

## Step 7 — Quality Suffix

Always include this final block, with POV-matched movement language:

```
Facial features clear and undistorted, consistent clothing throughout. Shot on iPhone, natural lighting, social media aesthetic, [POV-matched movement language]. No on-screen text, no subtitles, no captions, no watermarks.
```

POV-matched movement language:
- All SELFIE: `slight natural handheld micro-shake from her grip`
- All STATIC: `locked-off static camera, absolutely static, zero camera movement of any kind, no shake, no drift, no breathing wobble`
- MIXED: `handheld micro-shake during selfie cuts, locked-off frozen frame during static-camera cuts`

After the fixed block, append: `No cinematic color grade, no film grain, no shallow depth of field, no bokeh, no lens flare, no fisheye lens, no ultra-wide distortion, no slow motion, no stabilized gimbal look, no beauty filter, no third arm, no extra hands, no duplicated limbs, no deformed hands. No legible text on any object except the product's own label, no real brand logos other than the product's, no mirrored lettering.`; plus the Step 4 absence negatives and any accent negatives. Never put shake/handheld words here.

---

## Universal Rules

- **Product Angle Lock:** product shows ONLY its front-facing label side as on the board. Never rotates, spins, or reveals unseen sides. Camera moves freely; product stays locked.
- **ONE product instance only — never duplicated, never multiplied.** Exactly ONE bottle/jar/tube/box of the product in every frame. Never multiple copies inside a bag, on a shelf, on a counter, in hands, or in any container. If the action is "opening a bag", the bag contains ONE product. Seedance defaults to multiplying products when context suggests "lots of perfume" / "shopping" — explicitly fight this with "exactly one bottle" / "single product instance" in the cut description. If look-alike objects share the scene, drop them from the staging or write `the only [shape] object in frame is the product`.
- **ONE delivery box only** — exactly one sealed box appears in Cut 1; never duplicated, never replaced, never re-introduced after Cut 2.
- **Hand Count:** the person has exactly 2 hands. Maximum 1 product interaction per cut (Cut 1 PACKED's knife-slicing is the single Cut 1 action). Never two separate hand actions in the same moment. Total simultaneous hand roles ≤ 2 (both serving ONE action when two are used), each hand's role named — THE HAND-COUNT LAW in Step 4's Hand Allocation is canonical.
- **State Change Minimization:** maximum 1 state change per cut. Removed parts disappear, never described as separate objects after removal. The knife in Cut 1 is the exception — it slices once, is set down, and is never referenced again.
- **No extras:** no additional people or random objects beyond the person, the product, the box (Cut 1 only), and what's already in the board image.
- **Age-blind:** never describe characters by age. Never use: boy, girl, child, kid, young, teen.
- **NO legible text or numbers on PROPS — strict.** The advertised product is EXEMPT: its own front-facing label stays exactly as the Product Angle Lock above mandates — never turned away, never described as illegible. Every OTHER object: never stage props with legible text or numbers (receipts, screenshots, price labels) — Seedance renders random characters and mangles wordmarks. The spoken monologue carries any number.
- **NO mirrors / reflections — strict.** No bathroom mirror, no shop window reflection, no phone-screen reflection, no any reflective surface showing the character. NO "mirror selfie" shots even when the framing is selfie POV.
- **NO phone visible in any frame.** Selfie POV = camera IS the phone. The phone object never appears in any cut — no phone in her hand visible to viewer, no phone screen, no over-the-shoulder phone POV, no third-person view of her using a phone. Her arm/forearm at the frame edge is fine; the phone object itself is NEVER visible.
- **Character exits frame = gone for rest of clip.**
- **≤ 3 characters per shot.**
- **Multi-person scenes (only when the board shows them — never invented):** every person locks to a reference (described-only characters drift face); contrast their energy (matching energy cancels out); lock frame-left/right + facing in the first shared cut, keep the 180° line; handoffs are one single-beat action (`leaves her hand and is in his hand`) — never ambiguous possession across a cut.
- **≤ 4 visual beats per shot** (our 4 cuts = 4 beats — fits within limit).

---

## Self-Check Before Outputting

- [ ] Output is the prompt string alone — no fences, no commentary, no extra fields.
- [ ] Style & Mood line includes light + POV cadence; Narrative Summary closes with the register-matched calibration phrase — NATURAL line by default; the INSANELY-hyped phrase ONLY on an explicit energy signal in `user_request` (hyped / hype / energetic / explosive / high-energy / viral energy / insane energy); skipped on calm tones.
- [ ] Cut 1 / Cut 2 / Cut 3 / Cut 4 labels with framing distances and POVs read off the 4 board slots (for Board 1: PACKED → REVEAL → PRODUCT-FOCUS → SATISFACTION).
- [ ] `Hard cut to.` markers verbatim between Cut 1→2, Cut 2→3, and Cut 3→4 (unless exactly ONE boundary is replaced by a Set-Down / Pick-Up per Step 4 — default Pick-Up on the closing clip's Cut 3→4 when legal, never Cut 1→2). No marker after Cut 4.
- [ ] 0.1s hook law: Cut 1 opens mid-event (first clause = motion) and the first word/bracketed sound lands ≤0.4s of frame one (a staged freeze-beat is the only legal delay; in quiet voice-free mode the first named SOUND lands ≤0.4s instead).
- [ ] Optional devices in scope: H9 only on a SELFIE Cut 1 of `BOARD_1_CANONICAL_UNBOXING` (one per clip, frame-physics words only, audio twin in the Audio line, resolves into Slot 1 within ~1.5s); Set-Down / Pick-Up per the default policy (Pick-Up on the closing clip's K==N Cut 3→4 boundary when legal; other clips only on a one-take signal in `user_request`), replacing exactly ONE `Hard cut to.`, never across Cut 1 → Cut 2; the two never share a cut.
- [ ] Each cut has 5+ micro-beats per the Cinematic Specificity rule, with at least 1 within-cut motion beat and expression evolution across the 4 cuts (NATURAL default: bright anticipation → genuine wide-eyed delight at the reveal → engaged admiration → satisfied victory settle; hyped scream-gasp progression ONLY on an explicit energy signal; the calm-tone register when `user_request` signals it).
- [ ] Audio = `monologue_segment` verbatim, distributed across 4 cuts.
- [ ] Cut 1 features the sealed box (product NOT visible) + the box-cutter knife slicing the tape at the end of Cut 1 (single decisive motion, knife set aside, never re-described); Cut 2 shows product just emerged with peak reaction + color-matched tissue paper at frame edge; Cut 3 has box ABSENT and product as hero; Cut 4 has box ABSENT and character settled with product in the register-matched victory pose (warm confident victory by default; peak-victory only under the hyped register).
- [ ] Weight & Grip class identified for the product (Heavy / Bulky-light / Light / Tiny); hand allocation + facial expression match the class — no heavy single-handed lifts, no light two-handed strain.
- [ ] Hand-count law: hand roles counted per cut — total simultaneous ≤ 2, each hand's role named (acting hand + parked hand, or both roles in one sentence; knife slice = one hand slices, the other steadies the resting box); negative tail carries the third-arm ban.
- [ ] K==1 may include up to 3 bracketed non-verbal sounds at audio start; K>1 has none.
- [ ] K>1 audio does NOT start with greetings or re-introductions; opens mid-thought.
- [ ] Music: NO music by default; ONLY on an explicit music / genre / mood ask in `user_request` — then exactly ONE Music line after the Audio line (ducked under the voice, no lyrics, never per-cut).
- [ ] No forbidden first words (OK / So / Wait / Hold on / etc.) on Cut 1 of any board.
- [ ] No forbidden AI-tell phrases (`obsessed`, `game changer`, `10/10`, generic praise).
- [ ] Quality suffix matches POV cadence (SELFIE / STATIC / MIXED language).
- [ ] No anti-patterns ("smiles at camera", "looks at camera", static poses).
- [ ] No mention of phone being held in hand for static cuts.
- [ ] STATIC cut descriptions contain none of the forbidden words (handheld/shake/drift/etc).
- [ ] Cut descriptions don't **contradict** the board (POV, hand allocation, product interaction match the slot) but go **far beyond** static panel content — describing motion, breath, micro-expressions, kinetic detail, and within-cut evolution.
- [ ] Each Cut has at most ONE product interaction (one press, one swipe, one sip, one slice in Cut 1 — no repeats).
- [ ] Application target body part matches the product (perfume → wrist/neck, lipstick → lips, drink → mouth) — never deviate.
- [ ] No forbidden action phrases (`sprays again`, `presses repeatedly`, `back and forth`, etc).
- [ ] Box appears only in Cut 1 (and possibly fading at frame edge in Cut 2). After that, box is GONE and never re-introduced.
- [ ] ≥1 closed-mouth beat; micro-beats BETWEEN phrases; markup within limits.
- [ ] 1-2 motivated peaks, body-event-paired; quirk ≠ peak beat; no cinema language; anti-cinema + no-legible-text negatives appended; no legible text/numbers staged on props (product's own label exempt — Product Angle Lock wins).
- [ ] Persona/accent per `user_request`: persona sentence first, described qualities, two levels stronger, Audio-line clause, accent negatives — no `@voice`/audio-reference note in the prompt string. K == N: Cut 4 loopable (frame-matched only when N == 1, else mid-gesture), settle intact, CTA inside the monologue words.

---

## Final reminder

One prompt string, built per the Prompt Structure above — no JSON, no fences, no analysis. Four
internal cut sections in board order, no on-video text, no `@voice` note (audio references are
attached by the flow, never written into the prompt). If an input is missing, fall back to the
defaults in this file and still produce a prompt.

SHA-256: 69b4ab7c95e1c685003e09c32e4e7e9b204d53f35d919bf1362d44b6837a89d2