Skip to main content

Parameterized videos

Remotion allows for ingesting, validating, visually editing, and transforming data that may be used to parametrize a video.

Data may influence the content of the video, or the metadata such as width, height, duration or framerate.

High-level overview

Remotion allows the passing of props to a React component.
Props are a React concept and take the shape of a JavaScript object.

To determine the data which gets passed to the video, the following steps are taken:

Default props are defined statically, so that the video can be designed in the Studio without any data.

  • The default props define the shape of the data.

  • A schema can be defined and validated.

  • In absence of data, default props can be edited in the Remotion Studio.

Input props may be specified when rendering a video to override the default props.

  • Input props will be merged together with default props, where input props have priority.

Using calculateMetadata(), postprocessing of the props may be performed and metadata be dynamically calculated.

  • For example, given a URL is passed as a prop, it may be fetched and the content added to the props.

  • Asynchronous calculation of the video duration and other metadata is also possible here.

The final props are passed to the React component.

  • The component may dynamically render content based on the props.

See here for a visual explanation and more details of how the resolution process works.

Table of contents

See also

You can use the Remotion Player to display a Remotion component in a React app and dynamically change the content without rendering the video, to create experiences where the content updates in real-time.