---
name: ugc-video
description: "Direct phone-shot creator videos, UGC ads, testimonials, or vlogs in NodeTool. For polished product films, use product-commercial."
---

**Load `/storyboard-core` first.** It carries the loop, the tool contract,
the entity rules and the gating this skill assumes. Everything below is what is
different about a phone-shot piece with a person in it.

## What makes this job type its own

The face is the deliverable. One character entity has to survive every shot, and the
look has to read as a phone rather than a camera. Both are set once, on the board, and
never re-argued in shot text.

## Casting comes first, and it is two passes

There is no create-from-text, and a face you have not seen is a face you cannot lock.

1. `find_model` (`text_to_image`) → `generate_image` with the character description
   alone: age, build, skin, hair, no wardrobe, no set, front-lit, neutral expression.
2. Show it. If the user likes it, `create_entity {asset_id, kind: "character", name,
   descriptor}`. The descriptor is the face and hair only.
3. After the first board stills come back, if a frame reads better than the reference,
   `update_entity {entity_id, asset_id}` to move the entity onto that crop. Do this
   **before** clips, not after.

Given a photo instead: save it as an asset, then `create_entity` from it. Write the
descriptor from the face and hair in the photo and **leave the photo's outfit out** —
wardrobe belongs in shot text, so the same entity can wear a gym set in one board and
a coat in the next.

## The look goes in the board style, once

Put the camera pretence in `style` via `set_board`, never in each shot:

| Register | `style` |
|---|---|
| Front-camera UGC | `handheld front-camera iPhone, mild shake, autofocus hunt, compression grain, window daylight, no beauty filter` |
| Friend-filmed | `handheld phone at arm's length, natural wind and room noise, slightly off-level framing` |
| Old-phone ritual | `old iPhone 1x, propped static angle, fluorescent tint, heavy noise` |
| Vlog | `chest-height phone gimbal, wide lens, natural light, mild bloom` |

No music, no score, no burned-in captions. Natural audio is part of the register — say
so in the brief so the video model does not add a bed.

## Shot pattern

Five to eight shots. A hook in the first four seconds, a middle that shows the thing
happening physically, and a verdict to camera.

- **Dialogue is a shot field**, not part of `action`. Set `dialogue` so
  `extract_script_from_storyboard` can lift the words later if the user wants them
  voiced properly.
- Write the physical beat in `motion` with a **count**: `two short spray bursts`,
  `two head turns`, `she lifts one section of hair and lets it fall, once`. "She
  reacts" renders as nothing.
- A talent-free end card (pack hero, logo card) needs its own `entity_ids` naming the
  product alone — otherwise the character's descriptor seasons a shot she is not in.
- Native-audio video models are weakest on their image path. For a shot whose spoken
  line has to look synced, set `render_mode: "direct"` and put the framing and style
  into the action text, since no still carries them in.

## Wardrobe and state

One outfit per piece unless the script changes it on camera. A wet, stained or
changed-outfit version of the same person is a **second entity** — cast it the same
way and name it in the shots where it applies.

## Briefs

Adapt these examples to the user's brief. Example deliverables, style choices,
and approval checkpoints apply only when the user adopts them.

**Briefs** below has four written to these rules: review-to-hero UGC ad,
Pinterest-fail comedy, locker-room ritual, and a night-city vlog with a shot-collapse
step. Replace the bracketed placeholders and hand one over after the standing orders.

## Briefs — phone-shot video with talent

One per message, after the standing orders from `/storyboard-core`. Replace
`[PRODUCT]`, `[CITY]`, `[ACTIVITY]`. `Nova` stands for the character entity's **plain
name** — that is what makes it season the prompt.

---

### Review-to-hero UGC ad, 30s 9:16

```
Direct a 30s 9:16 UGC-to-hero ad for [PRODUCT].

Cast first. [PRODUCT] as a prop entity from the attached pack shot. Nova as a
character entity: generate the reference still (early 20s, natural skin, no
beauty filter, front-lit, neutral) and show me before you tag it. Descriptor is
face and hair only.

Board style: handheld front-camera iPhone, bedroom or bright bathroom, mild
shake, autofocus hunt, compression grain, window daylight, no beauty filter.
Natural audio only, no music, no burned-in captions.

Seven shots, then stop.
1a 0-4   hook. Nova touches untreated hair. "I wanted lighter hair..."
2a 4-8   she finds [PRODUCT] on the dressing table, autofocus hunts onto the
         label. "...without permanently dyeing it."
3a 8-13  she sections her hair, two short spray bursts. Physical coverage, not
         a magic glow.
4a 13-18 extreme close-up, untreated against treated. "Okay... that is
         actually a huge difference."
5a 18-23 mirror selfie, two head turns. "I actually love it."
6a 23-26 [PRODUCT] held beside her face. "Just spray and switch up your look."
7a 26-30 no talent. Studio hero of [PRODUCT], slow 8cm push-in, cream
         cyclorama, copy space right. Set entity_ids on this shot to the
         product alone.

After I pick a face from the stills, move the Nova entity onto that crop before
any clip renders.
```

### Pinterest-fail comedy, 30s 16:9

```
Direct a 30s 16:9 friend-shot phone comedy. Nova tries to get a perfect
Pinterest still of [ACTIVITY] with [PRODUCT] in frame; reality ruins every
attempt. Same face and wardrobe throughout.

Cast Nova from text first: generate the reference, show me, then tag it.
Board style: handheld phone at arm's length, natural wind and room noise,
slightly off-level framing. No score — wind and laughter only.

1a 0-5   she arranges the cloth and [PRODUCT]. Wind flips the plate once.
         "...Okay, we'll pretend that didn't happen."
2a 5-10  deadpan, she does not chase it. A friend's laugh jolts the frame once.
3a 10-15 serene profile, a bee, one swat, a whip-pan.
4a 15-20 hair-in-wind walk, cardigan over her head, [PRODUCT] still in one hand.
5a 20-25 thermos pour, a stain spreads, off-camera "That's going to stain—"
6a 25-30 she flops onto the cloth, [PRODUCT] on her stomach. "This is the photo.
         This is the one we're posting." Thumbs up, cut mid-laugh.
```

### Locker-room ritual, 19s 16:9

```
Direct a 19s 16:9 everyday phone video of Nova, cast from the attached photo.
Save the photo as an asset, then create the entity from it. The descriptor pins
the face and hair from the photo and does not mention its outfit.

Wardrobe in the shot text: black gym set, hair tied. Locker room, full-length
mirror, bag on the bench, no readable signage.
Board style: old iPhone 1x, propped static angle, fluorescent green tint, heavy
noise. No music bed.

1a 0-4   she walks to the mirror, props the phone, adjusts her straps
2a 4-8   sits, double-knots her laces, bounce-tests the shoes twice
3a 8-11  earbuds in, one at a time
4a 11-14 two shoulder rolls, a quiet "okay... let's get it."
5a 14-17 three arm swings, one glance at the camera
6a 17-19 picks up the phone, walks to the door, freeze mid-stride

Stills from the photo entity, then one clip pass.
```

### Night city vlog, 30s

```
Direct a 30s first-person night vlog in [CITY] with Nova in one outfit
throughout. Mix selfie, cockpit, aerial and street-level. Short landmark lines
for [LANDMARK A] and [LANDMARK B]. No text, no logos. Wind in her hair.

Board style: chest-height phone gimbal, wide lens, city sodium and neon, mild
bloom, natural audio.

Board up to ten shots, then — before any render — propose a six-shot collapse
and name the four you would drop. Stop there.

1  rooftop selfie, the vehicle behind her. "I'm getting on this in [CITY]."
2  inside, harness on, a nervous smile
3  lift-off, wide city and water
4  open door. "there's no door."
5  POV, feet over the grid
6  selfie with [LANDMARK A]. "That's [LANDMARK A]."
7  aerial over [LANDMARK B], her feet in frame
8  low pass along a bridge
9  she steps off, same outfit, walks to camera
10 crossing the street. "Alright everyone, bye."
```
