remotion-dev/remotion · error · Error

Non-semantic version provided. Only releases of Whisper.cpp

Error message

Non-semantic version provided. Only releases of Whisper.cpp are supported on Windows (e.g., 1.5.4). Provided version:
		${version}. See https://www.remotion.dev/docs/install-whisper-cpp/install-whisper-cpp#version for more information.

What it means

Thrown by the Windows install path of `installWhisperCpu` when the `version` argument does not look like a semantic version. On Windows, Remotion only ships pre-built binaries for tagged whisper.cpp releases, so a version like 'latest', a branch name, or a commit hash is rejected. The validation regex is `/^[\d]{1}\.[\d]{1,2}\./`, requiring a leading `X.Y.` such as `1.5.5`.

Source

Thrown at packages/install-whisper-cpp/src/install-whisper-cpp.ts:65

			resolve();
		});
	});
};

const installForWindows = async ({
	version,
	to,
	printOutput,
	signal,
}: {
	version: string;
	to: string;
	printOutput: boolean;
	signal: AbortSignal | null;
}) => {
	if (!getIsSemVer(version)) {
		throw new Error(`Non-semantic version provided. Only releases of Whisper.cpp are supported on Windows (e.g., 1.5.4). Provided version:
		${version}. See https://www.remotion.dev/docs/install-whisper-cpp/install-whisper-cpp#version for more information.`);
	}

	const url =
		version === '1.5.5'
			? 'https://remotion-ffmpeg-binaries.s3.eu-central-1.amazonaws.com/whisper-bin-x64-1-5-5.zip'
			: `https://github.com/ggerganov/whisper.cpp/releases/download/v${version}/whisper-bin-x64.zip`;

	const filePath = path.join(process.cwd(), 'whisper-bin-x64.zip');
	const fileStream = fs.createWriteStream(filePath);

	await downloadFile({
		fileStream,
		printOutput,
		url,
		onProgress: undefined,
		signal,
	});

View on GitHub (pinned to 78fe4bb3fd)

Solutions

  1. Pass a release version in `X.Y.Z` form, e.g. `installWhisperCpu({version: '1.7.0'})`.
  2. Drop any leading 'v' so the string starts with a digit.
  3. Check the whisper.cpp releases page for the latest tag Remotion supports.

Example fix

// before
installWhisperCpu({version: 'v1.5.5', to: 'whisper'});

// after
installWhisperCpu({version: '1.5.5', to: 'whisper'});
Defensive patterns

Strategy: validation

Validate before calling

function isReleaseVersion(v: string): boolean {
  return /^\d{1}\.\d{1,2}\./.test(v);
}

if (process.platform === 'win32' && !isReleaseVersion(version)) {
  throw new Error('On Windows, pass a whisper.cpp release version like 1.7.0');
}

Type guard

function isWindowsReleaseVersion(v: string): boolean {
  return /^\d{1}\.\d{1,2}\./.test(v);
}

Prevention

When it happens

Trigger: Calling `installWhisperCpu({version: 'latest'})`, `installWhisperCpu({version: 'master'})`, or a commit SHA on Windows. Also fails for malformed strings like 'v1.5.5' (leading 'v') because the regex expects a digit first.

Common situations: Copying a version format from macOS/Linux instructions that allow building from source; passing a Git ref instead of a release tag; including a leading 'v' prefix.

Related errors


AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12). Data as JSON: /api/errors/416fb894d78dcdcd. Report an issue: GitHub.