Lanibo Studio БГ
How it works

From a sentence to a finished video

A chain of small programs, each reading and writing plain files. A person can open, read and fix any of those files, and the same files always give the same video.

The stages

  1. Scenario

    The ad in plain words: who it is for, the one message, and each beat with its caption and voice line. Written by hand today; the scenario writer proposes them next.

    scenarios/*.md
  2. Steps

    How to drive the app for each shot: open this screen, tap that button, mark this moment, find that row. Buttons are found by their role and name or by test id, so the steps survive small design changes.

    steps.json
  3. Recording

    The demo data is reset, the app opens, logs in off camera, and each shot is filmed. Next to every clip goes a list of when each tap and mark happened and where each found element sits on screen.

    clip.mp4 + markers.json
  4. Edit plan

    The cut: scenes in order, each a piece of a clip from a named moment, with a caption, zooms, lifts and a transition; cards; music and voice.

    edit.json
  5. Rendering

    Every frame is worked out from the time alone, drawn in a hidden browser and encoded to video. Music, effects and voice are made and mixed alongside.

    video.mp4
  6. Checks

    The finished video is tested like code: reading time, length, forbidden words, end card, voice timing, still stretches. A failure stops it from reaching review.

    checks.json
  7. Review

    The video goes to a private review page on the owner's phone. Comments become changes to the plan, and the video is made again.

Why it is built this way

What the video is made of

Part Where it comes from
Screens Recorded from the real app (Android emulator, browser, or a phone recording)
Motion Our renderer: phone frame, zooms, lifts, captions, cards, transitions
Music Our synthesizer and composer, or a licensed song cut to length
Voice Kokoro (free, offline, Apache-2.0), or a recorded voice
Effects Our own: taps, whooshes, pops
Encoding ffmpeg, H.264 video and AAC sound