Skip to main content

Implementing a new option

Adding a new option to a feature is a great way to contribute to Remotion and enable more use cases.

Ways of specifying an option

There are multiple ways to specify an option:

  • APIs that can be called via Node.JS can directly accept a parameter.
  • Options influencing a render can be added to the render dialog in the Remotion Studio.
  • If the action is available as a CLI command, the option should also be added as a CLI flag.
  • The config file can be also be used to specify multiple options.
    note

    The config file should not be read when executing a CLI command, otherwise it's values should be ignored.

Option Resolution

The option should be resolved in the following order:

1 Directly passed to the Node.JS API
2 Specified via the render UI in the Remotion Studio
3 Specified via CLI flag
4 Specified via config file
5 Fallback to a default value

Naming

The option should be named in camelCase for options in Node.JS and in hyphen-case for options accepted by the CLI.

Options accepting numerical values should include the unit in the name. For example durationInFrames instead of duration or timeoutInMilliseconds instead of timeout.

Documentation

The option should be documented in the API reference and the CLI reference.

Note from which version the option is available.

Testing changes to the CLI

Check out the Running the CLI section in the contributing docs.

Add CLI autocompletion

In the cli-autocomplete package under src/source.ts, you can add new options. People who use Fig will then be able to get accurate autocompletion for your feature.

See also