RenderOptions
RenderOptions =
object
Defined in: types.ts:147
Properties
Section titled “Properties”mouse?
Section titled “mouse?”
optionalmouse?:object
Defined in: types.ts:206
image?
Section titled “image?”
optionalimage?:string
Path to a custom cursor image, relative to the config directory. When set,
it replaces the built-in style cursor in both video and screenshot
output. The image is uploaded alongside the recording like any other
asset.
PNG is recommended (the video pipeline may lack an SVG decoder). The
image’s top-left corner is the pointer hotspot, matching the built-in
cursors, and it is scaled by size (aspect ratio preserved).
motionBlur?
Section titled “motionBlur?”
optionalmotionBlur?:number
Cursor motion blur, 0-1. Defaults to 0.5; 0 disables it. The value is
the shutter open time as a fraction of one output frame interval, so a
fast-moving cursor smears along its path. Slow or static frames cost
nothing.
optionalsize?:number
0-1: 0=missing, 1=height of video
style?
Section titled “style?”
optionalstyle?:"white"|"black"
Cursor colour. Defaults to 'white'. Ignored when image is set.
narration?
Section titled “narration?”
optionalnarration?:object
Defined in: types.ts:165
audio?
Section titled “audio?”
optionalaudio?:NarrationAudioCleanupOption
Cleanup for narration audio you recorded yourself (media-file cues): background noise reduction and loudness normalization. Off by default.
trueenables the full chain with defaults- object form enables only the listed sub-features:
{ denoise: true | { strength: 0..1 }, normalize: true | { level: LUFS } }
Does not affect generated narration, background audio tracks, or captured screen audio.
corner?
Section titled “corner?”
optionalcorner?:"top-left"|"top-right"|"bottom-left"|"bottom-right"
dropShadow?
Section titled “dropShadow?”
optionaldropShadow?:number
Narration shadow strength (0-1).
- 0 disables shadow
- 1 maps to maximum shadow
padding?
Section titled “padding?”
optionalpadding?:number
0-1 fraction of the output frame: 0=nothing, 1=length of shorter side of the frame.
roundness?
Section titled “roundness?”
optionalroundness?:number
0-1 fraction: 0=square, 1=circle.
optionalsize?:number
0-1 fraction of the output frame: 1=mask size equals shorter side of output.
sizeZoomed?
Section titled “sizeZoomed?”
optionalsizeZoomed?:number
Narration size when the recording is smaller than the full frame.
When set, the narration bubble scales down and tightens into its corner
with the recording size. Omit to keep a fixed size.
0-1: same units as size.
voice?
Section titled “voice?”
optionalvoice?:AnyTopLevelVoiceConfig
Global default narration voice, used as the config-level default in the
voice cascade. The per-language and per-cue voice live in the localize
spec (voice and per-cue { cue, voice }); this is only the fallback when
neither is set.
output?
Section titled “output?”
optionaloutput?:object
Defined in: types.ts:244
aspectRatio?
Section titled “aspectRatio?”
optionalaspectRatio?:AspectRatio
Aspect ratio of the rendered video output.
Combined with quality, this determines the final pixel dimensions.
See AspectRatio for the full dimension table. Screenshots use
ScreenshotRenderOptions.aspectRatio instead (which also allows
'auto').
Defaults to '16:9' when not specified.
Example
Section titled “Example”'16:9'background?
Section titled “background?”
optionalbackground?: {assetPath:string;fileHash?:string; } | {backgroundCss:string; }
quality?
Section titled “quality?”
optionalquality?:Quality
Resolution quality of the rendered output video.
Combined with aspectRatio, this determines the final pixel dimensions.
See Quality for available presets. Screenshots ignore this: their
resolution comes from the captured clip (or the full output frame) scaled
by the capture device pixel density.
Defaults to '1080p' when not specified.
Example
Section titled “Example”'1080p'recording?
Section titled “recording?”
optionalrecording?:object
Defined in: types.ts:148
optionalclip?:ClipRegion
Crop of the recorded video, in CSS pixels of the recording viewport
(top-left origin), following Playwright’s clip shape. The recording is
always captured at the full configured resolution; the clip is applied at
render time, so it can be changed and re-rendered without re-recording.
Only the clipped region appears in the output, and the recording tile
takes the clip’s aspect ratio.
dropShadow?
Section titled “dropShadow?”
optionaldropShadow?:number
Shadow strength from 0 (none) to 1 (default shadow).
roundness?
Section titled “roundness?”
optionalroundness?:number
0-1 fraction: 0=sharp corners, 1=shorter side is half circle.
optionalsize?:number
0-1 fraction of the output frame: 0 causes warning, 1=one side touches background edge.
screenshot?
Section titled “screenshot?”
optionalscreenshot?:ScreenshotRenderOptions
Defined in: types.ts:275
Screenshot-only render options (format, margin, aspectRatio).
optionalzoom?:object
Defined in: types.ts:230
motionBlur?
Section titled “motionBlur?”
optionalmotionBlur?:number
Camera (pan/zoom) motion blur, 0-1. Defaults to 0.5; 0 disables it.
Same shutter semantics as mouse.motionBlur, applied to the camera
viewport so fast pans and zooms smear. Independent of the cursor blur.