Remotion

Knowledge base from the Remotion (programmatic video creation with React/TypeScript) documentation — core API (Composition, Sequence, hooks), rendering pipeline (local, Lambda, Cloud Run), Studio/Player, and every official package (transitions, captions, media-parser, webcodecs, shapes, recorder, sfx, and more). Use when building or rendering a Remotion video, choosing a rendering backend, looking up a component/hook/API signature, or picking the right package for an effect or integration.

988 capítulos

Remotion

Package: remotion | Chapters: 988 | Generated: 2026-08-25

How to Use This Skill

  • Without arguments — load Core Patterns below for the frame-driven animation model and composition structure
  • With a topic — ask about spring, lambda, transitions, or another indexed term/package; I find and read the relevant chapter
  • With a chapter — ask for ch075; I load that specific chapter
  • Browse — ask "what chapters do you have on rendering?" to see the relevant index section

When you ask about something not covered in Core Patterns below, I will read the relevant chapter file before answering.


Core Patterns & Conventions

Remotion videos are React components rendered frame-by-frame, not played back like a normal web animation. The whole framework follows from one rule: every visual must be a pure function of the current frame.

  • useCurrentFrame() drives everything. Animate by reading this hook and deriving styles/values from it with interpolate() (linear/eased) or spring() (physics-based). Never use setState, setInterval, or Date.now() inside a composition — that breaks the determinism that makes distributed/parallel rendering possible (frame 500 must render identically whether it's rendered alone or as part of a full pass).
  • <Composition> registers a video; <Sequence> (and <Series> for the back-to-back case) time-shift child components so each scene's useCurrentFrame() is relative to its own start, not the whole video's.
  • registerRoot() lives in its own entry file, separate from where compositions are defined, so React Fast Refresh doesn't break.
  • Metadata can be dynamic. If duration/dimensions/fps depend on external data, use calculateMetadata() on <Composition> instead of hardcoding them.
  • Async work is explicit. delayRender()/continueRender() pause a render for a specific component's async task (data fetch, font load); this has no effect in Studio/Player preview, only in actual renders.
  • Assets go through staticFile(). Files in public/ are referenced by staticFile('/path'), not relative imports — this is what makes them resolve correctly both in Studio and once bundled.
  • Preview and render are different environments. Studio and Player approximate the real thing; <OffthreadVideo> exists specifically because HTML5 <video>/<Video> frame extraction isn't accurate enough for real rendering. Always validate against an actual render, not just the Studio preview.
  • Rendering is pluggable. The same bundled composition can be rendered via renderMedia() locally/self-hosted, or dispatched to Lambda or Cloud Run for managed, scalable rendering — the choice is about infra control vs. scale, not a different API model.
  • The ecosystem is packages, not a monolith. Effects, transitions, captions, shapes, media parsing, recording, and third-party integrations (Lottie, Rive, ElevenLabs, Whisper) all ship as separate @remotion/* packages layered on the same core frame/composition model.

Chapter Index

Fundamentals & Core Concepts

#Title
ch001<AbsoluteFill>
ch002Animating properties
ch003Animation math
ch004Build a timeline-based video editor
ch005calculateMetadata()
ch006<Composition>
ch007Configuration file
ch008Variable duration and dimensions
ch009Easing
ch010<Folder>
ch011<Freeze>
ch012interpolate()
ch013interpolateColors()
ch014Layers
ch015<Loop>
ch016measureSpring()
ch017Measuring DOM nodes
ch018random()
ch019registerRoot()
ch020<HtmlInCanvas>
ch021Making components reusable
ch022Output scaling
ch023<Sequence>
ch024<Series>
ch025spring()
ch026Remotion Bundle
ch027Cloud Run URL
ch028Composition
ch029Concurrency
ch030Entry point
ch031Input Props
ch032Remotion Player
ch033Public directory
ch034Remotion Root
ch035Root file
ch036Sequence
ch037Serve URL
ch038Service Name
ch039Remotion Studio
ch040The fundamentals
ch041Remotion Timeline
ch042Remotion Timeline Demo
ch043Timeline – FAQ
ch044Timeline – Rendering videos
ch045Timeline – Setup
ch046Timeline – Usage
ch047Transforms
ch048Using randomness

Hooks & Data APIs

#Title
ch049cancelRender()
ch050continueRender()
ch051Data fetching
ch052Inferring controls from default props
ch053delayRender() and continueRender()
ch054Detect if a video was made with Remotion
ch055getAudioData()
ch056getAudioDurationInSeconds()
ch057Get help
ch058getImageDimensions()
ch059getInputProps()
ch060getRemotionEnvironment()
ch061getVideoMetadata()
ch062getWaveformPortion()
ch063Interactive
ch064Interactive.withSchema()
ch065InteractivitySchema
ch066Setting video metadata
ch067Passing props to a composition
ch068How props get resolved
ch069Defining a schema for your props
ch070staticFile()
ch071staticFile() does not support relative paths
ch072staticFile() does not support remote URLs
ch073useAudioData()
ch074useBufferState()
ch075useCurrentFrame()
ch076useCurrentScale()
ch077useDelayRender()
ch078<Img>, <Video> and <Audio>
ch079usePixelDensity()
ch080useRemotionEnvironment()
ch081useVideoConfig()
ch082useWindowedAudioData()

CLI & Bundling

#Title
ch083Authoring a Remotion library
ch084bundle()
ch085@remotion/bundler
ch086Webpack and Rspack
ch087npx remotion add
ch088npx remotion benchmark
ch089npx remotion browser
ch090npx remotion browser ensure
ch091npx remotion bundle
ch092npx remotion compositions
ch093npx create-video
ch094npx remotion ffmpeg
ch095npx remotion ffprobe
ch096npx remotion gpu
ch097npx remotion help
ch098npx remotion install
ch099npx remotion render
ch100npx remotion skills
ch101npx remotion still
ch102npx remotion studio
ch103npx remotion upgrade
ch104npx remotion versions
ch105enableScss()
ch106@remotion/enable-scss
ch107Plain JavaScript
ch108Using legacy Babel transpilation
ch109enableTailwind()
ch110@remotion/tailwind
ch111enableTailwind()
ch112@remotion/tailwind-v4
ch113TypeScript aliases
ch114Webpack dynamic imports

Rendering & SSR

#Title
ch115Chromium flags
ch116Comparison of server-side rendering options
ch117Render videos programmatically from a dataset
ch118Distributed rendering
ch119DPA Statement
ch120Encoding Guide
ch121Environment variables
ch122--gl flag
ch123Using the GPU
ch124Hardware accelerated encoding
ch125Supporting multiple frame rates
ch126Parameterized videos
ch127Performance Tips
ch128Upload with a presigned URL
ch129Rendering ProRes
ch130Quality Guide
ch131Render your video
ch132Render all compositions
ch133Rendering GIFs
ch134@remotion/renderer
ch135combineChunks()
ch136ensureBrowser()
ch137ensureFfmpeg()
ch138ensureFfprobe()
ch139extractAudio()
ch140getCanExtractFramesFast()
ch141getCompositions()
ch142getSilentParts()
ch143getVideoMetadata()
ch144makeCancelSignal()
ch145openBrowser()
ch146renderFrames()
ch147renderMedia()
ch148renderStill()
ch149selectComposition()
ch150stitchFramesToVideo()
ch151TypeScript Types Reference
ch152Server-Side Rendering
ch153Server-Side Rendering (v1 and v2)
ch154Rendering using SSR APIs
ch155<Still>
ch156Still images

Deployment & Runtimes

#Title
ch157Deploying to Azure Container Apps
ch158Bun support
ch159Deploying to Cloudflare Containers
ch160Deno support
ch161Dockerizing a Remotion app
ch162Using Remotion in Electron
ch163Useful functions outside of Remotion
ch164Remotion on Vercel
ch165addBundleToSandbox()
ch166@remotion/vercel
ch167createSandbox()
ch168getRenderProgress()
ch169renderMediaOnVercel()
ch170renderStillOnVercel()
ch171TypeScript Types Reference
ch172uploadToVercelBlob()
ch173Rendering with Vercel Sandbox

Assets & Media

#Title
ch174<AnimatedImage>
ch175Delaying Audio
ch176Exporting Audio
ch177Use Audio from video
ch178Importing Audio
ch179Muting Audio
ch180Order of Operations
ch181Controlling Pitch
ch182Sound effects
ch183Controlling playback speed
ch184Trimming Audio
ch185Audio Visualization
ch186Controlling Volume
ch187audioBufferToDataUrl()
ch188<CanvasImage>
ch189Client-side rendering
ch190Cancelling renders
ch191How client-side rendering works
ch192HTML-in-canvas
ch193Limitations of client-side rendering
ch194Migrating code to client-side rendering
ch195Page responsiveness
ch196Flickering
ch197Using fonts
ch198loadFont()
ch199getStaticFiles()
ch200@remotion/gif
ch201getGifDurationInSeconds()
ch202<Gif>
ch203preloadGif()
ch204getAvailableFonts()
ch205getInfo()
ch206loadFont()
ch207loadFontFromInfo()
ch208HLS support (HTTP Live Streaming)
ch209<Html5Audio>
ch210<Html5Video>
ch211<IFrame>
ch212<Img>
ch213@remotion/media
ch214<Audio>
ch215In-memory cache for @remotion/media
ch216Fallback behavior in @remotion/media
ch217Supported media
ch218<Video>
ch219Remotion and Mediabunny
ch220@remotion/media-parser
ch221Could not play video/audio with src
ch222@remotion/media-utils
ch223Non-seekable media
ch224<OffthreadVideo>
ch225prefetch()
ch226preloadAudio()
ch227preloadFont()
ch228preloadImage()
ch229preloadVideo()
ch230Audio Sample Rate
ch231Slow method to extract frame
ch232Rendering transparent videos
ch233Validating user videos
ch234Embedding videos into Remotion
ch235Change the speed of a video over time
ch236How do I make the composition the same duration as my video?
ch237Using a video as a texture in Three.js
ch238Different segments at different speeds
ch239Jump Cutting
ch240#t= Media Fragments
ch241Embedding ProRes
ch242Playing videos in sequence
ch243Embedding transparent videos
ch244Video manipulation
ch245Comparison of video tags
ch246Handling user video uploads
ch247watchStaticFile()

Framework & Renderer Integrations

#Title
ch248Using Remotion in Angular
ch249Import from Figma
ch250useGsapTimeline()
ch251HTML-in-canvas
ch252Map animations in Remotion
ch253React Native
ch254Shaders
ch255enableSkia()
ch256<SkiaCanvas />
ch257<Solid>
ch258Import from Spline
ch259Using Remotion in Svelte
ch260@remotion/three
ch261<ThreeCanvas>
ch262<ThreeWebGPUCanvas>
ch263Using Remotion in Vue
ch264Using WebGL and WebGPU during renders
ch265@remotion/web-renderer
ch266canRenderMediaOnWeb()
ch267getEncodableAudioCodecs()
ch268getEncodableVideoCodecs()
ch269renderMediaOnWeb()
ch270renderStillOnWeb()
ch271TypeScript Types Reference

Troubleshooting & Errors

#Title
ch272How to debug any CORS issue
ch273ENAMETOOLONG
ch274Build a Google Font picker
ch275'Target closed' error message
ch276Debugging timeouts
ch277Flickering when using background-image or mask-image
ch278Fast Refresh not working
ch279Failed to launch the browser process
ch280Calling bundle() in bundled code
ch281Cannot save default props
ch282The source provided could not be parsed as a value list
ch283Could not determine executable to run
ch284Don't use CSS animations in Remotion
ch285Debugging render failures
ch286defaultProps too big - could not serialize
ch287Loading <Img> with src http://localhost:3000/proxy
ch288Font loading errors
ch289Root component Timeout
ch290Flickering when using Next.js <Image> tag
ch291No frame found at position error message
ch292Avoiding flickering in <Player>
ch293Apple Silicon under Rosetta
ch294Process quit with signal SIGKILL
ch295Debugging stuck renders
ch296Text subpixel rendering
ch297Timed out evaluating page function
ch298Why does my video not have sound?
ch299Failed to acquire WebGL2 context
ch300Wrongly mounted <Composition>

Migration & Versioning

#Title
ch301v2.0 Migration
ch302v3.0 Migration
ch303v4.0 Migration
ch304v5.0 Migration
ch305Upgrade to React 18
ch306React 19
ch307Upgrading Remotion
ch308VERSION
ch309Version mismatch

AI Tooling Integrations

#Title
ch310Prompt to Motion Graphics SaaS Starter Kit
ch311Prompting a Remotion video with Bolt.new
ch312Use the Remotion Chatbot
ch313Claude Code plugin
ch314Codex plugin
ch315Prompting videos with coding agents
ch316Cursor plugin
ch317Just-in-time compilation of Remotion code
ch318Generate Remotion Code using LLMs
ch319Kimi Code plugin
ch320Remotion's Model Context Protocol (deprecated)
ch321Plugins
ch322Agent Skills
ch323Remotion System Prompt for LLMs
ch324elevenLabsTranscriptToCaptions()
ch325openAiWhisperApiToCaptions()

Studio, Player & Editing

#Title
ch326<Experimental.Clipper>
ch327Motion Design Systems
ch328Editor Starter
ch329Is Remotion building Lovable for Motion Graphics?
ch330Creating overlays
ch331@remotion/player
ch332Combatting autoplay issues
ch333Player - Best practices
ch334The Player buffer state
ch335Displaying the current time
ch336Custom controls for the Player
ch337Examples for @remotion/player
ch338Installation
ch339Code sharing
ch340Media Key Behavior (Web MediaSession API)
ch341Playback issues in the <Player>
ch342<Player>
ch343Preloading assets
ch344Premounting
ch345Sizing
ch346<Thumbnail>
ch347Turn a <Player> into a Remotion project
ch348Preview your video
ch349@remotion/studio
ch350deleteStaticFile()
ch351Deploy the Remotion Studio on a VPS
ch352Deploy Remotion Studio as static site
ch353focusDefaultPropsPath()
ch354getStaticFiles()
ch355goToComposition()
ch356Interactivity
ch357Interactivity best practices
ch358Make a component interactive
ch359Setting the default code editor
ch360pause()
ch361play()
ch362Quick Switcher
ch363reevaluateComposition()
ch364restartStudio()
ch365saveDefaultProps()
ch366seek()
ch367Keyboard navigation
ch368toggle()
ch369updateDefaultProps()
ch370visualControl()
ch371watchPublicFolder()
ch372watchStaticFile()
ch373writeStaticFile()
ch374Converting a Remotion project to an app
ch375Remotion Studio Protocol
ch376Integrating a component library with Studio
ch377createElementPayload()
ch378installInStudio()
ch379Studio Protocol security
ch380setStudioDragData()
ch381Text highlights
ch382Third party integrations
ch383Transitions
ch384Edit default props visually

Legal, Meta & Support

#Title
ch385Accessibility of Remotion products
ch386Accessibility Statement: remotion.dev
ch387Accessibility Statement: remotion.pro
ch388Acknowledgements
ch389Import from After Effects
ch390<Artifact>
ch391Emitting Artifacts
ch392Ask in public
ch393Installing Remotion in an existing project
ch394Buying a video editor template
ch395Contributing to Remotion
ch396Contributing to the documentation
ch397Implementing a new feature
ch398Formatting in the Remotion repo
ch399Implementing a new option
ch400Contribute your own presentation
ch401Contributing Rust code
ch402Adding a sound effect
ch403Contributing to client-side rendering
ch404DPIA Statement
ch405Investors
ch406License and terms
ch407License FAQ
ch408License & Pricing
ch409@remotion/licensing
ch410getUsage()
ch411registerUsageEvent()
ch412Privacy Policy of Remotion (v5.0)
ch413List of resources
ch414Security Best Practices
ch415Support Policy
ch416Telemetry
ch417Terms and Conditions of Remotion (v5.0)

Lambda (@remotion/lambda)

#Title
ch418@remotion/lambda
ch419appRouterWebhook()
ch420Authentication
ch421Auto-delete renders
ch422AWS China regions
ch423Bucket names in Remotion Lambda
ch424Bucket Security
ch425Cancelling Lambda renders
ch426cancelRenderOnLambda()
ch427Prerelease Changelog
ch428Production Checklist
ch429@remotion/lambda - CLI
ch430npx remotion lambda compositions
ch431npx remotion lambda functions
ch432npx remotion lambda functions deploy
ch433npx remotion lambda functions ls
ch434npx remotion lambda functions rm
ch435npx remotion lambda functions rmall
ch436npx remotion lambda policies
ch437npx remotion lambda quotas
ch438npx remotion lambda regions
ch439npx remotion lambda render
ch440npx remotion lambda sites
ch441npx remotion lambda sites create
ch442npx remotion lambda sites ls
ch443npx remotion lambda sites rm
ch444npx remotion lambda sites rmall
ch445npx remotion lambda still
ch446Concurrency
ch447How much does Remotion Lambda cost?
ch448Customizing Lambda output destination
ch449Custom Layers
ch450Data transfer cost
ch451deleteFunction()
ch452deleteRender()
ch453deleteSite()
ch454deployFunction()
ch455deploySite()
ch456deploySiteFromBundle()
ch457Disk size
ch458downloadMedia()
ch459downloadVideo()
ch460Authenticating Lambda with EC2
ch461estimatePrice()
ch462expressWebhook()
ch463FAQ
ch464Faster progress polling
ch465February 2022 Outage
ch466Upgrade your Lambda functions to prevent breakage
ch467getAwsClient()
ch468getCompositionsOnLambda()
ch469getFunctionInfo()
ch470getFunctions()
ch471getOrCreateBucket()
ch472getRegions()
ch473getRenderProgress()
ch474getRolePolicy()
ch475getSites()
ch476getUserPolicy()
ch477Triggering renders from Go
ch478How Remotion Lambda works
ch479Enable Lambda Insights
ch480Light client
ch481Lambda Limits
ch482Multiple buckets in Remotion Lambda
ch483Function naming convention
ch484Optimizing for cost
ch485Optimizing for speed
ch486pagesRouterWebhook()
ch487Permissions
ch488Triggering renders from PHP
ch489presignUrl()
ch490Using a proxy with Remotion Lambda
ch491Triggering renders from Python
ch492Using Remotion Lambda with R2
ch493Region selection
ch494renderMediaOnLambda()
ch495renderStillOnLambda()
ch496renderVideoOnLambda()
ch497Triggering renders from Ruby
ch498Runtime
ch499Cannot create a S3 bucket using Remotion
ch500Separating production and testing environments
ch501Using the Serverless Framework with Remotion Lambda
ch502Setup
ch503simulatePermissions()
ch504speculateFunctionName()
ch505Using Lambda with SQS
ch506Using Remotion Lambda with Supabase
ch507The bucket does not allow ACLs
ch508Debugging failed Lambda renders
ch509AWS Permissions Troubleshooting
ch510AWS Rate Limit Troubleshooting
ch511"The security token included in the request is invalid"
ch512UnrecognizedClientException
ch513Uninstall Lambda
ch514Upgrading Lambda
ch515validateWebhookSignature()
ch516Webhooks
ch517Using Lambda with IAM roles
ch518Example setup without IAM user

Cloud Run (@remotion/cloudrun)

#Title
ch519@remotion/cloudrun
ch520Production Checklist
ch521@remotion/cloudrun - CLI
ch522npx remotion cloudrun permissions
ch523npx remotion cloudrun regions
ch524npx remotion cloudrun render
ch525npx remotion cloudrun services
ch526npx remotion cloudrun services deploy
ch527npx remotion cloudrun services ls
ch528npx remotion cloudrun services rm
ch529npx remotion cloudrun services rmall
ch530npx remotion cloudrun sites
ch531npx remotion cloudrun sites create
ch532npx remotion cloudrun sites ls
ch533npx remotion cloudrun sites rm
ch534npx remotion cloudrun sites rmall
ch535npx remotion cloudrun still
ch536deleteService()
ch537deleteSite()
ch538deployService()
ch539deploySite()
ch540Generate .env File
ch541getOrCreateBucket()
ch542getRegions()
ch543getServiceInfo()
ch544getServices()
ch545getSites()
ch546Instance Count
ch547Light client
ch548Cloud Run Limits
ch549Multiple buckets in Remotion Cloud Run
ch550Permissions
ch551Region selection
ch552renderMediaOnCloudrun()
ch553renderStillOnCloudrun()
ch554Setup
ch555speculateServiceName()
ch556Status
ch557testPermissions()
ch558Uninstall Cloud Run
ch559Upgrading Cloud Run

Effects Library

#Title
ch560<AnimatedEmoji>
ch561getAvailableEmoji()
ch562@remotion/effects
ch563barrelDistortion()
ch564blur()
ch565brightness()
ch566burlap()
ch567checkerboard()
ch568chromaticAberration()
ch569colorCorrection()
ch570colorKey()
ch571contourLines()
ch572contrast()
ch573cornerPin()
ch574dotGrid()
ch575dropShadow()
ch576duotone()
ch577emboss()
ch578evolve()
ch579exposure()
ch580fisheye()
ch581flannel()
ch582glow()
ch583grayscale()
ch584gridlines()
ch585halftone()
ch586halftoneLinearGradient()
ch587hue()
ch588invert()
ch589levels()
ch590lightLeak()
ch591lightTrail()
ch592linearGradient()
ch593linearGradientTint()
ch594linearProgressiveBlur()
ch595linearProgressivePixelate()
ch596lines()
ch597liquidContours()
ch598mirror()
ch599noise()
ch600noiseDisplacement()
ch601outline()
ch602paper()
ch603pattern()
ch604pixelate()
ch605pixelDissolve()
ch606radialProgressiveBlur()
ch607radialProgressivePixelate()
ch608regionBlur()
ch609rings()
ch610roughenEdges()
ch611saturation()
ch612scale()
ch613scanlines()
ch614shadowsHighlights()
ch615shine()
ch616shrinkwrap()
ch617skew()
ch618speckle()
ch619starburst()
ch620thermalVision()
ch621tile()
ch622tint()
ch623tvSignalOff()
ch624uvTranslate()
ch625venetianBlinds()
ch626vibrance()
ch627vignette()
ch628wave()
ch629waves()
ch630whiteBalance()
ch631whiteNoise()
ch632xyTranslate()
ch633zigzag()
ch634zoomBlur()
ch635<MacOSCursor>
ch636createRoundedTextBox()

Transitions (@remotion/transitions)

#Title
ch637Transitioning with audio
ch638makeHtmlInCanvasPresentation()
ch639Presentations
ch640bookFlip()
ch641clockWipe()
ch642crosswarp()
ch643crossZoom()
ch644cube()
ch645Custom presentations
ch646Custom HTML-in-canvas presentations
ch647dissolve()
ch648dreamyZoom()
ch649fade()
ch650filmBurn()
ch651flip()
ch652iris()
ch653linearBlur()
ch654none()
ch655pushCut()
ch656ripple()
ch657slide()
ch658swap()
ch659wipe()
ch660zoomBlur()
ch661zoomInOut()
ch662Timings
ch663Custom timings
ch664linearTiming()
ch665springTiming()
ch666<TransitionSeries>
ch667useTransitionProgress()

Captions (@remotion/captions)

#Title
ch668@remotion/captions
ch669createTikTokStyleCaptions()
ch670Displaying captions
ch671ensureMaxCharactersPerLine()
ch672Exporting subtitles
ch673Importing .srt subtitles into Remotion
ch674parseSrt()
ch675serializeSrt()
ch676Transcribing audio

Media Parser (@remotion/media-parser)

#Title
ch677Download and Parse Videos or Audio simultaneously
ch678downloadAndParseMedia()
ch679Fast and slow operations
ch680Available Fields
ch681Foreign file types
ch682Format support
ch683hasBeenAborted()
ch684mediaParserController()
ch685Getting metadata from videos using @remotion/media-parser
ch686nodeReader
ch687nodeWriter
ch688parseMedia()
ch689parseMediaOnServerWorker()
ch690parseMediaOnWebWorker()
ch691Pause, resume and abort parsing
ch692Readers
ch693Runtime support
ch694Extract samples
ch695Seeking
ch696Seeking Hints
ch697Stream selection
ch698Extract ID3 tags and EXIF data
ch699TypeScript Types Reference
ch700universalReader
ch701Processing video with WebCodecs and @remotion/media-parser
ch702WEBCODECS_TIMESCALE
ch703webReader
ch704Parsing on Web Workers

WebCodecs (@remotion/webcodecs)

#Title
ch705bufferWriter
ch706canCopyAudioTrack()
ch707canCopyVideoTrack()
ch708canReencodeAudioTrack()
ch709canReencodeVideoTrack()
ch710convertAudioData()
ch711Convert a video
ch712convertMedia()
ch713createAudioDecoder()
ch714createVideoDecoder()
ch715defaultOnAudioTrackHandler()
ch716defaultOnVideoTrackHandler()
ch717extractFrames()
ch718extractFramesOnWebWorker()
ch719Fixing a MediaRecorder video
ch720getAvailableAudioCodecs()
ch721getAvailableContainers()
ch722getAvailableVideoCodecs()
ch723getDefaultAudioCodec()
ch724getDefaultVideoCodec()
ch725getPartialAudioData()
ch726Clearing up WebCodecs misconceptions
ch727Pause, resume and abort conversion
ch728Resample audio to 16kHz
ch729Resize a video
ch730rotateAndResizeVideoFrame()
ch731Rotate a video
ch732Track Transformation
ch733webcodecsController()
ch734webFsWriter

Mediabunny (@remotion/mediabunny)

#Title
ch735Check if a video can be decoded using Mediabunny
ch736Extracting frames from a video in JavaScript
ch737Extracting a thumbnail from a video in JavaScript
ch738Supported formats and codecs by Mediabunny
ch739Getting the frame rate of a video
ch740Getting metadata from a video in JavaScript
ch741<Video> and <Audio> tags
ch742Mediabunny version used by Remotion
ch743WebCodecs Bugs

Whisper Web (@remotion/whisper-web)

#Title
ch744convertToCaptions()
ch745downloadWhisperModel()
ch746installWhisperCpp()
ch747toCaptions()
ch748transcribe()
ch749canUseWhisperWeb()
ch750downloadWhisperModel()
ch751getAvailableModels()
ch752getLoadedModels()
ch753resampleTo16Khz()
ch754toCaptions()
ch755transcribe()

Editor Starter Template

#Title
ch756Asset cleanup
ch757Asset uploads
ch758Backend routes in the Editor Starter
ch759Before you buy the Editor Starter
ch760Buy the Editor Starter
ch761Captioning in the Editor Starter
ch762Client-side rendering in the Editor Starter
ch763Copy and Paste in the Editor Starter
ch764Cropping in the Editor Starter
ch765Editor Starter Demo
ch766Dependencies of the Editor Starter
ch767Frequently asked questions about the Editor Starter
ch768Features in the Editor Starter
ch769Features not included in the Editor Starter
ch770Fonts in the Editor Starter
ch771Persistance in the Editor Starter
ch772Production Checklist
ch773Rendering with Remotion Lambda in the Editor Starter
ch774Setup
ch775Snapping in the Editor Starter
ch776State management in the Editor Starter
ch777Tracks, items and assets in the Editor Starter
ch778Undo and Redo
ch779Editor Starter vs. Remotion Studio

Shapes (@remotion/shapes)

#Title
ch780<Arrow />
ch781<Callout />
ch782<Circle />
ch783<Ellipse />
ch784<Heart />
ch785makeArrow()
ch786makeCallout()
ch787makeCircle()
ch788makeEllipse()
ch789makeHeart()
ch790makePie()
ch791makePolygon()
ch792makeRect()
ch793makeSpark()
ch794makeStar()
ch795makeTriangle()
ch796<Pie />
ch797<Polygon />
ch798<Rect />
ch799<Spark />
ch800<Star />
ch801<Triangle />

Paths (@remotion/paths)

#Title
ch802centerPath()
ch803cutPath()
ch804evolvePath()
ch805extendViewBox()
ch806getBoundingBox()
ch807getInstructionIndexAtLength()
ch808getLength()
ch809getParts()
ch810getPointAtLength()
ch811getSubpaths()
ch812getTangentAtLength()
ch813interpolatePath()
ch814normalizePath()
ch815parsePath()
ch816reduceInstructions()
ch817resetPath()
ch818reversePath()
ch819scalePath()
ch820serializeInstructions()
ch821translatePath()
ch822warpPath()

Recorder (@remotion/recorder)

#Title
ch823Generate captions
ch824Create a new video
ch825Remotion Recorder Demo
ch826B-Roll
ch827Edit captions
ch828Chapters
ch829Cutting clips
ch830Endcard
ch831Layout
ch832Adding music
ch833Normalizing audio levels
ch834Scenes
ch835Silence removal
ch836Transitions
ch837Experiments
ch838Exporting a video
ch839Exporting subtitles
ch840External recordings
ch841Our Gear
ch842Is Remotion Recorder for me?
ch843Render on Lambda
ch844Our Recorder
ch845Record using the interface
ch846Cropping sources
ch847Delete a recording
ch848Manually add recordings
ch849Roadmap
ch850Setup
ch851Source Control
ch852Get Help
ch853Cannot read properties of undefined (reading 'decode')

SFX (@remotion/sfx)

#Title
ch854animeWow
ch855boneCrack
ch856bruh
ch857ding
ch858dramaticBoomer
ch859fah
ch860illuminatiConfirmed
ch861loadingLag
ch862macQuack
ch863minecraftHurt
ch864mouseClick
ch865nellyAhh
ch866ohMyGodVine
ch867omgHellNah
ch868pageTurn
ch869priceIsRightFail
ch870recordScratch
ch871romanceMeme
ch872sanctuaryGuardianWhat
ch873shutterModern
ch874shutterOld
ch875skedaddle
ch876snapchatNotification
ch877spongebobFail
ch878triggered
ch879uiSwitch
ch880vineBoom
ch881whip
ch882whoosh
ch883wilhelmScream
ch884windowsXpError
ch885yippee

Layout Utils (@remotion/layout-utils)

#Title
ch886Best practices for @remotion/layout-utils
ch887fillTextBox()
ch888fitText()
ch889fitTextOnNLines()
ch890measureText()

Lottie (@remotion/lottie)

#Title
ch891getLottieMetadata()
ch892<Lottie>
ch893Finding Lottie files to use
ch894Loading Lottie animations from a URL
ch895Loading Lottie animations from staticFile()

Rive (@remotion/rive)

#Title
ch896<RemotionRiveCanvas>

Rough Notation (@remotion/rough-notation)

#Title
ch897@remotion/rough-notation
ch898<Box>
ch899<Bracket>
ch900<Circle>
ch901<CrossedOff>
ch902<Highlight>
ch903<StrikeThrough>
ch904<Underline>

Motion Blur (@remotion/motion-blur)

#Title
ch905<CameraMotionBlur>
ch906Common mistake with <MotionBlur> and <Trail>
ch907<MotionBlur>
ch908<Trail>

Noise (@remotion/noise)

#Title
ch909noise2D()
ch910noise3D()
ch911noise4D()

Light Leaks (@remotion/light-leaks)

#Title
ch912@remotion/light-leaks
ch913<LightLeak>
ch914lightLeak()

Starburst (@remotion/starburst)

#Title
ch915@remotion/starburst
ch916<Starburst>
ch917starburst()

Animation Utils (@remotion/animation-utils)

#Title
ch918interpolateStyles()
ch919makeTransform()

Media Utils (@remotion/media-utils)

#Title
ch920createSmoothSvgPath()
ch921visualizeAudioWaveform()

Zod Types (@remotion/zod-types)

#Title
ch922@remotion/zod-types-v3
ch923zColor()
ch924zMatrix()
ch925zTextarea()

Miscellaneous (Core)

#Title
ch926v4.0 Alpha
ch927Building with Remotion and AI
ch928@remotion/animated-emoji
ch929@remotion/animation-utils
ch930Importing assets
ch931Captions
ch932@remotion/cloudrun
ch933createEffect()
ch934Effects
ch935@remotion/elevenlabs
ch936Installing FFmpeg
ch937Greenscreen
ch938@remotion/gsap
ch939High Dynamic Range and Remotion
ch940@remotion/install-whisper-cpp
ch941@remotion/lambda
ch942@remotion/layout-utils
ch943Light Leaks
ch944@remotion/mac-cursors
ch945Files with absolute paths
ch946Calculating the duration of a composition automatically
ch947Changing the temporary directory
ch948Chrome Headless Shell
ch949Using the GPU in the cloud
ch950Setup EC2 for Docker with GPU
ch951Cross-Origin Isolation
ch952Can I embed the Remotion Studio?
ch953Emojis
ch954FFmpeg license
ch955Linux Dependencies
ch956Multiple cores on Linux
ch957Can Remotion be used for live streaming?
ch958Using @remotion/renderer in Next.js
ch959Timeouts with Pexels videos
ch960Can I render videos in the browser?
ch961Can I render videos on the edge?
ch962How do I combine compositions?
ch963Freeze portions of a sequence
ch964Embedding a <Player> into an <iframe>
ch965Which video formats does Remotion support?
ch966@remotion/motion-blur
ch967@remotion/noise
ch968Noise visualization
ch969@remotion/openai-whisper
ch970@remotion/paths
ch971Posterization
ch972Remotion Recorder
ch973remotion
ch974@remotion/rive
ch975@remotion/rounded-text-box
ch976@remotion/sfx
ch977@remotion/shapes
ch978Starburst
ch979TailwindCSS
ch980TailwindCSS v2 (Legacy)
ch981Terminology
ch982Testing Remotion components
ch983@remotion/transitions
ch984Using audio
ch985visualizeAudio()
ch986@remotion/webcodecs
ch987@remotion/whisper-web
ch988@remotion/zod-types

Topic Index

  • Animation (interpolate/spring) → ch012, ch016
  • AssetLoading (staticFile) → ch070
  • Async gating (delayRender/continueRender) → ch053
  • Bundling → ch026
  • Captions/subtitles → see Captions section, ch324
  • CLI → ch093, ch429
  • Cloud Run → see Cloud Run section
  • Composition → ch006
  • Dynamic metadata (calculateMetadata) → ch005
  • Effects library → see Effects Library section
  • Fundamentals → ch040
  • Lambda (serverless rendering) → see Lambda section
  • Media parsing (@remotion/media-parser) → ch220
  • OffthreadVideo (frame-accurate video) → ch224
  • Player (embedding) → ch032
  • Recorder → ch844
  • registerRoot → ch019
  • renderMedia → ch147
  • Sequence / Series → ch023, ch024
  • SFX (sound effects) → ch182
  • Shapes & Paths → ch977, ch071
  • SSR / server-side rendering → ch116
  • Studio → see Studio, Player & Editing section
  • Transitions → see Transitions section
  • useCurrentFrame → ch075
  • useVideoConfig → ch081
  • WebCodecs → ch701
  • Zod Types → ch988

Supporting Files


Scope & Limits

This skill covers the Remotion documentation as fetched from remotion.dev/docs on 2026-08-25. It combines the core framework docs (React/TypeScript API), the rendering pipeline (local, Lambda, Cloud Run), Studio/Player, and every official @remotion/* package. Chapters were generated with a mix of mechanical extraction (title, headings, first code sample, first reference table from each source page) and hand-written synthesis for this file, the glossary, patterns, and cheatsheet — chapter prose is denser summary, not verbatim doc text. Some low-signal index/landing pages (e.g. bare category overview pages with no unique content beyond linking to subpages) were skipped rather than duplicated as thin chapters; skipped pages are: use-offthread-video-texture (404 disfarçado — página de índice sem .md próprio); use-video-texture (404 disfarçado — página de índice sem .md próprio); cli (404 disfarçado — página de índice sem .md próprio); fonts-api (404 disfarçado — página de índice sem .md próprio); google-fonts (404 disfarçado — página de índice sem .md próprio); preload (404 disfarçado — página de índice sem .md próprio); preload/resolve-redirect (404 disfarçado — página de índice sem .md próprio); null (404 disfarçado — página de índice sem .md próprio); player/drag-and-drop (404 disfarçado — página de índice sem .md próprio); studio (404 disfarçado — página de índice sem .md próprio); api (sem conteúdo real após limpeza); legal (sem conteúdo real após limpeza); captions/caption (404 disfarçado — página de índice sem .md próprio); recorder/editing (404 disfarçado — página de índice sem .md próprio); layout-utils/debug (404 disfarçado — página de índice sem .md próprio); lottie (404 disfarçado — página de índice sem .md próprio); skia (404 disfarçado — página de índice sem .md próprio).