Skip to main content

Server-Side Rendering

Remotion's rendering engine is built with Node.JS, which makes it easy to render a video in the cloud.

See the Comparison of SSR options to help you decide which option is best for you.

Render a video on AWS Lambda

The fastest way to render videos in the cloud is to use @remotion/lambda.

Render using Vercel Sandbox

The easiest way, especially for Vercel customers is to use Vercel Sandbox.

Render a video using Node.js APIs

We provide a set of APIs to render videos using Node.js and Bun.
See an example or the API reference for more information.

Render using GitHub Actions

You can render a video on GitHub actions. The following workflow assumes a composition ID of MyComp

name: Render video
on:
  workflow_dispatch:
jobs:
  render:
    name: Render video
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@main
      - uses: actions/setup-node@main
      - run: npm i
      - run: npx remotion render MyComp out/video.mp4
      - uses: actions/upload-artifact@v4
        with:
          name: out.mp4
          path: out/video.mp4

With input props

If you have props, you can ask for them using the GitHub Actions input fields.
Here we assume a shape of {titleText: string; titleColor: string}.

name: Render video
on:
  workflow_dispatch:
    inputs:
      titleText:
        description: 'Which text should it say?'
        required: true
        default: 'Welcome to Remotion'
      titleColor:
        description: 'Which color should it be in?'
        required: true
        default: 'black'
jobs:
  render:
    name: Render video
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@main
      - uses: actions/setup-node@main
      - run: npm i
      - run: echo $WORKFLOW_INPUT > input-props.json
        env:
          WORKFLOW_INPUT: ${{ toJson(github.event.inputs) }}
      - run: npx remotion render MyComp out/video.mp4 --props="./input-props.json"
      - uses: actions/upload-artifact@v4
        with:
          name: out.mp4
          path: out/video.mp4

Commit the template to a GitHub repository.
2
On GitHub, click the Actions tab.
3
Select the Render video workflow on the left.
4
A Run workflow button should appear. Click it.
5
Fill in the props of the root component and click Run workflow.
6
After the rendering is finished, you can download the video under Artifacts.

Note that running the workflow may incur costs. However, the workflow will only run if you actively trigger it.

See also: Passing input props in GitHub Actions

Render a video using Docker

See: Dockerizing a Remotion project

Render a video using GCP Cloud Run (Alpha)

Check out the experimental Cloud Run package.
Note: It not actively being developed - our plan is to port the Lambda runtime to Cloud Run instead of maintaining a separate implementation.

API reference