{"record":{"id":"89061d05484bc8d8","repo":"remotion-dev/remotion","slug":"remotion-app-function-name-is-not-set-89061d","errorCode":null,"errorMessage":"REMOTION_APP_FUNCTION_NAME is not set","messagePattern":"REMOTION_APP_FUNCTION_NAME is not set","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"packages/lambda-python/testclient_render_still.py","lineNumber":17,"sourceCode":"import os\n\nfrom remotion_lambda import RenderStillParams, Privacy, ValidStillImageFormats\nfrom remotion_lambda import RemotionClient\nfrom dotenv import load_dotenv\n\n\nload_dotenv()\n\n# Load env variables\nREMOTION_APP_REGION = os.getenv('REMOTION_APP_REGION')\nif not REMOTION_APP_REGION:\n    raise Exception(\"REMOTION_APP_REGION is not set\")\n\nREMOTION_APP_FUNCTION_NAME = os.getenv('REMOTION_APP_FUNCTION_NAME')\nif not REMOTION_APP_FUNCTION_NAME:\n    raise Exception(\"REMOTION_APP_FUNCTION_NAME is not set\")\n\nREMOTION_APP_SERVE_URL = os.getenv('REMOTION_APP_SERVE_URL')\nif not REMOTION_APP_SERVE_URL:\n    raise Exception(\"REMOTION_APP_SERVE_URL is not set\")\n\n# Construct client\nclient = RemotionClient(region=REMOTION_APP_REGION,\n                        serve_url=REMOTION_APP_SERVE_URL,\n                        function_name=REMOTION_APP_FUNCTION_NAME)\n\n# Set render still request\nrender_params = RenderStillParams(\n    composition=\"still-helloworld\",\n    privacy=Privacy.PUBLIC,\n    image_format=ValidStillImageFormats.JPEG,\n    input_props={\n        'message': 'Hello from props!'\n    },","sourceCodeStart":1,"sourceCodeEnd":35,"githubUrl":"https://github.com/remotion-dev/remotion/blob/78fe4bb3fdb5a2cd68724393d63cb223db333fa7/packages/lambda-python/testclient_render_still.py#L1-L35","documentation":"Raised by testclient_render_still.py when REMOTION_APP_FUNCTION_NAME is unset. Still rendering invokes the same deployed Lambda renderer function, so its name must be configured.","triggerScenarios":"Running the still example before `npx remotion lambda functions deploy`, or with the function-name env var blank.","commonSituations":"No function deployed in the target region; env var name typo; deploying site without deploying the function.","solutions":["Deploy a renderer function: `npx remotion lambda functions deploy`.","Add `REMOTION_APP_FUNCTION_NAME=<name>` to .env.","Verify with `npx remotion lambda functions ls` in REMOTION_APP_REGION.","Run from packages/lambda-python so .env loads."],"exampleFix":"// before\nREMOTION_APP_FUNCTION_NAME=\n// after\nREMOTION_APP_FUNCTION_NAME=remotion-render-3-3-123-memo64","handlingStrategy":"validation","validationCode":"import os\nif not os.getenv('REMOTION_APP_FUNCTION_NAME'):\n    raise SystemExit('REMOTION_APP_FUNCTION_NAME is not set. Deploy a function first.')","typeGuard":"def is_non_empty_str(v): return isinstance(v, str) and len(v) > 0","tryCatchPattern":"try:\n    assert os.getenv('REMOTION_APP_FUNCTION_NAME')\nexcept AssertionError:\n    sys.exit(2)","preventionTips":["Deploy the renderer function before running the still example.","Share function-name and region between media and still examples.","Confirm the function is deployed via `npx remotion lambda functions ls`.","Run scripts from the package directory."],"tags":["python","lambda","configuration","environment","example","still"],"backgroundTag":null,"analyzedSha":"78fe4bb3fdb5a2cd68724393d63cb223db333fa7","analyzedAt":"2026-08-12T17:18:50.444Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}