Skip to content本文へ移動

Open source · In active development

Motion,
written down.

Celesta renders React components to video. Scrub to any frame in the browser or the desktop app, then export an MP4.

01 Write
Plain React.Components and hooks, written in your own editor.
02 Preview
Frame-accurate.Scrub in the browser, or in the desktop app with audio in sync.
03 Export
H.264 and AAC.MP4 files from the browser, the app, or the command line.
04 License
MIT or Apache-2.0.Free and open source. The engine is written in Rust.

Why Celesta

Every frame is
a function call.

useCurrentFrame() gives you a number. Position, opacity, and text are ordinary React from there, so Celesta can render any frame on its own: for scrubbing, for previews, and for export.

01 — Compose

Components and hooks.

Build scenes from Rect, Text, Image, and Group. Animate with interpolate() and easing curves, and share pieces between projects like any other React code.

React compositions
02 — Preview

Scrub to any frame.

The browser playground previews without sound. The desktop app plays audio in sync and reloads when you save.

Previewing
03 — Export

A standard MP4.

H.264 video with AAC audio, ready for any player or upload. Export from the browser, the desktop app, or the command line.

Exporting

Good for

Video you would rather
describe than drag.

  • 01Title sequences
  • 02Dialogue with lip sync
  • 03Data-driven video
  • 04Generative loops

Get started

Start with
one file.

The desktop app ships with Node.js and FFmpeg, so there is nothing else to install. Celesta is early and changing quickly; bug reports and ideas are welcome on GitHub.

Download Celesta

For macOS and WindowsInstall guideAll releases

Setup

  1. 01

    Install the app.

    Packages are available for macOS and Windows.

  2. 02

    Write a composition.

    A single .tsx file, in any folder.

  3. 03

    Open, preview, export.

    Open the file in Celesta. It reloads on save, and exports to MP4 when you are ready.

Browse the examples