POST /v1/renders body. Only fields that differ from their defaults are shown. See the element field reference for every default.
Minimal video
source_url is the only field the schema requires, and out_point is the only one the submit path adds (see above). Everything else uses defaults (x: "50%", y: "50%", width: "100%", height: "100%", opacity: 100, volume: 100).
Trim source clip
Play only seconds 2–8 of the source file.Playback speed
Play the clip at 2× speed.Speed ramp
Ramp the rate across the clip instead of pinning it.time values are timeline seconds and must be strictly increasing — duplicates or out-of-order entries are a 422. rate: 0 freezes the frame. Max 512 keyframes.
- Audio does not follow the ramp — it keeps the static
speed. Mute the clip (volume: 0, as above) or move the sound to its ownaudioelement. - A ramp that ends at
rate: 0never finishes, so the request must carry an explicit top-leveldurationor you get a422. - For an instant step, put the two rates
0.001s apart.
Audio fade in and out
Fade audio in over 1 second and out over 1 second.fade_in_duration / fade_out_duration affect the embedded audio track only.
Position and size
Place a 50%-wide clip in the bottom-right corner.3D tilt
x_rotation and y_rotation tilt the plane in perspective; z_rotation is the flat spin. x_anchor / y_anchor choose the pivot — "0%" below swings the clip about its left edge instead of its centre. They move nothing when there is no rotation. Valid on video, image, and shape; a 422 on text.
Blend modes and track mattes
blend_mode accepts all 17 renderer modes, including the non-separable hue / saturation / color / luminosity set. matte clips this element to another layer’s luma or alpha; the layer named in source is hidden automatically by the engine — it only supplies the shape.
backdrop_blur (radius in pixels) frosts everything behind the element. blend_mode, matte, and backdrop_blur are available on video, image, and shape only — they are a 422 (Extra inputs are not permitted) on text.
Repeat a short clip
Repeat a 6-second clip twice to fill a 12-second render. Add one element per repeat with a differenttime and matching in_point/out_point.

