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
- Deploy a renderer: `npx remotion lambda functions deploy` and copy the returned function name.
- Add `REMOTION_APP_FUNCTION_NAME=<name>` to packages/lambda-python/.env.
- Make sure the function exists in REMOTION_APP_REGION (`npx remotion lambda functions ls`).
- 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
- Deploy the Lambda function with `npx remotion lambda functions deploy` and capture the name.
- Verify with `npx remotion lambda functions ls`.
- Keep the function name in version-controlled .env.example as a placeholder.
- Ensure the function is in REMOTION_APP_REGION.
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
- REMOTION_APP_REGION is not set
- REMOTION_APP_SERVE_URL is not set
- REMOTION_APP_REGION is not set
- REMOTION_APP_FUNCTION_NAME is not set
- REMOTION_APP_SERVE_URL is not set
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/c19b452e502ad402.
Report an issue: GitHub.