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