Skip to main content
Each example is a complete POST /v1/renders body. Only fields that differ from their defaults are shown. See the element field reference for every default.
For text and image elements, duration is required — the API returns 422 if it is missing. video and audio elements have no duration field — use out_point to control how long the clip plays.Every video element below sets out_point for a second reason: for a source_url Framelane does not host, submitting without one is a 422 invalid_source. The dry-run linter cannot see this — it reports ok: true and the real submit still fails. Upload the file, set ingest_external: true, or set out_point yourself.

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 own audio element.
  • A ramp that ends at rate: 0 never finishes, so the request must carry an explicit top-level duration or you get a 422.
  • For an instant step, put the two rates 0.001 s 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 different time and matching in_point/out_point.