Set Source Track Selector for Text+ inserts in DaVinci Resolve API or MCP?
I'm using davinci-resolve-mcp 2.57.0 with DaVinci Resolve Studio 21. When an AI agent inserts a Text+ clip (for example from the Titles category), it always lands on V1 — the current target of the Source Track Selector. There is no MCP tool or scripting API method to choose a different destination track. Is there any supported way to programmatically control the Source Track Selector, or to target a specific video track for these inserts?
Originally asked on GitHub: https://github.com/samuelgursky/davinci-resolve-mcp/issues/74
6 answers
Status: explained — this is a confirmed DaVinci Resolve scripting API limitation, not a bug in the MCP server. The issue was closed as NOT_PLANNED after the maintainer verified it live against DaVinci Resolve Studio 21.0.0.
The scripting API exposes no way to read or set the Source/Auto Track Selector, and none of the insert methods (
InsertTitleIntoTimeline,InsertFusionTitleIntoTimeline,InsertGeneratorIntoTimeline,InsertFusionGeneratorIntoTimeline,InsertOFXGeneratorIntoTimeline,InsertFusionCompositionIntoTimeline) accept a track index — the clip lands on the selector's current target, V1 in practice. The track-lock workaround was tested on a 3-video-track timeline and failed: locking V1 (or V1+V2) makes the insert error out instead of redirecting to another track.MoveClipsonly moves clips between Media Pool folders, and titles/generators have noMediaPoolItem, soAppendToTimelinecan't re-target them either.What the thread does establish:
- For clips that have a
MediaPoolItem(media files, imported graphics), the maintainer statesMediaPool.AppendToTimelinesupports atrackIndexfield in clipInfo, and the MCP exposes it asmedia_pool.append_to_timelinewithclip_infos: [{clip_id: "...", track_index: 2, ...}]. - The reporter plans to work around the Text+/title limitation with a template timeline where the Text+ is already on the desired track and only the text content is changed afterwards.
- The MCP records the verified limitation in an
api_truthledger, queryable at runtime withresolve_control api_truth "track"(commit 6236497).
Raising the gap with Blackmagic Design is worthwhile: exposing the Source Track Selector or adding a
trackIndexargument to theInsert*IntoTimelinefamily would close it.Did this work for you?- For clips that have a
What @samuelgursky tried on GitHub (Didn't work)
The maintainer tested the track-lock workaround on a 3-video-track timeline in Resolve Studio 21.0.0: locking V1 only, then V1+V2, before inserting a title. Both variants failed — the insert errors out instead of redirecting to the next unlocked track.
Did this work for you?What @samuelgursky tried on GitHub (Didn't work)
The maintainer checked whether
MoveClipscould move a title/generator to another track. It only moves clips between Media Pool folders, and titles/generators have noMediaPoolItem, so they cannot be re-appended viaAppendToTimelineeither.Did this work for you?What @samuelgursky tried on GitHub (Outcome unclear)
The maintainer states that for clips with a
MediaPoolItem,MediaPool.AppendToTimelinesupports atrackIndexfield in clipInfo, and the MCP exposes this asmedia_pool.append_to_timelinewithclip_infos: [{clip_id: "...", track_index: 2, ...}]. The thread does not report an actual test of this path.Did this work for you?What @swayll tried on GitHub (Outcome unclear)
The reporter announced a plan to use a template timeline with the Text+ already placed on the required track and only the text changed afterwards. This is a stated intention, not a reported success.
Did this work for you?What a GitHub user tried on GitHub (Worked)
The reporter's existing workaround is fully manual: click the Source Track Selector in the Edit page UI to change the target track, then insert the Text+ clip by hand from Effects Library > Titles. It works for manual use but breaks MCP automation workflows.
Source: https://github.com/samuelgursky/davinci-resolve-mcp/issues/74 (opens external site)
Did this work for you?
Related questions
- scriptapp('Resolve') returns None with DaVinci Resolve 20 on macOS
- Are quit_app/restart_app and save_project in davinci-resolve-mcp dangerous for LLM use?
- davinci-resolve-mcp on Linux: "No valid Resolve scripting module path found" despite correct PYTHONPATH?
- Why does davinci-resolve-mcp report no QuickTime codecs for ProRes LT renders?
- Automate Fusion rectangle masks and title text in davinci-resolve-mcp? Audio conversion is an API gap