Parametrized rendering is the idea of creating a video template once and then render as many videos as you want with different parameters. Just like in regular React, we use props to reuse and customize components!
To define which props your video accepts, simply give your component the
React.FC type and pass in a generic argument describing the shape of the props you want to accept.
When registering the component as a sequence, you can define the default props:
React.FC, you can ensure type safety and avoid errors caused by typos.
When rendering (for example using the
npm run build script defined in
package.json), you can override some or all default props by passing a CLI flag. It must be valid JSON, pay attention to quote escaping. Using this technique, no type safety can be guaranteed.
When server-rendering using
renderFrames, you can pass props using the
When using Github Actions, you need to adjust the file at
.github/workflows/render-video.yml to make the inputs in the
workflow_dispatch section manually match the shape of the props your root component accepts.
Even if you have registered a component as a sequence, you can still use it as normal in your videos and pass it's props directly. Default props don't apply in this case.