set_clip_properties
Adjusts a clip. Only the provided fields change. Mix: volume (0–2, 1 = unity), fadeInFrames / fadeOutFrames (gain or opacity ramps at the edges). Look: opacity (0–1), blend (normal | multiply | screen | overlay | darken | lighten | color-dodge | color-burn | hard-light | soft-light | difference | exclusion | add), transform, crop and speed. transform.fit picks how the picture meets the frame before scaling: contain (letterbox, default) | cover (fill + crop overflow) | fill (stretch, ignores aspect). Identity = contain fit; position is offset from centre in timeline pixels (y down), scale multiplies the fitted size, rotationDeg is clockwise about the anchor (a fraction of the cropped picture, 0.5/0.5 = centre). Crop takes fractions off each edge of the source. Retiming: speed (constant rate/direction) and speedKeyframes (source-anchored rate curve; reflows length). Shape masks: masks (full-list replace). disabled parks a clip (it stays but neither renders nor sounds — DaVinci's D). text restyles text clips (mediaRef 'text:'). motion customizes MOTION clips (mediaRef 'motion:') per clip.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| crop | No | Optional partial crop, fractions 0–1 of the SOURCE off each edge (the inspector shows source pixels). Crop is a window: it cuts pixels away without moving or re-fitting the picture; edges may meet (the picture vanishes). | |
| text | No | Optional TEXT clip restyle (clips with mediaRef 'text:'; create them with add_clips). Partial patch: content ( breaks lines), fontFamily (Inter | DM Sans | Space Grotesk | Bebas Neue | Playfair Display | Caveat), sizeFraction (of frame height), bold, italic, color (#rrggbb), align (left|center|right), outlineColor (#rrggbb or null), outlineWidth, backgroundFill (#rrggbb[aa] or null), box {x,y,w,h in frame fractions, centre-based}, animation. wholeCaptionGroup: true restyles every caption sharing the clip's caption group in one edit (content stays per-clip). | |
| blend | No | Optional blend mode (see description). | |
| masks | No | Optional shape masks, FULL-LIST replace (empty array removes all). Masks UNION (Resolve's additive Power Windows); `invert` flips one mask's coverage. Geometry in fractions of the SOURCE picture, centre 0.5/0.5 — masks ride the clip's transform. Each: {shape: rect|ellipse, center{x,y}, size{x,y}, rotationDeg, feather (fraction of source width), opacity 0–1, invert}. | |
| speed | No | Optional retiming (Resolve's Speed Change). rate 1 = 100 % (0.01–50); direction forward | reverse | freeze; freezeFrame = held source frame (offset from trim-in) while frozen; pitchCorrection keeps the audio's pitch. Keyframes stay glued to the pictures (they are source-anchored). Combine with speedRipple: true to rescale the clip so the same source range plays at the new rate and shift everything downstream. | |
| token | Yes | The session token `connect` returned. Pass it on every call — it says which browser to drive. | |
| bypass | No | Optional section switches, true = section OFF (its values are kept but not applied) — the inspector's per-section toggles. | |
| clipId | Yes | Clip to modify. | |
| motion | No | Optional MOTION clip customization (clips with mediaRef 'motion:<id>'). props: partial patch over the composition's schema-declared props ({key: value}; a key set to null resets it to the composition default). get_motion_composition lists the schema; per-clip values override its defaults. | |
| volume | No | Optional new volume (0–2). | |
| denoise | No | AI voice denoise (dry/wet). Setting it (or enabling the section) queues the cached background render for the clip's source file. | |
| opacity | No | Optional static opacity 0–1. | |
| disabled | No | Optional. True disables the clip (and its A/V link partners): it stays on the timeline but neither renders nor sounds. False re-enables. The multicam angle switch is built on this. | |
| projectId | Yes | Project id from get_projects. | |
| transform | No | Optional partial transform; provided keys replace, others stay. | |
| cropRetain | No | Optional. True = Resolve's 'Retain Image Position': the crop window stays fixed in the frame while transforms move the picture underneath it. | |
| solidColor | No | Optional, solid-colour matte clips only: recolour the matte (#rrggbb). Mattes are created by add_clips/insert_clips with mediaRef 'solid:#rrggbb'. | |
| timelineId | Yes | Timeline containing the clip. | |
| dynamicZoom | No | Optional Ken Burns move (Resolve's Dynamic Zoom): animates the framing from `start` to `end` over the clip's WHOLE duration (retimes when the clip is trimmed). Rects: centre x/y as picture fractions (0.5/0.5 = middle) and scale (1 = whole picture, 0.5 = half → 2× zoom). Setting framing or ease switches it on. | |
| speedRipple | No | Ripple Timeline for this speed edit (see `speed`). | |
| cropSoftness | No | Optional crop-edge feather, fraction of the source width 0–0.5 (the inspector shows source pixels). Keyframable as 'cropSoftness'. | |
| fadeInFrames | No | Optional fade-in length in frames. | |
| fadeOutFrames | No | Optional fade-out length in frames. | |
| stabilization | No | Optional stabilization knobs (Resolve's Stabilization). The expensive motion tracking is a per-media analysis — run it with the stabilizer; these values post-process its cached path instantly. mode perspective | similarity | translation; cameraLock kills ALL motion (ignores ratio/smooth); zoom scales up to hide blanking; croppingRatio 0.25–1 (1 allows no correction); smooth 0.25–1; strength -1–1 (negative inverts). | |
| lensDistortion | No | Optional Lens Correction Distortion, -1–1. Positive straightens wide-angle barrel distortion, negative adds it. 0 = none. | |
| speedKeyframes | No | Optional source-anchored speed keyframes (forward-direction clips only): [{atSourceFrame, rate}], rate 1 = 100 %. Rate is CONSTANT between points (held outside). Present, it replaces `speed.rate` AND REFLOWS the clip's timeline length to keep the same source window (slower ⇒ longer); the A/V link group retimes together. EMPTY array clears the curve (back to the constant rate). |