{"record":{"id":"d0b2b0a5ce7c1ea6","repo":"remotion-dev/remotion","slug":"the-offthreadvideo-tag-does-no-longer-accept","errorCode":null,"errorMessage":"The `<OffthreadVideo>` tag does no longer accept `imageFormat`. Use the `transparent` prop if you want to render a transparent video.","messagePattern":"The `<OffthreadVideo>` tag does no longer accept `imageFormat`\\. Use the `transparent` prop if you want to render a transparent video\\.","errorType":"exception","errorClass":"TypeError","httpStatus":null,"severity":"error","filePath":"packages/core/src/video/OffthreadVideo.tsx","lineNumber":173,"sourceCode":"\tpreservePitch,\n\tshowInTimeline,\n\tstyle,\n\ttoneFrequency,\n\ttoneMapped,\n\ttransparent,\n\ttrimAfter,\n\ttrimBefore,\n\tuseWebAudioApi,\n\tvolume,\n\t_remotionInternalNativeLoopPassed,\n\tendAt,\n\t_remotionInternalStack,\n\tstartFrom,\n\timageFormat,\n\t...props\n}) => {\n\tif (imageFormat) {\n\t\tthrow new TypeError(\n\t\t\t`The \\`<OffthreadVideo>\\` tag does no longer accept \\`imageFormat\\`. Use the \\`transparent\\` prop if you want to render a transparent video.`,\n\t\t);\n\t}\n\n\treturn (\n\t\t<InnerOffthreadVideo\n\t\t\tacceptableTimeShiftInSeconds={acceptableTimeShiftInSeconds}\n\t\t\tallowAmplificationDuringRender={allowAmplificationDuringRender ?? true}\n\t\t\taudioStreamIndex={audioStreamIndex ?? 0}\n\t\t\tcrossOrigin={crossOrigin}\n\t\t\tdelayRenderRetries={delayRenderRetries}\n\t\t\tdelayRenderTimeoutInMilliseconds={delayRenderTimeoutInMilliseconds}\n\t\t\tloopVolumeCurveBehavior={loopVolumeCurveBehavior ?? 'repeat'}\n\t\t\tmuted={muted ?? false}\n\t\t\tname={name}\n\t\t\tonAutoPlayError={onAutoPlayError ?? null}\n\t\t\tonError={onError}\n\t\t\tonVideoFrame={onVideoFrame}","sourceCodeStart":155,"sourceCodeEnd":191,"githubUrl":"https://github.com/remotion-dev/remotion/blob/78fe4bb3fdb5a2cd68724393d63cb223db333fa7/packages/core/src/video/OffthreadVideo.tsx#L155-L191","documentation":"The `imageFormat` prop on `<OffthreadVideo>` was removed in a Remotion version because frame-extraction format is now controlled by the `transparent` boolean. The component throws a `TypeError` if the legacy prop is still passed to make the migration visible.","triggerScenarios":"Passing `imageFormat=\"png\"` or any value to `<OffthreadVideo>` after upgrading Remotion to a version that removed it.","commonSituations":"Upgrading Remotion across a major version and not migrating the API, or copy-pasting old example code.","solutions":["Remove the `imageFormat` prop from `<OffthreadVideo>`.","Use the `transparent` prop instead: `transparent={true}` for transparent videos.","Run a repo-wide search for `imageFormat=` on `<OffthreadVideo>` usages."],"exampleFix":"// before\n<OffthreadVideo src={url} imageFormat=\"png\" />\n// after\n<OffthreadVideo src={url} transparent />","handlingStrategy":"validation","validationCode":"// Codemod: remove imageFormat from <OffthreadVideo> and add transparent when needed","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Run a repo-wide search for `imageFormat=` after Remotion upgrades.","Track breaking changes in release notes.","Pin example snippets to the current Remotion version."],"tags":["offthreadvideo","deprecation","migration","breaking-change"],"backgroundTag":null,"analyzedSha":"78fe4bb3fdb5a2cd68724393d63cb223db333fa7","analyzedAt":"2026-08-12T17:18:50.444Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}