Skip to main content

saveDefaultProps()v4.0.147

Saves the defaultProps for a composition back to the root file.
If you just want to update the default props in the Props Editor (right sidebar in the Studio) without saving them to the root file, use updateDefaultProps().

Examples

import { saveDefaultProps } from "@remotion/studio";

await saveDefaultProps({
  compositionId: "my-composition",
  defaultProps: () => {
    return {
      color: "green",
    };
  },
});

You can access the saved default props to only override part of it (reducer-style):

import { saveDefaultProps } from "@remotion/studio";

await saveDefaultProps({
  compositionId: "my-composition",
  defaultProps: ({ savedDefaultProps }) => {
    return {
      ...savedDefaultProps,
      color: "green",
    };
  },
});

If you modified props in the Props Editor (right sidebar in the Studio), you can also access the unsaved props from there, and for example save them:

import { saveDefaultProps } from "@remotion/studio";

await saveDefaultProps({
  compositionId: "my-composition",
  defaultProps: ({ unsavedDefaultProps }) => {
    return unsavedDefaultProps;
  },
});

If you have a Zod schema, you can also access its runtime value:

import { saveDefaultProps } from "@remotion/studio";

await saveDefaultProps({
  compositionId: "my-composition",
  defaultProps: ({ schema, unsavedDefaultProps }) => {
    // Do something with the Zod schema

    return {
      ...unsavedDefaultProps,
      color: "red",
    };
  },
});

Requirements

In order to use this function:

You need to be inside the Remotion Studio.


The Studio must be running (no static deployment)


zod needs to be installed.



Otherwise, the function will throw.

See also