remotion-dev/remotion · error · Error
Emitting artifacts is not supported in Cloud Run
Error message
Emitting artifacts is not supported in Cloud Run
What it means
Thrown server-side by renderMediaSingleThread() if the render process tries to emit an artifact (e.g., a separate audio or image asset). Cloud Run rendering does not support artifact emission; the onArtifact callback is wired to throw immediately.
Source
Thrown at packages/cloudrun/src/functions/render-media-single-thread.ts:134
};
res.writeHead(200, {'Content-Type': 'text/html'});
const actualChromiumOptions: Required<ChromiumOptions> = {
...body.chromiumOptions,
ignoreCertificateErrors:
body.chromiumOptions?.ignoreCertificateErrors ?? false,
disableWebSecurity: body.chromiumOptions?.disableWebSecurity ?? false,
headless: body.chromiumOptions?.headless ?? true,
userAgent: body.chromiumOptions?.userAgent ?? null,
darkMode: body.chromiumOptions?.darkMode ?? false,
// Override the `null` value, which might come from CLI with swANGLE
gl: body.chromiumOptions?.gl ?? 'swangle',
enableMultiProcessOnLinux: true,
};
const onArtifact: OnArtifact = () => {
throw new Error('Emitting artifacts is not supported in Cloud Run');
};
await RenderInternals.internalRenderMedia({
composition: {
...composition,
height: body.forceHeight ?? composition.height,
width: body.forceWidth ?? composition.width,
fps: body.forceFps ?? composition.fps,
durationInFrames:
body.forceDurationInFrames ?? composition.durationInFrames,
},
serveUrl: body.serveUrl,
codec: body.codec,
outputLocation: tempFilePath,
serializedInputPropsWithCustomSchema:
body.serializedInputPropsWithCustomSchema,
serializedResolvedPropsWithCustomSchema:
NoReactInternals.serializeJSONWithSpecialTypes({View on GitHub (pinned to 78fe4bb3fd)
Solutions
- Remove separateAudioTo and any artifact-emitting options from renderMediaOnCloudRun input.
- Render locally with renderMedia() if you need artifact emission.
- Separate audio in a post-processing step after the Cloud Run render completes.
Example fix
// before
await renderMediaOnCloudRun({separateAudioTo: 'audio.wav', ...});
// after
await renderMediaOnCloudRun({...}); // omit separateAudioTo Defensive patterns
Strategy: validation
Validate before calling
if (opts.separateAudioTo !== undefined || opts.onArtifact) {
throw new Error('Artifacts / separateAudioTo are not supported on Cloud Run');
}
await renderMediaOnCloudRun(opts); Prevention
- Strip separateAudioTo and artifact-related options before Cloud Run renders.
- Perform audio separation as a post-render step locally.
When it happens
Trigger: A renderMedia request includes options or a composition that triggers artifact emission (e.g., separateAudioTo, image-sequence artifacts), causing the onArtifact handler to fire on the server.
Common situations: Passing separateAudioTo or enabling artifact-generating options that work locally but are unsupported on Cloud Run.
Related errors
- Multiple frame ranges are not supported on Cloud Run. Use re
- Comma-separated frame selections are only supported by the l
- Should not download a browser in Cloud Run
- Version mismatch: When calling renderMediaOnCloudRun(), you
- Version mismatch: When calling renderMediaOnCloudRun(), you
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/e7ce3cf9c1f4d527.
Report an issue: GitHub.