remotion-dev/remotion · error · Error
Version mismatch: When calling renderMediaOnCloudRun(), you
Error message
Version mismatch: When calling renderMediaOnCloudRun(), you called a service which has the version ${VERSION} but the @remotion/cloudrun package is an older version. Deploy a new service with matchin version and use it to call renderMediaOnCloudRun(). What it means
Thrown server-side by renderStillSingleThread() when the incoming request body has no clientVersion field. This indicates the caller is using an outdated @remotion/cloudrun client that does not send version metadata, so the deployed service cannot verify compatibility.
Source
Thrown at packages/cloudrun/src/functions/render-still-single-thread.ts:27
import {getCompositionFromBody} from './helpers/get-composition-from-body';
import {getDownloadBehaviorSetting} from './helpers/get-download-behavior-setting';
import type {
CloudRunPayloadType,
RenderStillOnCloudrunOutput,
} from './helpers/payloads';
import {writeCloudrunError} from './helpers/write-cloudrun-error';
export const renderStillSingleThread = async (
body: CloudRunPayloadType,
res: ff.Response,
) => {
if (body.type !== 'still') {
throw new Error('expected type still');
}
if (body.clientVersion !== VERSION) {
if (!body.clientVersion) {
throw new Error(
`Version mismatch: When calling renderMediaOnCloudRun(), you called a service which has the version ${VERSION} but the @remotion/cloudrun package is an older version. Deploy a new service with matchin version and use it to call renderMediaOnCloudRun().`,
);
}
throw new Error(
`Version mismatch: When calling renderMediaOnCloudRun(), you called a service, which has the version ${VERSION}, but the @remotion/cloudrun package you used to invoke the function has version ${body.clientVersion}. Deploy a new service and use it to call renderMediaOnCloudrun().`,
);
}
const renderId = body.renderIdOverride ?? randomHash({randomInTests: true});
try {
Log.verbose(
{indent: false, logLevel: body.logLevel},
'Rendering still frame',
body,
);
View on GitHub (pinned to 78fe4bb3fd)
Solutions
- Upgrade @remotion/cloudrun to the latest version.
- Redeploy the Cloud Run service so client and service versions align.
- Use renderStillOnCloudRun() from the SDK rather than manual HTTP calls.
Example fix
// before: outdated client // after npm install @remotion/cloudrun@latest npx remotion cloudrun services deploy --region=us-central1
Defensive patterns
Strategy: validation
Validate before calling
import {VERSION} from '@remotion/cloudrun';
if (!VERSION) throw new Error('Cannot determine client version'); Prevention
- Upgrade @remotion/cloudrun to a version that sends clientVersion.
- Align client and service versions after any upgrade.
When it happens
Trigger: A still render request reaches the Cloud Run function with body.clientVersion falsy and body.type === 'still'.
Common situations: Using a very old @remotion/cloudrun client predating the clientVersion field, or a non-Remotion tool posting requests directly to the endpoint.
Related errors
- Version mismatch: When calling renderMediaOnCloudRun(), you
- Version mismatch: When calling renderMediaOnCloudRun(), you
- You have multiple buckets (${remotionBuckets .map((b) =>
- Bucket creation is required, but no region has been passed.
- Service ${serviceName} not found
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/d88d154bb2453bd7.
Report an issue: GitHub.