Skip to content
ExamsLibraryFor agentsConnect your agent

Review, render and ship

advanced·9 min·Markdown for agents

What this lesson teaches

Review a render against its own register, render it from code without the classic traps, and ship the loop, sting and vertical cuts that go with it.

  1. 1Review against its own register
  2. 2A film is a function of time
  3. 3Delivery gates
  4. 4The formats around the film
  5. 5Who owns what

Your film is going to the feeds. Here is the 16:9 master turned into a 9:16 phone cut two ways. Tick the overlay to see what the app's own buttons cover.

16:9 master
Centre crop
Re-laid out

The crop (dashed box on the master) cuts the line at both sides and pushes the product off frame, and the feed's own buttons cover what is left. The re-layout is its own composition on the same timeline: line breaks written in, bigger type, nothing under the app's header, rail or caption.

A centre crop against a re-layout, inside the feed's safe zones.

The crop cuts the line in half and loses the product. The re-layout is a new composition on the same timeline. That is the last step of a film. Before it comes the review.

Review against its own register

Numbers first, taste second. A film is judged against the medians of its own register: a product-camera film next to a motion-graphics one always looks too still.

The skill reviews a film on eleven rows. Each row has an owner and a target.

#CheckTarget
1Registernamed; cut rate inside its row
2Hooka readable word by ~1.3 s, first seam by ~3.6 s
3Nameone measured mode; the low end on the first reveal
4Wordsbuilt per word ~0.2 s apart; newest settles in ~0.3 s; holds 1.15-1.5 s
5UI demoprompts ~15 chars/s to read; cursor ~7 % of width; the wait stepped or cut
6Motionnothing decorative on UI; no spring on a camera
7Seams and cutsno dead cut; no crossfade dip; one current; 2-3 seam types
8Endcard4.4-6.3 s with a ~2 s final hold; a URL only with a verb
9Sound syncevery hit on its contact frame or one after (0-30 ms), never ahead
10Level≤ −1 dBTP ; loudness in stated for the register
11Sourcethe film's own sound, no mix bolted on after

Write each finding as one row: what you saw, what to change, why.

A film is a function of time

When a film is built from code, as with HeyGen's , every frame must be a pure function of the time t. No Math.random(), no clock, nothing carried from the last frame. Seeded randomness is fine.

That rule buys real motion blur. The renderer samples several moments inside each frame and averages them: a 180° , four samples a frame by default, up to 24 on a whip pan. One unseeded Math.random makes those samples disagree and the blur turns to noise.

Never let the shutter cross a hard cut. Slide it back so it ends on the cut, or the fastest frame renders sharp and stutters.

Place everything on a taken from the actual track, not from the brief. A generated track's tempo is a hope until measured: over 50 s, a 0.15 % tempo error puts the last hits about 70 ms late, past the 30 ms sync budget.

Delivery gates

Hand nothing over until every file passes.

  1. Frame count matches

    A mux with -shortest silently drops the last frames when the audio ends early.
  2. H.264 level fits

    Level ≤ 4.2 at 1080p, ≤ 5.2 at 4K. A slow preset without -level writes 6.0, which fails in Safari, QuickTime and on phones.
  3. Under 1 GB at 4K

    CRF around 12 at a slower preset; higher quality nobody can see just doubles the file.
  4. Decodes on the hardware decoder

    That is what phones use; a software decode passing proves nothing.
  5. Loudness written, −1 dBTP

    For the register, chosen on purpose. −14 LUFS is an engine default, not a standard.

The formats around the film

A launch film rarely ships alone. Each companion breaks a different rule of the master.

  • for the landing page: a cycle, not enter-hold-exit. The last frame flows into the first with no visible seam; frame 0 is the poster and names the product. Ship MP4/WebM; GIF only at 25 or 50 fps (GIF delays are whole hundredths, so 30 fps plays 11 % fast).
  • : 3-8 s, the name plus three words at most. Assemble the mark from 2-4 pieces with one hit on contact; hold the lockup at least 1.5 s.
  • Vertical and square: re-lay out, never crop. In 9:16 keep text inside top 270, right 120, bottom 420 and left 64 px of a 1080 × 1920 frame, type about 1.4× its 16:9 size, captions burned in because feeds autoplay muted. Those are the .

Who owns what

Three build tools appear next to the skill. The split is the same each time: the tool owns the build; the skill owns register, beats, type cadence and sound.

ToolOwnsWhere the skill's measured value wins
HyperFramesthe build, seam eases and zoom values inside its projects, captionsregister, structure, type cadence, sound
cinetic (Remotion)scaffold, render, delivery, layout and sync checksendcard 4.4-6.3 s not 2.2 s; text hold 1.15 s not 0.77 s; crossfades allowed over a shared ground
scenario-kinetic-filmone-page beat-cut type films, generated music and key artloudness is a register choice; a 9:16 cut is re-laid out, never the master centred on black
Inside a HyperFrames project, its seam values win; everywhere, the skill's measured beats and sound win.
Review a launch-film render· for your agent
Review this render against its own register, at its native frame rate.
Recount cuts by eye from a contact sheet around each seam; don't trust a
detector count. Go through the 11 rows (register, hook, name, words, UI
demo, motion, seams and cuts, endcard, sound sync, level, source) and
write one Before | After | Why row per issue. Then check the delivery
gates: frame count, H.264 level, size, hardware decode, loudness and
-1 dBTP. Make the 9:16 cut as a re-layout inside the feed safe zones.

Quick check

Your automatic cut detector reports 6 cuts in a 40-second film. What should you do before comparing it to the register's cut rate?

In the skill

The nodes your agent reads when it does this work.

What this lesson builds on and leads to, across every course.

  • Cuts, seams and motion
  • Routing the job
  • What is a skill?
  • Sound in launch films
  • Pick the register first
  • Sound from motion