remotion-dev/remotion · error · Error
The artifact filename ${artifact.filename} was emitted more
Error message
The artifact filename ${artifact.filename} was emitted more than once. https://remotion.dev/docs/artifacts What it means
The Studio Web MCP tool 'select composition' validates its compositionName argument at runtime since MCP input is untyped. A non-string value (number, object) throws immediately.
Source
Thrown at packages/serverless/src/render-with-single-function.ts:140
preferLossless: params.preferLossless,
browserExecutable: providerSpecifics.getChromiumPath(),
cancelSignal: params.enableCancellation ? cancelSignal : undefined,
disallowParallelEncoding: false,
offthreadVideoCacheSizeInBytes: params.offthreadVideoCacheSizeInBytes,
colorSpace: params.colorSpace ?? undefined,
repro: false,
binariesDirectory: null,
onBrowserDownload: () => {
throw new Error('Should not download a browser in Lambda');
},
onArtifact: (artifact) => {
const registration = onArtifact({
artifact,
chunk: 0,
attempt: 1,
});
if (registration.type === 'conflict') {
throw new Error(
`The artifact filename ${artifact.filename} was emitted more than once. https://remotion.dev/docs/artifacts`,
);
}
},
metadata: params.metadata,
hardwareAcceleration: 'disable',
chromeMode: 'headless-shell',
offthreadVideoThreads: params.offthreadVideoThreads,
mediaCacheSizeInBytes: params.mediaCacheSizeInBytes,
licenseKey: null,
isProduction: false,
sampleRate: params.sampleRate,
onProgress: ({renderedFrames, encodedFrames}) => {
overallProgress.setFrames({
index: 0,
rendered: renderedFrames,
encoded: encodedFrames,
});View on GitHub (pinned to 8f97758157)
Solutions
- Pass compositionName as a JSON string matching the composition id
- Validate arguments on the client before invoking the MCP tool
Defensive patterns
Strategy: validation
Validate before calling
if (typeof compositionName !== 'string' || compositionName.length === 0) { /* reject before invoking tool */ } Type guard
const isNonEmptyString = (v: unknown): v is string => typeof v === 'string' && v.length > 0;
Prevention
- Validate MCP tool args on the client against the JSON schema
When it happens
Trigger: An MCP client calling the selectComposition tool with compositionName as a non-string JSON value (e.g. a number).
Common situations: LLM-driven MCP clients passing unquoted ids, or hand-written tool invocations with wrong JSON types.
Related errors
- Composition ${compositionName} not found.
- visible must be a boolean.
- frame must be an integer.
- assetPath must be a non-empty public-folder path, or an asse
- Studio server port should be a number. Got ${typeof port} ($
AI-assisted analysis of remotion-dev/remotion@8f97758157 (2026-08-28).
Data as JSON: /api/errors/b0b8441f4ec09e32.
Report an issue: GitHub.