@hyperframes/producer owns the complete render pipeline: compile the project,
capture its frames, encode the video, and mix its audio.
Use it when rendering is part of your own Node.js service or job runner. For a
local script or terminal workflow, use npx hyperframes render
instead.
Render one project
createRenderJob() describes the render. executeRenderJob() receives that
job, the project directory, and the output path.
index.html. Set entryFile when the project has a
different entry composition.
Choose an output
HDR output is available for MP4 through
hdrMode. Transparent formats render
in SDR because HDR and alpha are not one supported output path.
HLS
format: "hls" writes an HLS VOD stream into outputPath, which is a
directory: master.m3u8, video.m3u8 and video_NNNNN.ts, plus audio.m3u8
and audio_NNNNN.ts when the composition has audio. The encode is the same
H.264 + AAC as MP4 — the packaging pass only stream-copies it into segments.
hlsSegmentSeconds long except the last, because the
encoder GOP is locked to round(fps × hlsSegmentSeconds) frames so every
segment starts on a keyframe. HLS is SDR only (hdrMode: "force-hdr" is
rejected), refuses GPU encoding (GPU encoders ignore the keyframe lock), and is
not available in distributed rendering, Lambda, or Cloud Run.
Cancel a render
Pass an abort signal to the final argument:RenderCancelledError. Correctness warnings can also
block a render when strictness: "strict" is enabled.
Build a render service
The package exports a Hono application and server helpers:@hyperframes/producer/distributed entry exposes the
three rendering activities—plan, renderChunk, and assemble. Your
orchestrator remains responsible for dispatch, retries, storage, and networking.
Related topics
Choose rendering infrastructure
Decide between local, server, Temporal, AWS, or another adapter.
@hyperframes/engine
Use the lower-level capture and encoding primitives.