PTENES
From content to MP4

One link goes in.
One video comes out.

Turn web pages and articles into editable vertical videos, narrated in Portuguese and ready for review before rendering.

Content2Video: one link in and one video out, illustrated by a URL being transformed into an MP4 video
What it is

A small, local, reviewable video factory

AI researches the source and assembles the production. You keep editorial control, open each composition, and decide when to generate the final file.

๐Ÿ”— Link as input

Paste a URL into the interface or pass it through the terminal. The system creates a local project in output/content2video/.

โœ๏ธ Everything is editable

The script, storyboard, voice, captions, scenes, media, and timing remain accessible in HyperFrames Studio.

๐ŸŽž๏ธ Render after approval

The MP4 is generated only after validation, with a button in the interface or a command in the terminal.

How it works

From page to video in six steps

The default keeps the same Brazilian Portuguese voice even when the original source is in another language.

URLโ†’Researchโ†’Scriptโ†’Scenes + voiceโ†’Reviewโ†’MP4
Prerequisites

What you need to run it

Use subscription OAuth through Codex CLI, the default, or configure an API key only in the .env.

Node.js 22+

Runs the interface and CLI.

node --version

Codex connected

Reuses the local OAuth login.

codex login
codex login status

FFmpeg

Encodes and inspects the final video.

ffmpeg -version
User guide ยท step by step

Choose the interface or command line

In both modes, defaults come from the .env: 60 seconds, 30% tolerance, score 8, Francisca voice, and 9:16 video.

1

Install

Clone the project and create your local configuration.

git clone https://github.com/inematds/content2video.git
cd content2video
cp .env.example .env
npm install
2

Start the interface

Adjust the IPs for .env if needed, and open the displayed address.

npm start  # default: http://192.168.2.99:3080
3

Or create it from the terminal

The optional slug sets the name of the video folder.

npm run video:create -- https://www.inema.club/ inema-club-promo
4

Review and validate

Open the editor or run the automated check.

npm run video:preview -- inema-club-promo
npm run video:check -- inema-club-promo
5

Render

The final file goes to output/content2video/<slug>/renders/<slug>.mp4.

npm run video:render -- inema-club-promo
Real-world examples

Three videos already produced

Local production includes an INEMA.club institutional video, an English article narrated in Brazilian Portuguese, and the original MVP.

Frames from the INEMA.club video
INEMA.club โ€” product page turned into a vertical video.
Frames from the video about Zuckerberg and Dolly Parton
Futurism โ€” an English source with consistent Brazilian narration.
Project status

What already works and the next step

The operational foundation is ready for testing on a local network.

Ready
Create, edit, and renderInterface without login, CLI, Codex OAuth, optional API, configurable voice, and MP4 download.
After
Public operationAdd authentication, HTTPS, a persistent queue, and limits before exposing the interface to the internet.