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 →Beyond the Shell: Why Your Video Pipeline Should Be a TypeScript Library, Not an FFmpeg ScriptComponent-Driven Video: Mastering Layer Groups and CompositionHow to Build an In-App Video Editor with React and VideoFlowMastering GLSL Video Effects: Building Cinematic Pipelines with VideoFlowBuilding a YouTube Shorts Factory with VideoFlow and TypeScriptThe Three-Renderer Rule: Why Your Video Pipeline Needs a Single Source of TruthZero-Server Video Automation: Rendering MP4s in the Browser with WebCodecsProgrammatic Video Animation: A Deep Dive into VideoFlow Keyframes
© 2026 VideoFlow. Apache-2.0 core.