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
- Backend
- Loading
- Canvas
- 960 × 540
- Frame
- 30 of 210
- Ticks
- 120,000
It grades
, blurs
,
glows
and cuts 




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.
It runs on WebGPU, WebGL2, Vulkan, Metal and Direct3D 12; on Linux, macOS and Windows; in browsers, Node.js and Rust.
alpha2-host on Vulkan: 210 frames in 0.70 s.Pick the package
for your target
Packages
| You are building | Use | Install |
|---|---|---|
| Videos from Python: build and render projects | alpha2 | pip install alpha2 |
| A browser app that previews and exports | alpha2 | npm install alpha2 |
| A browser editor with undo and export | @alpha2-sh/editor | npm install @alpha2-sh/editor |
| A React canvas over the player | @alpha2-sh/react | npm install @alpha2-sh/react |
| MP4 export from Node.js or Electron | @alpha2-sh/node | npm install @alpha2-sh/node |
| MP4 export from any other language | alpha2-host | cargo install alpha2-host |
| A Rust program | alpha2 | cargo add alpha2 |
Platforms
| Platform | GPU | Hardware decode and encode |
|---|---|---|
| Browser | WebGPU, or WebGL2 | Decoded by your app |
| Linux x64 and arm64 | Vulkan | Vulkan Video |
| macOS on Apple silicon | Metal | VideoToolbox |
| Windows x64 | Direct3D 12 | D3D12VA |
Other languages drive alpha2-host serve through its stdio protocol.
Meet the web editor
based on alpha2

α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.
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.