Skip to content

RenderOptions

RenderOptions = object

Defined in: types.ts:148

optional mouse?: object

Defined in: types.ts:186

optional image?: 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).

optional motionBlur?: 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.

optional size?: number

0-1: 0=missing, 1=height of video

optional style?: "white" | "black"

Cursor colour. Defaults to 'white'. Ignored when image is set.


optional narration?: object

Defined in: types.ts:157

optional corner?: "top-left" | "top-right" | "bottom-left" | "bottom-right"

optional dropShadow?: number

Narration shadow strength (0-1).

  • 0 disables shadow
  • 1 maps to maximum shadow

optional padding?: number

0-1 fraction of the output frame: 0=nothing, 1=length of shorter side of the frame.

optional roundness?: number

0-1 fraction: 0=square, 1=circle.

optional size?: number

0-1 fraction of the output frame: 1=mask size equals shorter side of output.

optional sizeZoomed?: 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.

optional voice?: 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.


optional output?: object

Defined in: types.ts:218

optional aspectRatio?: 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.

'16:9'

optional background?: { assetPath: string; fileHash?: string; } | { backgroundCss: string; }

optional quality?: 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.

'1080p'

optional recording?: object

Defined in: types.ts:149

optional dropShadow?: number

Shadow strength from 0 (none) to 1 (default shadow).

optional roundness?: number

0-1 fraction: 0=sharp corners, 1=shorter side is half circle.

optional size?: number

0-1 fraction of the output frame: 0 causes warning, 1=one side touches background edge.


optional screenshot?: ScreenshotRenderOptions

Defined in: types.ts:250

Screenshot-only render options (format, margin, aspectRatio).


optional zoom?: object

Defined in: types.ts:210

optional motionBlur?: 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.