remotion-dev/remotion · error · Exception

REMOTION_APP_FUNCTION_NAME is not set

Error message

REMOTION_APP_FUNCTION_NAME is not set

What it means

Raised by testclient_render_media.py when REMOTION_APP_FUNCTION_NAME is unset. The example client needs the deployed Lambda function name (the renderer you deployed via `npx remotion lambda functions deploy`) to invoke renders.

Source

Thrown at packages/lambda-python/testclient_render_media.py:18

from remotion_lambda import RenderMediaParams, Privacy, ValidStillImageFormats, Webhook
from remotion_lambda import RemotionClient
import os
from dotenv import load_dotenv
import boto3
from botocore.config import Config

load_dotenv()

# Load env variables
REMOTION_APP_REGION = os.getenv('REMOTION_APP_REGION')
if not REMOTION_APP_REGION:
    raise Exception("REMOTION_APP_REGION is not set")

REMOTION_APP_FUNCTION_NAME = os.getenv('REMOTION_APP_FUNCTION_NAME')
if not REMOTION_APP_FUNCTION_NAME:
    raise Exception("REMOTION_APP_FUNCTION_NAME is not set")

REMOTION_APP_SERVE_URL = os.getenv('REMOTION_APP_SERVE_URL')
if not REMOTION_APP_SERVE_URL:
    raise Exception("REMOTION_APP_SERVE_URL is not set")


# --- NEW: Create a custom botocore Config for timeouts ---
# This configuration will apply to both S3 and Lambda clients created by RemotionClient
# if passed via the botocore_config parameter.
custom_botocore_config = Config(
    connect_timeout=30,  # Max 30 seconds to establish a connection
    read_timeout=60,     # Max 60 seconds to receive data after connection
    retries={'max_attempts': 3, 'mode': 'adaptive'}, # Retry up to 3 times on certain errors
    # You can add more settings here, e.g., proxies
    # proxies={
    #     'http': 'http://proxy.example.com:8080',
    #     'https': 'https://proxy.example.com:8080'
# }

View on GitHub (pinned to 78fe4bb3fd)

Solutions

  1. Deploy a renderer: `npx remotion lambda functions deploy` and copy the returned function name.
  2. Add `REMOTION_APP_FUNCTION_NAME=<name>` to packages/lambda-python/.env.
  3. Make sure the function exists in REMOTION_APP_REGION (`npx remotion lambda functions ls`).
  4. Re-run from the package directory so .env is loaded.

Example fix

// before
REMOTION_APP_FUNCTION_NAME=
// after
REMOTION_APP_FUNCTION_NAME=remotion-render-3-3-123-memo64
REMOTION_APP_REGION=us-east-1
Defensive patterns

Strategy: validation

Validate before calling

import os
fn = os.getenv('REMOTION_APP_FUNCTION_NAME')
if not fn:
    raise SystemExit('REMOTION_APP_FUNCTION_NAME is not set. Run: npx remotion lambda functions deploy')

Type guard

def is_non_empty_str(v): return isinstance(v, str) and len(v) > 0

Try / catch

try:
    assert os.getenv('REMOTION_APP_FUNCTION_NAME'), 'REMOTION_APP_FUNCTION_NAME is not set'
except AssertionError:
    sys.exit(2)

Prevention

When it happens

Trigger: Running the example render-media script before deploying a Lambda function, or with the function-name env var blank. The RemotionClient constructor requires function_name for every Lambda invocation.

Common situations: New AWS account where no function was deployed; typo in the env var name; deploying in a different region than REMOTION_APP_REGION so the function lookup later fails.

Related errors


AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12). Data as JSON: /api/errors/c19b452e502ad402. Report an issue: GitHub.