{"record":{"id":"17525ddd40327df8","repo":"remotion-dev/remotion","slug":"volume-was-set-to-volume-but-regular-volume-is","errorCode":null,"errorMessage":"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.","messagePattern":"Volume was set to (.+?), 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\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/core/src/volume-safeguard.ts","lineNumber":3,"sourceCode":"export const warnAboutTooHighVolume = (volume: number) => {\n\tif (volume >= 100) {\n\t\tthrow new Error(\n\t\t\t`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.`,\n\t\t);\n\t}\n};\n","sourceCodeStart":1,"sourceCodeEnd":8,"githubUrl":"https://github.com/remotion-dev/remotion/blob/78fe4bb3fdb5a2cd68724393d63cb223db333fa7/packages/core/src/volume-safeguard.ts#L1-L8","documentation":"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.","triggerScenarios":"Passing `volume={80}` or `volume={100}` (percentage-style) to <Video>/<Audio> instead of `0.8`/`1`. The check fires before audio playback.","commonSituations":"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.","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."],"exampleFix":"// before\n<Video src={s} volume={75} />\n\n// after\n<Video src={s} volume={75 / 100} /> // 0.75","handlingStrategy":"validation","validationCode":"const normalizeVolume = (v: number): number => {\n  if (v >= 100) throw new Error(`volume ${v} looks like a percentage; divide by 100`);\n  return v;\n};","typeGuard":"const isLinearVolume = (v: number): boolean =>\n  typeof v === 'number' && v >= 0 && v < 100;","tryCatchPattern":null,"preventionTips":["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]."],"tags":["audio","volume","validation","safeguard"],"backgroundTag":null,"analyzedSha":"78fe4bb3fdb5a2cd68724393d63cb223db333fa7","analyzedAt":"2026-08-12T17:18:50.444Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}