Fusion (write)
fusion_writeEdit Fusion composition state in DaVinci Resolve timeline items—add tools, connect inputs, set keyframes—with read-back verification for each change.
Instructions
Change fusion state; may overwrite current values. Every change is read back from Resolve (receipt.verified=false means it did not take). op.action (params; * = required):
add_comp(item*): Add an empty Fusion composition to a timeline item.
add_tool(item*, comp, tool_id*, name, x, y): Add a tool to a comp by registry id, with optional name and flow position.
connect(item*, comp, tool*, input*, source_tool*, source_output): Connect a tool input to the output of another tool.
create_text_title(item*, text*, comp, name, font, style, size, color, +2 more): Create a Text+ tool with text, font, size and color (connect it to MediaOut to render).
disconnect(item*, comp, tool*, input*): Disconnect a tool input (one undo step; undo restores the link).
export_comp(item*, comp, path*): Export a Fusion composition of an item to a new .comp file.
import_comp(item*, path*): Import a .comp file as a new Fusion composition of a timeline item.
load_comp(item*, name*): Make a named Fusion composition the active one of a timeline item.
load_tool_settings(item*, comp, tool*, path*): Load a .setting file onto an existing tool (replaces its parameters).
paste_settings(item*, comp, text*): Paste a Fusion .setting snippet (text) into a comp; reports the tools it created.
rename_comp(item*, old_name*, new_name*): Rename a Fusion composition of a timeline item.
rename_tool(item*, comp, tool*, new_name*): Rename a tool of a comp (expressions referring to the old name keep working in Fusion).
save_tool_settings(item*, comp, tool*, path*, overwrite): Save a tool (or Group, as a macro) to a new .setting file.
set_expression(item*, comp, tool*, input*, expression*): Set (or clear, with an empty string) the expression of a tool input.
set_inputs(item*, comp, sets*): Set many tool inputs in one undo step (the comp is not locked: renders need it).
set_keyframes(item*, comp, tool*, input*, keys*): Animate an input: add a BezierSpline when needed, then key each (time, value).
set_tool_enabled(item*, comp, tool*, enabled*): Enable a tool or set it to pass-through (TOOLB_PassThrough). Shortcuts (prefer them for whole tasks):
workflow_write.title_overlay: Add an animated Text+ title (and Merge over the clip) to a timeline item's Fusion comp. One call instead of create_text_title, add_tool, connect, set_inputs, set_keyframes. Calls known in advance (a sequence, the same change on several items): ONE batch_run.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| op | Yes | {action, ...params}. Parameters per action: see the description or this server's describe_action tool. | |
| dry_run | No | true: return the planned effect, change nothing. | |
| snapshot | No | true: back up the timeline/project first; omitted: server policy. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| job | No | ||
| plan | No | ||
| status | Yes | ||
| receipt | No |