alpha2 rendersthe same everywhere

A portable media engine: one timeline project, rendered on the GPU, identically in browsers, on servers and in Rust.

Watch alpha2 render live
reel.jsonStarting the engine
The reel's frame, rendered by alpha2
Backend
Loading
Canvas
960 × 540
Frame
30 of 210
Ticks
120,000
1.15
Coast into Forest
00:00:01:00/ 00:00:07:00
Coast, gradedWipeForestFadeBoathouse

It grades , blurs ,
glows and cuts

A street wall at night, warmed and lifted by the color controls
Color controls
Commuters' feet on a station platform, blurred
Gaussian blur
A boathouse at night, its lights glowing
Glow
A circle opening from the coast onto the forest
Circle open, halfway through the cut

Eleven effects and thirty transitions are built in and run on the GPU, the same in the browser and natively. Register your own WGSL shaders at run time with RuntimeEffectRegistry.

Read the package guide

It runs on WebGPU, WebGL2, Vulkan, Metal and Direct3D 12; on Linux, macOS and Windows; in browsers, Node.js and Rust.

The reel from the top of this page, exported by alpha2-host on Vulkan: 210 frames in 0.70 s.

Pick the package
for your target

Packages

You are buildingUseInstall
Videos from Python: build and render projectsalpha2pip install alpha2
A browser app that previews and exportsalpha2npm install alpha2
A browser editor with undo and export@alpha2-sh/editornpm install @alpha2-sh/editor
A React canvas over the player@alpha2-sh/reactnpm install @alpha2-sh/react
MP4 export from Node.js or Electron@alpha2-sh/nodenpm install @alpha2-sh/node
MP4 export from any other languagealpha2-hostcargo install alpha2-host
A Rust programalpha2cargo add alpha2

Platforms

PlatformGPUHardware decode and encode
BrowserWebGPU, or WebGL2Decoded by your app
Linux x64 and arm64VulkanVulkan Video
macOS on Apple siliconMetalVideoToolbox
Windows x64Direct3D 12D3D12VA

Other languages drive alpha2-host serve through its stdio protocol.

Meet the web editor
based on alpha2

Studio's editor: media bin, program viewer, inspector and a timeline of video, title and audio clips

α2 Studio is one application built on alpha2 and @alpha2-sh/editor: a timeline editor that runs in a browser tab and keeps its projects there.

Open α2 Studio

Questions

Does the preview match the export?

Yes. Every target runs the same rendering code, so one project draws the same frame in a browser preview, in a server export and in a Rust program. The live frame at the top of this page and the exported film beside the platforms come from one document.

Who decodes the media?

In the browser, your application does, with WebCodecs or the decoders in alpha2/mediabunny, and the engine names the exact source time each frame needs. Natively, alpha2-host decodes and encodes with FFmpeg 8.

Which GPUs does it use?

WebGPU in the browser, or WebGL2 where a canvas has no WebGPU. Vulkan on Linux, Metal on Apple silicon and Direct3D 12 on Windows, where native exports also encode on the GPU wherever the device and codec allow it.

Can I drive it from Python or Go?

From Python, pip install alpha2: it builds and validates projects and renders them with alpha2-host, which it installs too. From any other language, run alpha2-host serve and talk to it over standard input and output; the host protocol describes every message. Node.js and Electron get the same host through @alpha2-sh/node.

What does it cost?

Nothing. alpha2 is available under the MIT License, copyright Alpha2 contributors, and its third-party components are listed in the notices.

npm install alpha2cargo add alpha2

The same engine either way, MIT licensed, with its source on GitHub.