OPEN KIT Β· LOCAL EXECUTION Β· v1.0.0

From script to vertical video.

Turn clips, voice and a clear idea into a video with cuts, highlighted words and synchronized sound.

Vertical video production kit
In short

video-viral-9x16 is a vertical video production kit for content creators who want to control editing through code. It combines an animated text engine, synchronized captions, scene assembly and audio mixing. You get a complete 48-second example and can adapt the script and media to other topics. To run it, you need Linux, Node.js, Python and FFmpeg; the example media are already included.

What it is

One method. One engine. One complete example.

The supplied files are organized for you to study, run and adapt. β€œViral” describes the editing style; it is not a promise of reach.

Video production stages

🎬 Edit with intent

The script defines the hook, benefit and final call to action. project.json stores cuts and timing; scenes.js controls the presentation.

🎬 Synchronize the layers

Animated text and captions use word-level timestamps. Music lowers during speech and effects play at their cues.

🎬 Review before exporting

Generate a preview sheet, validate inputs and check the MP4 frame count. Watch and listen to the result before publishing.

How it works

Speech structures the video

One main idea, a quick hook and a final action. Each scene should support what is being said.

Script and voice→ Clips and cuts→ Text, mixing and review
Requirements

Local tools, no API key

Recommended: Linux, Node.js 18+, Python 3.10+ and FFmpeg with ffprobe. Setup downloads dependencies; rendering uses local files.

Set up the environment

Clone the repository, install Python dependencies in an isolated environment and install the Canvas engine in Node.

# command
git clone https://github.com/inematds/video-viral-9x16.git
cd video-viral-9x16
bash scripts/setup.sh
User guide Β· step by step

Reproduce first. Then customize.

Run commands from the repository root. The example includes clips, narration, music, effects and a transcript.

1

Validate the inputs

The validator checks files, cut continuity and word timestamps.

.venv/bin/python scripts/viral.py validate exemplo-inemaccbot-v2/project.json
2

View six moments

Open out/prev/review.jpg inside the example folder. Check text, faces and contrast.

.venv/bin/python scripts/viral.py preview exemplo-inemaccbot-v2/project.json
3

Build the video

The command rebuilds the music track, base video, mix, MP4 and technical review. Slow-motion interpolation may take time. Each stage has a 30-minute limit.

.venv/bin/python scripts/viral.py build exemplo-inemaccbot-v2/project.json
4

Create your version

The copy includes the media. Choose a new folder, then change text in scenes.js and cuts in project.json.

.venv/bin/python scripts/viral.py new ../meu-video --example
5

Use your own media

Without --example, you get a scaffold that needs to be filled in. Add clips, narration, music, SFX and a transcript with word-level timestamps.

.venv/bin/python scripts/viral.py new ../novo-video
# After preparing the files:
.venv/bin/python scripts/viral.py validate ../novo-video/project.json
Examples

The INEMACCBOT v2 example

48 seconds, 20 edited segments, 1080 Γ— 1920 video at 30 fps. Content and media from the original kit, in Portuguese.

Six frames from the original example in Portuguese
Preview rendered by the local engine. Example text in Portuguese.

Output files

The video is saved to exemplo-inemaccbot-v2/out/INEMACCBOT_v2_9x16.mp4. The technical sheet is saved to out/qc/final_sheet.jpg. QC reports loudness; human review should check voice, music and readability.

Download the original PDF guide (in Portuguese)

Prompt library and references (in Portuguese)

Roadmap

What is included β€” and the next step

Generating new media is a separate step that you choose.

v1.0.0
Local pipeline and reference materialsValidation, preview and build CLI; Canvas engine, scripts, fonts, prompt library and v1/v2 originals.