Log in
TechniqueBy HypernaturalVersion 1, updated

Calm explainer camera

hn/hn4a-compositor-calm-explainer-camera

A calm camera treatment for hn4a-compositor when the brief needs inspection or measured reveals: one slow drift or push per screen, short eased moves that start just before their cue, and a slow creep in on every hold when subtle movement helps the hold, kept inside the screen's edges. Numbers that worked: 0.65 s moves starting 0.3 s before the cue with a 3% creep (a narrated summary); framings at 1.15-1.6x, 0.7 s eases landing 0.15 s before the phrase, a 4% creep (a screen-recording walkthrough). Writes the moves for a camera group. For a brief that needs faster emphasis, use hn4a-compositor-fast-ad-camera.

SKILL.md

Give it the cue of each framing (from the voice's word times) and the point and scale it frames; get the moves for a camera group that eases to each framing just before its cue and creeps in slowly while it holds. The group's mechanics are hn4a-compositor (references/spec-format.md, A camera over a group) and the keys are written by camera(id, start, moves) in hn4a-compositor-in-scene-titles (references/titles-fx.md). Choose this pace when inspection, calm or a deliberate reveal serves the brief, including a restrained ad. The faster treatment (hn4a-compositor-fast-ad-camera) served one presenter ad after its calm version was judged sleepy; that result does not prescribe the pace of every ad. To zoom into footage rather than layers, render the move in ffmpeg (ffmpeg-eased-punch-in).

Inputs

  • The framings: one per thing being explained, each with its cue (the phrase that names it, python-read-word-timings, cues), a point and a scale.
  • The layers in the camera group (a board, a slide, a screen, a recording's frame), and their box in group px for within.

Run it

Write references/explainer_camera.md's module into the job's scripts/ folder as scripts/explainer_camera.py, beside scripts/titles_fx.py, and call it from the build script there:

moves = drift_and_push(2.0, [(2.0, (960, 540), 1.0), (6.4, P["chart"], 1.3)], end=12.0)
layers.append(camera("cam", 2.0, moves, end=12.0, within=SCREEN))
HelperDoesDefaults
drift_and_push(start, framings, end)Holds the first framing; eases to each next one starting start_before its cue; on every hold creeps creep further in, linearly, until the next moveease 0.65 s, start_before 0.3 s, creep 0.03
drift(start, end, from, to, scale)One slow, even pan across a wide grouplinear

within=(x, y, w, h) on camera() keeps every framing inside the layers' box.

Numbers that worked

PieceMovesSettings
Narrated summary of a board, slidesOne drift and one push per screenease 0.65 (smoothstep), start_before 0.3, creep 0.03
Walkthrough of a screen recordingA framing per thing shown, held, eased to the nextframings 1.15–1.6×, ease 0.7, start_before 0.85 (lands 0.15 s before the phrase), creep 0.04
  • Leave time to read. A slow creep can keep a hold alive; a completely held screen is useful when movement would distract from inspection. The helper defaults to creep, which can be set to zero.
  • Land before the word on a walkthrough: the viewer is already looking at the control when it is named.
  • Frame a region where several cues land, as with any camera.

Tips and traps

  • The creep is 3–4% over the whole hold, so it never reads as a move of its own.
  • A framing near the layers' edge shows past them without within.
  • A part that builds on a calm piece lands as the camera settles (hn4a-compositor-make-product-ui-exciting).

Check it

  • A still at every landing and one just before each next move: the point centred, the scale up by the creep, nothing past the edge.
  • The live spec with the voice (hn4a-compositor, Live spec, then render).

Workflows that use this skill

FAQs

A calm camera treatment for hn4a-compositor when the brief needs inspection or measured reveals: one slow drift or push per screen, short eased moves that start just before their cue, and a slow creep in on every hold when subtle movement helps the hold, kept inside the screen's edges. Numbers that worked: 0.65 s moves starting 0.3 s before the cue with a 3% creep (a narrated summary); framings at 1.15-1.6x, 0.7 s eases landing 0.15 s before the phrase, a 4% creep (a screen-recording walkthrough). Writes the moves for a camera group. For a brief that needs faster emphasis, use hn4a-compositor-fast-ad-camera.

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 skill itself, or paste this page's link (https://hypernatural.ai/skill/hn/hn4a-compositor-calm-explainer-camera) and it installs hn/hn4a-compositor-calm-explainer-camera and follows it.

Nothing. The skill is free and runs with tools on your own Mac, like hn4a-compositor and python.

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