From c5f6859a832e91a61c3a45c9de09e3550e0e148c Mon Sep 17 00:00:00 2001 From: 0xDevNinja Date: Thu, 25 Jun 2026 18:23:28 +0530 Subject: [PATCH] fix: use --props= equals form for Remotion render On Windows, passing --props and the JSON path as two separate CLI arguments causes Remotion to mis-parse the value due to platform quote escaping, failing with "neither valid JSON nor a file path to a valid JSON file". Switch to the --props= equals form, which Remotion recommends for file paths and which works consistently across platforms. Fixes #172 --- tools/video/video_compose.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/video/video_compose.py b/tools/video/video_compose.py index 90d9959..f450183 100644 --- a/tools/video/video_compose.py +++ b/tools/video/video_compose.py @@ -1352,7 +1352,12 @@ class VideoCompose(BaseTool): str(composer_dir / "src" / "index.tsx"), composition_id, str(output_path), - "--props", str(props_path), + # Use the `--props=` equals form rather than two separate + # args. On Windows, passing `--props` and the path separately makes + # Remotion mis-parse the value (quote escaping differs), failing + # with "neither valid JSON nor a file path". The equals form is the + # API Remotion recommends for file paths and is cross-platform safe. + f"--props={props_path}", ] # Apply media profile dimensions