Log in
WorkflowBy HypernaturalVersion 2, updated

Product UI ad

hn/workflow-product-ui-ad

Make a ~30 s product ad from a company's website or product screenshots: a presenter avatar talks to camera, then the product's own UI, rebuilt as live HTML layers, is pushed into by a camera while the presenter shrinks to a face bubble, all cut to one voice track. Covers capturing the site (copy, brand from computed styles, every image, the logo), a 72-word script, a storyboard review before anything is paid for, the voice, presenter stills and two H3 talking heads (16:9 and a 3:4 crop for the bubble), one subagent per rebuilt screen, the cut and the review rounds. For SaaS ads, app demos, product overviews and explainers; for an avatar walking through slides, use workflow-sales-video-from-pitch-deck; for a faceless voiceover-and-type explainer over the real screenshots, use workflow-product-explainer-video.

SKILL.md

The person brings a company's website (a URL) or product screenshots, and says who should present. You deliver a ~30 s 1920×1080 ad: the presenter full frame to camera with one headline, then the product's own screens, rebuilt as HTML layers, with a camera pushing into each one on the words while the presenter talks from a face bubble, ending on the logo and the site's headline.

How it differs from its siblings: workflow-sales-video-from-pitch-deck and workflow-slide-deck-presenter put a presenter beside real slides, shown as they are, for a walkthrough of 1–3 min. Here nothing is a slide: the product's UI is rebuilt so its rows, pills and charts move, a camera pushes into it, and it is cut as a 30 s ad. The talking-head mechanics (the still, chunking, sync checks, the layouts) are guide-present-with-an-avatar's; this workflow names them and adds only what differs.

The brand goes in refs/brand.md and the facts in source/facts.md; record the brief, picks and each round's notes where you keep the job's notes. Rounds and deliverables follow the core skill.

Steps

  1. Capture the site: the brand, every image and the logo at a size that holds up (guide-capture-a-brand, route A), and the copy with the value props in homepage order (guide-pull-product-highlights, website route). Screenshots of the product you can rebuild are the images that matter most. Then propose avatar options (a real person from the site, the brand's mascot, a stock-style presenter); a real person follows guide-depict-real-people-and-places, and a spec with a real employee stays private to the client. Gate: the person picks the avatar and the screens that matter (usually 1–2).

  2. Script (llm-write-an-ad-script, the presenter ad; the opener per llm-write-a-hook): ~30 s is about 72 words, the customer's pain → one line per value prop in the site's order → the site's own headline, as a beat table plus a voice brief. The accent comes from the person, never from the face. Gate: the script word for word, and the brief.

  3. Storyboard: the gate before any paid render (hn4a-compositor-storyboard). Right after the script, while casting runs: ~10 frames of the whole ad from cheap parts in the cut's own shape, the site's screenshots under the planned camera, the presenter at the planned size, the bubble at its real size, each push drawn as a target. The worked job had none, and every layout note came after both talking heads and both rebuilds. Gate: ad or slides? background? how big are the presenter and the bubble? how many camera moves? Nothing that costs money starts until the person says the direction is right.

  4. Voice (guide-cast-a-voice, guide-voice-a-script): the top 6 auditioned on two of the script's own lines (the person picked the listener's 4th-ranked); a real employee as the avatar gets a cast library voice. The take checked against the script (whisper-cli-transcribe-with-word-times, Check it) and its cues read (python-read-word-timings, cues) into audio/cues.md. Gate: the track, listened to whole.

  5. Presenter stills (guide-present-with-an-avatar, Process step 1, and One take, two framings): from one reference, nano banana Pro edit and 2.1 edit, 2 prompts × 2 models, 2K, "no text other than the chest logo" when the wardrobe is branded (the logo as a second reference). All four worked-job stills grew a sportswear logo on the sleeve: patch it locally (nano-banana-remove-small-object with python-crop-and-paste-back). Then both framings from one 2K image: the picked 3:4 still on a grey 16:9 canvas where the presenter stands (worked job: x 1100, y 90, 920 px tall), the whole background replaced with a new set whose left two-thirds are open, calm and a little darker for a big white title (3 seeds), and the bubble's 3:4 still cropped from that same image around the face (x 1488..2640, 1152×1536). Gate: both stills locked.

  6. Two talking heads of the same take (guide-present-with-an-avatar, Process step 4: python-plan-lipsync-chunks, h3-max-lipsync-a-still, python-assemble-lipsync-chunks): the 16:9 still for the full-frame opening and the 3:4 crop for the bubble, H3 Max 768P, about $0.08/s at list each (a 16:9 still comes back 1344×768: hn4a-compositor-motion-graphics, references/presenter-moves.md). A banned finger count can still appear; harmless where that span is in the bubble. Gate: both assembled heads, unmuted, with their sync plots.

  7. Rebuild the screens, one subagent per screen in parallel, each with the brief in hn4a-compositor-rebuild-product-screen (references/subagent-brief.md there): the contract POI + build(group_id, cues) -> layers, the cue keys, believable data in the client's market sharing one "today", and the checks. Move every value prop's beat onto the 1–2 screens that matter, rather than one screen per prop; the screens are the subject, so they move (guide-show-a-product-on-screen). Gate: a review_approve per screen, all in the same turn: its test spec (ui/<screen>_test.json, played live) and its side-by-side still as the subject.

  8. The cut: one build script, scripts/build_cut.py --version vN, writes cut/cut_vN.json (hn4a-compositor, references/build-script.md); this ad's layer order and its picks are references/cut.md. Gate: the live spec (hn4a-compositor, Live spec, then render), stills at the cue times and the last version the person saw as previous.

  9. Rounds. Each note fixed in the build script and only the changed span re-rendered (--into); a re-voiced line means new cues and the affected chunks of both heads. deliver the 1920×1080 30 fps master and a 960×540 copy.

Choices this workflow makes

  • An ad, not slides. The presenter full-bleed behind the type, never in a rounded window beside a kicker, headline and subhead. One headline at most; never print what's being said. A face bubble is right for the UI beats.
  • Camera: one push per spoken beat, then hold (hn4a-compositor-fast-ad-camera). Use that leaf's approved timing and scale defaults for this presenter-over-UI recipe.
  • This recipe rebuilds the UI because the scripted rows, counts and charts change (guide-show-a-product-on-screen, editable-state route). A reveal can use screenshot layers; an inspection beat can hold. Never use a video model to animate UI lettering.
  • One take, two framings (guide-present-with-an-avatar, Layouts): the bubble head gets 265 source px in a 320 px bubble against 199 from the 16:9 take.
  • A new set rather than an outpainted one, with the title side planned into the prompt.
  • Overlays aren't UI. A value prop that isn't a screen feature (syncing with three ERP names) is ad type over a frosted, blurred screen, not a small card in a corner.

Dead ends

  • Outpainting around the original still: the background's geometry extended into nonsense, and nano banana 2.1's take had a seam. Replace the whole background instead.
  • Image-to-video on a UI screenshot: the text warps.
  • The small site PNG logo full screen: 444 px wide, it looked poor on a 1080 end card. Find a bigger copy or ask for a vector.
  • A slides-and-bullets layout: a windowed presenter beside eyebrow, headline and subhead read as a deck; the person asked for an ad.
  • No storyboard: every layout note came after the paid renders.

Worked example

Acme Co., a CRM for field-service firms: a 30 s spec ad from its site. Two screens rebuilt (an Activities table from a 1377×969 screenshot; a pipeline dashboard from a 1199×550 one plus a chart from a second image). A company salesperson as the avatar, with a cast library voice. Script 72 words; take 28.3 s, 72/72 words by transcript. Talking heads: 3 chunks each (13.3 / 8.1 / 6.9 s) at 768P, about $4.50 for both at $0.08/s list; the 16:9 chunk 00 was flagged (lag −789 to +597 ms) and its VEED re-sync passed (−69 to +154 ms), about $0.90 more. Delivered: 1920×1080, 30 fps, H.264 + AAC, 20 MB, and a 960×540 copy of 3 MB; the v3 cut was approved as rev1.

RoundNote (paraphrased)Fix
v1Feels like slides and bullets; make it an adPresenter full frame behind the titles, then the shrink into the bubble
v1Bubble bigger220 → 320 px
v1, v2Camera too fast (9 moves in 15 s), then sleepy (2 moves)~3 pushes per screen at 1.35–1.6× (hn4a-compositor-fast-ad-camera)
v2Background doesn't make sense (outpainted)A new set, whole background replaced
v2Drop the eyebrow and subhead; the presenter says themOne headline; the prop graphic bigger and central
v2, rev1Bubble out of sync; 15 px strips at the sidesThe presenter keys in hn4a-compositor-motion-graphics (trim, cover scale); −10 ms in v3
allThe animated screens land wellKept

Related workflows

FAQs

Make a ~30 s product ad from a company's website or product screenshots: a presenter avatar talks to camera, then the product's own UI, rebuilt as live HTML layers, is pushed into by a camera while the presenter shrinks to a face bubble, all cut to one voice track. Covers capturing the site (copy, brand from computed styles, every image, the logo), a 72-word script, a storyboard review before anything is paid for, the voice, presenter stills and two H3 talking heads (16:9 and a 3:4 crop for the bubble), one subagent per rebuilt screen, the cut and the review rounds. For SaaS ads, app demos, product overviews and explainers; for an avatar walking through slides, use workflow-sales-video-from-pitch-deck; for a faceless voiceover-and-type explainer over the real screenshots, use workflow-product-explainer-video.

Install Hypernatural Desktop, a free Mac app, and connect it to Claude Code, Codex or Claude Desktop. Then describe the video you want and your agent finds the workflow itself, or paste this page's link (https://hypernatural.ai/skill/hn/workflow-product-ui-ad) and it installs hn/workflow-product-ui-ad and follows it.

It runs ElevenLabs voice, Nano Banana Pro, Nano Banana 2.1, MiniMax H3 Max and fal/veed/lipsync/v2. Hypernatural Desktop has every one of them built in, so there are no API keys to set up, though you can bring your own.

The workflow is free. You only pay for the AI generations it runs, and your agent shows you the price of every batch before it spends anything. Editing, captions and titles run on your Mac at no cost.

It calls 33 smaller skills for its steps, including Capture a brand, Pull product highlights and Llm write an ad script. Each one is listed on this page, and your agent loads them as the job needs them.

Yes. Ask your agent to adjust it for your job, or to save its own version. You can publish your version under your own handle so anyone can install it.

Go make something cool.

Install the app, open your agent, describe the video. That's the whole onboarding.

Sticker HypernaturalSticker BannerSticker TVBoy