remotion-dev/remotion · error · Error
Volume was set to ${volume}, but regular volume is 1, not 10
Error message
Volume was set to ${volume}, but regular volume is 1, not 100. Did you forget to divide by 100? Set a volume of less than 100 to dismiss this error. What it means
Thrown by `warnAboutTooHighVolume` when a volume value is >= 100. Remotion's volume scale is 0 to 1 (not 0 to 100), so a value of 100 or above almost always indicates the developer forgot to divide a percentage by 100. This is a deliberate safeguard against silent full-blast audio that would otherwise clip.
Source
Thrown at packages/core/src/volume-safeguard.ts:3
export const warnAboutTooHighVolume = (volume: number) => {
if (volume >= 100) {
throw new Error(
`Volume was set to ${volume}, but regular volume is 1, not 100. Did you forget to divide by 100? Set a volume of less than 100 to dismiss this error.`,
);
}
};
View on GitHub (pinned to 78fe4bb3fd)
Solutions
- Divide the percentage by 100: `volume={sliderValue / 100}`.
- Use values in the [0, 1] range directly.
- If you genuinely want silence or a value above 1 is impossible in your UI, cap the slider at 1.
Example fix
// before
<Video src={s} volume={75} />
// after
<Video src={s} volume={75 / 100} /> // 0.75 Defensive patterns
Strategy: validation
Validate before calling
const normalizeVolume = (v: number): number => {
if (v >= 100) throw new Error(`volume ${v} looks like a percentage; divide by 100`);
return v;
}; Type guard
const isLinearVolume = (v: number): boolean => typeof v === 'number' && v >= 0 && v < 100;
Prevention
- Treat volume as 0–1, not 0–100.
- If a UI slider outputs 0–100, divide by 100 before passing.
- Add a unit test asserting volume props stay within [0,1].
When it happens
Trigger: Passing `volume={80}` or `volume={100}` (percentage-style) to <Video>/<Audio> instead of `0.8`/`1`. The check fires before audio playback.
Common situations: Treating volume like a CSS opacity percentage; reading a volume value from a UI slider that outputs 0–100 and passing it through; copying examples from other libraries that use 0–100 scales.
Related errors
- You have passed a volume of type ${typeof props.volume} to y
- You have passed a volume below 0 to your <${component} /> co
- You passed in a a function to the volume prop but it did not
- You passed in a function to the volume prop but it returned
- You passed in a function to the volume prop but it returned
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/17525ddd40327df8.
Report an issue: GitHub.