Remotion is a framework for creating videos and motion graphics with React, the JavaScript library for building user interfaces from components. It is made by Remotion AG. The core idea: Remotion gives a component the current frame number and a blank canvas, and the component draws anything for that frame. A video is images over time, so content that changes with the frame number becomes an animation.
A composition joins a React component with the video's width, height, duration in frames and frames per second. Components exist for text, images, video, audio and shapes, and input data can fill a template to make many versions of one video. Rendering happens in the Remotion Studio, on the command line (npx remotion render), through a server-side rendering API, on AWS Lambda, or in the browser; the output can also be audio only, an image sequence or a still image. The Remotion Player embeds a video in a web app, which makes video editors possible.
The code is public on GitHub under Remotion's own license. It is free for individuals and companies of up to 3 people; larger companies pay a license fee.