remotion-dev/remotion · error · Error
No composition with the ID "${compId}" found.
Error message
No composition with the ID "${compId}" found. What it means
Thrown by `remotion benchmark` after it collects the requested composition IDs (positional args or the multi-composition picker) and cannot find one of them in the compositions registered by the entry point. Each requested ID is matched exactly against `comps.find((c) => c.id === compId)`; a miss aborts the whole benchmark run.
Source
Thrown at packages/cli/src/benchmark.ts:419
commandLine: parsedCli,
}).value,
onLog: RenderInternals.defaultOnLog,
});
const ids = (
remainingArgs[0]
? String(remainingArgs[0])
.split(',')
.map((c) => c.trim())
.filter(truthy)
: await showMultiCompositionsPicker(comps, logLevel)
) as string[];
const compositions = ids.map((compId) => {
const composition = comps.find((c) => c.id === compId);
if (!composition) {
throw new Error(`No composition with the ID "${compId}" found.`);
}
return composition;
});
if (compositions.length === 0) {
Log.error(
{indent: false, logLevel},
'No composition IDs passed. Add another argument to the command specifying at least 1 composition ID.',
);
}
const benchmark: Record<string, Record<string, number[]>> = {};
let count = 1;
const x264Preset = x264Option.getValue({commandLine: parsedCli}).value;
const audioBitrate = audioBitrateOption.getValue({View on GitHub (pinned to 78fe4bb3fd)
Solutions
- List available IDs with `remotion compositions <entry>` and copy the exact `id`.
- Verify the ID spelling and casing against the `<Composition id="...">` in the entry file.
- Ensure the entry file passed to benchmark is the one that registers the composition you want.
Example fix
// before $ remotion benchmark src/index.ts MyComposition // after (id is lowercase, as registered) $ remotion benchmark src/index.ts my-composition
Defensive patterns
Strategy: validation
Validate before calling
// Resolve available IDs once, validate requested IDs against them.
import {getCompositions} from '@remotion/renderer';
const comps = await getCompositions(serveUrl, {inputProps});
const available = new Set(comps.map((c) => c.id));
const requested = ['myComp', 'otherComp'];
const missing = requested.filter((id) => !available.has(id));
if (missing.length) {
throw new Error(`Unknown composition IDs: ${missing.join(', ')}`);
} Type guard
const isKnownComposition = (id: string, comps: {id: string}[]): boolean =>
comps.some((c) => c.id === id); Prevention
- Source composition IDs from the same entry file you pass to benchmark.
- Add a preflight that lists compositions (`remotion compositions <entry>`) before benchmarking.
When it happens
Trigger: Running `remotion benchmark <entry> myComp,otherComp` where any ID in the comma-separated list is not a registered `<Composition id="...">`. Also reachable through the interactive picker if the list was typed in manually and an ID is misspelled.
Common situations: Renaming a composition without updating benchmark scripts; passing the composition's display name or file name instead of its `id`; case mismatch (`MyComp` vs `mycomp`); stale copied IDs after refactoring.
Related errors
- Comma-separated frame selections are only supported by the `
- The following packages are not Remotion packages: ${invalidP
- Image format mismatch: ${outName} was given as the ${outName
- Image format mismatch: ${downloadName} was given as the down
- Image format mismatch: ${outName} was given as the ${outName
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/b866b9fb24de9aa6.
Report an issue: GitHub.