remotion-dev/remotion · error · Error
Comma-separated `--frames` cannot be combined with `--every-
Error message
Comma-separated `--frames` cannot be combined with `--every-nth-frame`.
What it means
Thrown by the render CLI when both a comma-separated --frames value (e.g. --frames=0,10) and --every-nth-frame > 1 are supplied. The two features are mutually exclusive: --every-nth-frame subsamples the full timeline uniformly, while comma-separated --frames specifies an explicit frame set, so combining them is ambiguous.
Source
Thrown at packages/cli/src/render.tsx:139
const height = overrideHeightOption.getValue({
commandLine: parsedCli,
}).value;
const width = overrideWidthOption.getValue({
commandLine: parsedCli,
}).value;
const fps = overrideFpsOption.getValue({commandLine: parsedCli}).value;
const durationInFrames = overrideDurationOption.getValue({
commandLine: parsedCli,
}).value;
const browserExecutable = browserExecutableOption.getValue({
commandLine: parsedCli,
}).value;
const everyNthFrame = everyNthFrameOption.getValue({
commandLine: parsedCli,
}).value;
if (selectedFrames !== null && everyNthFrame !== 1) {
throw new Error(
'Comma-separated `--frames` cannot be combined with `--every-nth-frame`.',
);
}
const userAgent = userAgentOption.getValue({commandLine: parsedCli}).value;
const disableWebSecurity = disableWebSecurityOption.getValue({
commandLine: parsedCli,
}).value;
const ignoreCertificateErrors = ignoreCertificateErrorsOption.getValue({
commandLine: parsedCli,
}).value;
const x264Preset = x264Option.getValue({commandLine: parsedCli}).value;
const audioBitrate = audioBitrateOption.getValue({
commandLine: parsedCli,
}).value;
const offthreadVideoCacheSizeInBytes =
offthreadVideoCacheSizeInBytesOption.getValue({
commandLine: parsedCli,View on GitHub (pinned to 78fe4bb3fd)
Solutions
- If you want uniform sub-sampling, keep --every-nth-frame and remove the comma-separated --frames.
- If you want an explicit frame list, keep --frames=a,b,c and remove --every-nth-frame (or set it to 1).
- Re-run with only one of the two strategies.
Example fix
// before $ npx remotion render MyComp out.mp4 --frames=0,10,20 --every-nth-frame=2 // after - pick one $ npx remotion render MyComp out.mp4 --every-nth-frame=2
Defensive patterns
Strategy: validation
Validate before calling
const validateFrameOptions = (frames: string | null, everyNth: number) => {
if (frames !== null && frames.includes(',') && everyNth !== 1) {
throw new Error('Cannot combine comma-separated --frames with --every-nth-frame');
}
};
validateFrameOptions(selectedFrames, everyNthFrame); Type guard
const isCommaFrames = (frames: string | null): boolean =>
frames !== null && frames.includes(','); Prevention
- Decide on one frame-selection strategy per render invocation.
- In script builders, treat --frames and --every-nth-frame as mutually exclusive options.
When it happens
Trigger: Passing `--frames=0,10,20 --every-nth-frame=2` together, or any combination where selectedFrames !== null and everyNthFrame !== 1.
Common situations: Composing render flags from a template that included both; wanting both sub-sampling and a custom list and not realising they conflict; copy-pasting flags from two different examples.
Related errors
- Both an output flag (--output) and an output location as a p
- Comma-separated frame selections are only supported by the l
- Comma-separated frame selections are only supported by the `
- Cannot find composition with ID "${compNameResult.compName}"
- The output directory of the image sequence cannot have an ex
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/4c71c1fb09a85058.
Report an issue: GitHub.