remotion-dev/remotion · error · Error
acceptableTimeShift has been removed. Use…
Error message
acceptableTimeShift has been removed. Use acceptableTimeShiftInSeconds instead.
What it means
The `acceptableTimeShift` prop (in seconds-implicit units) was renamed to `acceptableTimeShiftInSeconds` for clarity. `<Video>` (preview path) throws on first render if the old prop is present to force the migration.
Solutions
- Rename the prop: `acceptableTimeShift` -> `acceptableTimeShiftInSeconds`.
- Search the codebase for `acceptableTimeShift=` (without `InSeconds`) and update all sites.
- Remove the prop if the default tolerance is acceptable.
Example fix
// before
<Video src={url} acceptableTimeShift={0.1} />
// after
<Video src={url} acceptableTimeShiftInSeconds={0.1} /> Defensive patterns
Strategy: validation
Validate before calling
// Codemod rename: acceptableTimeShift -> acceptableTimeShiftInSeconds
Prevention
- Search the codebase for the old prop name after Remotion upgrades.
- Subscribe to release notes for renamed props.
- Maintain an upgrade checklist for major versions.
When it happens
Trigger: Passing `acceptableTimeShift={...}` to `<Video>` or `<OffthreadVideo>` after upgrading Remotion.
Common situations: Upgrading Remotion across the version that renamed the prop, or using stale example code.
Related errors
- Config.setImageFormat() has been renamed - use…
- has been removed as of Remotion v4.0.228. The native…
- setQuality() has been renamed - use setJpegQuality()…
- The config format has changed. Change `Config.Bundling.*()`…
- The config format has changed. Change `Config.Log.*()`…
AI-assisted analysis of remotion-dev/remotion@46a3a6bf13 (2026-08-12).
Data as JSON: /api/errors/51ad327185cba00f.
Report an issue: GitHub.
Appendix: source
Thrown at packages/core/src/video/VideoForPreview.tsx:144
const _propsValid: IsExact<typeof nativeProps, Expected> = true;
if (!_propsValid) {
throw new Error('typecheck error');
}
const volumePropFrame = useFrameForVolumeProp(
loopVolumeCurveBehavior ?? 'repeat',
);
const {fps, durationInFrames} = useVideoConfig();
const parentSequence = useContext(SequenceContext);
const {isStudio} = useRemotionEnvironment();
const logLevel = useLogLevel();
const mountTime = useMountTime();
const [timelineId] = useState(() => String(Math.random()));
if (typeof acceptableTimeShift !== 'undefined') {
throw new Error(
'acceptableTimeShift has been removed. Use acceptableTimeShiftInSeconds instead.',
);
}
const [mediaVolume] = useMediaVolumeState();
const userPreferredVolume = evaluateVolume({
frame: volumePropFrame,
volume,
mediaVolume,
});
const {isMutedForTimeline, isMutedForPlayback} = useMediaAudioState({
muted: muted ?? false,
volume: userPreferredVolume,
audioEnabled: true,
});
warnAboutTooHighVolume(userPreferredVolume);View on GitHub (pinned to 46a3a6bf13)