Skip to main content

npx remotion lambda still

Using the npx remotion lambda still command, you can render a still frame in the cloud.

The command has the following structure:

npx remotion lambda still <serve-url> [<composition-id>] [<output-location>]
npx remotion lambda still <serve-url> [<composition-id>] [<output-location>]
  • The serve URL is obtained by deploying a project to Remotion using the sites create command or calling deploySite().
  • The composition ID. If not specified, the list of compositions will be fetched and you can choose a composition.
  • The output-location parameter is optional. If you don't specify it, the still is stored in your S3 bucket. If you specify a location, it gets downloaded to your device in an additional step.

Example commands

Rendering a still:

npx remotion lambda still my-comp
npx remotion lambda still my-comp

Rendering using the serve URL shorthand:

npx remotion lambda still testbed my-comp
npx remotion lambda still testbed my-comp

If you are using the shorthand serve URL, you have to pass a composition ID. Available compositions can only be fetched if a complete serve URL is passed.

Rendering the 10th frame of a composition:

npx remotion lambda still --frame=10 testbed my-comp
npx remotion lambda still --frame=10 testbed my-comp

Downloading the result to a out.png file:

npx remotion lambda still testbed my-comp out.png
npx remotion lambda still testbed my-comp out.png



Render a specific frame of a composition. Default 0


The AWS region to select. Both project and function should be in this region.


React Props to pass to the root component of your video. Must be a serialized JSON string (--props='{"hello": "world"}') or a path to a JSON file (./path/to/props.json).


Scales the output frames by the factor you pass in. For example, a 1280x720px frame will become a 1920x1080px frame with a scale factor of 1.5. Vector elements like fonts and HTML markups will be rendered with extra details.


Log level to be used inside the Lambda function. Also, if you set it to verbose, a link to CloudWatch will be printed where you can inspect logs.


Defines if the output media is accessible for everyone or not. Either public or private, default public.


How many times a single chunk is being retried if it fails to render. Default 1.


The file name of the media output as stored in the S3 bucket. By default, it is out plus the appropriate file extension, for example: out.png. Must match /([0-9a-zA-Z-!_.*'()/]+)/g.


Value between 0 and 100 for JPEG rendering quality. Doesn't work when rendering an image format other than JPEG.


Renamed to jpegQuality in v4.0.0.


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


This will most notably disable CORS in Chrome among other security features.


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


From v4.0, Remotion has a cache for <OffthreadVideo> frames. The default is null, corresponding to half of the system memory available when the render starts.
This option allows to override the size of the cache. The higher it is, the faster the render will be, but the more memory will be used.
The used value will be printed when running in verbose mode.
Default: null


Automatically delete the render after a certain period. Accepted values are 1-day, 3-days, 7-days and 30-days.
For this to work, your bucket needs to have lifecycles enabled.