VideoFlowcodeGitHubTry itCoreRenderersReact Video EditorPlaygroundExamplesDocscodeGitHubTry it
Getting started
InstallationQuick startCore conceptsYour first video
Builder
Builder APITime formatsParallel & wait
Layers
TextImageVideoAudioCaptionsShapeGroups
Animation
Animate & keyframesEasing functionsTransitionsEffects
Renderers
Browser rendererServer rendererDOM preview
React Video Editor
QuickstartThemingUploadsCustom panelsHooks & commandsKeyboard shortcuts
API reference
Overview@videoflow/core@videoflow/renderer-browser@videoflow/renderer-server@videoflow/renderer-dom@videoflow/react-video-editor
API reference

@videoflow/renderer-server

Render VideoJSON to an MP4 file or buffer from Node using Playwright + ffmpeg.

Classes

class

ServerRenderer

Methods

constructor
(videoJSON: VideoJSON): ServerRenderer
Parameters
NameTypeDescription
videoJSONVideoJSON
Returns
ServerRenderer
cleanup
(): Promise<void>

Release all resources: browser context, temporary files, and shared browser.

Returns
Promise<void>
renderAudio
(): Promise<Buffer<ArrayBufferLike> | null>

Render the full audio track and return it as a WAV Buffer. Opens the headless page on first call, then renders all audio layers into a single WAV buffer via the in-page BrowserRenderer.

Returns
Promise<Buffer<ArrayBufferLike> | null>
renderFrame
(frame: number): Promise<Buffer<ArrayBufferLike>>

Render a single frame and return it as a JPEG screenshot Buffer. Opens the headless page on first call, then renders the requested frame via the in-page BrowserRenderer.

Parameters
NameTypeDescription
framenumberThe frame number to render.
Returns
Promise<Buffer<ArrayBufferLike>>
render
(videoJSON: VideoJSON, options: RenderOptions): Promise<string | Buffer<ArrayBufferLike>>

Render a VideoJSON to a Buffer or file.

Parameters
NameTypeDescription
videoJSONVideoJSONThe compiled video JSON.
optionsRenderOptionsRendering options (outputType, output path, signal).
Returns
Promise<string | Buffer<ArrayBufferLike>>

Functions

function

closeSharedBrowser

(): Promise<void>

Close the shared browser instance. Call this when the server is shutting down to release resources.

Returns
Promise<void>

On this page

ClassesFunctions
VideoFlow

Open-source toolkit for composing videos from code.

Product

CoreRenderersReact Video EditorPlayground

Learn

DocsAPI referenceExamplesvs. Remotionvs. FFmpeg

Project

GitHubLicenseContactTermsPrivacy

From the blog

All posts →How to Automate Loom-style Product Demos with TypeScriptAutomated Podcast Audiogram Generator: Turning Audio into Viral Video with TypeScriptHow to Turn Markdown Changelogs into Automated Product Update VideosAutomating Personalized Onboarding Videos with VideoFlow and TypeScriptAutomating YouTube Shorts: Build a Vertical Video Factory in 30 Lines of TypeScriptCinematic 3D Video with TypeScript: A Guide to Perspective and RotationCinematic GLSL Effect Stacking: Building High-End Visuals with CodeHeadless Video Rendering in Node.js: No FFmpeg Required
© 2026 VideoFlow. Apache-2.0 core.