Skip to content

How it works

From a brief to a video

Your AI agent runs these five steps for you. Each step uses a tool, and the tool names are shown so you can follow along in your agent's output. The full technical detail is in PIPELINE.md and PLANNING.md.

For a launch video, ask for the peak or mid creative level. Your agent then writes a creative brief for you to approve first and builds each scene by hand from a design system, with a camera that moves on purpose and a transition chosen for every cut. It looks at contact grids of real frames before it renders in full, and finishes with a loudness target, a poster frame and a description with chapters. The score has no drums, so nothing ticks under the voiceover. The README calls this director mode.

A lesson takes a different road. It starts from a concept card and a script, checks the script with a linter, records the voice first and draws the scenes to it. Those steps are on the Lessons page.

  1. 01

    You describe the video, your agent drafts a plan

    validate_beatswrite_beats_file

    Your agent asks a few questions, then writes a shot list for you to approve.

    It asks what your product is, which features to show, how long the video should be, and what your brand looks like. You can paste a README instead of answering. For each feature it picks how to film it: a screenshot for a screen that holds still, a screen recording for something that moves, a clearly labelled mock-up for something the product cannot do yet, or generated footage if you have Higgsfield. The plan is a file called beats.json with one entry per shot. The tools check that the plan is well formed. Your agent then has to show you the whole plan and get a yes before anything is saved.

  2. 02

    It films your real app

    capture_screenshotcapture_screen_recording

    A real browser opens your running app and captures what it actually does.

    The tool visits each page, clicks, types, scrolls and waits the way you would, then saves a screenshot or a recording. These shots are real captures, not AI-drawn images, so the video shows what your product really does. It also works around a browser quirk, a zoom level that some browser profiles remember per site, which otherwise makes captures come out small, soft, or with a slice of the next section showing.

  3. 03

    Each shot becomes a scene

    extract_brandscaffold_scene

    The video picks up your colours, fonts and logo, and every shot gets its own scene file.

    extract_brand reads your repo for its colours, fonts and logo, so the video looks like your product and not like a template. If it cannot find something, it says so and keeps the default instead of guessing. scaffold_scene then writes one scene per shot. Screenshots sit in a browser frame (in director mode a capture can fill the whole frame), recordings play under a moving camera, and mock-ups are built from your real colours and wording. Every scene has slow camera motion, film grain and a soft vignette, and a frozen frame fails the quality check.

  4. 04

    The scenes are joined in order

    plan_sound_effectsstitch_composition

    Scenes go onto one timeline, with voiceover and music wherever you have them.

    stitch_composition puts the scenes in the order of beats.json, each one as long as its shot in the plan. If a voiceover or music file exists it is added. If not, the video still renders without it, so check for silent shots yourself. Sound effects come from a pack the project generates on its own, so they carry no licence terms. If a shot needs a sound that is not in the pack, plan_sound_effects lists what is missing and gives a search link for each one. It downloads nothing. Sounds you add go in their own folder, so it stays clear which ones have licence terms.

  5. 05

    Render, then check the frames

    render_videoqc_extract_frames

    The video renders to an mp4, and your agent inspects still frames before calling it done.

    render_video makes the mp4 and saves it in output/. qc_extract_frames then pulls still frames from the middle and the end of each shot, because a crop that looks fine early on can push the key detail out of frame once the camera has zoomed in. Your agent checks the frames against a list: sharp text, smooth motion, readable captions, and shot lengths that match the plan. Expect to go around this loop more than once.