Back to Remotion

getCompositionsOnLambda()

packages/docs/docs/lambda/getcompositionsonlambda.mdx

4.0.4654.1 KB
Original Source
<AvailableFrom v="3.3.2" />

Gets the compositions inside a Lambda function.

Note that you can also get the compositions of a site that is hosted on Lambda using getCompositions(). Vice versa, you can also get the compositions from a serve URL that is not hosted on AWS Lambda using getCompositionsOnLambda().

You should use getCompositionsOnLambda() if you cannot use getCompositions() because the machine cannot run Chrome.

Example

tsx
import {getCompositionsOnLambda} from '@remotion/lambda/client';

const compositions = await getCompositionsOnLambda({
  region: 'us-east-1',
  functionName: 'remotion-render-bds9aab',
  serveUrl: 'https://remotionlambda-qg35eyp1s1.s3.eu-central-1.amazonaws.com/sites/bf2jrbfkw',
  inputProps: {},
});

console.log(compositions); // See below for an example value

:::note Preferrably import this function from @remotion/lambda/client to avoid problems inside serverless functions. :::

Arguments

An object with the following properties:

functionName

The name of the deployed Lambda function that should be used to ge the list of compositions. Use deployFunction() to create a new function and getFunctions() to obtain currently deployed Lambdas.

region

In which region your Lambda function is deployed.

serveUrl

A URL pointing to a Remotion project. Use deploySite() to deploy a Remotion project.

inputProps

Input Props to pass to the selected composition of your video..
Must be a JSON object.
From the root component the props can be read using getInputProps().
You may transform input props using calculateMetadata().

envVariables?

See renderMedia() -> envVariables. Default: {}.

timeoutInMilliseconds?

A number describing how long the function may take in milliseconds to evaluate the list of compositions before it times out. Default: 30000

chromiumOptions?

Allows you to set certain Chromium / Google Chrome flags. See: Chromium flags.

disableWebSecurity

boolean - default false

This will most notably disable CORS among other security features.

ignoreCertificateErrors

boolean - default false

Results in invalid SSL certificates, such as self-signed ones, being ignored.

gl

<Options id="gl" />

userAgent<AvailableFrom v="3.3.83"/>

Lets you set a custom user agent that the headless Chrome browser assumes.

darkMode?<AvailableFrom v="4.0.381"/>

<Options id="dark-mode" />

forceBucketName?<AvailableFrom v="3.3.42" />

Specify a specific bucket name to be used. This is not recommended, instead let Remotion discover the right bucket automatically.

logLevel?

<Options id="log" />

Logs can be read through the CloudWatch URL that this function returns.

mediaCacheSizeInBytes?<AvailableFrom v="4.0.352"/>

<Options id="media-cache-size-in-bytes" />

offthreadVideoCacheSizeInBytes?<AvailableFrom v="4.0.23"/>

<Options id="offthreadvideo-cache-size-in-bytes" />

offthreadVideoThreads?<AvailableFrom v="4.0.261"/>

<Options id="offthreadvideo-video-threads" />

dumpBrowserLogs?

Deprecated in v4.0 in favor of logLevel.

Return value

Returns a promise that resolves to an array of available compositions. Example value:

ts
[
  {
    id: 'HelloWorld',
    width: 1920,
    height: 1080,
    fps: 30,
    durationInFrames: 120,
    defaultProps: {
      title: 'Hello World',
    },
  },
  {
    id: 'Title',
    width: 1080,
    height: 1080,
    fps: 30,
    durationInFrames: 90,
    defaultProps: undefined,
  },
];