Jul 9, 2026 · 4 min read
The 3-step workflow for ultra-realistic AI ads
An ultra-realistic AI ad is not one good prompt — it's three steps run in order, every time: lock the assets, let a Claude Skill write the shotlist, then animate to a spec sheet built for commercial footage. Skip a step and the crack shows up as a face that drifts, a shot that doesn't match the last one, or a render that just looks synthetic.
Step 1 — lock every asset before you animate anything
Nothing gets generated as video until the product, the character, and the set exist as finished still images:
Product sheet
Front and 3/4 views from GPT Image 2 — the reference every product shot pulls from.
Character sheet
A facial close-up plus a full-body front/back, then 2-3 outfit variants off that same sheet.
Locations
Photoreal stills from Soul Cinema or Cinematic Locations — kitchen, stadium, street, office.
Props
Shoes, a bag, a mug — shot the same way as the product, ready to hand to any scene.
Every asset in this ad — the headphones, the athlete, the stadium — exists as a finished image before a single second of video renders.
Step 2 — a Claude Skill writes the shotlist, not you
You don't hand-write Seedance prompts for a commercial. A Claude Skill —
higgsfield-seedance-shotlist-director — takes your asset names and turns them into a
full shotlist: a reusable style header shared across every shot, plus each shot written
out with its own framing and timing. Your asset names become @ references inside the
prompt (@hero, @headphones, @stadium), so the skill always points at the exact image
you built in step 1, never a fresh guess.
Step 3 — animate to a commercial spec, not a default
This is the step that actually reads as "real footage" instead of "AI ad." The shotlist locks in the same technical language a DP would put on a call sheet:
| Spec | Value |
|---|---|
| Format | 8K, 16:9, photorealistic — no 3D render, no game-engine look |
| Light | Natural light only, sun position stated per shot |
| Motion | 180° shutter, 1/50s at 24fps — real handheld blur, not smoothed |
| Color | 60:30:10 palette split — dominant, secondary, accent |
| Skin | Pore-level texture, never airbrushed flat |
Each numbered shot in the list carries its own focal length — a 35mm medium close-up, a 50mm macro on the product — with the actor's movement timed to the beat of the audio, not just described in general terms.
For a second full example built the same way, watch Cinematic Ad Using Claude Fable 5 + Higgsfield AI.
The spec sheet is what separates "AI-generated" from "shot on location." 180° shutter motion blur and a stated sun position aren't extra flourishes — without them, every shot in the ad reads as slightly too clean to be real.
Q: Why does a Claude Skill write the prompts instead of me?
Consistency. A shared style header and the same @asset syntax across every shot is what
keeps the product and the actor looking identical from the first cut to the last — typing
each prompt by hand is where that consistency usually breaks.
Q: Can I skip straight to step 3 if I already have good footage references? No — step 3's spec sheet assumes step 1's assets already exist. Without a locked product and character sheet, Seedance has nothing consistent to render across shots.
Q: What makes an ad look "AI" even at high resolution? Usually a missing physical detail from the spec sheet — no stated shutter/motion blur, no natural light source, or skin rendered too smooth. Add those back before blaming the model.
Build your first ad on Higgsfield