Open source · Apache-2.0 · Beta

Your product,
in a movie trailer.

Feed any 3D model with a screen into the pipeline and get a 30-second cinematic trailer — delivered as a live single-file HTML or a frame-deterministic MP4. No manual framing, no editing, no sign-up.

30s
Cinematic cut
2
Outputs · HTML + MP4
3
Plain-JSON contracts
0
Manual keyframing
The engine

Three files.
One deterministic trailer.

Every cut is driven by three plain-JSON contracts — swap the model, rewrite the screen content, and the same camera language renders a brand-new film.

01 / CONTRACT

The model

model.manifest.json

Normalize any GLB with a screen: orientation, scale, and which mesh is the display. The engine aims every shot at the screen for you.

02 / CONTRACT

The storyboard

storyboard.json

Camera moves as spherical keyframes — push-in, orbit, crane — with fade timings. The same storyboard re-renders identically, frame for frame.

03 / CONTRACT

The screen

PTContent

A pure function of time: what the screen shows at every frame — a terminal session, an auto-scrolling landing page, anything you can draw on canvas.

Selected work

Rendered by the pipeline,
Hover a poster to preview the vertical cut — every trailer here is generated end-to-end from the three contracts.

Workflow

From GLB to red carpet.

No sign-up, no cloud queue. The whole pipeline runs locally and open-source.

01

Calibrate the model

Load a GLB with a screen, pick the display mesh in the browser workbench, export model.manifest.json.

02

Storyboard the shots

Write storyboard.json: camera keyframes, focal lengths, fades. Or start from a shipped example.

03

Script the screen

A PTContent template draws each frame — terminal, landing page, or your own canvas logic.

04

Render the trailer

Preview the live HTML, then export a deterministic MP4 — vertical 9:16 or horizontal 16:9.

Give your product the trailer treatment.

Clone the repo, calibrate your first model in the browser, and ship a cinematic cut tonight.