← Back to search

davinci-resolve-mcp

GitHub Actions Scanned 8d ago

NPM bootstrapper for the DaVinci Resolve MCP Server.

npm
D
53.2 / 100

Versions

2.68.2latest
Jul 30, 2026
2.68.1
Jul 30, 2026
2.68.0
Jul 30, 2026
2.67.1
Jul 28, 2026
2.67.0
Jul 27, 2026
+ show 89 moreshow less
2.66.0
Jul 24, 2026
2.65.0
Jul 24, 2026
2.64.0
Jul 24, 2026
2.63.2
Jul 23, 2026
2.63.1
Jul 23, 2026
2.63.0
Jul 22, 2026
2.62.3
Jul 17, 2026
2.62.2
Jul 15, 2026
2.62.1
Jul 13, 2026
2.62.0
Jul 13, 2026
2.61.1
Jul 13, 2026
2.61.0
Jul 13, 2026
2.60.0
Jul 6, 2026
2.59.0
Jul 6, 2026
2.58.0
Jul 6, 2026
2.57.5
Jun 21, 2026
2.57.4
Jun 19, 2026
2.57.3
Jun 19, 2026
2.57.2
Jun 19, 2026
2.57.1
Jun 19, 2026
2.57.0
Jun 18, 2026
2.56.1
Jun 18, 2026
2.56.0
Jun 18, 2026
2.55.2
Jun 18, 2026
2.55.1
Jun 18, 2026
2.55.0
Jun 18, 2026
2.54.5
Jun 18, 2026
2.54.4
Jun 18, 2026
2.54.3
Jun 18, 2026
2.54.2
Jun 18, 2026
2.54.1
Jun 18, 2026
2.54.0
Jun 18, 2026
2.53.0
Jun 18, 2026
2.52.1
Jun 14, 2026
2.52.0
Jun 13, 2026
2.51.0
Jun 12, 2026
2.50.0
Jun 12, 2026
2.49.0
Jun 12, 2026
2.48.1
Jun 12, 2026
2.48.0
Jun 12, 2026
2.47.0
Jun 12, 2026
2.46.1
Jun 12, 2026
2.46.0
Jun 11, 2026
2.45.0
Jun 10, 2026
2.44.0
Jun 10, 2026
2.43.0
Jun 10, 2026
2.42.0
Jun 10, 2026
2.41.0
Jun 10, 2026
2.40.0
Jun 10, 2026
2.39.0
Jun 10, 2026
2.38.0
Jun 10, 2026
2.37.3
Jun 9, 2026
2.37.2
Jun 9, 2026
2.37.1
Jun 9, 2026
2.37.0
Jun 9, 2026
2.36.1
Jun 8, 2026
2.36.0
Jun 6, 2026
2.35.2
Jun 6, 2026
2.35.1
Jun 6, 2026
2.35.0
Jun 6, 2026
2.34.1
Jun 6, 2026
2.34.0
Jun 6, 2026
2.33.8
Jun 6, 2026
2.33.7
Jun 6, 2026
2.33.6
Jun 6, 2026
2.33.5
Jun 6, 2026
2.33.4
Jun 6, 2026
2.33.3
Jun 6, 2026
2.33.2
Jun 6, 2026
2.33.1
Jun 6, 2026
2.33.0
Jun 6, 2026
2.32.2
Jun 5, 2026
2.32.1
Jun 5, 2026
2.32.0
Jun 4, 2026
2.31.0
Jun 4, 2026
2.30.0
Jun 4, 2026
2.29.0
Jun 4, 2026
2.28.1
Jun 4, 2026
2.28.0
Jun 4, 2026
2.27.2
Jun 2, 2026
2.27.1
Jun 1, 2026
2.27.0
May 29, 2026
2.26.1
May 28, 2026
2.26.0
May 28, 2026
2.25.0
May 28, 2026
2.24.1
May 27, 2026
2.24.0
May 26, 2026
2.23.1
May 18, 2026
2.23.0
May 17, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 388

setup
annotations: none low

Configure MCP conversational defaults and setup preferences. Actions: schema() -> {defaults, actions} get_defaults() -> {defaults} set_defaults(defaults?|media_analysis?|updates?|dry_run?) -> {defaults, changes} clear_defaults(keys?, dry_run?) -> {defaults, cleared} Current defaults: media_analysis.*: analysis, metadata, marker, reporting, and workflow defaults updates.*: MCP update policy, interval, and snooze defaults

action str params string
resolve_control
annotations: none low

App-level DaVinci Resolve operations. Actions: launch(headless?) -> {success, message, running, headless, guidance} — Launch DaVinci Resolve if not running. Call this FIRST if any tool returns a 'Not connected' error. headless=true starts it with no UI (-nogui): capability-identical to the GUI and immune to the modal dialogs that can block a script indefinitely. Errors rather than starting a second instance if one is already running in the other mode. runtime_mode() -> {running, headless, instances, guidance} — Is Resolve up, and does it have a UI? Answers with no connection needed. headless is null when it cannot be determined — do NOT read that as false. There is no way to tell from the scripting API itself; this reads the process argv. Consult before any LoadProject/CloseProject: with a UI, an unsaved outgoing project raises a dialog no script can dismiss. get_version() -> {product, version, version_string, mcp: {version, update, update_decision}} — mcp.update_decision piggybacks the cached update check: if its action is "notify" or "prompt", mention the available MCP update to the user ONCE per session (do not nag, do not auto-apply; updates are applied via install.py or the control panel). mcp_update_status(force_check?) -> {version, update, decision} set_mcp_update_policy(mode) -> {success, version, update, decision} ignore_mcp_update() -> {success, version, update, decision} snooze_mcp_update(hours?) -> {success, version, update, decision} clear_mcp_update_preferences() -> {success, version, update, decision} api_truth(query?, resolve_version?) -> {verified_on, count, facts, live_version?} — look up behaviorally-verified facts about quirky/unreliable Resolve API behavior (no connection needed; never connects). When a build is already connected or resolve_version is passed, each fact carries a version_context saying whether it was measured on an older, newer or identical build — the API changes per PATCH release, so a fact from another build is a prior, not a finding. check_version_support(symbol?, resolve_version?) -> {live_version, support|unavailable_on_this_build} — does THIS build have that method? Answers "unknown" unless a gate is recorded, because most of the API has never been version-bisected and a false "available" is how an agent insists a missing method exists. Omit symbol for every recorded gate this build does not clear. verification_stats() -> {stats} — readback-verification tally (verified/contradicted/unverified) since server start (no connection needed). job_status(job_id) -> {id, label, status, result?, error?, started_at, ended_at} — poll a background job started by a long op run with background=True (no connection needed). status is running, done, or error. list_jobs() -> {jobs} — compact status of every known background job (no connection needed). get_page() -> {page} open_page(page) -> {success} — page: edit, cut, color, fusion, fairlight, deliver get_keyframe_mode() -> {mode} set_keyframe_mode(mode) -> {success} quit() -> {success} get_fairlight_presets() -> {presets} set_high_priority() -> {success} disable_background_tasks_for_current_session() -> {success} — Resolve 21+ list_user_preferences_presets() -> {presets} — Resolve 21.0.4+ save_user_preferences_preset(name) -> {success} — Resolve 21.0.4+ load_user_preferences_preset(name) -> {success} — Resolve 21.0.4+. SESSION-WIDE: swaps the user's global Resolve preferences, not a project setting. Only call when the user asked for the switch. delete_user_preferences_preset(name) -> {success} — Resolve 21.0.4+ import_user_preferences_preset(path, name?) -> {success} — Resolve 21.0.4+. The imported preset is NOT auto-loaded; follow with load_user_preferences_preset to activate it. Omitting name is safe (reported on 21.0.4.5: single-arg returns True, not a TypeError) and the preset is then named after the file, so pass name when the preset should be called something the filename does not say. export_user_preferences_preset(name, path) -> {success} — Resolve 21.0.4+ open_control_panel(port?, open_browser?, force_restart?) -> {success, url, pid, port, status} — Launches the analysis control panel (src/analysis_dashboard.py) as a background process. Idempotent: returns the existing URL if already running. Binds 127.0.0.1 ONLY — a `host` other than loopback is refused, there is no override. The returned url carries a per-launch bearer token in its fragment (#token=…); the panel refuses every request without it, so give the user that exact URL, not a bare http://127.0.0.1:8765. control_panel_status() -> {running, pid, port, url} close_control_panel() -> {success, was_running} save_state() -> {state_token, page, current_timeline_id, current_timecode, selected_clip_ids} — Captures the current Resolve UI state so it can be restored after a preview. restore_state(state_token) -> {success, restored: {...}} — Returns Resolve to a previously-saved state.

action str params string
layout_presets
annotations: none low

Manage DaVinci Resolve UI layout presets. Actions: list() -> {presets} — Resolve 21.0.4+; saved layout preset names save(name) -> {success} load(name) -> {success} update(name) -> {success} export(name, path) -> {success} import_preset(path, name?) -> {success} delete(name) -> {success}

action str params string
timeline
annotations: none low

Timeline operations: tracks, clips, import/export, generators, titles. PREFER probe_* / *_capabilities / *_boundary_report / *_checked / dry_run variants where they exist. Raw mutators are kept for advanced callers but bypass guardrails. DESTRUCTIVE actions auto-archive the current timeline (C6); pass strict=true for refuse-on-archive-failure behavior on the catastrophic ops. To thread several destructive calls into ONE archived predecessor instead of N, wrap them in timeline_versioning begin_run/end_run. Frame numbers are TIMELINE/record frames (position on the timeline) unless an action says SOURCE. Source frames are positions within a media-pool clip's own media: create_variant_from_ranges takes SOURCE start_frame/end_frame; extract_source_frame_ranges and source_range_report return SOURCE ranges. A SOURCE frame is counted in the MEDIA's own frame rate, not the timeline's: an AUDIO item's source_start/source_end read back in the file's rate. A WAV has no intrinsic rate and freezes the PROJECT's rate at import, so it differs from the timeline whenever the project moved afterwards — read source_fps, never assume 24, and converting at the timeline rate is silently wrong by minutes (resolve_control api_truth "GetSourceStartFrame"). Actions: list() -> {timelines} get_current() -> {name, id, start_frame, end_frame, start_timecode} set_current(index|id|name) -> {success} — id/name are stable across archives; index is 1-based get_name() -> {name} set_name(name) -> {success} get_start_frame() -> {frame} get_end_frame() -> {frame} get_start_timecode() -> {timecode} set_start_timecode(timecode) -> {success} get_track_count(track_type) -> {count} — video, audio, subtitle add_track(track_type, options?) -> {success} — options dict (newTrackOptions per docs line 327): {audio_type, index}. audio_type: 'mono', 'stereo', '5.1', '7.1', 'adaptive1'..'adaptive36' for audio. index: 1-based slot; appended if omitted/out of bounds. delete_track(track_type, index) -> {success} CATASTROPHIC. Deletes a track and all items on it. Strict mode auto-applies. get_track_sub_type(track_type, index) -> {sub_type} set_track_enable(track_type, index, enabled) -> {success} get_track_enabled(track_type, index) -> {enabled} set_track_lock(track_type, index, locked) -> {success} get_track_locked(track_type, index) -> {locked} get_track_name(track_type, index) -> {name} set_track_name(track_type, index, name) -> {success} get_items(track_type, index|track_index) -> {items} — track_type: video|audio|subtitle clip_where(filters|track_type?, track_index?, name_contains?, duration_lt?, duration_gt?) -> {clips, match_count, total_clips} Find clips on the current timeline matching named filters (AND). Pass filters inline or as a `filters` dict. Live filters: track_type, track_index, name_contains, duration_lt, duration_gt (frames). No clip enumeration needed. delete_clips(clip_ids, ripple?) -> {success} — clip_ids: list of unique IDs DESTRUCTIVE. ripple=True is CATASTROPHIC (closes the gap; cannot be selectively undone). set_clips_linked(clip_ids, linked) -> {success} duplicate(name?) -> {success, name} duplicate_clips(clip_ids?, selected?, target_track_index?, track_offset?, placement?, record_frame?, record_frame_offset?, copy_properties?, include_linked?) -> {results, count} — Video clips only. Re-places the same MediaPool media with the same source trim on the current timeline (like Alt-drag) via AppendToTimeline. clip_ids: timeline item unique IDs from get_items / get_current_video_item; selected=True uses Resolve's selected/current item when available. target_track_index overrides track_offset; placement supports same_time, offset, at_playhead, track_above, after_source, and next_gap. copy_properties may include transform, crop, composite, audio, retime, clip_color, markers, flags, enabled, cache, voice_isolation, fusion, grades, takes, and transitions (reported unsupported by Resolve API). include_linked=True duplicates linked audio and restores link state. # example: action_help(name='<action_name>') copy_clips(...) -> {results, count} — alias for duplicate_clips. move_clips(...) -> {results, count, deleted_sources} — duplicate, then delete successfully duplicated sources. copy_range/duplicate_range(start_frame, end_frame, record_frame, ...) -> {results, count} overwrite_range(start_frame, end_frame, record_frame, ...) -> {results, count} lift_range(start_frame, end_frame, allow_partial_item_delete?, ripple?) -> {success, deleted} DESTRUCTIVE. Deletes timeline items whose record-frame range overlaps [start,end]. ripple=True closes the gap left by those deleted items (shifts later clips left). It does NOT close a pre-existing empty gap: if no item overlaps the range, deleted=0 and nothing moves. (frames here are TIMELINE/record frames.) story_spine_report() -> {beats, track_summaries, source_ranges, audio_spine} create_variant_from_ranges(name, ranges, markers?, cdl?, dry_run?) -> {success, id, items} ranges[] take track_type? (video|audio) and track_index? (1-based, within the track_type, default 1); missing tracks are added, so V2/V3 multicam angles survive. # example: action_help(name='<action_name>') bulk_set_item_properties(ops, dry_run?, readback?) -> {results, op_count} # example: action_help(name='<action_name>') apply_look_to_items(target_ids, cdl?|copy_from_item_id?, dry_run?) -> {success} # example: action_help(name='<action_name>') thumbnail_contact_sheet(frames?|max_samples?, analysis_root?) -> {path, samples} frames are relative to the timeline start (frame 0 = first frame), like marker frameIds. marker_thumbnail_review(max_samples?, analysis_root?) -> {path, samples, review_guidance} edit_kernel_capabilities() -> {supported, partially_supported, unsupported} probe_edit_kernel_item(clip_ids? selected? timeline_item?) -> {items, count} title_property_scan(clip_id|timeline_item_id|timeline_item) -> {properties, text_key_candidates, fusion_comp_count, ...} — Undocumented generator/Text+ GetProperty map on an item (keys are not in public API docs). set_title_text(clip_id|..., text, property_key?, as_styled_xml?, try_plain_first?, try_heuristic_keys?, readback?) -> {success, property_key?, attempts} — SetProperty on a heuristic or explicit key; tries plain string then minimal styled XML unless as_styled_xml=True. # example: action_help(name='<action_name>') bulk_set_title_text(ops, ...) -> {results, op_count} — list of set_title_text payloads (same params per op). create_compound_clip(clip_ids, info?) -> {success} create_fusion_clip(clip_ids) -> {success} import_into_timeline(path, options?) -> {success} UNSAFE. No path sandboxing. Prefer import_timeline_checked. export(path, type, subtype?, background?) -> {success | job_id} — type: AAF, EDL, FCPXML, etc. UNSAFE. No path sandboxing. Prefer export_timeline_checked. get_setting(name?) -> {settings} set_setting(name, value) -> {success, known_limitation?} A refusal carries the api_truth entry for that key when one exists. insert_generator(name) -> {success} insert_fusion_generator(name) -> {success} insert_fusion_composition() -> {success} insert_ofx_generator(name) -> {success} insert_title(name) -> {success} insert_fusion_title(name) -> {success} get_unique_id() -> {id} get_node_graph() -> {available} get_media_pool_item() -> {name, id} get_transcript(with_timecodes?) -> {text, cue_count, has_subtitles, cues} Read the timeline's subtitle track(s) as transcript text. This is the TIMELINE subtitle transcript that propose_cuts consumes; it is separate from clip-level transcription (produced by transcribe_audio on a folder/clip, read via media_pool_item get_transcription), which does not drive timeline cuts. propose_cuts(cues?, long_pause_frames?) -> {cuts, cut_count, basis_cue_count, pass, note} DRY-RUN. Mechanically detect candidate cuts (filler words, long pauses, repeated lines) from the subtitle transcript. Proposes only; applies nothing. apply_cuts(cuts, dry_run?, confirm_token?, allow_partial_item_delete?) -> {applied, total, skipped, results} skipped lists cuts that were not applicable, each with a reason. Apply a CutList (from propose_cuts) as lift/ripple deletes. DRY-RUN by default; applying is DESTRUCTIVE — confirm-token gated and a timeline version is archived first. Cuts apply latest-first. get_mark_in_out() -> {mark} set_mark_in_out(mark_in, mark_out, type?) -> {success} clear_mark_in_out(type?) -> {success} convert_to_stereo() -> {success} get_items_in_track(track_type, track_index|index) -> {items} — alias of get_items get_voice_isolation_state(track_index) -> {isEnabled, amount} set_voice_isolation_state(track_index, state) -> {success} extract_source_frame_ranges(handles?, gap_max?, skip_extensions?) -> {timeline_name, frame_ranges, occurrences, ...} — Same logic as Pr/extract_timeline_frames.py get_resolve_api_frames: all video clips on the current timeline; clip name = basename of Media Pool File Path when set; skips audio extensions. source_range_final and frame_ranges tuples are inclusive/inclusive endpoints per that script. Default handles=24, gap_max=30. Use handles=0 for gap-only auto handles. conform_capabilities() -> {supported, partially_supported, unsupported, export_aliases} probe_timeline_structure(track_types?, include_markers?, include_clip_properties?) -> {tracks, markers} Each item reports source_start/source_end (SOURCE frames, end EXCLUSIVE) in the MEDIA's frame rate, the source_fps they are counted in, and source_start_seconds/source_end_seconds. Use the reported source_fps — a WAV freezes the PROJECT's rate at import, so it differs from the timeline whenever the project moved afterwards, and dividing by the timeline rate is then wrong by minutes. source_fps is null when the rate could not be read; treat the frames as unitless then, do not assume the timeline's. All four source_* fields are FILE-relative — frame 0 is the head of the media, whatever timecode the camera stamped on it. source_end is the span between Resolve's source second-readers anchored on source_start, so it is a source frame even when the rates differ and even on media with a non-zero start TC (those readers are timecode-absolute; the offset cancels in the span). It falls back to source_start + TIMELINE duration (unit-mixed) only when those readers or the rate are unavailable. detect_gaps_overlaps(track_types?, min_gap?) -> {gaps, overlaps} source_range_report(handles?, merge?) -> {ranges, occurrences} export_timeline_checked(path, format?|type?, subtype?, require_temp_path?, dry_run?, background?) -> {success, path, size | job_id} import_timeline_checked(path, options?, timeline_name?, import_source_clips?, sanitize_media?, require_temp_path?, dry_run?, background?) -> {success, name, id, media, sanitize?, warning? | job_id} Imports an FCP7 xmeml / FCPXML / AAF timeline. AAF (.aaf) is read natively by Resolve — the XML sanitize pass is SKIPPED for it (media relinks via the media pool, not by rewriting the file); a `note` says so. For AAF, passing relink_search_roots triggers a POST-import media-pool relink (RelinkClips against each root) — fuzzy-relink parity by a media-pool mechanism; the `relink` block reports before/after coverage. Premiere .prproj has no Resolve importer — refused with a message pointing to the advanced MCP's offline read + convert_to_interchange bridge (no Premiere needed). `media` reports {total, linked, offline} coverage; `warning` flags offline items. sanitize_media=True (recommended for Premiere/FCP exports) rewrites the XML first — dropping clipitems that reference MISSING media or are generators (slug/solid with no media file), both of which otherwise abort the scripting-API import and leave the whole timeline offline. Returns `sanitize` with the kept/removed breakdown. The original is only read; the sanitized copy goes to a temp dir (no require_temp_path needed when sanitizing). relink_search_roots (str|list) enables fuzzy relink: clips missing at their original path are matched against media under those roots (exact/ext-agnostic/ normalized/reel + IDF true-source) and their pathurl rewritten so they relink instead of being dropped. relink_min_confidence (default 0.7) gates matches; `sanitize.relinked` / `sanitize.ambiguous` report the outcome. verify_visually=True (or passing reference_movie) frame-checks each proposed relink against a reference (reference_movie at the clip's record position, else the offline proxy at the original path) using a brightness-robust SSIM-structure metric; a conflicting relink is VETOED — reverted and reported under `sanitize.flagged` for human review, never silently applied. verify_threshold (default 0.90) sets the structural-match bar. import_from_drp(drpPath, timelineNames?|timelineIndexes?, import_source_clips?, dry_run?) -> {success, selected, imported, available, results} Extract chosen timelines from a .drp (offline zip surgery → temp .drt each) and import each into the running Resolve. Omit the selector to import ALL. Enumerate first with the advanced MCP drt.list_sequences / editorial.list_sequences to get [{id, name, eventCount}] for a "which sequence?" picker. Requires Resolve open. compare_timelines(right_timeline_id?|right_timeline_index?|left_snapshot?, right_snapshot?) -> {match, differences} probe_interchange_roundtrip(format?, output_dir?, cleanup_imported?) -> {success, export, import, comparison} detect_missing_media(sanitized?|sanitize_paths?, omit_raw_paths?) -> {missing, missing_count, diagnosis} build_relink_plan(search_roots, max_depth?, max_seconds?, max_files_scanned?, skip_search_when_volume_missing?, sanitized?) -> {candidates, diagnosis} conform_boundary_report(...) -> {capabilities, timeline, gaps_overlaps, source_ranges, missing_media} audio_capabilities() -> {supported, partially_supported, unsupported} probe_audio_item(track_type?, track_index?, item_index?) -> {summary, audio_properties, source_audio_mapping} probe_audio_track(track_index?) -> {track_count, enabled, locked, sub_type, voice_isolation} safe_set_audio_properties(properties, restore?, dry_run?, track_type?, track_index?, item_index?) -> {success, results} audio_mix_capability_report(...) -> {capabilities, mix_recommendations} voice_isolation_capabilities(track_index?, track_type?, item_index?) -> {timeline_track, item} audio_mapping_report(clip_ids?) -> {timeline_items, media_pool_items} safe_auto_sync_audio(clip_ids|selected, settings?, dry_run?) -> {success} transcription_capabilities(clip_ids?|selected?) -> {clip_methods, folder} subtitle_generation_probe(settings?, allow_generate?) -> {success} fairlight_boundary_report(...) -> {capabilities, track, item, audio_mapping, transcription} For long-form per-action guidance and a worked example, call: timeline(action="action_help", params={"name": "<action>"})

action str params string
reveal_in_media_storage
annotations: none low

Reveal a file path in Resolve's Media Storage browser. Args: file_path: Absolute path to the file to reveal.

file_path str
render_presets
annotations: none low

Import/export render and burn-in presets. Actions: import_render(path) -> {success} export_render(name, path) -> {success} import_burnin(path) -> {success} export_burnin(name, path) -> {success} list_burnin() -> {presets} — Resolve 21.0.4+; burn-in preset names usable with the render tool's DataBurnIn setting and load_burnin_preset on project_settings / timeline_item delete_burnin(name) -> {success} — Resolve 21.0.4+

action str params string
project_manager
annotations: none low

Manage DaVinci Resolve projects. Actions: list() -> {projects} list_attributes() -> {projects: {name: {lastModifiedDate, creationDate, notes, liveCollaborationMode}}} — Resolve 21.0.4+. Per-project attributes for the current folder without loading any project. get_current() -> {name, id} create(name, media_location_path?) -> {success, name} load(name) -> {success} save() -> {success} close() -> {success} delete(name) -> {success} import_project(path, name?) -> {success} export_project(name, path, with_stills_and_luts?) -> {success} archive(name, path, src_media?, render_cache?, proxy_media?) -> {success} restore(path, name?) -> {success} project_capabilities() -> {capabilities} probe_project_lifecycle() -> {project_manager, ...} probe_project_settings(keys?, try_write?) -> {snapshot, candidate_settings} safe_project_create(name, media_location_path?, dry_run?) -> {success} safe_project_export(name, path, with_stills_and_luts?, dry_run?) -> {success} safe_project_import(path, name, dry_run?) -> {success} safe_project_archive(name, path, src_media=false, render_cache=false, proxy_media=false, dry_run?) -> {success} safe_project_restore(path, name, dry_run?) -> {success} safe_project_delete(name, close_current?, dry_run?) -> {success} safe_set_project_settings(settings, restore?, dry_run?) -> {success} project_settings_snapshot(name?) -> {project, settings, presets, ...} database_capabilities() -> {methods, current, databases} safe_set_current_database(db_info, dry_run?, allow_switch?) -> {success} preset_lifecycle_probe() -> {project_presets, render_presets, layout_presets, ...} project_boundary_report() -> {capabilities, project_manager, settings, database, presets, cloud} lint() -> {ok, counts, issues} — graded project health pre-flight (no project, no current timeline, mixed fps, empty timeline, render/color-science unset, offline media). diff_to_spec(spec_path|spec) -> {actions, diff, change_count} — preview drift vs a declarative spec WITHOUT mutating. Spec is YAML/JSON: {project, color_preset?, settings?, timelines:[{name,fps?,settings?,markers?}], hooks?}. plan_spec(spec_path|spec) -> {dry_run, actions, diff, change_count} — same as apply with dry_run. apply_spec(spec_path|spec, dry_run?, run_hooks?, continue_on_error?) -> {success, applied, failures} Reconcile the project toward the spec (idempotent: re-runs are no-ops). Color/HDR settings are applied in dependency order; markers only added if absent. Hooks run only when run_hooks=true (executes shell from the spec — opt-in).

action str params string
project_manager_folders
annotations: none low

Navigate and manage project folders in the Project Manager. Actions: list() -> {folders} get_current() -> {folder} create(name) -> {success} delete(name) -> {success} open(name) -> {success} goto_root() -> {success} goto_parent() -> {success}

action str params string
project_manager_cloud
annotations: none low

Cloud project operations (requires DaVinci Resolve cloud infrastructure). Actions: create(settings) -> {success} — settings: {CLOUD_SETTING_PROJECT_NAME, ...} load(settings) -> {success} import_project(path, settings) -> {success} restore(folder_path, settings) -> {success}

action str params string
project_manager_database
annotations: none low

Manage DaVinci Resolve project databases. Actions: get_current() -> {db_type, db_name} list() -> {databases} set_current(db_info) -> {success} — db_info: {DbType, DbName}

action str params string
project_settings
annotations: none low

Project metadata, settings, and color groups. Actions: get_name() -> {name} set_name(name) -> {success} get_setting(name?) -> {settings} — omit name for all settings set_setting(name, value) -> {success, known_limitation?} A refusal carries the api_truth entry for that key when one exists — several settings cannot be written from the API at all. get_unique_id() -> {id} get_presets() -> {presets} set_preset(name) -> {success} refresh_luts() -> {success} get_gallery() -> {available} export_frame_as_still(path) -> {success} project_summary(include_clips?, clip_limit?) -> {project, current_page, timeline_count, current_timeline, media_pool} Live structural readout — what's in this project right now (no analysis needed). load_burnin_preset(name) -> {success} insert_audio(media_path, start_offset?, duration?) -> {success} get_color_groups() -> {groups} add_color_group(name) -> {success, name} delete_color_group(name) -> {success} apply_fairlight_preset(preset_name) -> {success} generate_speech(speech_generation_settings, timecode?) -> {success, new, new_id} — Resolve 21+, AI Speech Generator; creates new audio media (confirm-gated) reset_intellisearch_analysis() -> {success} — Resolve 21+; clears the project's IntelliSearch analysis data

action str params string
render
annotations: none low

Render pipeline: jobs, presets, formats, codecs, and rendering. Actions: add_job() -> {job_id} delete_job(job_id) -> {success} delete_all_jobs() -> {success} list_jobs() -> {jobs} get_job_status(job_id) -> {status} start(job_ids?, interactive?) -> {success} stop() -> {success} is_rendering() -> {rendering} get_formats() -> {formats} get_codecs(format) -> {codecs} get_format_and_codec() -> {format, codec} set_format_and_codec(format, codec) -> {success} get_mode() -> {mode} set_mode(mode) -> {success} get_resolutions(format, codec) -> {resolutions} get_settings() -> {settings} (alias for set_render_settings with get) set_settings(settings) -> {success, ignored_settings?, warnings?} Resolve 21.0.4+ settings keys: UseFullExtents (bool), AddFrameHandles (int >= 0), DataBurnIn (burn-in preset name, "Same as project", or "None"). AddFrameHandles is ignored while UseFullExtents is true — the call still succeeds, so that pairing comes back in warnings rather than silently doing nothing. list_presets() -> {presets} load_preset(name) -> {success} save_preset(name) -> {success} delete_preset(name) -> {success} quick_export_presets() -> {presets} quick_export(preset, params?) -> {status} render_capabilities() -> {methods, formats, presets, quick_export_presets} probe_render_matrix(formats?, max_pairs?) -> {matrix, errors} probe_render_settings() -> {format_and_codec, mode, settings, jobs, is_rendering} validate_render_settings(settings, require_temp_target?) -> {valid, errors, unknown_keys} safe_set_render_settings(settings, dry_run?, restore?, require_temp_target?) -> {success, diff} prepare_render_job(target_dir, settings?, format?, codec?, custom_name?, from_preset?, dry_run?) -> {success, job_id} from_preset pins the base render state (LoadRenderPreset) before the explicit settings go on top. Without it the job inherits the Deliver page's loaded preset for every key not passed, which the API gives no way to read back — see the SetRenderSettings api_truth entry. render_job_lifecycle_probe(target_dir, settings?, format?, codec?, custom_name?) -> {success, job_id, status_before_delete} quick_export_capabilities() -> {presets, safe_params, guards} safe_quick_export(preset, target_dir?|params?, custom_name?, dry_run?, allow_render?) -> {success, status} export_render_boundary_report(include_matrix?, max_pairs?, include_quick_export?) -> {capabilities, settings, matrix?} list_delivery_targets(tier?, check_availability?) -> {targets, tiers, schema_version} resolve_delivery_target(target, overrides?) -> {format_id, codec_id, settings, qc_spec} prepare_delivery_job(target, target_dir, overrides?, settings?, custom_name?, dry_run?) -> {success, job_id, qc_spec} Delivery targets are named render intents (`prores422hq_master`, `youtube`, `tiktok`, ...). One definition emits both the Resolve render settings and an ffprobe-shaped QC spec, so the advanced server's `deliverable_qc` can verify a rendered file against the same intent that produced it. Format/codec are resolved against the live matrix, so an intent unavailable on this machine/license fails with the actual available lists.

action str params string
get_media_storage_subfolders
annotations: none low

Get subfolders in a given absolute folder path from Media Storage. Args: folder_path: Absolute path to the folder to list subfolders for.

folder_path str
set_project_name
annotations: none low

Rename the current project. Args: name: New name for the project.

name str
media_storage
annotations: none low

Browse storage volumes and import media into the Media Pool. Actions: get_volumes() -> {volumes} get_subfolders(path) -> {subfolders} get_files(path) -> {files} reveal(path) -> {success} import_to_pool(items) -> {imported} — simple: params.items is a list of absolute file/folder paths import_to_pool(item_infos) -> {imported} — positioned: params.item_infos is a list of {media, startFrame, endFrame} dicts per docs line 210. Mirrors MediaStorage.AddItemListToMediaPool([{itemInfo}, ...]). add_clip_mattes(clip_id, paths, stereo_eye?) -> {success} add_timeline_mattes(paths) -> {items}

action str params string
media_pool
annotations: none low

Manage the Media Pool: folders, clips, timelines, import/export. PREFER safe_* / probe_* / *_capabilities / *_boundary_report / *_checked variants where they exist. Raw mutators below do not validate paths, support dry_run, or normalize errors. Actions: get_root_folder() -> {name, id} get_current_folder() -> {name, id} set_current_folder(path) -> {success} — path like "Master/SubFolder" add_subfolder(name, parent_path?) -> {success, name, id} delete_folders(folder_ids) -> {success} DESTRUCTIVE. Deletes folders + every clip they contain. move_folders(folder_ids, target_path) -> {success} refresh() -> {success} create_timeline(name, if_exists?) -> {success, name, id} — if_exists: version (default), reuse, or fail create_timeline_from_clips(name, clip_ids, if_exists?) -> {success, name, id} — simple: params.clip_ids appends clips end-to-end into a new timeline create_timeline_from_clips(name, clip_infos, if_exists?) -> {success, name, id} — positioned: params.clip_infos is a list of {clip_id or media_pool_item_id, start_frame & end_frame (or startFrame/endFrame), record_frame/recordFrame}. record_frame is relative to the created timeline start frame by default; pass record_frame_mode="absolute" for raw Resolve recordFrame values. setup_multicam_timeline(name, clip_ids|angles, sync_mode?, include_audio?, dry_run?) -> {success} — creates a stacked multicam prep timeline: one angle per video track, optional matching audio tracks. Native multicam clip conversion remains a Resolve UI step. import_timeline(path, options?, background?) -> {success, name | job_id} UNSAFE. No path sandboxing. Prefer timeline.import_timeline_checked. delete_timelines(timeline_ids) -> {success} CATASTROPHIC. Deletes timelines outright. append_to_timeline(clip_ids) -> {success, count} — legacy: params.clip_ids only (appends at end / default placement) append_to_timeline(clip_infos) -> {success, count, items} — positioned: params.clip_infos is a list of {clip_id or media_pool_item_id, start_frame & end_frame (or startFrame/endFrame), record_frame/recordFrame, track_index/trackIndex (1-based), optional media_type/mediaType (1=video, 2=audio)}. record_frame is relative to the current timeline start frame by default; pass record_frame_mode="absolute" for raw Resolve recordFrame values. Returns timeline_item_id per item. import_media(paths) -> {imported} UNSAFE. No dry_run. Prefer safe_import_media. — simple: params.paths is a list of file/folder paths import_media(clip_infos) -> {imported} UNSAFE. No dry_run. Prefer safe_import_sequence. — image sequences: params.clip_infos is a list of {FilePath, StartIndex, EndIndex} dicts (PascalCase keys per Resolve docs). Example: [{"FilePath": "frame_%03d.dpx", "StartIndex": 1, "EndIndex": 100}] delete_clips(clip_ids) -> {success} DESTRUCTIVE. Removes clips from the Media Pool (does not touch source files). move_clips(clip_ids, target_path) -> {success} relink(clip_ids, folder_path) -> {success} UNSAFE. No dry_run. Prefer safe_relink. unlink(clip_ids) -> {success} UNSAFE. No dry_run. Prefer safe_unlink. export_metadata(path, clip_ids?) -> {success} get_unique_id() -> {id} create_stereo_clip(left_id, right_id) -> {success, name} auto_sync_audio(clip_ids, settings?) -> {success} get_selected() -> {clips} set_selected(clip_id) -> {success} get_clip_mattes(clip_id) -> {mattes} get_timeline_mattes(folder_path?) -> {mattes} delete_clip_mattes(clip_id, paths) -> {success} import_folder(path, source_clips_path?) -> {success} ingest_capabilities() -> {supported, partially_supported, unsupported} probe_media_pool(depth?) -> {media_pool_id, methods, root, current_folder, selected_clips} depth defaults to 1, max 4. Folders below the cutoff have truncated:true and a real subfolder_count; re-probe deeper or use folder.get_subfolders. probe_ingest_item(clip_ids? selected?) -> {items, count} safe_import_media(paths, target_folder?, dry_run?) -> {success, imported, clips} safe_import_sequence(FilePath|file_path|pattern, StartIndex?, EndIndex?, target_folder?, dry_run?) -> {success, imported, clips} safe_import_folder(path, source_clips_path?, dry_run?) -> {success} organize_clips(clip_ids|selected, target_path, create_missing?, dry_run?) -> {success} copy_metadata(source_clip_id, target_clip_ids, keys?, include_third_party?, dry_run?) -> {success, results} normalize_metadata(clip_ids|selected, metadata?, third_party_metadata?, dry_run?) -> {success, results} probe_clip_properties(clip_ids|selected) -> {items, count} metadata_field_inventory(clip_ids|selected, include_values?) -> {items, ui_group_names} safe_relink(clip_ids|selected, folder_path, dry_run?) -> {success} safe_unlink(clip_ids|selected, dry_run?) -> {success} check_proxy_media_compatibility(clip_id, proxy_path|path, expected_codec?, expected_profile?) -> {compatible, mismatches} link_proxy_checked(clip_id, proxy_path|path, dry_run?, check_compatibility?, require_compatible?, expected_codec?, expected_profile?) -> {success} link_full_resolution_checked(clip_id, path|full_res_media_path, dry_run?) -> {success} set_clip_marks(clip_ids|selected, mark_in, mark_out, type?, dry_run?) -> {success, results} clear_clip_marks(clip_ids|selected, type?, dry_run?) -> {success, results} copy_clip_annotations(source_clip_id, target_clip_ids, include_markers?, include_flags?, include_clip_color?, dry_run?) -> {success, results} media_pool_boundary_report(depth?, clip_ids?, selected?) -> {capabilities, media_pool, items?}

action str params string
folder
annotations: none low

Operations on Media Pool folders. Address a folder with `path` ("Master/SubFolder") or with `folder_id` (the id get_subfolders returns). Omit both for the current folder. An address that is supplied but does not resolve is an error — it never falls back to the current folder. Actions: get_clips(path?) -> {clips} — path like "Master/SubFolder", omit for current get_name(path?) -> {name} get_subfolders(path?) -> {subfolders} is_stale(path?) -> {stale} get_unique_id(path?) -> {id} export(path?, export_path) -> {success} transcribe_audio(path?, use_speaker_detection?, background?) -> {success | job_id} — use_speaker_detection is Resolve 21+; background=true returns a job_id (poll resolve_control job_status) clear_transcription(path?) -> {success} perform_audio_classification(path?) -> {success} — Resolve 21+ clear_audio_classification(path?) -> {success} — Resolve 21+ analyze_for_intellisearch(path?, identify_faces?, is_better_mode?) -> {success} — Resolve 21+, AI IntelliSearch Extra analyze_for_slate(path?, marker_color?) -> {success} — Resolve 21+, AI Slate ID Extra remove_motion_blur(path?, deblur_option?) -> {success, created} — Resolve 21+; renders NEW media (confirm-gated)

action str params string
media_pool_item
annotations: none low

Operations on a media pool clip. Identify clip by clip_id. Actions: get_name(clip_id) -> {name} get_metadata(clip_id, key?) -> {metadata} — key: one string, or a list of strings to get just that subset. Missing keys: the list form maps them to null (distinguishing absent from empty); the string form passes Resolve's own answer through unchanged, which is "" or null depending on the getter and build (get_clip_property returns null on Studio 19.1.3.7). set_metadata(clip_id, key, value) OR set_metadata(clip_id, metadata) -> {success} get_third_party_metadata(clip_id, key?) -> {metadata} — key: one string, or a list of strings to get just that subset. Missing keys: the list form maps them to null (distinguishing absent from empty); the string form passes Resolve's own answer through unchanged, which is "" or null depending on the getter and build (get_clip_property returns null on Studio 19.1.3.7). set_third_party_metadata(clip_id, key, value) -> {success} get_media_id(clip_id) -> {media_id} get_clip_property(clip_id, key?) -> {properties} — key: one string, or a list of strings to get just that subset. Missing keys: the list form maps them to null (distinguishing absent from empty); the string form passes Resolve's own answer through unchanged, which is "" or null depending on the getter and build (get_clip_property returns null on Studio 19.1.3.7). set_clip_property(clip_id, key, value) -> {success} get_clip_color(clip_id) -> {color} set_clip_color(clip_id, color) -> {success} clear_clip_color(clip_id) -> {success} link_proxy(clip_id, proxy_path) -> {success} unlink_proxy(clip_id) -> {success} replace_clip(clip_id, path) -> {success} set_name(clip_id, name) -> {success} link_full_resolution_media(clip_id, path) -> {success} monitor_growing_file(clip_id) -> {success} replace_clip_preserve_sub_clip(clip_id, path) -> {success} get_unique_id(clip_id) -> {id} transcribe_audio(clip_id, use_speaker_detection?, background?) -> {success | job_id} — use_speaker_detection is Resolve 21+; background=true returns a job_id (poll resolve_control job_status) clear_transcription(clip_id) -> {success} get_transcription(clip_id) -> {text, truncated, status, has_transcription} Read a clip's transcription. `truncated` flags when Resolve's preview property cut the text off (the full transcript is longer). Clip-level and separate from the timeline subtitle transcript (timeline.get_transcript) that propose_cuts uses. extract_frames(clip_id, timestamps, output_dir?) -> {frame_paths, output_dir, count, errors} Extract still JPEGs from the clip's source at the given timestamps (seconds) via ffmpeg. Source-safe: reads source, writes only to a scratch dir. perform_audio_classification(clip_id) -> {success} — Resolve 21+ clear_audio_classification(clip_id) -> {success} — Resolve 21+ analyze_for_intellisearch(clip_id, identify_faces?, is_better_mode?) -> {success} — Resolve 21+, AI IntelliSearch Extra analyze_for_slate(clip_id, marker_color?) -> {success} — Resolve 21+, AI Slate ID Extra remove_motion_blur(clip_id, deblur_option?) -> {success, new, new_id} — Resolve 21+; renders NEW media (confirm-gated) get_audio_mapping(clip_id) -> {mapping} get_mark_in_out(clip_id) -> {mark} set_mark_in_out(clip_id, mark_in, mark_out, type?) -> {success} clear_mark_in_out(clip_id, type?) -> {success} get_timeline(clip_id) -> {is_timeline, timeline: {name, unique_id?, start_frame?, end_frame?}} — Resolve 21.0.4+. Resolves a Media Pool timeline entry to its timeline object summary; is_timeline=false for ordinary clips. open_in_viewer(clip_id, page?, mark_in_seconds?, mark_out_seconds?, clear_marks?) -> {success, clip_id, clip_name, folder_name, page, mark_set} — Switches to Media page (default) and selects the clip in the bin. Resolve auto-loads the selected clip into the source viewer on Media page. Optional: pre-set Mark In/Out on the clip so a shot's time range is highlighted when it loads. NOTE: Source-viewer auto-load is undocumented in the Scripting API; verified empirically on Resolve Studio 20.3.2.9. If BMD changes the behavior the clip will still be selected — editor double-clicks to load.

action str params string
media_pool_item_markers
annotations: none low

Markers and flags on media pool clips. Identify clip by clip_id. Actions: add(clip_id, frame|frame_id|frameId, color?, name?, note?, duration?, custom_data?) -> {success, frame} get_all(clip_id) -> {markers} get_by_custom_data(clip_id, custom_data) -> {markers} update_custom_data(clip_id, frame|frame_id|frameId, custom_data) -> {success} get_custom_data(clip_id, frame|frame_id|frameId) -> {data} delete_by_color(clip_id, color) -> {success} delete_at_frame(clip_id, frame|frame_id|frameId) -> {success} delete_by_custom_data(clip_id, custom_data) -> {success} add_flag(clip_id, color) -> {success} get_flags(clip_id) -> {flags} clear_flags(clip_id, color) -> {success} set_name(clip_id, name) -> {success} link_full_resolution_media(clip_id, path) -> {success} monitor_growing_file(clip_id) -> {success} replace_clip_preserve_sub_clip(clip_id, path) -> {success}

action str params string
media_analysis
annotations: none low

Project-scoped media analysis and guarded metadata publishing. <when_to_use> - Lead any analysis flow with capabilities() + get_caps() to know what's available and what the current budget looks like. - For per-clip work: analyze_clip(clip_id=...). For bins/projects/timelines: analyze_bin, analyze_project, analyze_sequence (return job_id for long runs). - Vision uses host_chat_paths: analyze returns frame_paths + JSON schema; the host reads frames, produces JSON, then calls commit_vision to merge. - For caps refusal recovery: set_caps_preset (preset=generous|unlimited) or wait for day rollover. </when_to_use> <returns> capabilities -> {tools, transcription, vision} get_caps -> {preset, caps, presets_available, usage?} set_caps_preset -> {success, preset, overrides} plan -> {clips, artifacts, estimated_seconds} analyze_clip|file -> {clips, manifest: {success, clip_count, successful_clip_count, failed_clip_count, partial_success?, caps_refusal_clip_count?, clips: [...], error?}} analyze_bin|project|sequence -> {job_id, status, clips, manifest, ...} commit_vision -> {analysis_json, marker_plan_json, metadata_publish} summarize -> {clips_summarized, summary, provenance: {source_reports, missing_reports}} review_timeline_markers -> {path, samples, vision_review?} start_batch_job -> {job_id, status} batch_job_status -> {job_id, status, progress, recent_events, clip_states} All actions may return {"error": {code, category, retryable, message, remediation, reason?}}. Errors with code=CAPS_REFUSAL also carry a `caps_refusal` block at the clip level and a `caps_refusal_clip_count` aggregate at the manifest level. </returns> Actions: capabilities() -> {tools, transcription, vision} install_guidance() -> {missing} — guidance only; never installs anything get_caps(clip_id?, job_id?) -> {preset, caps, presets_available, usage?} — effective caps + usage rollup (vision tokens consumed per scope, percent of budget). set_caps_preset(preset, overrides?) -> {success, preset, overrides} — preset is minimal | standard | generous | unlimited. Overrides is a dict of {field: int|"unlimited"} that wins over the preset. get_usage(scope?, scope_key?, clip_id?, job_id?) -> {scope, usage} — raw usage rollup for one scope (clip | job | day). get_resolve_ai_usage(session_only?, op?, limit?) -> {summary, recent} — ledger of Resolve 21 local AI ops (audio classification, IntelliSearch, slate, motion-deblur, speech). Tracks invocations, wall-clock, and files/bytes created by the two media-creating ops. Separate from get_caps/get_usage (those meter Claude-side tokens; these ops don't spend them). get_ai_governance() -> {tier, mode, thresholds, usage, tiers_available} — governance tier (off|lenient|standard|strict) for the media-creating AI ops vs this session's render usage. mode is advisory (default; preview warnings only) or enforce (over-tier runs are blocked). set_ai_governance(preset?, mode?, overrides?) -> {success, tier, mode, overrides} — set the tier, the mode (advisory|enforce), and/or overrides (deblur_runs, speech_runs, render_bytes, render_wall_clock_ms; int or "unlimited"). In enforce mode a blocked run returns GOVERNANCE_BLOCKED; pass override_governance=true on the op to consciously exceed the tier once. resolve_output_root(analysis_root?, source_paths?) -> {project_root} plan(target, depth?, analysis_root?, transcription?, vision?, dry_run?) -> {clips, artifacts} analyze_file(path|file_path, dry_run?, session_only?, persist?, prefer_handle?|background?|async_job?) -> {clips, manifest} | {success, job, plan, running, note} when async analyze_clip(clip_id|selected, dry_run?, session_only?, persist?, prefer_handle?|background?|async_job?) -> {clips, manifest} | {success, job, plan, running, note} when async analyze_bin(path|bin_path, recursive?, dry_run?, session_only?, persist?, prefer_handle?|background?|async_job?) -> {clips, manifest} | {success, job, plan, running, note} when async analyze_project(recursive?, dry_run?, session_only?, persist?, prefer_handle?|background?|async_job?) -> {clips, manifest} | {success, job, plan, running, note} when async analyze_sequence(timeline_index?, track_types?, dry_run?, session_only?, persist?, prefer_handle?|background?|async_job?) -> {clips, manifest} | {success, job, plan, running, note} when async analyze_timeline(...) -> alias for analyze_sequence on the current timeline -- async opt-ins on the analyze_* actions above. Both reroute to start_batch_job and return its {success, job, plan} envelope — the id is job.job_id, NOT a top-level job_id — plus `running` and a `note` naming the next call. They differ in what happens next: prefer_handle=true job is created and left queued; nothing runs until you call run_batch_job_slice yourself. Unchanged contract. background|async_job=true job is created AND driven to completion off-thread, matching what `background` means on every other tool here. Poll batch_job_status until status is completed / completed_with_errors / canceled. An explicit dry_run=true still returns the synchronous plan and starts nothing. A dry_run that came from the dry_run_first_default preference does not override an explicit async request. detect_sync_events(paths?|target?, event_types?, windows?) -> {files, alignment} add_sync_event_markers(target?|paths?|detections?, confirm?) -> {added, skipped} publish_clip_metadata(target?, fields?, slate_detection?, timed_markers?|write_markers?, dry_run?, confirm?) -> {results} commit_vision(clip_id|file_path|clip_dir, visual, vision_token?, analysis_root?, publish_metadata?, dry_run?, confirm?) -> {analysis_json, marker_plan_json, metadata_publish} review_timeline_markers(max_samples?, analysis_root?, vision?) -> {path, samples, vision_review?} summarize(analysis_root?) -> project summary from existing clip reports get_report(report_path?) -> load manifest or a report under the analysis root build_index(analysis_root?) -> rebuild the single-user SQLite index from existing reports index_status(analysis_root?) -> summarize index path, size, and row counts query_index(query, limit?, result_types?) -> search clips, markers, and transcripts start_batch_job(target, depth?, ...) -> create a durable slice-runnable analysis job; target may be selected, bin, project, sequence, file, or {type:"clips", clip_ids:[...]} run_batch_job_slice(job_id, max_clips?, max_seconds?) -> process a bounded job slice and refresh the index after successful clips batch_job_status(job_id) -> progress, recent events, and clip states list_batch_jobs() -> recent durable analysis jobs cancel_batch_job(job_id) -> stop future slices resume_batch_job(job_id) -> requeue a canceled or interrupted job cleanup_artifacts(frames_only=true) -> remove generated frame artifacts only strata_status(clip_id?) -> perception-strata inventory (events/curves/words/story beats) for the project or one clip backfill_words(analysis_root?) -> promote word timestamps from stored report blobs into transcript_words rows strata_run(clip_id, analyzers?) -> run local strata analyzers (prosody | beat_grid | motion_energy | face) on one clip; default = whatever this machine can run take_diff(clip_a, clip_b, text?) -> align two takes on transcript words and diff their delivery (pace, pauses, pitch, energy) — measures only, never picks cut_candidates(clip_id, time_seconds, window_seconds?, fps?, limit?) -> rank cut frames around an intended joint with reasons (blink/pause/word-gap/breath/beat/motion) — aims, never decides strata_query(clip_id?, start_seconds?, end_seconds?, match_word?, context_seconds?, include_curve_values?, limit?) -> cross-track window bundle for a clip, or project-wide word find with joined context per hit timeline_strata(timeline_name, timeline_version?, record_start_frame?, record_end_frame?, fps?) -> project clip strata through a timeline's recorded placements (whole-clip bundles; frames are absolute record frames incl. start-timecode offset; fps defaults to the snapshot's stored value; source-offset mapping needs the live item) plan_story_beats(clip_id) -> timecoded transcript digest + prosody evidence + JSON schema for the host model to segment into story beats (no LLM call server-side) commit_story_beats(clip_id, beats, source_model?) -> validate + persist host-produced story beats; machine commits supersede machine rows only, human rows always win list_story_beats(clip_id) -> current (non-superseded) story beats for a clip Analysis outputs stay under a davinci-resolve-mcp-analysis project root and are validated so they are never written beside source media. Executed Resolve-target analysis defaults to execution, persisted inspectable artifacts, metadata writeback, and Media Pool clip markers unless disabled. The SQLite index is a single-user derived cache stored beside the JSON reports; it stores text/metadata only, never sampled image bytes. Batch jobs are single-user operational state stored beside the analysis root; each slice exits cleanly so agents can poll progress without spending tokens on long media processing. Executed Resolve-target analysis writes metadata and Media Pool clip markers by default; pass dry_run=true, publish_metadata=false, or timed_markers=no to disable writeback. If ask_before_metadata_publish is enabled, publish_clip_metadata returns a confirmation prompt until confirm=true. Vision uses host_chat_paths by default: analyze actions return a deferred payload with absolute frame_paths and a JSON schema. The host chat reads each frame as a local image, produces JSON per the schema, and calls media_analysis(action="commit_vision", params={clip_id, visual, vision_token}) to merge the result, rebuild Media Pool clip markers, and publish vision-dependent metadata to Resolve. Works with any MCP client whose chat model is vision-capable; no sampling/createMessage support required.

ctx string action str params string
timeline_versioning
annotations: none low

Timeline version-on-mutate, archive, rollback, and brain-edit history (C6). Every destructive timeline op auto-archives the working timeline to the Archive bin under an analysis_run_id; these actions let you inspect and control that. Actions: begin_run(label?, initiator?, analysis_run_id?) -> {success, analysis_run_id, label, initiator, started_at} Open a run. Subsequent destructive calls without an explicit analysis_run_id auto-thread this one — so a multi-step brain operation creates ONE archive instead of N. Pair with end_run to capture the cumulative metric delta. end_run(analysis_run_id?) -> {success, analysis_run_id, ended_at, summary} Close the active run (or a specific one). Aggregates brain_edits into per-metric rollup in analysis_runs.summary_json. list_runs(limit?) -> {success, runs} Recent runs with their summaries, newest first. archive_current(reason?, analysis_run_id?) -> {success, timeline_name, archived_timeline_name, version, archive_bin, row_id} Manually checkpoint the current timeline. If analysis_run_id is supplied and that run already archived the current timeline, this is a no-op. list_versions(timeline_name) -> [{version, archived_timeline_name, created_at, ...}] Version chain for `timeline_name`, oldest first. Includes any retention- collapsed versions (drt_export_path populated). diff_timelines(from_timeline, to_timeline) -> {added, removed, moved, trimmed, summary} Structural diff between two LIVE timelines by name (read-only; no archived versions needed). Built for edit-engine variants — tighten/ selects produce new-name timelines with no shared version chain. get_history(timeline_name?, analysis_run_id?, limit?) -> [{edit_type, target_metric, before_value, after_value, delta, ...}] Brain-edit history. Filter by timeline_name or analysis_run_id; defaults to the most recent 50 across the project. rollback(timeline_name, version, analysis_run_id?) -> {success, restored_timeline_name, archive_of_previous} Restore an archived version. Archives current state first; restored copy gets a "_rolled_back_<HHMMSS>" suffix. prune(timeline_name, keep_n=10) -> {success, pruned, kept, details} Collapse old versions to .drt exports under _soul/timeline_versions/<slug>/, delete the archived timeline from the bin, keep the DB row for rollback. registry() -> {entries, registry_path} Read the cross-project brain_edits registry that lives one level above each project root (analogous to analysis_registry.json).

action str params string
edit_engine
annotations: none low

Evidence-driven edit loops (Phase E): selects assembly, tighten, swap. Every loop is plan → confirm → execute. plan_* actions are dry-run by construction: they query the DB-canonical analysis store and return a per-decision rationale plus a stored plan_id. execute_* actions require a confirm_token, run under the version-on-mutate hook (the timeline is archived first), and return before/after metrics as readback. Actions: - plan_selects(min_select_potential?, max_duration_seconds?, timeline_name?, max_shots?, handle_seconds?, analysis_root?) — rank shots by deep-tier select potential (clip-level fallback), story-spine order. Additive. - execute_selects(plan_id, confirm_token?) — creates a NEW selects timeline from the plan's clip in/out ranges. Nothing existing is touched. - plan_tighten(timeline_name?, target_ratio?, min_pause_seconds?, handle_seconds?, include_audio?) — dead-air lifts from transcript-gap evidence for the current (or named) timeline. Kept ranges mirror onto the items' linked audio tracks by default so the variant is audible; pass include_audio=false for a video-only (silent) assembly. - execute_tighten(plan_id, confirm_token?, include_details?) — assembles a tightened VARIANT timeline from the plan's keep ranges (video + mirrored audio), never mutating the original. Readback includes an audio_accounting block and a compact structural_diff (counts + a small sample); the full per-item diff is persisted in the plan record (get_plan → execution_summary) and returned inline only when include_details=true. - plan_silence_ripple(timeline_name?, track_index?, threshold_db?, min_strip_frames?, pre_head_frames?, post_tail_frames?, include_audio?) — waveform silence strips via ffmpeg silencedetect (Resolve's Ripple Delete Silence parity). Items without readable file paths ride along whole (reported in skipped). - execute_silence_ripple(plan_id, confirm_token?, include_details?) — same variant assembly as execute_tighten; original timeline untouched. - plan_swap(track_index?, timeline_start_frame | item_name, kind?, limit?) — alternates for one timeline item via the similarity index. - execute_swap(plan_id, alternate_index, confirm_token?) — replaces the item in place (lift + positioned append, same slot) on the current timeline (version-archived first). - list_plans(limit?) / get_plan(plan_id)

action str params string
timeline_markers
annotations: none low

Markers and playhead operations on the current timeline. Marker frames are RELATIVE to the timeline start: frame 0 is the first frame of the timeline, even when the timeline starts at 01:00:00:00. Marker timecode params are absolute timeline timecode as shown in the Resolve UI (timecodes before the start timecode are treated as elapsed time) and are converted to relative frames automatically. set_current_timecode accepts the same convention: elapsed timecodes below the start timecode are lifted to absolute before calling Resolve, which itself refuses sub-start timecodes with a bare False. Actions: add(frame|frame_id|frameId|timecode?, color?, name?, note?, duration?, custom_data?) -> {success, frame} If frame/timecode is omitted, add uses the current playhead timecode. get_all() -> {markers} get_by_custom_data(custom_data) -> {markers} update_custom_data(frame|frame_id|frameId|timecode, custom_data) -> {success} get_custom_data(frame|frame_id|frameId|timecode) -> {data} delete_by_color(color) -> {success} delete_at_frame(frame|frame_id|frameId|timecode) -> {success} delete_by_custom_data(custom_data) -> {success} get_current_timecode() -> {timecode} set_current_timecode(timecode) -> {success} get_current_video_item() -> {name, id} get_thumbnail() -> {thumbnail} get_thumbnail_image() -> MCP image content for the current Color-page frame annotation_capabilities() -> {scopes, marker_colors, frame_aliases} probe_annotations(scope?, ...) -> {scopes, count} normalize_marker_payload(frame|timecode?, color?, name?, note?, duration?, custom_data?) -> {marker} copy_annotations(source={scope,...}, target={scope,...}, include_flags?, include_clip_color?) -> {success} move_annotations(source={scope,...}, target={scope,...}) -> {success} sync_marker_custom_data(scope?, frame|timecode, custom_data, ...) -> {success} clear_annotations_by_scope(scope?, color?, custom_data?, all?, clear_flags?, clear_clip_color?) -> {success} export_review_report(scope?, include_capabilities?) -> {title, annotations, capabilities?} annotation_boundary_report(scope?) -> {capabilities, annotations}

action str params string
timeline_frame
annotations: none low

See what Resolve is rendering — capture a timeline frame as a viewable image. <when_to_use> - Verifying anything visual: title placement and safe area, framing, a grade, a Fusion comp, a transition, an artefact. Read the frame instead of inferring from metadata. - Confirming an edit landed where you meant it — capture at the cut timecode. - Before and after a change, at the same timecode, to show what moved. </when_to_use> Captures Resolve's processed output — grade, Fusion, titles, transitions — not the source file. For the raw camera file use media_analysis(action="extract_frames"). Actions: capture(timecode?|frame?, quality?, max_width?, format?, timeline_name?) -> MCP image content capabilities() -> {quality_modes, ffmpeg, render_settings_restorable, ...} capture parameters: timecode Absolute ('01:00:15:12') or elapsed ('00:00:15:12') timeline timecode. Omit to capture the current playhead. frame Alternative to timecode: absolute timeline frame number. quality 'frame' (default) renders exactly that frame — the only frame-accurate route, full resolution, ~1s, works headless. 'preview' is the same render bounded to max_width 1280. 'thumbnail' is instant and touches nothing, but returns the CLIP's thumbnail (see below). 'still' uses a Gallery still. max_width Cap the width in pixels to conserve context. Needs ffmpeg on the render path; without it the call fails rather than quietly returning a full-size frame. format jpg (default), png, or tif. timeline_name Capture from a different timeline; it is made current for the read and the original is restored afterwards. Choosing a quality — the trade-off is accuracy against side effects: 'frame'/'preview' Frame-exact. Renders one frame, so it changes project-level render settings. Format and codec are restored; TargetDir, CustomName and the mark range cannot be read back on builds without GetRenderSettings, so they are reset to the full timeline rather than truly restored. Refuses while another render is running. 'thumbnail' Changes nothing and returns instantly, but it is NOT frame accurate: GetCurrentClipThumbnailImage returns the clip's thumbnail, identical for every frame of that clip (measured on Studio 19.1.3.7). Use it to see which clip is under the playhead, never to judge a specific frame. It also needs the Color page AND Resolve frontmost, or it returns nothing. 'still' Full-resolution Gallery still. Requires the Gallery panel to be open on the Color page — no scripting call can open it, so this fails with a bare refusal when it is closed. The playhead, the Color page, the current timeline and the Gallery are all restored; a capture is a read of the picture, not an edit of the cut.

action str params string
timeline_ai
annotations: none low

AI and analysis operations on the current timeline. Actions: create_subtitles(settings?, background?) -> {success | job_id} — auto-caption from audio. These are long ops: background=true returns a job_id immediately; poll resolve_control(action="job_status", params={"job_id": ...}). detect_scene_cuts(background?) -> {success | job_id} analyze_dolby_vision(clip_ids?, analysis_type?, background?) -> {success | job_id} grab_still() -> {success} grab_all_stills(source?) -> {count}

action str params string
timeline_item
annotations: none low

Properties, transforms, speed, keyframes, and metadata for a timeline item. Identify by track_type, track_index, item_index (item_index is 0-BASED: 0 = first clip; track_index is 1-based). Actions: get_name(track_type?, track_index?, item_index?) -> {name} get_property(key?, ...) -> {properties} set_property(key, value, ...) -> {success} get_duration(...) -> {duration} get_start(...) -> {start} get_end(...) -> {end} get_source_start_frame(...) -> {frame} get_source_end_frame(...) -> {frame} get_source_start_time(...) -> {time} get_source_end_time(...) -> {time} get_left_offset(...) -> {offset} get_right_offset(...) -> {offset} set_clip_enabled(enabled, ...) -> {success} get_clip_enabled(...) -> {enabled} update_sidecar(...) -> {success} get_unique_id(...) -> {id} get_media_pool_item(...) -> {name, id} get_stereo_convergence(...) -> {values} get_stereo_left_window(...) -> {params} get_stereo_right_window(...) -> {params} get_linked_items(...) -> {items} get_track_type_and_index(...) -> {track_type, track_index} get_source_audio_mapping(...) -> {mapping} load_burnin_preset(name, ...) -> {success} set_name(name, ...) -> {success} get_voice_isolation_state(...) -> {state} set_voice_isolation_state(state, ...) -> {success} get_retime(...) -> {process, motion_estimation} set_retime(process?, motion_estimation?, ...) -> {success} — process: nearest, frame_blend, optical_flow (or 0-3); motion_estimation: 0-6 get_transform(...) -> {Pan, Tilt, ZoomX, ZoomY, RotationAngle, ...} set_transform(Pan?, Tilt?, ZoomX?, ZoomY?, RotationAngle?, AnchorPointX?, AnchorPointY?, Pitch?, Yaw?, FlipX?, FlipY?, ...) -> {success} get_crop(...) -> {CropLeft, CropRight, CropTop, CropBottom, CropSoftness, CropRetain} set_crop(CropLeft?, CropRight?, CropTop?, CropBottom?, CropSoftness?, CropRetain?, ...) -> {success} get_composite(...) -> {Opacity, CompositeMode} set_composite(Opacity?, CompositeMode?, ...) -> {success} get_audio(...) -> {Volume, Pan, AudioSyncOffset, ...} set_audio(Volume?, Pan?, ...) -> {success} get_keyframes(property, ...) -> {property, count, keyframes} add_keyframe(property, frame, value, ...) -> {success} modify_keyframe(property, frame, new_value?, new_frame?, ...) -> {success} delete_keyframe(property, frame, ...) -> {success} set_keyframe_interpolation(property, frame, interpolation, ...) -> {success} — Linear, Bezier, EaseIn, EaseOut, EaseInOut Default: track_type="video", track_index=1, item_index=0

action str params string
timeline_item_markers
annotations: none low

Markers, flags, and clip color on timeline items. Identify by track_type, track_index, item_index (item_index is 0-BASED: 0 = first clip; track_index is 1-based). Actions: add(frame|frame_id|frameId, color?, name?, note?, duration?, custom_data?, ...) -> {success, frame} get_all(...) -> {markers} get_by_custom_data(custom_data, ...) -> {markers} update_custom_data(frame|frame_id|frameId, custom_data, ...) -> {success} get_custom_data(frame|frame_id|frameId, ...) -> {data} delete_by_color(color, ...) -> {success} delete_at_frame(frame|frame_id|frameId, ...) -> {success} delete_by_custom_data(custom_data, ...) -> {success} add_flag(color, ...) -> {success} get_flags(...) -> {flags} clear_flags(color, ...) -> {success} get_clip_color(...) -> {color} set_clip_color(color, ...) -> {success} clear_clip_color(...) -> {success} Default: track_type="video", track_index=1, item_index=0

action str params string
timeline_item_fusion
annotations: none low

Fusion composition operations on timeline items. Identify by track_type, track_index, item_index (item_index is 0-BASED: 0 = first clip; track_index is 1-based). Actions: add_comp(...) -> {success} get_comp_count(...) -> {count} get_comp_names(...) -> {names} get_comp_by_name(name, ...) -> {available} get_comp_by_index(index, ...) -> {available} export_comp(path, index, ...) -> {success} import_comp(path, ...) -> {success} delete_comp(name, ...) -> {success} load_comp(name, ...) -> {success} rename_comp(old_name, new_name, ...) -> {success} get_cache_enabled(...) -> {enabled} — Fusion output cache status set_cache(value, ...) -> {success} — value: "Auto", "On", or "Off" Default: track_type="video", track_index=1, item_index=0

action str params string
timeline_item_color
annotations: none low

Color grading, versions, LUTs, cache, and AI tools on timeline items. Identify by track_type, track_index, item_index (item_index is 0-BASED: 0 = first clip; track_index is 1-based). <when_to_use> - For ANY grade recommendation, lead with action="grade_evidence_base" — composes version_snapshot + node_graph + color_group + coverage_report into one line. - For batch matching, use bulk_match_to_hero (returns confirm_token; dry_run first). - To formalize a recommendation, use propose_grade — validated structured output. - PREFER safe_*/probe_*/*_capabilities/*_boundary_report variants over raw mutators. </when_to_use> <returns> grade_evidence_base -> {evidence_base: str, structured: {coverage, version_snapshot, node_graph, color_group, warnings}} bulk_match_to_hero -> {hero, proposals: [{target_id, name, proposed_cdl|copy_source, warnings}], blocked: [...], confirm_token?} propose_grade -> {accepted: bool, validation, plan_id?, preview_path?, error?} safe_set_cdl -> {success, validation, normalized} safe_copy_grade -> {success, targets, missing} safe_apply_drx -> {success, path, source} # first call may return confirm_token grade_capabilities -> {item_methods, graph_sources, lut_export_types, guards} grade_boundary_report -> {capabilities, item, color_groups, gallery} All actions may return {"error": {code, category, retryable, message, remediation, reason?}}. </returns> PREFER the safe_* / probe_* / *_capabilities / *_boundary_report variants. They validate inputs, support dry_run, and return structured errors. Raw actions are kept for advanced callers but bypass guardrails. Read-only / boundary actions (safe to call any time): grade_evidence_base(include_coverage?, max_nodes?, ...) -> {evidence_base, structured, warnings} PREFERRED PRE-FLIGHT for any color recommendation. Composes version_snapshot + node_graph + color_group + coverage_report into one one-line `evidence_base` summary. Lead your response with the `evidence_base` line. # example: action_help(name='<action_name>') grade_capabilities(...) -> {item_methods, graph_sources, lut_export_types, guards} probe_grade_item(...) -> {methods, versions, node_graph, color_group, cache} probe_node_graph(source?, max_nodes?, ...) -> {available, num_nodes, nodes} grade_version_snapshot(...) -> {current, local, remote} color_group_capabilities(...) -> {count, groups} gallery_capabilities(...) -> {available, still_albums, power_grade_albums} grade_boundary_report(...) -> {capabilities, item, color_groups, gallery} get_current_version(...) -> {version} get_version_names(type?, ...) -> {names} get_node_graph(layer_index?, ...) -> {available} get_color_group(...) -> {name} get_color_cache(...) -> {enabled} get_fusion_cache(...) -> {enabled} Guarded mutators (PREFERRED for grade work): safe_set_cdl(cdl, dry_run?, ...) -> {success, validation, normalized} Validates input, supports dry_run, returns normalized CDL. Use this for primary corrections. # example: action_help(name='<action_name>') safe_copy_grade(target_ids, dry_run?, ...) -> {success, targets, missing} Copies grade to N items; dry_run reports targets without mutating. # example: action_help(name='<action_name>') safe_apply_drx(path, source?, grade_mode?, require_temp_path?) -> {success} REPLACES the target graph. Captures a version snapshot first; require_temp_path defaults True. # example: action_help(name='<action_name>') safe_export_lut(type?, path, require_temp_path?) -> {success, path, size} Sandboxed LUT export. grade_version_restore(name, type?, dry_run?, ...) -> {success} Raw mutators (UNSAFE direct mutation — prefer the safe_* sibling): set_cdl(cdl, ...) -> {success} UNSAFE. No validation; no dry_run. Prefer safe_set_cdl. copy_grades(target_ids, ...) -> {success} UNSAFE. No target existence check. Prefer safe_copy_grade. export_lut(type, path, ...) -> {success} UNSAFE. No path sandboxing. Prefer safe_export_lut. reset_all_node_colors(...) -> {success} DESTRUCTIVE. Erases per-node color labels on the item's graph. add_version(name, type?, ...) -> {success} — type: 0=local, 1=remote load_version(name, type?, ...) -> {success} rename_version(old_name, new_name, type?, ...) -> {success} delete_version(name, type?, ...) -> {success} DESTRUCTIVE. Deletes a named grade version. assign_color_group(group_name, ...) -> {success} remove_from_color_group(...) -> {success} set_color_cache(enabled, ...) -> {success} set_fusion_cache(enabled, ...) -> {success} stabilize(...) -> {success} smart_reframe(...) -> {success} create_magic_mask(mode, ...) -> {success} — mode: "F" forward, "B" backward, "BI" bidirectional regenerate_magic_mask(...) -> {success} Default: track_type="video", track_index=1, item_index=0 For long-form per-action guidance and a worked example, call: timeline_item_color(action="action_help", params={"name": "<action>"})

action str params string
timeline_item_takes
annotations: none low

Take management on timeline items. Identify by track_type, track_index, item_index (item_index is 0-BASED: 0 = first clip; track_index is 1-based). Actions: add(clip_id, start_frame?, end_frame?, ...) -> {success} get_count(...) -> {count} get_selected_index(...) -> {index} get_by_index(index, ...) -> {take} select(index, ...) -> {success} delete(index, ...) -> {success} finalize(...) -> {success} Default: track_type="video", track_index=1, item_index=0

action str params string
gallery
annotations: none low

Gallery album management. Actions: get_album_name(album_index?) -> {name} set_album_name(name, album_index?) -> {success} get_current_album() -> {available} set_current_album(album_index) -> {success} get_still_albums() -> {albums} get_power_grade_albums() -> {albums} create_still_album() -> {success} create_power_grade_album() -> {success} album_index is 0-based into the still albums list.

action str params string
get_media_storage_files
annotations: none low

Get media and file listings in a given absolute folder path from Media Storage. Args: folder_path: Absolute path to the folder to list files for.

folder_path str
gallery_stills
annotations: none low

Manage stills in gallery albums (best results on Color page). Actions: get_stills(album_index?) -> {count} get_label(still_index, album_index?) -> {label} set_label(still_index, label, album_index?) -> {success} import_stills(paths, album_index?) -> {success} export_stills(folder_path, prefix?, format?, album_index?) -> {success} grab_and_export(folder_path, prefix?, format?, album_index?, delete_after?, cleanup?) -> {files} delete_stills(still_indices, album_index?) -> {success} album_index defaults to current album. still_index is 0-based. format for export: dpx, cin, tif, jpg, png, ppm, bmp, xpm, drx (default: dpx). grab_and_export grabs a still from the current frame and exports it immediately, keeping the live GalleryStill reference (more reliable than separate grab + export). Requires Color page. Automatically produces a companion .drx grade file. File data is inlined in the response (DRX as text, images as base64). cleanup (default true) deletes the exported files after inlining. Only files this call produced are ever removed: the export goes to a private staging directory inside folder_path, so anything else written there meanwhile is untouched, and folder_path itself is removed only if this call created it and left it empty. With cleanup false the files are moved up into folder_path without overwriting anything already there.

action str params string
graph
annotations: none low

Node graph operations (color grading nodes). Source can be timeline, timeline item, or color group. PREFER timeline_item_color.probe_node_graph / safe_apply_drx for inspection and replacement. These raw graph actions do not capture a version snapshot before mutating. Read-only: get_num_nodes(source?, ...) -> {count} get_lut(node_index, source?, ...) -> {lut} get_node_cache(node_index, source?, ...) -> {cache} get_node_label(node_index, source?, ...) -> {label} get_tools_in_node(node_index, source?, ...) -> {tools} Mutators (UNSAFE — bypass grade-version snapshot; prefer timeline_item_color.safe_* where available): set_lut(node_index, lut_path, source?, ...) -> {success} UNSAFE. Assigns a LUT to an existing node. No snapshot/dry_run. set_node_cache(node_index, cache_value, source?, ...) -> {success} set_node_enabled(node_index, enabled, source?, ...) -> {success} apply_grade_from_drx(path, grade_mode?, source?, ...) -> {success} CATASTROPHIC. REPLACES the entire node graph. Prefer timeline_item_color.safe_apply_drx (confirm-token gated + validated; it does NOT snapshot — grab a still/.drx backup first, and ALWAYS pass track_type/track_index/item_index explicitly: the default target is video track 1 item 0, not the current clip). All grade_modes are full replacement — there is no append mode. Same-structure applies keep the existing node layout (positions in the .drx are ignored unless the graph differs, e.g. after reset_all_grades). grade_mode: 0="No keyframes" (default), 1="Source Timecode aligned", 2="Start Frames aligned" apply_arri_cdl_lut(source?, ...) -> {success} DESTRUCTIVE. Bakes a CDL LUT into the graph. reset_all_grades(source?, ...) -> {success} CATASTROPHIC. Wipes the entire grade on the source. source: "timeline" (default), "item" (needs track_type/track_index/item_index), "color_group_pre"/"color_group_post" (needs group_name) For long-form per-action guidance and a worked example, call: graph(action="action_help", params={"name": "<action>"})

action str params string
color_group
annotations: none low

Manage color groups and their node graphs. Actions: list() -> {groups} get_name(group_name) -> {name} set_name(group_name, new_name) -> {success} get_clips(group_name) -> {clips} get_pre_clip_graph(group_name) -> {available, num_nodes} get_post_clip_graph(group_name) -> {available, num_nodes}

action str params string
fusion_comp
annotations: none low

Fusion composition node graph operations. Target comp: - Timeline item: pass clip_id, timeline_item_id, or timeline_item={track_type, track_index, item_index}. Optional comp_name or 1-based comp_index selects a specific comp; otherwise the first comp is used. - Fusion page: omit timeline scope and this uses Fusion().GetCurrentComp(). Use timeline_item_fusion to add/delete/import/export comps on items. Actions: add_tool(tool_type, x?, y?, name?) -> {tool_name, tool_type} delete_tool(tool_name) -> {success} get_tool_list(type?) -> {tools, count} find_tool(name) -> {found, name, type, attrs} connect(target_tool, input_name, source_tool, output_name?) -> {success} disconnect(tool_name, input_name) -> {success} get_inputs(tool_name) -> {inputs} get_outputs(tool_name) -> {outputs} set_input(tool_name, input_name, value, time?) -> {success} get_input(tool_name, input_name, time?) -> {value} set_attrs(tool_name, attrs) -> {success} get_attrs(tool_name) -> {attrs} add_keyframe(tool_name, input_name, time, value) -> {success} get_keyframes(tool_name, input_name) -> {keyframes} delete_keyframe(tool_name, input_name, time) -> {success, time, remaining_keyframes} Deletes on the spline attached to the input. Structured errors when the input is not animated or has no keyframe at that frame. get_comp_info() -> {name, tool_count, attrs} get_position(tool_name) -> {tool_name, x, y} — read a node's FlowView position set_position(tool_name, x, y) -> {success, x, y, readback} — move a node copy_tool(tool_name, name?, x?, y?) -> {success, new_tool, new_tools} — duplicate a node auto_arrange(tool_names?, direction?, spacing?, x?, y?) -> {success, arranged, count} Lay tools out in a row (direction="horizontal", default) or column ("vertical"). set_frame_range(start, end) -> {success} get_frame_range() -> {start, end} — read the comp's render frame range render() -> {success} start_undo(name?) -> {success} end_undo(keep?) -> {success} bulk_set_inputs(ops) -> {results, op_count} — each op requires timeline scope plus tool_name, input_name, value bulk_set_expressions(ops) -> {results, op_count} — each op requires timeline scope plus tool_name, input_name, expression group_settings_export(group_name, path, include_advisory?) -> {path, published_inputs, input_count} group_settings_splice_inputs(source_path, template_path, dest_path?, source_group_name?, template_group_name?) -> {dest_path, summary} Replace a source .setting's `Inputs = ordered() { ... }` block with the matching block from template_path. Both files are read; neither GroupOperator is loaded into Resolve. Inner tools and outer structure are preserved. group_settings_load(group_name, settings_path, backup_path?, undo_name?) -> {settings_path, backup_path} Wraps the LoadSettings call in StartUndo/EndUndo + comp.Lock for reversibility. probe_group_published_inputs(group_name, settings_path?, max_inputs?, time?) -> {live_inputs, file_summary?} fusion_graph_capabilities(...) -> {supported, boundaries, common_tools} probe_fusion_comp(include_io?, max_tools?) -> {name, tool_count, tools} probe_fusion_tool(tool_name, include_io?) -> {found, tool} safe_add_tool(tool_type, name?, dry_run?) -> {success, tool} safe_set_inputs(tool_name, inputs, readback?) -> {success, results} safe_connect_tools(target_tool, input_name, source_tool, dry_run?) -> {success} fusion_boundary_report(include_io?) -> {capabilities, composition} add_fusion_mask(mask_type?, name?, center?|center_x?|center_y?, width?, height?, corner_radius?, angle?, soft_edge?, border_width?, invert?, inputs?, x?, y?, connect_to?, connect_input?, readback?) -> {success, tool_name, inputs_set, connection?} mask_type: "Rectangle" (default) or "Ellipse". One call = add the mask tool, set its params (corner_radius/width/height/center are 0..1), and optionally wire it into connect_to's mask input (connect_input default "EffectMask"). set_text_plus(text, tool_name?, input_name?, readback?) -> {success, tool_name, readback?} Set the text of a Fusion Text+ tool / title template (e.g. a "Deep" Fusion title). Auto-finds the Text+ tool if tool_name is omitted; input_name defaults to "StyledText". get_text_plus(tool_name?, input_name?) -> {tool_name, input_name, text} Common tool_type values: Merge, Background, TextPlus, Transform, Blur, ColorCorrector, RectangleMask, EllipseMask, Tracker, MediaIn, MediaOut, Loader, Saver, Glow, FilmGrain, CornerPositioner, DeltaKeyer, UltraKeyer

action str params string
fuse_plugin
annotations: none low

Author and install Fusion Fuse plugins (.fuse files). Fuses are Lua plugins (or GLSL view-LUT shaders) that Fusion loads at startup. A NEW Fuse requires a Resolve restart to register; existing Fuses can be edited and reloaded from the Inspector's Edit/Reload buttons without restart. The MCP cannot trigger reload — that's a UI-only action. Actions: path() -> {fuses_dir} list() -> {fuses} — Fuses with the @mcp-fuse marker comment. list(all=true) -> {fuses} — All .fuse files in the directory. install(name, source, overwrite?) -> {success, path} — name: [A-Za-z_][A-Za-z0-9_]* — source: full Fuse source (Lua, or Lua+GLSL for view LUTs) — overwrite: bool (default false) remove(name) -> {success} read(name) -> {source} validate(source, type?) -> {valid, errors, checker} — type: 'lua' (default) | 'glsl' template(kind, name, options?) -> {source, kind, name} — Returns generated source. Pass it to install() to write to disk. — kind: one of the keys returned by list_templates(). See docs/authoring/fuse-dctl-authoring.md for the per-kind option spec. list_templates() -> {kinds}

action str params string
dctl
annotations: none low

Author and install DCTL files (Color page custom shaders + ACES transforms). Regular DCTLs live under Resolve's LUT directory and appear as LUT-style entries in the LUT browser, the Clip/Node LUT picker, and the ResolveFX DCTL plugin. After install, call project_settings(action='refresh_luts') to make Resolve pick up the new file. ACES DCTLs (IDT/ODT) live in a separate ACES Transforms directory tree and are scanned only at Resolve startup — install requires a Resolve restart, NOT a LUT refresh. See docs/notes/dctl-notes.md for the full spec and docs/authoring/fuse-dctl-authoring.md for the experimental-tools coverage matrix. Actions: path(category?, subdir?) -> {dctl_dir} — category: 'lut' (default) | 'aces_idt' | 'aces_odt' list(category?, subdir?, all?) -> {files} — Default: only files with @mcp-dctl marker. Pass all=true for everything. install(name, source, category?, subdir?, ext?, overwrite?) -> {success, path} — name: filesystem-safe identifier — source: DCTL source as a string — category: 'lut' (default) | 'aces_idt' | 'aces_odt' — subdir: optional folder under the install root — ext: '.dctl' (default) or '.dctle' (encrypted) remove(name, category?, subdir?, ext?) -> {success} read(name, category?, subdir?, ext?) -> {source, encrypted} validate(source) -> {valid, errors, warnings, checker} template(kind, name, options?) -> {source, kind, name, suggested_category} — kind: 'transform' | 'transform_alpha' | 'transition' | 'matrix' | 'kernel' | 'lut_apply' | 'aces_idt' | 'aces_odt' — `aces_*` kinds set suggested_category to 'aces_idt'/'aces_odt'; pass that as the `category` argument to install(). list_templates() -> {kinds, kind_categories}

action str params string
script_plugin
annotations: none low

Author and install Resolve-page Lua/Python scripts (Workspace → Scripts menu). Scripts live under the per-category subdirs of Resolve's Fusion/Scripts/ directory and appear automatically in Workspace → Scripts → <category> on the page that matches the category. Resolve picks up new scripts without a restart — the menu refreshes the next time it's opened. Categories: 'Edit', 'Color', 'Deliver', 'Comp', 'Tool', 'Utility', 'Views'. 'Utility' shows up everywhere; the rest only on the matching page. Two template kinds: - 'scaffold' minimal stub with Resolve handle setup - 'media_rules' rules-and-variables DSL (declarative VARIABLES + RULES interpreted by an embedded engine; supports sources, extract patterns, transforms, targets, actions, conditions, dry-run, external CSV/JSON data, fuzzy matching, and per-rule metadata) Both languages (Lua and Python) generate fully self-contained scripts. See docs/authoring/script-plugin-authoring.md for the DSL spec. Actions: path(category) -> {scripts_dir} categories() -> {categories} list(category?, all?, language?) -> {scripts} install(name, source, category, language?, overwrite?) -> {success, path} remove(name, category, language) -> {success} read(name, category, language) -> {source} validate(source, language?) -> {valid, errors, checker} template(kind, name, options?) -> {source, kind, name, language} — kind: 'scaffold' | 'media_rules' — options: {language: 'lua'|'py', ...kind-specific} list_templates() -> {kinds} execute(name, category, language, args?, timeout?) -> {success, stdout?, stderr?, exit_code?} — Python: subprocess with stdout/stderr captured. — Lua: fusion.RunScript(); print() output goes to Resolve Console. — args: list of CLI args for the Python subprocess (Python only). — timeout: seconds (default 120 for execute, 60 for run_inline). — Auto-launches Resolve if not running. — Python scripts hard-exit after the script body (guards against fusionscript's segfault-at-exit race), so atexit handlers do not run and non-daemon threads are not joined. Do cleanup inline or in try/finally, not in atexit. run_inline(source, language, timeout?) -> {success, stdout?, stderr?, result?} — Python: writes to temp file with `resolve`/`project`/`mp`/`timeline` pre-bound, runs as subprocess, captures stdout/stderr. — Lua: fusion.Execute(source); return value comes back as `result`. — Use this for ad-hoc one-shot queries without persisting a file. extension_capabilities() -> {paths, templates, lifecycle, safe_guards} probe_fuse_lifecycle(name?, kind?, install?, cleanup?) -> {template, validation, install?, remove?} probe_dctl_lifecycle(name?, kind?, category?, install?, refresh_luts?, cleanup?) -> {template, validation, install?, remove?} probe_script_lifecycle(name?, language?, category?, install?, execute?, cleanup?) -> {template, validation, install?, execute?, remove?} safe_install_extension(extension_type, name, source?|kind?, dry_run?) -> {success} safe_remove_extension(extension_type, name, dry_run?) -> {success} refresh_or_restart_required(extension_type, category?) -> {refresh_luts, restart_required} extension_boundary_report(include_template_matrix?) -> {capabilities, template_matrix, dry_run_probes}

action str params string
get_mounted_volumes
annotations: none low

Get list of mounted volumes displayed in Resolve's Media Storage.

get_project_preset_list
annotations: none low

Get list of available project presets.

add_items_to_media_pool_from_storage
annotations: none low

Add specified file/folder paths from Media Storage into current Media Pool folder. Args: file_paths: Simple form — list of absolute file/folder paths. item_infos: Positioned form — list of dicts with keys media (required), startFrame, endFrame. Mirrors MediaStorage.AddItemListToMediaPool([{itemInfo}, ...]) per docs line 210.

file_paths string item_infos string
add_clip_mattes_to_media_pool
annotations: none low

Add clip mattes from Media Storage to a MediaPoolItem. Args: media_pool_item_id: The unique ID of the MediaPoolItem. matte_paths: List of absolute file paths for the matte files.

matte_paths string media_pool_item_id str
add_timeline_mattes_to_media_pool
annotations: none low

Add timeline mattes from Media Storage to a timeline item. Args: timeline_item_index: 0-based index of the item in the track. matte_paths: List of absolute file paths for the matte files. track_type: Track type ('video' or 'audio'). Default: 'video'. track_index: 1-based track index. Default: 1.

track_type str matte_paths string track_index int timeline_item_index int
set_project_setting
annotations: none low

Set a project setting to the specified value. Args: setting_name: The name of the setting to change setting_value: The new value for the setting (can be string, integer, float, or boolean)

setting_name str setting_value Any
open_project
annotations: none low

Open a project by name. Args: name: The name of the project to open

name str
create_project
annotations: none low

Create a new project with the given name. Args: name: The name for the new project media_location_path: Optional project media location path (Resolve 20.2.2+).

name str media_location_path str
save_project
annotations: none low

Save the current project. Note that DaVinci Resolve typically auto-saves projects, so this may not be necessary.

close_project
annotations: none low

Close the current project. This closes the current project without saving. If you need to save, use the save_project function first.

set_cache_mode
annotations: none low

Set cache mode for the current project. Args: mode: Cache mode to set. Options: 'auto', 'on', 'off'

mode str
set_optimized_media_mode
annotations: none low

Set optimized media mode for the current project. Args: mode: Optimized media mode to set. Options: 'auto', 'on', 'off'

mode str
set_proxy_mode
annotations: none low

Set proxy media mode for the current project. Args: mode: Proxy mode to set. Options: 'auto', 'on', 'off'

mode str
set_proxy_quality
annotations: none low

Set proxy media quality for the current project. Args: quality: Proxy quality to set. Options: 'quarter', 'half', 'threeQuarter', 'full'

quality str
set_cache_path
annotations: none low

Set cache file path for the current project. Args: path_type: Type of cache path to set. Options: 'local', 'network' path: File system path for the cache

path str path_type str
create_cloud_project_tool
annotations: none low

Create a new cloud project. Mirrors ProjectManager.CreateCloudProject({cloudSettings}) per docs lines 138, 576-594. Args: project_name: maps to resolve.CLOUD_SETTING_PROJECT_NAME (required for create). project_media_path: maps to resolve.CLOUD_SETTING_PROJECT_MEDIA_PATH (required for create). is_collab: maps to resolve.CLOUD_SETTING_IS_COLLAB. sync_mode: 'none', 'proxy_only' (default), or 'proxy_and_orig' — maps to resolve.CLOUD_SYNC_*. is_camera_access: maps to resolve.CLOUD_SETTING_IS_CAMERA_ACCESS.

is_collab string sync_mode string project_name string is_camera_access string project_media_path string
load_cloud_project_tool
annotations: none low

Load a cloud project. Mirrors ProjectManager.LoadCloudProject({cloudSettings}). Per docs line 585, only project_name, project_media_path, and sync_mode are honoured. Args: project_name: required. project_media_path: required. sync_mode: 'none', 'proxy_only', or 'proxy_and_orig'.

sync_mode string project_name string project_media_path string
import_cloud_project_tool
annotations: none low

Import a cloud project from a file. Mirrors ProjectManager.ImportCloudProject(filePath, {cloudSettings}). Args: file_path: absolute path to the cloud project file (required). project_name, project_media_path, is_collab, sync_mode, is_camera_access: cloudSettings dict keys; same semantics as create_cloud_project_tool.

file_path str is_collab string sync_mode string project_name string is_camera_access string project_media_path string
get_timeline_by_index
annotations: none low

Get a timeline by its 1-based index. Args: index: 1-based timeline index.

index int
restore_cloud_project_tool
annotations: none low

Restore a cloud project from a folder. Mirrors ProjectManager.RestoreCloudProject(folderPath, {cloudSettings}). Args: folder_path: absolute path to the cloud project folder (required). project_name, project_media_path, is_collab, sync_mode, is_camera_access: cloudSettings dict keys; same semantics as create_cloud_project_tool.

is_collab string sync_mode string folder_path str project_name string is_camera_access string project_media_path string
set_project_property_tool
annotations: none low

Set a project property value. Args: property_name: Name of the property to set property_value: Value to set for the property

property_name str property_value Any
set_timeline_format_tool
annotations: none low

Set timeline format (resolution and frame rate). Args: width: Timeline width in pixels height: Timeline height in pixels frame_rate: Timeline frame rate interlaced: Whether the timeline should use interlaced processing

width int height int frame_rate float interlaced bool
set_superscale_settings_tool
annotations: none low

Set SuperScale settings for the current project. Args: enabled: Whether SuperScale is enabled quality: SuperScale quality (0=Auto, 1=Better Quality, 2=Smoother)

enabled bool quality int
set_color_science_mode_tool
annotations: none low

Set color science mode for the current project. Args: mode: Color science mode ('YRGB', 'YRGB Color Managed', 'ACEScct', or numeric value)

mode str
set_color_space_tool
annotations: none low

Set timeline color space and gamma. Args: color_space: Timeline color space (e.g., 'Rec.709', 'DCI-P3 D65', 'Rec.2020') gamma: Timeline gamma (e.g., 'Rec.709 Gamma', 'Gamma 2.4')

gamma str color_space str
archive_project
annotations: none low

Archive a project to a file with optional media. Args: project_name: Name of the project to archive. archive_path: Absolute path for the archive file (.dra). archive_src_media: Include source media in archive. Default: True. archive_render_cache: Include render cache. Default: True. archive_proxy_media: Include proxy media. Default: False.

archive_path str project_name str archive_src_media bool archive_proxy_media bool archive_render_cache bool
delete_project
annotations: none low

Delete a project from the current database. WARNING: This is irreversible. Args: project_name: Name of the project to delete.

project_name str
create_project_folder
annotations: none low

Create a new folder in the current project folder location. Args: folder_name: Name of the folder to create.

folder_name str
delete_project_folder
annotations: none low

Delete a folder from the current project folder location. Args: folder_name: Name of the folder to delete.

folder_name str
get_project_folder_list
annotations: none low

Get list of folders in the current project folder location.

goto_root_project_folder
annotations: none low

Navigate to the root project folder.

goto_parent_project_folder
annotations: none low

Navigate up one level in the project folder hierarchy.

get_current_project_folder
annotations: none low

Get the name of the current project folder.

open_project_folder
annotations: none low

Open/navigate into a project folder. Args: folder_name: Name of the folder to open.

folder_name str
import_project_from_file
annotations: none low

Import a project from a .drp file. Args: file_path: Absolute path to the .drp project file.

file_path str
export_project_to_file
annotations: none low

Export a project to a .drp file. Args: project_name: Name of the project to export. file_path: Absolute path for the exported .drp file. with_stills_and_luts: Include stills and LUTs in export. Default: True.

file_path str project_name str with_stills_and_luts bool
restore_project
annotations: none low

Restore a project from an archive (.dra) file. Args: file_path: Absolute path to the .dra archive file.

file_path str
get_current_database
annotations: none low

Get information about the current database.

get_database_list
annotations: none low

Get list of all available databases.

set_current_database
annotations: none low

Switch to a different database. Args: db_info: Database info dict with keys 'DbType' and 'DbName'. Example: {"DbType": "Disk", "DbName": "Local Database"}

db_info string
set_project_preset
annotations: none low

Apply a project preset to the current project. Args: preset_name: Name of the preset to apply.

preset_name str
delete_render_job
annotations: none low

Delete a specific render job by its ID. Args: job_id: The unique ID of the render job to delete.

job_id str
get_render_job_list
annotations: none low

Get list of all render jobs in the queue.

start_rendering_jobs
annotations: none low

Start rendering jobs. If no job IDs specified, renders all queued jobs. Args: job_ids: Optional list of job IDs to render. If None, renders all. is_interactive_mode: If True, enables interactive rendering mode.

job_ids string is_interactive_mode bool
stop_rendering
annotations: none low

Stop the current rendering process.

is_rendering_in_progress
annotations: none low

Check if rendering is currently in progress.

load_render_preset
annotations: none low

Load a render preset by name. Args: preset_name: Name of the render preset to load.

preset_name str
save_as_new_render_preset
annotations: none low

Save current render settings as a new preset. Args: preset_name: Name for the new render preset.

preset_name str
delete_render_preset
annotations: none low

Delete a render preset. Args: preset_name: Name of the render preset to delete.

preset_name str
set_render_settings
annotations: none low

Set render settings for the current project. Mirrors Project.SetRenderSettings({settings}) per docs lines 765-799. Args: settings: Dict of render settings. All documented keys are forwarded: SelectAllFrames (bool), MarkIn (int), MarkOut (int), TargetDir (str), CustomName (str), UniqueFilenameStyle (0=Prefix/1=Suffix), ExportVideo (bool), ExportAudio (bool), FormatWidth (int), FormatHeight (int), FrameRate (float), PixelAspectRatio (float), VideoQuality (int/str), AudioCodec (str), AudioBitDepth (int), AudioSampleRate (int), ColorSpaceTag (str), GammaTag (str), ExportAlpha (bool), EncodingProfile (str), MultiPassEncode (bool), AlphaMode (int), NetworkOptimization (bool), ClipStartFrame (int), TimelineStartTimecode (str), ReplaceExistingFilesInPlace (bool), ExportSubtitle (bool), SubtitleFormat ("BurnIn", "EmbeddedCaptions", "SeparateFile").

settings string
get_render_job_status
annotations: none low

Get the status of a specific render job. Args: job_id: The unique ID of the render job.

job_id str
get_render_formats
annotations: none low

Get all available render formats.

get_render_codecs
annotations: none low

Get available codecs for a given render format. Args: format_name: Render format id or display name (e.g. 'mov', 'QuickTime').

format_name str
get_current_render_format_and_codec
annotations: none low

Get the current render format and codec setting.

set_current_render_format_and_codec
annotations: none low

Set the render format and codec. Args: format_name: Render format id or display name (e.g. 'mov', 'QuickTime'). codec_name: Codec id or display name (e.g. 'ProRes422HQ', 'Apple ProRes 422 HQ', 'H.264').

codec_name str format_name str
get_current_render_mode
annotations: none low

Get the current render mode (0=Individual Clips, 1=Single Clip).

set_current_render_mode
annotations: none low

Set the render mode. Args: mode: 0 for Individual Clips, 1 for Single Clip.

mode int
get_render_resolutions
annotations: none low

Get available render resolutions for a format/codec combination. Args: format_name: Render format (e.g. 'mp4'). codec_name: Codec name (e.g. 'H264').

codec_name str format_name str
refresh_lut_list
annotations: none low

Refresh the LUT list in the project. Call after adding new LUT files.

get_project_unique_id
annotations: none low

Get the unique ID of the current project.

insert_audio_to_current_track
annotations: none low

Insert audio file to current track at playhead position. Args: file_path: Absolute path to the audio file.

file_path str
load_burn_in_preset
annotations: none low

Load a burn-in preset by name for the project. Args: preset_name: Name of the burn-in preset to load.

preset_name str
export_current_frame_as_still
annotations: none low

Export the current frame as a still image. Args: file_path: Absolute path for the exported still image.

file_path str
get_color_groups_list
annotations: none low

Get list of all color groups in the current project.

add_color_group
annotations: none low

Create a new color group in the current project. Args: group_name: Name for the new color group.

group_name str
delete_color_group
annotations: none low

Delete a color group from the current project. Args: group_name: Name of the color group to delete.

group_name str
rename_color_group
annotations: none low

Rename a color group. Mirrors ColorGroup.SetName(groupName). Args: group_name: Current name of the color group. new_name: New name to assign.

new_name str group_name str
apply_fairlight_preset_to_current_timeline
annotations: none low

Apply a Fairlight preset to the current timeline. Args: preset_name: Name of the Fairlight preset to apply.

preset_name str
get_quick_export_render_presets
annotations: none low

Get list of available quick export render presets.

render_with_quick_export
annotations: none low

Render the current timeline using a Quick Export preset. Mirrors Project.RenderWithQuickExport(preset_name, {param_dict}) per docs line 179. Args: preset_name: Name of the Quick Export preset (from get_quick_export_render_presets). target_dir: Output directory; maps to TargetDir in param_dict. custom_name: Output filename; maps to CustomName. video_quality: Video quality setting (int or string per render-settings spec); maps to VideoQuality. enable_upload: Enable direct upload for supported web presets; maps to EnableUpload.

target_dir string custom_name string preset_name str enable_upload string video_quality string
add_render_job
annotations: none low

Add a render job based on current render settings to the render queue. Returns the unique job ID string for the new render job. Configure render settings first with set_render_settings, set_render_format_and_codec, etc.

load_cloud_project
annotations: none low

Load a cloud project from DaVinci Resolve cloud. Args: project_name: Name of the cloud project to load. project_media_path: Local path for project media cache. sync_mode: Sync mode - 'proxy' or 'full' (default: 'proxy').

sync_mode str project_name str project_media_path str
generate_speech
annotations: none low

Generate AI text-to-speech audio and add it to the media pool (Resolve 21+). Requires the AI Speech Generator Extra. Creates a NEW audio MediaPoolItem; if add_to_timeline is True it is placed on the timeline at the given timecode. Args: text_input: Text to synthesize (required). voice_model: Voice model name (e.g. "Female 1", "Male 1", "Custom Voice"). timecode: Timeline timecode to place the clip at when add_to_timeline is True. add_to_timeline: Whether to add the generated clip to the timeline. audio_track: Audio track index for timeline placement. custom_voice_file: Full path to a custom voice file (for "Custom Voice"). speed: Speech speed. variation: Voice variation. pitch: Voice pitch. generation_id: Generation ID. filename: Output filename.

pitch string speed string filename str timecode str variation string text_input str audio_track string voice_model str generation_id string add_to_timeline bool custom_voice_file str
get_project_attributes_in_current_folder
annotations: none low

Get per-project attributes for every project in the current folder (Resolve 21.0.4+). Calls ProjectManager.GetProjectAttributesInCurrentFolder(). Returns a dict keyed by project name with 'lastModifiedDate', 'creationDate', 'notes' and 'liveCollaborationMode' — without loading any project.

get_gallery_album_name
annotations: none low

Get the name of the current gallery album.

set_gallery_album_name
annotations: none low

Set the name of the current gallery album. Args: name: New album name.

name str
get_gallery_still_albums
annotations: none low

Get list of all gallery still albums.

get_gallery_power_grade_albums
annotations: none low

Get list of all gallery power grade albums.

get_current_still_album
annotations: none low

Get the current still album.

set_current_still_album
annotations: none low

Set the current still album by index. Args: album_index: 0-based index of the album in GetGalleryStillAlbums() list.

album_index int
create_gallery_still_album
annotations: none low

Create a new gallery still album. Args: album_name: Optional name for the new album.

album_name str
create_gallery_power_grade_album
annotations: none low

Create a new gallery power grade album. Args: album_name: Optional name for the new album.

album_name str
get_album_stills
annotations: none low

Get list of stills in a gallery album. Args: album_index: 0-based index of the album. Default: 0.

album_index int
open_settings
annotations: none low

Open the Project Settings dialog in DaVinci Resolve.

get_still_label
annotations: none low

Get the label of a still in a gallery album. Args: album_index: 0-based album index. still_index: 0-based still index.

album_index int still_index int
set_still_label
annotations: none low

Set the label of a still in a gallery album. Args: album_index: 0-based album index. still_index: 0-based still index. label: New label for the still.

label str album_index int still_index int
import_stills_to_album
annotations: none low

Import stills from file paths into a gallery album. Args: album_index: 0-based album index. file_paths: List of absolute file paths to import.

file_paths string album_index int
export_stills_from_album
annotations: none low

Export stills from a gallery album. Args: album_index: 0-based album index. folder_path: Directory to export to. file_prefix: Filename prefix. Default: 'still'. format: File format (dpx, cin, tif, jpg, png, ppm, bmp, xpm, drx). Default: 'dpx'.

format str album_index int file_prefix str folder_path str
delete_stills_from_album
annotations: none low

Delete stills from a gallery album. Args: album_index: 0-based album index. still_indices: List of 0-based still indices to delete.

album_index int still_indices string
graph_get_num_nodes
annotations: none low

Get number of nodes in the color graph for a timeline item. Args: item_index: 0-based item index. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

item_index int track_type str track_index int
graph_set_lut
annotations: none low

Set LUT on a node in the color graph. Args: node_index: 1-based node index. lut_path: Absolute or relative LUT path. item_index: 0-based timeline item index. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

lut_path str item_index int node_index int track_type str track_index int
graph_get_lut
annotations: none low

Get LUT path on a node in the color graph. Args: node_index: 1-based node index. item_index: 0-based timeline item index. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

item_index int node_index int track_type str track_index int
graph_set_node_cache_mode
annotations: none low

Set the cache mode on a node. Args: node_index: 1-based node index. cache_value: -1=Auto, 0=Disabled, 1=Enabled. item_index: 0-based timeline item index. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

item_index int node_index int track_type str cache_value int track_index int
graph_get_node_cache_mode
annotations: none low

Get the cache mode of a node. Args: node_index: 1-based node index. item_index: 0-based timeline item index. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

item_index int node_index int track_type str track_index int
graph_get_node_label
annotations: none low

Get the label of a node. Args: node_index: 1-based node index. item_index: 0-based timeline item index. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

item_index int node_index int track_type str track_index int
graph_get_tools_in_node
annotations: none low

Get list of tools used in a node. Args: node_index: 1-based node index. item_index: 0-based timeline item index. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

item_index int node_index int track_type str track_index int
graph_set_node_enabled
annotations: none low

Enable or disable a node. Args: node_index: 1-based node index. is_enabled: True to enable, False to disable. item_index: 0-based timeline item index. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

is_enabled bool item_index int node_index int track_type str track_index int
graph_apply_grade_from_drx
annotations: none low

Apply a grade from a .drx file to a timeline item's graph. Args: drx_path: Absolute path to the .drx file. grade_mode: 0=No keyframes, 1=Source Timecode aligned, 2=Start Frames aligned. item_index: 0-based timeline item index. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

drx_path str grade_mode int item_index int track_type str track_index int
graph_apply_arri_cdl_lut
annotations: none low

Apply ARRI CDL and LUT to a timeline item's graph. Args: item_index: 0-based timeline item index. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

item_index int track_type str track_index int
graph_reset_all_grades
annotations: none low

Reset all grades on a timeline item's graph. Args: item_index: 0-based timeline item index. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

item_index int track_type str track_index int
get_color_group_clips
annotations: none low

Get clips in a color group for the current timeline. Args: group_name: Name of the color group.

group_name str
get_color_group_pre_clip_node_graph
annotations: none low

Get the pre-clip node graph for a color group. Args: group_name: Name of the color group.

group_name str
get_color_group_post_clip_node_graph
annotations: none low

Get the post-clip node graph for a color group. Args: group_name: Name of the color group.

group_name str
import_media
annotations: none low

Import media into the current project's media pool. Args: paths: Simple form — list of file or folder paths to import. clip_infos: Image-sequence form — list of dicts with keys FilePath (required), StartIndex, EndIndex. Mirrors MediaPool.ImportMedia([{clipInfo}, ...]). Each entry imports as one MediaPoolItem unless 'Show Individual Frames' is enabled. Example: [{"FilePath": "frame_%03d.dpx", "StartIndex": 1, "EndIndex": 100}] file_path: Single-path convenience for backward compatibility.

paths string file_path string clip_infos string
append_to_timeline
annotations: none low

Append clips to the current timeline. Mirrors MediaPool.AppendToTimeline per docs lines 219-221. Two forms: Args: clip_ids: Simple form — list of MediaPoolItem unique IDs to append in order. clip_infos: Positioned form — list of dicts with keys clip_id (or media_pool_item_id), start_frame, end_frame, record_frame, track_index, and optional media_type (1=video only, 2=audio only). record_frame is relative to the current timeline start frame by default; pass record_frame_mode="absolute" for raw Resolve recordFrame values. Returns timeline_item_id per appended item.

clip_ids string clip_infos string
setup_multicam_timeline
annotations: none low

Create a stacked multicam prep timeline from Media Pool clips. This does not create a native Resolve multicam clip because the public scripting API does not expose native multicam creation. It creates a prep timeline with one angle per video track and optional matching audio tracks. Args: name: Name for the setup timeline. clip_ids: Simple list of MediaPoolItem unique IDs, one per angle. angles: Detailed angle rows with clip_id, optional angle_name, start_frame/end_frame, record_frame, source_timecode, track_index. sync_mode: 'stack_start', 'record_frame', or 'source_timecode'. include_audio: Also append audio-only rows. audio_track_mode: 'matching' for per-angle audio tracks, or 'first'. start_timecode: Optional timeline start timecode to set after creation. timeline_start_timecode: Base timecode for source_timecode sync math. record_frame_start: Timeline-relative start frame for stack_start mode. frame_rate: Fallback frame rate for duration/timecode parsing. audio_type: Resolve audio track type when tracks must be added. dry_run: Return the plan without creating a timeline.

name str angles string dry_run bool clip_ids string sync_mode str audio_type str frame_rate string include_audio bool start_timecode string audio_track_mode str record_frame_start int timeline_start_timecode string
auto_sync_audio
annotations: none low

Sync audio across multiple clips. Mirrors MediaPool.AutoSyncAudio([items], {audioSyncSettings}) per docs lines 600-614. Args: clip_ids: List of MediaPoolItem unique IDs to sync. sync_mode: 'waveform' or 'timecode' (default on Resolve side: 'timecode'). channel_number: int >= 1 for channel offset, or 'automatic' (-1) / 'mix' (-2). Only used in waveform mode. retain_embedded_audio: keep clip's embedded audio after sync. retain_video_metadata: keep video clip's metadata after sync.

clip_ids string sync_mode string channel_number string retain_embedded_audio string retain_video_metadata string
add_subfolder
annotations: none low

Create a new subfolder in the current Media Pool folder. Args: folder_name: Name of the subfolder to create.

folder_name str
refresh_media_pool_folders
annotations: none low

Refresh all folders in the Media Pool.

import_timeline_from_file
annotations: none low

Import a timeline from a file (AAF, EDL, XML, FCPXML, DRT, ADL, OTIO). Args: file_path: Absolute path to the timeline file. import_options: Optional dict of import options.

file_path str import_options string
delete_timelines_by_id
annotations: none low

Delete timelines by their unique IDs. Args: timeline_ids: List of timeline unique IDs to delete.

timeline_ids string
open_app_preferences
annotations: none low

Open the Preferences dialog in DaVinci Resolve.

set_current_media_pool_folder
annotations: none low

Navigate to a specific folder in the Media Pool. Args: folder_path: Folder path using '/' separators from root (e.g. 'Master/Footage').

folder_path str
delete_media_pool_clips
annotations: none low

Delete clips from the Media Pool by their unique IDs. Args: clip_ids: List of clip unique IDs to delete.

clip_ids string
import_folder_from_file
annotations: none low

Import a Media Pool folder structure from a file. Args: file_path: Absolute path to the file.

file_path str
delete_media_pool_folders
annotations: none low

Delete folders from the current Media Pool location. Args: folder_names: List of folder names to delete.

folder_names string
move_clips_to_folder
annotations: none low

Move clips to a different Media Pool folder. Args: clip_ids: List of clip unique IDs to move. target_folder_path: Path to target folder (e.g. 'Master/Footage').

clip_ids string target_folder_path str
move_media_pool_folders
annotations: none low

Move folders to a different Media Pool location. Args: folder_names: List of folder names to move. target_folder_path: Path to target folder.

folder_names string target_folder_path str
get_clip_matte_list
annotations: none low

Get list of clip mattes for a MediaPoolItem. Args: clip_id: Unique ID of the clip.

clip_id str
get_timeline_matte_list
annotations: none low

Get list of timeline mattes for a timeline item. Args: item_index: 0-based index of the item in the track. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

item_index int track_type str track_index int
delete_clip_mattes
annotations: none low

Delete clip mattes from a MediaPoolItem. Args: clip_id: Unique ID of the clip. matte_paths: List of matte file paths to delete.

clip_id str matte_paths string
export_media_pool_metadata
annotations: none low

Export metadata of clips in the current Media Pool folder to a CSV file. Args: file_path: Absolute path for the exported CSV file.

file_path str
get_media_pool_unique_id
annotations: none low

Get the unique ID of the Media Pool.

create_stereo_clip
annotations: none low

Create a stereo clip from left and right eye clips. Args: left_clip_id: Unique ID of the left eye clip. right_clip_id: Unique ID of the right eye clip.

left_clip_id str right_clip_id str
get_selected_clips
annotations: none low

Get currently selected clips in the Media Pool.

set_selected_clip
annotations: none low

Set a clip as selected in the Media Pool. Args: clip_id: Unique ID of the clip to select.

clip_id str
create_timeline
annotations: none low

Create a new timeline with the given name. Args: name: The name for the new timeline

name str
set_current_timeline
annotations: none low

Switch to a timeline by name. Args: name: The name of the timeline to set as current

name str
list_timelines_tool
annotations: none low

List all timelines in the current project as a tool.

timeline_set_name
annotations: none low

Rename the current timeline. Args: name: New name for the timeline.

name str
timeline_set_start_timecode
annotations: none low

Set the start timecode of the current timeline. Args: timecode: Timecode string (e.g. '01:00:00:00').

timecode str
timeline_get_current_timecode
annotations: none low

Get the current playhead timecode.

timeline_set_current_timecode
annotations: none low

Set the playhead to a specific timecode. Args: timecode: Timecode string (e.g. '01:00:05:00').

timecode str
timeline_add_track
annotations: none low

Add a new track to the timeline. Mirrors Timeline.AddTrack(trackType, {newTrackOptions}) per docs line 327. Args: track_type: 'video', 'audio', or 'subtitle'. audio_type: For audio tracks: 'mono', 'stereo', 'lrc', 'lcr', 'lrcs', 'lcrs', 'quad', '5.0', '5.0film', '5.1', '5.1film', '7.0', '7.0film', '7.1', '7.1film', 'adaptive1' through 'adaptive36'. Defaults to 'mono' for audio tracks if omitted. index: 1-based track index where 1 <= index <= GetTrackCount(track_type) + 1. If omitted or out of bounds, the track is appended.

index string audio_type string track_type str
timeline_delete_track
annotations: none low

Delete a track from the timeline. Args: track_type: 'video', 'audio', or 'subtitle'. track_index: 1-based track index to delete.

track_type str track_index int
timeline_get_track_sub_type
annotations: none low

Get the sub-type of a track (e.g. mono, stereo for audio). Args: track_type: 'video' or 'audio'. track_index: 1-based track index.

track_type str track_index int
timeline_set_track_enable
annotations: none low

Enable or disable a track. Args: track_type: 'video' or 'audio'. track_index: 1-based track index. enabled: True to enable, False to disable.

enabled bool track_type str track_index int
timeline_get_is_track_enabled
annotations: none low

Check if a track is enabled. Args: track_type: 'video' or 'audio'. track_index: 1-based track index.

track_type str track_index int
timeline_set_track_lock
annotations: none low

Lock or unlock a track. Args: track_type: 'video' or 'audio'. track_index: 1-based track index. locked: True to lock, False to unlock.

locked bool track_type str track_index int
timeline_get_is_track_locked
annotations: none low

Check if a track is locked. Args: track_type: 'video' or 'audio'. track_index: 1-based track index.

track_type str track_index int
timeline_get_voice_isolation_state
annotations: none low

Get voice isolation state for an audio track. Args: track_index: 1-based audio track index.

track_index int
timeline_set_voice_isolation_state
annotations: none low

Set voice isolation state for an audio track. Args: track_index: 1-based audio track index. state: Dict with isEnabled (bool) and amount (0-100).

state string track_index int
timeline_delete_clips
annotations: none low

Delete clips from the timeline. Args: clip_ids: List of clip unique IDs to delete. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

clip_ids string track_type str track_index int
timeline_set_clips_linked
annotations: none low

Link or unlink clips in the timeline. Args: clip_ids: List of clip unique IDs. linked: True to link, False to unlink. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

linked bool clip_ids string track_type str track_index int
timeline_add_marker
annotations: none low

Add a marker to the current timeline. Args: frame_id: Frame number for the marker, relative to the timeline start (frame 0 = first frame, even when the timeline starts at 01:00:00:00). color: Marker color (Blue, Cyan, Green, Yellow, Red, Pink, Purple, Fuchsia, Rose, Lavender, Sky, Mint, Lemon, Sand, Cocoa, Cream). name: Marker name. note: Marker note. Default: empty. duration: Duration in frames. Default: 1. custom_data: Custom data string. Default: empty.

name str note str color str duration int frame_id int custom_data str
timeline_get_markers
annotations: none low

Get all markers on the current timeline.

timeline_get_marker_by_custom_data
annotations: none low

Find a timeline marker by its custom data. Args: custom_data: Custom data string to search for.

custom_data str
timeline_update_marker_custom_data
annotations: none low

Update the custom data of a timeline marker. Args: frame_id: Frame number of the marker. custom_data: New custom data string.

frame_id int custom_data str
timeline_get_marker_custom_data
annotations: none low

Get the custom data of a timeline marker. Args: frame_id: Frame number of the marker.

frame_id int
timeline_delete_markers_by_color
annotations: none low

Delete all timeline markers of a specific color. Args: color: Color of markers to delete. Use '' to delete all.

color str
timeline_delete_marker_at_frame
annotations: none low

Delete a timeline marker at a specific frame. Args: frame_id: Frame number of the marker.

frame_id int
timeline_delete_marker_by_custom_data
annotations: none low

Delete a timeline marker by custom data. Args: custom_data: Custom data of the marker to delete.

custom_data str
timeline_get_track_name
annotations: none low

Get the name of a track. Args: track_type: 'video' or 'audio'. track_index: 1-based track index.

track_type str track_index int
timeline_set_track_name
annotations: none low

Set the name of a track. Args: track_type: 'video' or 'audio'. track_index: 1-based track index. name: New track name.

name str track_type str track_index int
timeline_duplicate
annotations: none low

Duplicate the current timeline.

timeline_create_compound_clip
annotations: none low

Create a compound clip from selected items. Mirrors Timeline.CreateCompoundClip([timelineItems], {clipInfo}) per docs line 369. Args: clip_ids: List of timeline item unique IDs. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1. name: Optional name for the compound clip; maps to clipInfo.name. start_timecode: Optional start timecode (e.g. "01:00:00:00"); maps to clipInfo.startTimecode.

name string clip_ids string track_type str track_index int start_timecode string
timeline_create_fusion_clip
annotations: none low

Create a Fusion clip from selected items. Args: clip_ids: List of timeline item unique IDs. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

clip_ids string track_type str track_index int
timeline_import_into
annotations: none low

Import content into the current timeline from a file. Args: file_path: Path to the file to import (AAF, EDL, XML, etc.). import_options: Optional dict of import options.

file_path str import_options string
timeline_export
annotations: none low

Export the current timeline to a file. Args: file_path: Output file path. export_type: Export type (e.g. 'EXPORT_AAF', 'EXPORT_EDL', 'EXPORT_FCP_7_XML', 'EXPORT_FCPXML_1_10', 'EXPORT_DRT', 'EXPORT_TEXT_CSV', 'EXPORT_TEXT_TAB', 'EXPORT_OTIO', 'EXPORT_ALE'). export_subtype: Export subtype for AAF/EDL. Default: 'EXPORT_NONE'.

file_path str export_type str export_subtype str
timeline_insert_generator
annotations: none low

Insert a generator into the timeline. Args: generator_name: Name of the generator to insert. duration: Optional duration in frames.

duration string generator_name str
timeline_insert_fusion_generator
annotations: none low

Insert a Fusion generator into the timeline. Args: generator_name: Name of the Fusion generator.

generator_name str
timeline_insert_fusion_composition
annotations: none low

Insert a Fusion composition into the timeline.

timeline_insert_ofx_generator
annotations: none low

Insert an OFX generator into the timeline. Args: generator_name: Name of the OFX generator.

generator_name str
timeline_insert_title
annotations: none low

Insert a title into the timeline. Args: title_name: Name of the title to insert.

title_name str
timeline_insert_fusion_title
annotations: none low

Insert a Fusion title into the timeline. Args: title_name: Name of the Fusion title.

title_name str
timeline_grab_still
annotations: none low

Grab a still from the current frame of the timeline.

timeline_grab_all_stills
annotations: none low

Grab stills from all frames at the current position across all timelines.

timeline_get_unique_id
annotations: none low

Get the unique ID of the current timeline.

timeline_create_subtitles_from_audio
annotations: none low

Create subtitles from audio in the current timeline. Mirrors Timeline.CreateSubtitlesFromAudio({autoCaptionSettings}) per docs lines 718-761. Args: language: 'auto', 'danish', 'dutch', 'english', 'french', 'german', 'italian', 'japanese', 'korean', 'mandarin_simplified', 'mandarin_traditional', 'norwegian', 'portuguese', 'russian', 'spanish', 'swedish'. Default: 'auto'. preset: 'default', 'teletext', 'netflix'. Default: 'default'. chars_per_line: Integer 1-60. Resolve default is 42 (or 16 for Netflix preset). line_break: 'single' or 'double'. Default: 'single' on Resolve side. gap: Integer 0-10. Default: 0 on Resolve side.

gap string preset str language str line_break string chars_per_line string
timeline_detect_scene_cuts
annotations: none low

Detect scene cuts in the current timeline.

timeline_convert_to_stereo
annotations: none low

Convert the current timeline to stereo.

timeline_get_node_graph
annotations: none low

Get the node graph for the current timeline.

timeline_analyze_dolby_vision
annotations: none low

Analyze Dolby Vision for the current timeline.

timeline_get_current_video_item
annotations: none low

Get the current video item at the playhead.

get_resolve_version_fields
annotations: none low

Get DaVinci Resolve version as structured fields [major, minor, patch, build, suffix].

timeline_get_current_clip_thumbnail
annotations: none low

Get thumbnail image data for the current clip. Switches to the Color page for the read (GetCurrentClipThumbnailImage only returns data there) and restores the previous page after. Args: width: Thumbnail width. Default: 320. height: Thumbnail height. Default: 180.

width int height int
timeline_get_media_pool_item
annotations: none low

Get the MediaPoolItem for the current timeline.

timeline_get_mark_in_out
annotations: none low

Get mark in/out points for the current timeline.

timeline_set_mark_in_out
annotations: none low

Set mark in/out points for the current timeline. Args: mark_in: Mark in frame number. mark_out: Mark out frame number.

mark_in int mark_out int
timeline_clear_mark_in_out
annotations: none low

Clear mark in/out points for the current timeline.

create_timeline_from_clips
annotations: none low

Create a new timeline from specified media pool clips. Args: name: Name for the new timeline. clip_ids: Simple form — list of MediaPoolItem unique IDs to append end-to-end. clip_infos: Positioned form — list of dicts with keys clip_id (or media_pool_item_id), start_frame, end_frame, record_frame. record_frame is relative to the created timeline start frame by default; pass record_frame_mode="absolute" for raw Resolve values. If both are None, uses the currently selected media pool clips.

name str clip_ids string clip_infos string
set_timeline_setting
annotations: none low

Set a timeline setting value. Args: setting_name: Name of the timeline setting to set (e.g. 'useCustomSettings', 'timelineFrameRate', 'timelineResolutionWidth', 'timelineResolutionHeight', 'timelineOutputResolutionWidth', 'timelineOutputResolutionHeight', 'colorSpaceTimeline', 'colorSpaceOutput'). setting_value: Value to set for the setting (string).

setting_name str setting_value str
get_selected_timeline_items
annotations: none low

Get the timeline items currently selected in the timeline (Resolve 21.0.4+). Calls Timeline.GetSelectedClips() on the current timeline. An empty list means nothing is selected — that is an answer, not a failure. (Distinct from get_selected_clips, which reads the Media Pool selection.)

switch_page
annotations: none low

Switch to a specific page in DaVinci Resolve. Args: page: The page to switch to. Options: 'media', 'cut', 'edit', 'fusion', 'color', 'fairlight', 'deliver'

page str
object_help
annotations: none low

Get human-readable help for a DaVinci Resolve API object. Args: object_type: Type of object to get help for ('resolve', 'project_manager', 'project', 'media_pool', 'timeline', 'media_storage')

object_type str
inspect_custom_object
annotations: none low

Inspect a custom DaVinci Resolve API object by path. Args: object_path: Path to the object using dot notation (e.g., 'resolve.GetMediaStorage()')

object_path str
save_layout_preset_tool
annotations: none low

Save the current UI layout as a preset. Calls Resolve.SaveLayoutPreset() to save the current UI layout. Args: preset_name: Name for the saved preset.

preset_name str
load_layout_preset_tool
annotations: none low

Load a UI layout preset. Calls Resolve.LoadLayoutPreset() to load a saved UI layout. Args: preset_name: Name of the preset to load.

preset_name str
export_layout_preset_tool
annotations: none low

Export a layout preset to a file. Calls Resolve.ExportLayoutPreset() to export a preset to disk. Args: preset_name: Name of the preset to export. export_path: Absolute file path to export the preset to.

export_path str preset_name str
import_layout_preset_tool
annotations: none low

Import a layout preset from a file. Calls Resolve.ImportLayoutPreset() to import a preset from disk. Args: import_path: Absolute path to the preset file to import. preset_name: Name to save the imported preset as (uses filename if None).

import_path str preset_name str
delete_layout_preset_tool
annotations: none low

Delete a layout preset. Calls Resolve.DeleteLayoutPreset() to remove a saved preset. Args: preset_name: Name of the preset to delete.

preset_name str
disable_background_tasks_for_current_session
annotations: none low

Disable all background tasks for the current Resolve session (Resolve 21+). Useful before heavy scripted operations so Resolve does not run background work that competes for resources. Resets when Resolve restarts.

quit_app
annotations: none low

Quit DaVinci Resolve application. Args: force: Whether to force quit even if unsaved changes (potentially dangerous) save_project: Whether to save the project before quitting

force bool save_project bool
restart_app
annotations: none low

Restart DaVinci Resolve application. Args: wait_seconds: Seconds to wait between quit and restart

wait_seconds int
get_fusion_object
annotations: none low

Get the Fusion object. Starting point for Fusion scripts.

update_layout_preset
annotations: none low

Overwrite an existing layout preset with the current UI layout. Args: preset_name: Name of the preset to overwrite.

preset_name str
import_render_preset
annotations: none low

Import a render preset from a file. Args: preset_path: Absolute path to the render preset file.

preset_path str
export_render_preset
annotations: none low

Export a render preset to a file. Args: preset_name: Name of the render preset to export. export_path: Absolute path where the preset file will be saved.

export_path str preset_name str
import_burn_in_preset
annotations: none low

Import a burn-in preset from a file. Args: preset_path: Absolute path to the burn-in preset file.

preset_path str
export_burn_in_preset
annotations: none low

Export a burn-in preset to a file. Args: preset_name: Name of the burn-in preset to export. export_path: Absolute path where the preset file will be saved.

export_path str preset_name str
get_keyframe_mode
annotations: none low

Get the current keyframe mode in Resolve. Returns 0=ALL, 1=COLOR, 2=SIZING.

set_keyframe_mode
annotations: none low

Set the keyframe mode in Resolve. Args: mode: Keyframe mode - 0=All, 1=Color, 2=Sizing.

mode int
get_fairlight_presets
annotations: none low

Get the available Fairlight preset names.

quit_resolve
annotations: none low

Quit DaVinci Resolve. WARNING: This will close the application.

get_layout_preset_list
annotations: none low

Get the names of all saved UI layout presets (Resolve 21.0.4+). Calls Resolve.GetLayoutPresetList(). These are the names accepted by load_layout_preset_tool, update_layout_preset, export_layout_preset_tool and delete_layout_preset_tool.

get_burn_in_preset_list
annotations: none low

Get the names of all saved data burn-in presets (Resolve 21.0.4+). Calls Resolve.GetBurnInPresetList(). These are the names accepted by the 'DataBurnIn' render setting, project load_burn_in_preset, and export_burn_in_preset.

delete_burn_in_preset
annotations: none low

Delete a data burn-in preset by name (Resolve 21.0.4+). Args: preset_name: Name of the burn-in preset to delete.

preset_name str
get_user_preferences_preset_list
annotations: none low

Get the names of all saved user-preferences presets (Resolve 21.0.4+). Calls Resolve.GetUserPreferencesPresetList().

save_user_preferences_preset
annotations: none low

Save the current user preferences as a named preset (Resolve 21.0.4+). Args: preset_name: Name for the new user-preferences preset.

preset_name str
load_user_preferences_preset
annotations: none low

Load a user-preferences preset (Resolve 21.0.4+). SESSION-WIDE: this swaps the user's global Resolve preferences, not a project setting. It affects every project open in this Resolve instance. Only call when the user explicitly asked for the switch. Args: preset_name: Name of the user-preferences preset to load.

preset_name str
delete_user_preferences_preset
annotations: none low

Delete a user-preferences preset by name (Resolve 21.0.4+). Args: preset_name: Name of the user-preferences preset to delete.

preset_name str
import_user_preferences_preset
annotations: none low

Import a user-preferences preset from a file (Resolve 21.0.4+). The imported preset is NOT auto-loaded; it takes its name from the file when preset_name is omitted (measured on Studio 21.0.4.5). Follow with load_user_preferences_preset to activate it. Args: import_path: Absolute path to the preset file to import. preset_name: Name to save the imported preset as (filename if None).

import_path str preset_name str
export_user_preferences_preset
annotations: none low

Export a user-preferences preset to a file (Resolve 21.0.4+). Args: preset_name: Name of the user-preferences preset to export. export_path: Absolute path where the preset file will be saved.

export_path str preset_name str
export_folder
annotations: none low

Export a folder to a DRB file or other format. Args: folder_name: Name of the folder to export export_path: Path to save the exported file export_type: Export format (DRB is default and currently the only supported option)

export_path str export_type str folder_name str
transcribe_folder_audio
annotations: none low

Transcribe audio for all clips in a folder. The transcription language follows the project's Speech Recognition setting (Project Settings > Subtitles), not a per-call argument. Args: folder_name: Name of the folder containing clips to transcribe use_speaker_detection: Optional (Resolve 21+). Enable speaker detection. If omitted, the project's setting is used.

folder_name str use_speaker_detection string
clear_folder_transcription
annotations: none low

Clear audio transcription for all clips in a folder. Args: folder_name: Name of the folder to clear transcriptions from

folder_name str
get_folder_clip_list
annotations: none low

Get list of clips in a Media Pool folder. Args: folder_path: Path from root. Empty for current folder.

folder_path str
get_folder_subfolder_list
annotations: none low

Get list of subfolders in a Media Pool folder. Args: folder_path: Path from root. Empty for current folder.

folder_path str
get_folder_is_stale
annotations: none low

Check if a Media Pool folder is stale (needs refresh). Args: folder_path: Path from root. Empty for current folder.

folder_path str
get_folder_unique_id
annotations: none low

Get the unique ID of a Media Pool folder. Args: folder_path: Path from root. Empty for current folder.

folder_path str
folder_export
annotations: none low

Export a Media Pool folder to a file. Args: file_path: Absolute path for the export. folder_path: Path from root. Empty for current folder.

file_path str folder_path str
folder_transcribe_audio
annotations: none low

Transcribe audio for all clips in a Media Pool folder. Args: folder_path: Path from root. Empty for current folder.

folder_path str
folder_clear_transcription
annotations: none low

Clear transcription for all clips in a Media Pool folder. Args: folder_path: Path from root. Empty for current folder.

folder_path str
folder_perform_audio_classification
annotations: none low

Classify audio of all clips in a Media Pool folder into categories (Resolve 21+). Args: folder_path: Path from root. Empty for current folder.

folder_path str
folder_clear_audio_classification
annotations: none low

Clear audio classification for all clips in a Media Pool folder (Resolve 21+). Args: folder_path: Path from root. Empty for current folder.

folder_path str
folder_analyze_for_intellisearch
annotations: none low

Run IntelliSearch analysis on all clips in a folder (Resolve 21+, requires AI IntelliSearch Extra). Args: folder_path: Path from root. Empty for current folder. identify_faces: Whether to identify faces. is_better_mode: Use Better mode (vs Faster).

folder_path str identify_faces bool is_better_mode bool
folder_analyze_for_slate
annotations: none low

Run Slate analysis on all clips in a folder (Resolve 21+, requires AI Slate ID Extra). Args: folder_path: Path from root. Empty for current folder. marker_color: Marker color for detected slates (Blue, Cyan, Green, Yellow, Red, Pink, Purple, Fuchsia, Rose, Lavender, Sky, Mint, Lemon, Sand, Cocoa, Cream).

folder_path str marker_color str
folder_remove_motion_blur
annotations: none low

Render motion-deblurred copies of all clips in a folder (Resolve 21+). Creates NEW media files; source media is not modified. Args: folder_path: Path from root. Empty for current folder. deblur_option: Settings dict (FileName, Format, Codec, EncodingProfile, UseExtremeMode, UseMarkInMarkOut, RenderAtSourceRes, UseMoreGpuMemory).

folder_path str deblur_option string
set_timeline_item_transform
annotations: none low

Set a transform property for a timeline item. Args: timeline_item_id: The ID of the timeline item to modify property_name: The name of the property to set. Options include: 'Pan', 'Tilt', 'ZoomX', 'ZoomY', 'Rotation', 'AnchorPointX', 'AnchorPointY', 'Pitch', 'Yaw' property_value: The value to set for the property

property_name str property_value float timeline_item_id str
set_timeline_item_crop
annotations: none low

Set a crop property for a timeline item. Args: timeline_item_id: The ID of the timeline item to modify crop_type: The type of crop to set. Options: 'Left', 'Right', 'Top', 'Bottom' crop_value: The value to set for the crop (typically 0.0 to 1.0)

crop_type str crop_value float timeline_item_id str
set_timeline_item_composite
annotations: none low

Set composite properties for a timeline item. Args: timeline_item_id: The ID of the timeline item to modify composite_mode: Optional composite mode to set (e.g., 'Normal', 'Add', 'Multiply') opacity: Optional opacity value to set (0.0 to 1.0)

opacity float composite_mode str timeline_item_id str
set_timeline_item_retime
annotations: none low

Set retiming properties for a timeline item. Args: timeline_item_id: The ID of the timeline item to modify speed: Optional speed factor (e.g., 0.5 for 50%, 2.0 for 200%) process: Optional retime process. Options: 'NearestFrame', 'FrameBlend', 'OpticalFlow'

speed float process str timeline_item_id str
set_timeline_item_stabilization
annotations: none low

Set stabilization properties for a timeline item. Args: timeline_item_id: The ID of the timeline item to modify enabled: Optional boolean to enable/disable stabilization method: Optional stabilization method. Options: 'Perspective', 'Similarity', 'Translation' strength: Optional strength value (0.0 to 1.0)

method str enabled bool strength float timeline_item_id str
set_timeline_item_audio
annotations: none low

Set audio properties for a timeline item. Args: timeline_item_id: The ID of the timeline item to modify volume: Optional volume level (usually 0.0 to 2.0, where 1.0 is unity gain) pan: Optional pan value (-1.0 to 1.0, where -1.0 is left, 0 is center, 1.0 is right) eq_enabled: Optional boolean to enable/disable EQ

pan float volume float eq_enabled bool timeline_item_id str
add_keyframe
annotations: none low

Add a keyframe at the specified frame for a timeline item property. Args: timeline_item_id: The ID of the timeline item to add keyframe to property_name: The name of the property to keyframe (e.g., 'Pan', 'ZoomX') frame: Frame position for the keyframe value: Value to set at the keyframe

frame int value float property_name str timeline_item_id str
modify_keyframe
annotations: none low

Modify an existing keyframe by changing its value or frame position. Args: timeline_item_id: The ID of the timeline item property_name: The name of the property with keyframe frame: Current frame position of the keyframe to modify new_value: Optional new value for the keyframe new_frame: Optional new frame position for the keyframe

frame int new_frame int new_value float property_name str timeline_item_id str
delete_keyframe
annotations: none low

Delete a keyframe at the specified frame for a timeline item property. Args: timeline_item_id: The ID of the timeline item property_name: The name of the property with keyframe to delete frame: Frame position of the keyframe to delete

frame int property_name str timeline_item_id str
set_keyframe_interpolation
annotations: none low

Set the interpolation type for a keyframe. Args: timeline_item_id: The ID of the timeline item property_name: The name of the property with keyframe frame: Frame position of the keyframe interpolation_type: Type of interpolation. Options: 'Linear', 'Bezier', 'Ease-In', 'Ease-Out'

frame int property_name str timeline_item_id str interpolation_type str
enable_keyframes
annotations: none low

Enable keyframe mode for a timeline item. Args: timeline_item_id: The ID of the timeline item keyframe_mode: Keyframe mode to enable. Options: 'All', 'Color', 'Sizing'

keyframe_mode str timeline_item_id str
ti_get_info
annotations: none low

Get comprehensive info about a timeline item. Args: item_index: 0-based item index. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

item_index int track_type str track_index int
ti_set_name
annotations: none low

Rename a timeline item. Args: name: New timeline item name. item_index: 0-based item index. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

name str item_index int track_type str track_index int
ti_get_source_start_time
annotations: none low

Get source start time of a timeline item. Args: item_index: 0-based item index. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

item_index int track_type str track_index int
ti_set_property
annotations: none low

Set a property on a timeline item. Args: property_name: Property name (Pan, Tilt, ZoomX, ZoomY, RotationAngle, Opacity, CropLeft, CropRight, CropTop, CropBottom, etc.). property_value: Value to set. item_index: 0-based item index. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

item_index int track_type str track_index int property_name str property_value Any
ti_get_property
annotations: none low

Get property of a timeline item. Args: property_name: Property name, or empty for all. Default: ''. item_index: 0-based item index. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

item_index int track_type str track_index int property_name str
ti_export_fusion_comp
annotations: none low

Export a Fusion composition to file. Args: file_path: Output path for the .comp file. comp_index: 1-based Fusion comp index. Default: 1. item_index: 0-based item index. Default: 0.

file_path str comp_index int item_index int track_type str track_index int
ti_add_marker
annotations: none low

Add a marker to a timeline item. Args: frame_id: Frame offset within the item. color: Marker color. name: Marker name. note: Marker note. Default: ''. duration: Duration in frames. Default: 1. custom_data: Custom data. Default: ''. item_index: 0-based item index. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

name str note str color str duration int frame_id int item_index int track_type str custom_data str track_index int
ti_get_markers
annotations: none low

Get all markers on a timeline item. Args: item_index: 0-based item index. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

item_index int track_type str track_index int
ti_delete_markers_by_color
annotations: none low

Delete markers by color on a timeline item. Args: color: Color to delete. '' for all. item_index: 0-based item index. Default: 0.

color str item_index int track_type str track_index int
ti_delete_marker_at_frame
annotations: none low

Delete a marker at a frame on a timeline item. Args: frame_id: Frame number. item_index: 0-based item index. Default: 0.

frame_id int item_index int track_type str track_index int
ti_delete_marker_by_custom_data
annotations: none low

Delete a marker by custom data on a timeline item. Args: custom_data: Custom data of the marker. item_index: 0-based item index. Default: 0.

item_index int track_type str custom_data str track_index int
ti_get_marker_by_custom_data
annotations: none low

Find marker by custom data. Args: custom_data: Custom data to search for. item_index: 0-based item index. Default: 0.

item_index int track_type str custom_data str track_index int
ti_update_marker_custom_data
annotations: none low

Update marker custom data. Args: frame_id: Frame number. custom_data: New custom data. item_index: 0-based item index. Default: 0.

frame_id int item_index int track_type str custom_data str track_index int
ti_get_marker_custom_data
annotations: none low

Get marker custom data. Args: frame_id: Frame number. item_index: 0-based item index. Default: 0.

frame_id int item_index int track_type str track_index int
ti_add_flag
annotations: none low

Add a flag to a timeline item. Args: color: Flag color. item_index: 0-based item index. Default: 0.

color str item_index int track_type str track_index int
ti_get_flag_list
annotations: none low

Get flags on a timeline item. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_clear_flags
annotations: none low

Clear flags from a timeline item. Args: color: Color to clear, or '' for all. item_index: 0-based item index. Default: 0.

color str item_index int track_type str track_index int
ti_get_clip_color
annotations: none low

Get clip color of a timeline item. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_set_clip_color
annotations: none low

Set clip color of a timeline item. Args: color: Color name. item_index: 0-based item index. Default: 0.

color str item_index int track_type str track_index int
ti_clear_clip_color
annotations: none low

Clear clip color from a timeline item. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_add_fusion_comp
annotations: none low

Add a new Fusion composition to a timeline item. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_import_fusion_comp
annotations: none low

Import a Fusion composition from file. Args: file_path: Path to the .comp file. item_index: 0-based item index. Default: 0.

file_path str item_index int track_type str track_index int
get_clip_media_id
annotations: none low

Get the media ID for a clip. Args: clip_id: Unique ID of the clip.

clip_id str
ti_delete_fusion_comp
annotations: none low

Delete a Fusion composition by name. Args: comp_name: Name of the Fusion composition. item_index: 0-based item index. Default: 0.

comp_name str item_index int track_type str track_index int
ti_load_fusion_comp
annotations: none low

Load a Fusion composition by name. Args: comp_name: Name of the Fusion composition. item_index: 0-based item index. Default: 0.

comp_name str item_index int track_type str track_index int
ti_rename_fusion_comp
annotations: none low

Rename a Fusion composition. Args: old_name: Current name. new_name: New name. item_index: 0-based item index. Default: 0.

new_name str old_name str item_index int track_type str track_index int
ti_get_fusion_comp_info
annotations: none low

Get Fusion composition info for a timeline item. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_add_version
annotations: none low

Add a new color version to a timeline item. Args: version_name: Name for the new version. version_type: 0=Local, 1=Remote. Default: 0. item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int version_name str version_type int
ti_get_current_version
annotations: none low

Get the current color version of a timeline item. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_delete_version
annotations: none low

Delete a color version. Args: version_name: Name of the version. version_type: 0=Local, 1=Remote. Default: 0. item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int version_name str version_type int
ti_load_version
annotations: none low

Load a color version. Args: version_name: Name of the version. version_type: 0=Local, 1=Remote. Default: 0. item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int version_name str version_type int
ti_rename_version
annotations: none low

Rename a color version. Args: old_name: Current version name. new_name: New version name. version_type: 0=Local, 1=Remote. Default: 0. item_index: 0-based item index. Default: 0.

new_name str old_name str item_index int track_type str track_index int version_type int
ti_get_version_name_list
annotations: none low

Get list of version names. Args: version_type: 0=Local, 1=Remote. Default: 0. item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int version_type int
ti_set_cdl
annotations: none low

Set CDL (Color Decision List) values on a timeline item. Args: cdl: Dict with CDL values: {'NodeIndex': str, 'Slope': str, 'Offset': str, 'Power': str, 'Saturation': str}. item_index: 0-based item index. Default: 0.

cdl string item_index int track_type str track_index int
ti_add_take
annotations: none low

Add a take to a timeline item. Args: media_pool_item_id: Unique ID of the MediaPoolItem to use as take. start_frame: Start frame. Default: 0. end_frame: End frame. Default: 0. item_index: 0-based item index. Default: 0.

end_frame int item_index int track_type str start_frame int track_index int media_pool_item_id str
ti_get_takes_info
annotations: none low

Get takes info for a timeline item. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_select_take
annotations: none low

Select a take by index. Args: take_index: 1-based take index. item_index: 0-based item index. Default: 0.

item_index int take_index int track_type str track_index int
ti_delete_take
annotations: none low

Delete a take by index. Args: take_index: 1-based take index. item_index: 0-based item index. Default: 0.

item_index int take_index int track_type str track_index int
ti_finalize_take
annotations: none low

Finalize the selected take. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_copy_grades
annotations: none low

Copy grades from one timeline item to others. Args: target_item_indices: List of 0-based indices of target items. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1. source_item_index: 0-based source item index. Default: 0.

track_type str track_index int source_item_index int target_item_indices string
ti_set_clip_enabled
annotations: none low

Enable or disable a timeline item. Args: enabled: True to enable, False to disable. item_index: 0-based item index. Default: 0.

enabled bool item_index int track_type str track_index int
ti_update_sidecar
annotations: none low

Update sidecar file for a timeline item. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_load_burn_in_preset
annotations: none low

Load a burn-in preset for a timeline item. Args: preset_name: Burn-in preset name. item_index: 0-based item index. Default: 0.

item_index int track_type str preset_name str track_index int
ti_create_magic_mask
annotations: none low

Create a Magic Mask on a timeline item. Args: mode: 'Forward' or 'Backward'. Default: 'Forward'. item_index: 0-based item index. Default: 0.

mode str item_index int track_type str track_index int
ti_regenerate_magic_mask
annotations: none low

Regenerate Magic Mask on a timeline item. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_stabilize
annotations: none low

Stabilize a timeline item. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_smart_reframe
annotations: none low

Apply Smart Reframe to a timeline item. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_get_voice_isolation_state
annotations: none low

Get voice isolation state for a timeline item. Args: item_index: 0-based item index. Default: 0. track_type: 'audio' or 'video'. Default: 'audio'. track_index: 1-based track index. Default: 1.

item_index int track_type str track_index int
ti_set_voice_isolation_state
annotations: none low

Set voice isolation state for a timeline item. Args: state: Dict with isEnabled (bool) and amount (0-100). item_index: 0-based item index. Default: 0. track_type: 'audio' or 'video'. Default: 'audio'. track_index: 1-based track index. Default: 1.

state string item_index int track_type str track_index int
ti_reset_all_node_colors
annotations: none low

Reset node colors for all nodes in the active clip version. Args: item_index: 0-based item index. Default: 0. track_type: 'video' or 'audio'. Default: 'video'. track_index: 1-based track index. Default: 1.

item_index int track_type str track_index int
ti_get_node_graph
annotations: none low

Get the color node graph for a timeline item. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_get_color_group
annotations: none low

Get the color group for a timeline item. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_assign_to_color_group
annotations: none low

Assign a timeline item to a color group. Args: group_name: Name of the color group. item_index: 0-based item index. Default: 0.

group_name str item_index int track_type str track_index int
ti_remove_from_color_group
annotations: none low

Remove a timeline item from its color group. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_export_lut
annotations: none low

Export LUT from a timeline item. Args: export_type: LUT type ('EXPORT_LUT_17PTCUBE', 'EXPORT_LUT_33PTCUBE', 'EXPORT_LUT_65PTCUBE', 'EXPORT_LUT_PANASONICVLUT'). path: Output file path. item_index: 0-based item index. Default: 0.

path str item_index int track_type str export_type str track_index int
ti_get_linked_items
annotations: none low

Get items linked to a timeline item. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_get_track_type_and_index
annotations: none low

Get the track type and index for a timeline item. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_get_source_audio_channel_mapping
annotations: none low

Get source audio channel mapping for a timeline item. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_get_stereo_convergence_values
annotations: none low

Get stereo convergence values for a timeline item. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_get_stereo_floating_window_params
annotations: none low

Get stereo floating window parameters. Args: eye: 'left' or 'right'. Default: 'left'. item_index: 0-based item index. Default: 0.

eye str item_index int track_type str track_index int
ti_get_media_pool_item
annotations: none low

Get the MediaPoolItem associated with a timeline item. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_get_cache_status
annotations: none low

Get cache status for a timeline item. Args: item_index: 0-based item index. Default: 0.

item_index int track_type str track_index int
ti_set_color_output_cache
annotations: none low

Enable/disable color output cache for a timeline item. Args: enabled: True to enable, False to disable. item_index: 0-based item index. Default: 0.

enabled bool item_index int track_type str track_index int
ti_set_fusion_output_cache
annotations: none low

Enable/disable Fusion output cache for a timeline item. Args: enabled: True to enable, False to disable. item_index: 0-based item index. Default: 0.

enabled bool item_index int track_type str track_index int
get_fusion_comp_by_name
annotations: none low

Get a Fusion composition from a timeline item by name. Args: comp_name: Name of the Fusion composition to retrieve. track_type: Track type ('video', 'audio', 'subtitle'). track_index: Track index (1-based). item_index: Item index on the track (0-based).

comp_name str item_index int track_type str track_index int
link_proxy_media
annotations: none low

Link a proxy media file to a clip. Args: clip_name: Name of the clip to link proxy to proxy_file_path: Path to the proxy media file

clip_name str proxy_file_path str
unlink_proxy_media
annotations: none low

Unlink proxy media from a clip. Args: clip_name: Name of the clip to unlink proxy from

clip_name str
replace_clip
annotations: none low

Replace a clip with another media file. Args: clip_name: Name of the clip to be replaced replacement_path: Path to the replacement media file

clip_name str replacement_path str
transcribe_audio
annotations: none low

Transcribe audio for a clip. The transcription language follows the project's Speech Recognition setting (Project Settings > Subtitles), not a per-call argument. Args: clip_name: Name of the clip to transcribe use_speaker_detection: Optional (Resolve 21+). Enable speaker detection. If omitted, the project's setting is used.

clip_name str use_speaker_detection string
clear_transcription
annotations: none low

Clear audio transcription for a clip. Args: clip_name: Name of the clip to clear transcription from

clip_name str
get_clip_metadata
annotations: none low

Get metadata for a Media Pool clip. Args: clip_id: Unique ID of the clip. metadata_type: Specific metadata key, or empty for all metadata.

clip_id str metadata_type str
set_clip_metadata
annotations: none low

Set metadata on a Media Pool clip. Args: clip_id: Unique ID of the clip. metadata: Dict of metadata key-value pairs to set.

clip_id str metadata string
get_clip_third_party_metadata
annotations: none low

Get third-party metadata for a clip. Args: clip_id: Unique ID of the clip. metadata_key: Specific key, or empty for all.

clip_id str metadata_key str
set_clip_third_party_metadata
annotations: none low

Set third-party metadata on a clip. Args: clip_id: Unique ID of the clip. metadata: Dict of metadata key-value pairs.

clip_id str metadata string
add_clip_marker
annotations: none low

Add a marker to a Media Pool clip. Args: clip_id: Unique ID of the clip. frame_id: Frame number for the marker. color: Marker color (Blue, Cyan, Green, Yellow, Red, Pink, Purple, Fuchsia, Rose, Lavender, Sky, Mint, Lemon, Sand, Cocoa, Cream). name: Marker name. note: Marker note. Default: empty. duration: Marker duration in frames. Default: 1. custom_data: Custom data string. Default: empty.

name str note str color str clip_id str duration int frame_id int custom_data str
get_clip_markers
annotations: none low

Get all markers on a Media Pool clip. Args: clip_id: Unique ID of the clip.

clip_id str
get_clip_marker_by_custom_data
annotations: none low

Get a marker by its custom data string. Args: clip_id: Unique ID of the clip. custom_data: Custom data string to search for.

clip_id str custom_data str
update_clip_marker_custom_data
annotations: none low

Update the custom data of a clip marker. Args: clip_id: Unique ID of the clip. frame_id: Frame number of the marker. custom_data: New custom data string.

clip_id str frame_id int custom_data str
get_clip_marker_custom_data
annotations: none low

Get the custom data of a clip marker at a specific frame. Args: clip_id: Unique ID of the clip. frame_id: Frame number of the marker.

clip_id str frame_id int
delete_clip_markers_by_color
annotations: none low

Delete all markers of a specific color on a clip. Args: clip_id: Unique ID of the clip. color: Color of markers to delete. Use '' to delete all.

color str clip_id str
delete_clip_marker_at_frame
annotations: none low

Delete a marker at a specific frame on a clip. Args: clip_id: Unique ID of the clip. frame_id: Frame number of the marker to delete.

clip_id str frame_id int
delete_clip_marker_by_custom_data
annotations: none low

Delete a marker by its custom data string. Args: clip_id: Unique ID of the clip. custom_data: Custom data string of the marker to delete.

clip_id str custom_data str
add_clip_flag
annotations: none low

Add a flag to a Media Pool clip. Args: clip_id: Unique ID of the clip. color: Flag color (Blue, Cyan, Green, Yellow, Red, Pink, Purple, Fuchsia, Rose, Lavender, Sky, Mint, Lemon, Sand, Cocoa, Cream).

color str clip_id str
get_clip_flag_list
annotations: none low

Get list of flags on a clip. Args: clip_id: Unique ID of the clip.

clip_id str
clear_clip_flags
annotations: none low

Clear flags on a clip. Args: clip_id: Unique ID of the clip. color: Specific color to clear, or empty for all colors.

color str clip_id str
get_clip_color
annotations: none low

Get the clip color of a Media Pool item. Args: clip_id: Unique ID of the clip.

clip_id str
set_clip_color
annotations: none low

Set the clip color of a Media Pool item. Args: clip_id: Unique ID of the clip. color: Color name (Orange, Apricot, Yellow, Lime, Olive, Green, Teal, Navy, Blue, Purple, Violet, Pink, Tan, Beige, Brown, Chocolate).

color str clip_id str
clear_clip_color
annotations: none low

Clear the clip color of a Media Pool item. Args: clip_id: Unique ID of the clip.

clip_id str
set_clip_property
annotations: none low

Set a property on a Media Pool clip. Args: clip_id: Unique ID of the clip. property_name: Property name (e.g. 'Clip Name', 'Comments', 'Description'). property_value: Value to set.

clip_id str property_name str property_value str
get_clip_property
annotations: none low

Get a property of a Media Pool clip. Args: clip_id: Unique ID of the clip. property_name: Property name, or empty for all properties.

clip_id str property_name str
set_media_pool_clip_name
annotations: none low

Rename a Media Pool clip. Args: clip_id: Unique ID of the clip. new_name: New clip name.

clip_id str new_name str
link_clip_proxy_media
annotations: none low

Link proxy media to a clip. Args: clip_id: Unique ID of the clip. proxy_path: Absolute path to the proxy media file.

clip_id str proxy_path str
link_clip_full_resolution_media
annotations: none low

Link full resolution media to a proxy clip. Args: clip_id: Unique ID of the clip. full_res_media_path: Absolute path to the full resolution media file.

clip_id str full_res_media_path str
unlink_clip_proxy_media
annotations: none low

Unlink proxy media from a clip. Args: clip_id: Unique ID of the clip.

clip_id str
replace_media_pool_clip
annotations: none low

Replace a clip with a new media file. Args: clip_id: Unique ID of the clip to replace. new_file_path: Absolute path to the new media file.

clip_id str new_file_path str
replace_media_pool_clip_preserve_sub_clip
annotations: none low

Replace a clip's underlying media while preserving subclip extents. Args: clip_id: Unique ID of the clip to replace. file_path: Absolute path to the replacement media file.

clip_id str file_path str
monitor_clip_growing_file
annotations: none low

Monitor a growing media file for the given Media Pool clip.

clip_id str
get_clip_unique_id_by_name
annotations: none low

Find a clip by name and return its unique ID. Args: clip_name: Name of the clip to find.

clip_name str
transcribe_clip_audio
annotations: none low

Transcribe audio for a specific clip. Args: clip_id: Unique ID of the clip.

clip_id str
clear_clip_transcription
annotations: none low

Clear transcription for a specific clip. Args: clip_id: Unique ID of the clip.

clip_id str
get_clip_audio_mapping
annotations: none low

Get audio mapping for a clip. Args: clip_id: Unique ID of the clip.

clip_id str
get_clip_mark_in_out
annotations: none low

Get mark in/out points for a clip. Args: clip_id: Unique ID of the clip.

clip_id str
set_clip_mark_in_out
annotations: none low

Set mark in/out points for a clip. Args: clip_id: Unique ID of the clip. mark_in: Mark in frame number. mark_out: Mark out frame number.

clip_id str mark_in int mark_out int
clear_clip_mark_in_out
annotations: none low

Clear mark in/out points for a clip. Args: clip_id: Unique ID of the clip.

clip_id str
perform_clip_audio_classification
annotations: none low

Classify a clip's audio into categories and subcategories (Resolve 21+). Args: clip_id: Unique ID of the clip.

clip_id str
clear_clip_audio_classification
annotations: none low

Clear a clip's audio classification (Resolve 21+). Args: clip_id: Unique ID of the clip.

clip_id str
analyze_clip_for_intellisearch
annotations: none low

Run IntelliSearch analysis on a clip (Resolve 21+, requires AI IntelliSearch Extra). Args: clip_id: Unique ID of the clip. identify_faces: Whether to identify faces. is_better_mode: Use Better mode (vs Faster).

clip_id str identify_faces bool is_better_mode bool
analyze_clip_for_slate
annotations: none low

Run Slate analysis on a clip (Resolve 21+, requires AI Slate ID Extra). Args: clip_id: Unique ID of the clip. marker_color: Marker color for detected slates (Blue, Cyan, Green, Yellow, Red, Pink, Purple, Fuchsia, Rose, Lavender, Sky, Mint, Lemon, Sand, Cocoa, Cream).

clip_id str marker_color str
remove_clip_motion_blur
annotations: none low

Render a motion-deblurred copy of a clip (Resolve 21+). Creates a NEW media file; the source clip is not modified. Args: clip_id: Unique ID of the clip. deblur_option: Settings dict (FileName, Format, Codec, EncodingProfile, UseExtremeMode, UseMarkInMarkOut, RenderAtSourceRes, UseMoreGpuMemory).

clip_id str deblur_option string
get_clip_timeline
annotations: none low

Resolve a Media Pool timeline entry to its timeline summary (Resolve 21.0.4+). Calls MediaPoolItem.GetTimeline(). Returns is_timeline=false for ordinary clips — that is an answer, not a failure. Args: clip_id: Unique ID of the Media Pool item.

clip_id str

Permissions 5

network medium
Server uses network capabilities via: http, requests, socket, urllib
filesystem low
Server uses filesystem capabilities via: fs, fs sync ops, fs.promises, fs/promises, glob, open(), os, path, pathlib, shutil, tempfile
shell high
Server uses shell capabilities via: child_process, os.exec*(), spawn(), spawnSync(), subprocess
database medium
Server uses database capabilities via: better-sqlite3, pg, sqlite3
env_vars low
Server uses env_vars capabilities via: os.environ, process.env

Scan Findings 807

low
Tool 'timeline' has no annotations annotation_checker · 100%
low
Tool 'quit_app' has no annotations annotation_checker · 100%
low
Tool 'restart_app' has no annotations annotation_checker · 100%
low
Tool 'open_settings' has no annotations annotation_checker · 100%
low
Tool 'setup' has no annotations annotation_checker · 100%
low
Tool 'resolve_control' has no annotations annotation_checker · 100%
low
Tool 'layout_presets' has no annotations annotation_checker · 100%
low
Tool 'render_presets' has no annotations annotation_checker · 100%
low
Tool 'project_manager' has no annotations annotation_checker · 100%
low
Tool 'project_manager_folders' has no annotations annotation_checker · 100%
low
Tool 'project_manager_cloud' has no annotations annotation_checker · 100%
low
Tool 'project_manager_database' has no annotations annotation_checker · 100%
low
Tool 'project_settings' has no annotations annotation_checker · 100%
low
Tool 'render' has no annotations annotation_checker · 100%
low
Tool 'media_storage' has no annotations annotation_checker · 100%
low
Tool 'media_pool' has no annotations annotation_checker · 100%
low
Tool 'folder' has no annotations annotation_checker · 100%
low
Tool 'media_pool_item' has no annotations annotation_checker · 100%
low
Tool 'media_pool_item_markers' has no annotations annotation_checker · 100%
low
Tool 'media_analysis' has no annotations annotation_checker · 100%
low
Tool 'timeline_versioning' has no annotations annotation_checker · 100%
low
Tool 'edit_engine' has no annotations annotation_checker · 100%
low
Tool 'timeline_markers' has no annotations annotation_checker · 100%
low
Tool 'timeline_frame' has no annotations annotation_checker · 100%
low
Tool 'timeline_ai' has no annotations annotation_checker · 100%
low
Tool 'timeline_item' has no annotations annotation_checker · 100%
low
Tool 'timeline_item_markers' has no annotations annotation_checker · 100%
low
Tool 'timeline_item_fusion' has no annotations annotation_checker · 100%
low
Tool 'timeline_item_color' has no annotations annotation_checker · 100%
low
Tool 'timeline_item_takes' has no annotations annotation_checker · 100%
low
Tool 'gallery' has no annotations annotation_checker · 100%
low
Tool 'gallery_stills' has no annotations annotation_checker · 100%
low
Tool 'graph' has no annotations annotation_checker · 100%
low
Tool 'color_group' has no annotations annotation_checker · 100%
low
Tool 'fusion_comp' has no annotations annotation_checker · 100%
low
Tool 'fuse_plugin' has no annotations annotation_checker · 100%
low
Tool 'dctl' has no annotations annotation_checker · 100%
low
Tool 'script_plugin' has no annotations annotation_checker · 100%
low
Tool 'get_mounted_volumes' has no annotations annotation_checker · 100%
low
Tool 'get_media_storage_subfolders' has no annotations annotation_checker · 100%
low
Tool 'get_media_storage_files' has no annotations annotation_checker · 100%
low
Tool 'reveal_in_media_storage' has no annotations annotation_checker · 100%
low
Tool 'add_items_to_media_pool_from_storage' has no annotations annotation_checker · 100%
low
Tool 'add_clip_mattes_to_media_pool' has no annotations annotation_checker · 100%
low
Tool 'add_timeline_mattes_to_media_pool' has no annotations annotation_checker · 100%
low
Tool 'set_project_setting' has no annotations annotation_checker · 100%
low
Tool 'open_project' has no annotations annotation_checker · 100%
low
Tool 'create_project' has no annotations annotation_checker · 100%
low
Tool 'save_project' has no annotations annotation_checker · 100%
low
Tool 'close_project' has no annotations annotation_checker · 100%
low
Tool 'set_cache_mode' has no annotations annotation_checker · 100%
low
Tool 'set_optimized_media_mode' has no annotations annotation_checker · 100%
low
Tool 'set_proxy_mode' has no annotations annotation_checker · 100%
low
Tool 'set_proxy_quality' has no annotations annotation_checker · 100%
low
Tool 'set_cache_path' has no annotations annotation_checker · 100%
low
Tool 'create_cloud_project_tool' has no annotations annotation_checker · 100%
low
Tool 'load_cloud_project_tool' has no annotations annotation_checker · 100%
low
Tool 'import_cloud_project_tool' has no annotations annotation_checker · 100%
low
Tool 'restore_cloud_project_tool' has no annotations annotation_checker · 100%
low
Tool 'set_project_property_tool' has no annotations annotation_checker · 100%
low
Tool 'set_timeline_format_tool' has no annotations annotation_checker · 100%
low
Tool 'set_superscale_settings_tool' has no annotations annotation_checker · 100%
low
Tool 'set_color_science_mode_tool' has no annotations annotation_checker · 100%
low
Tool 'set_color_space_tool' has no annotations annotation_checker · 100%
low
Tool 'archive_project' has no annotations annotation_checker · 100%
low
Tool 'delete_project' has no annotations annotation_checker · 100%
low
Tool 'create_project_folder' has no annotations annotation_checker · 100%
low
Tool 'delete_project_folder' has no annotations annotation_checker · 100%
low
Tool 'get_project_folder_list' has no annotations annotation_checker · 100%
low
Tool 'goto_root_project_folder' has no annotations annotation_checker · 100%
low
Tool 'goto_parent_project_folder' has no annotations annotation_checker · 100%
low
Tool 'get_current_project_folder' has no annotations annotation_checker · 100%
low
Tool 'open_project_folder' has no annotations annotation_checker · 100%
low
Tool 'import_project_from_file' has no annotations annotation_checker · 100%
low
Tool 'export_project_to_file' has no annotations annotation_checker · 100%
low
Tool 'restore_project' has no annotations annotation_checker · 100%
low
Tool 'get_current_database' has no annotations annotation_checker · 100%
low
Tool 'get_database_list' has no annotations annotation_checker · 100%
low
Tool 'set_current_database' has no annotations annotation_checker · 100%
low
Tool 'set_project_name' has no annotations annotation_checker · 100%
low
Tool 'get_timeline_by_index' has no annotations annotation_checker · 100%
low
Tool 'get_project_preset_list' has no annotations annotation_checker · 100%
low
Tool 'set_project_preset' has no annotations annotation_checker · 100%
low
Tool 'delete_render_job' has no annotations annotation_checker · 100%
low
Tool 'get_render_job_list' has no annotations annotation_checker · 100%
low
Tool 'start_rendering_jobs' has no annotations annotation_checker · 100%
low
Tool 'stop_rendering' has no annotations annotation_checker · 100%
low
Tool 'is_rendering_in_progress' has no annotations annotation_checker · 100%
low
Tool 'load_render_preset' has no annotations annotation_checker · 100%
low
Tool 'save_as_new_render_preset' has no annotations annotation_checker · 100%
low
Tool 'delete_render_preset' has no annotations annotation_checker · 100%
low
Tool 'set_render_settings' has no annotations annotation_checker · 100%
low
Tool 'get_render_job_status' has no annotations annotation_checker · 100%
low
Tool 'get_render_formats' has no annotations annotation_checker · 100%
low
Tool 'get_render_codecs' has no annotations annotation_checker · 100%
low
Tool 'get_current_render_format_and_codec' has no annotations annotation_checker · 100%
low
Tool 'set_current_render_format_and_codec' has no annotations annotation_checker · 100%
low
Tool 'get_current_render_mode' has no annotations annotation_checker · 100%
low
Tool 'set_current_render_mode' has no annotations annotation_checker · 100%
low
Tool 'get_render_resolutions' has no annotations annotation_checker · 100%
low
Tool 'refresh_lut_list' has no annotations annotation_checker · 100%
low
Tool 'get_project_unique_id' has no annotations annotation_checker · 100%
low
Tool 'insert_audio_to_current_track' has no annotations annotation_checker · 100%
low
Tool 'load_burn_in_preset' has no annotations annotation_checker · 100%
low
Tool 'export_current_frame_as_still' has no annotations annotation_checker · 100%
low
Tool 'get_color_groups_list' has no annotations annotation_checker · 100%
low
Tool 'add_color_group' has no annotations annotation_checker · 100%
low
Tool 'delete_color_group' has no annotations annotation_checker · 100%
low
Tool 'rename_color_group' has no annotations annotation_checker · 100%
low
Tool 'apply_fairlight_preset_to_current_timeline' has no annotations annotation_checker · 100%
low
Tool 'get_quick_export_render_presets' has no annotations annotation_checker · 100%
low
Tool 'render_with_quick_export' has no annotations annotation_checker · 100%
low
Tool 'add_render_job' has no annotations annotation_checker · 100%
low
Tool 'load_cloud_project' has no annotations annotation_checker · 100%
low
Tool 'generate_speech' has no annotations annotation_checker · 100%
low
Tool 'get_project_attributes_in_current_folder' has no annotations annotation_checker · 100%
low
Tool 'get_gallery_album_name' has no annotations annotation_checker · 100%
low
Tool 'set_gallery_album_name' has no annotations annotation_checker · 100%
low
Tool 'get_gallery_still_albums' has no annotations annotation_checker · 100%
low
Tool 'get_gallery_power_grade_albums' has no annotations annotation_checker · 100%
low
Tool 'get_current_still_album' has no annotations annotation_checker · 100%
low
Tool 'set_current_still_album' has no annotations annotation_checker · 100%
low
Tool 'create_gallery_still_album' has no annotations annotation_checker · 100%
low
Tool 'create_gallery_power_grade_album' has no annotations annotation_checker · 100%
low
Tool 'get_album_stills' has no annotations annotation_checker · 100%
low
Tool 'get_still_label' has no annotations annotation_checker · 100%
low
Tool 'set_still_label' has no annotations annotation_checker · 100%
low
Tool 'import_stills_to_album' has no annotations annotation_checker · 100%
low
Tool 'export_stills_from_album' has no annotations annotation_checker · 100%
low
Tool 'delete_stills_from_album' has no annotations annotation_checker · 100%
low
Tool 'graph_get_num_nodes' has no annotations annotation_checker · 100%
low
Tool 'graph_set_lut' has no annotations annotation_checker · 100%
low
Tool 'graph_get_lut' has no annotations annotation_checker · 100%
low
Tool 'graph_set_node_cache_mode' has no annotations annotation_checker · 100%
low
Tool 'graph_get_node_cache_mode' has no annotations annotation_checker · 100%
low
Tool 'graph_get_node_label' has no annotations annotation_checker · 100%
low
Tool 'graph_get_tools_in_node' has no annotations annotation_checker · 100%
low
Tool 'graph_set_node_enabled' has no annotations annotation_checker · 100%
low
Tool 'graph_apply_grade_from_drx' has no annotations annotation_checker · 100%
low
Tool 'graph_apply_arri_cdl_lut' has no annotations annotation_checker · 100%
low
Tool 'graph_reset_all_grades' has no annotations annotation_checker · 100%
low
Tool 'get_color_group_clips' has no annotations annotation_checker · 100%
low
Tool 'get_color_group_pre_clip_node_graph' has no annotations annotation_checker · 100%
low
Tool 'get_color_group_post_clip_node_graph' has no annotations annotation_checker · 100%
low
Tool 'import_media' has no annotations annotation_checker · 100%
low
Tool 'append_to_timeline' has no annotations annotation_checker · 100%
low
Tool 'setup_multicam_timeline' has no annotations annotation_checker · 100%
low
Tool 'auto_sync_audio' has no annotations annotation_checker · 100%
low
Tool 'add_subfolder' has no annotations annotation_checker · 100%
low
Tool 'refresh_media_pool_folders' has no annotations annotation_checker · 100%
low
Tool 'import_timeline_from_file' has no annotations annotation_checker · 100%
low
Tool 'delete_timelines_by_id' has no annotations annotation_checker · 100%
low
Tool 'set_current_media_pool_folder' has no annotations annotation_checker · 100%
low
Tool 'delete_media_pool_clips' has no annotations annotation_checker · 100%
low
Tool 'import_folder_from_file' has no annotations annotation_checker · 100%
low
Tool 'delete_media_pool_folders' has no annotations annotation_checker · 100%
low
Tool 'move_clips_to_folder' has no annotations annotation_checker · 100%
low
Tool 'move_media_pool_folders' has no annotations annotation_checker · 100%
low
Tool 'get_clip_matte_list' has no annotations annotation_checker · 100%
low
Tool 'get_timeline_matte_list' has no annotations annotation_checker · 100%
low
Tool 'delete_clip_mattes' has no annotations annotation_checker · 100%
low
Tool 'export_media_pool_metadata' has no annotations annotation_checker · 100%
low
Tool 'get_media_pool_unique_id' has no annotations annotation_checker · 100%
low
Tool 'create_stereo_clip' has no annotations annotation_checker · 100%
low
Tool 'get_selected_clips' has no annotations annotation_checker · 100%
low
Tool 'set_selected_clip' has no annotations annotation_checker · 100%
low
Tool 'create_timeline' has no annotations annotation_checker · 100%
low
Tool 'set_current_timeline' has no annotations annotation_checker · 100%
low
Tool 'list_timelines_tool' has no annotations annotation_checker · 100%
low
Tool 'timeline_set_name' has no annotations annotation_checker · 100%
low
Tool 'timeline_set_start_timecode' has no annotations annotation_checker · 100%
low
Tool 'timeline_get_current_timecode' has no annotations annotation_checker · 100%
low
Tool 'timeline_set_current_timecode' has no annotations annotation_checker · 100%
low
Tool 'timeline_add_track' has no annotations annotation_checker · 100%
low
Tool 'timeline_delete_track' has no annotations annotation_checker · 100%
low
Tool 'timeline_get_track_sub_type' has no annotations annotation_checker · 100%
low
Tool 'timeline_set_track_enable' has no annotations annotation_checker · 100%
low
Tool 'timeline_get_is_track_enabled' has no annotations annotation_checker · 100%
low
Tool 'timeline_set_track_lock' has no annotations annotation_checker · 100%
low
Tool 'timeline_get_is_track_locked' has no annotations annotation_checker · 100%
low
Tool 'timeline_get_voice_isolation_state' has no annotations annotation_checker · 100%
low
Tool 'timeline_set_voice_isolation_state' has no annotations annotation_checker · 100%
low
Tool 'timeline_delete_clips' has no annotations annotation_checker · 100%
low
Tool 'timeline_set_clips_linked' has no annotations annotation_checker · 100%
low
Tool 'timeline_add_marker' has no annotations annotation_checker · 100%
low
Tool 'timeline_get_markers' has no annotations annotation_checker · 100%
low
Tool 'timeline_get_marker_by_custom_data' has no annotations annotation_checker · 100%
low
Tool 'timeline_update_marker_custom_data' has no annotations annotation_checker · 100%
low
Tool 'timeline_get_marker_custom_data' has no annotations annotation_checker · 100%
low
Tool 'timeline_delete_markers_by_color' has no annotations annotation_checker · 100%
low
Tool 'timeline_delete_marker_at_frame' has no annotations annotation_checker · 100%
low
Tool 'timeline_delete_marker_by_custom_data' has no annotations annotation_checker · 100%
low
Tool 'timeline_get_track_name' has no annotations annotation_checker · 100%
low
Tool 'timeline_set_track_name' has no annotations annotation_checker · 100%
low
Tool 'timeline_duplicate' has no annotations annotation_checker · 100%
low
Tool 'timeline_create_compound_clip' has no annotations annotation_checker · 100%
low
Tool 'timeline_create_fusion_clip' has no annotations annotation_checker · 100%
low
Tool 'timeline_import_into' has no annotations annotation_checker · 100%
low
Tool 'timeline_export' has no annotations annotation_checker · 100%
low
Tool 'timeline_insert_generator' has no annotations annotation_checker · 100%
low
Tool 'timeline_insert_fusion_generator' has no annotations annotation_checker · 100%
low
Tool 'timeline_insert_fusion_composition' has no annotations annotation_checker · 100%
low
Tool 'timeline_insert_ofx_generator' has no annotations annotation_checker · 100%
low
Tool 'timeline_insert_title' has no annotations annotation_checker · 100%
low
Tool 'timeline_insert_fusion_title' has no annotations annotation_checker · 100%
low
Tool 'timeline_grab_still' has no annotations annotation_checker · 100%
low
Tool 'timeline_grab_all_stills' has no annotations annotation_checker · 100%
low
Tool 'timeline_get_unique_id' has no annotations annotation_checker · 100%
low
Tool 'timeline_create_subtitles_from_audio' has no annotations annotation_checker · 100%
low
Tool 'timeline_detect_scene_cuts' has no annotations annotation_checker · 100%
low
Tool 'timeline_convert_to_stereo' has no annotations annotation_checker · 100%
low
Tool 'timeline_get_node_graph' has no annotations annotation_checker · 100%
low
Tool 'timeline_analyze_dolby_vision' has no annotations annotation_checker · 100%
low
Tool 'timeline_get_current_video_item' has no annotations annotation_checker · 100%
low
Tool 'timeline_get_current_clip_thumbnail' has no annotations annotation_checker · 100%
low
Tool 'timeline_get_media_pool_item' has no annotations annotation_checker · 100%
low
Tool 'timeline_get_mark_in_out' has no annotations annotation_checker · 100%
low
Tool 'timeline_set_mark_in_out' has no annotations annotation_checker · 100%
low
Tool 'timeline_clear_mark_in_out' has no annotations annotation_checker · 100%
low
Tool 'create_timeline_from_clips' has no annotations annotation_checker · 100%
low
Tool 'set_timeline_setting' has no annotations annotation_checker · 100%
low
Tool 'get_selected_timeline_items' has no annotations annotation_checker · 100%
low
Tool 'switch_page' has no annotations annotation_checker · 100%
low
Tool 'object_help' has no annotations annotation_checker · 100%
low
Tool 'inspect_custom_object' has no annotations annotation_checker · 100%
low
Tool 'save_layout_preset_tool' has no annotations annotation_checker · 100%
low
Tool 'load_layout_preset_tool' has no annotations annotation_checker · 100%
low
Tool 'export_layout_preset_tool' has no annotations annotation_checker · 100%
low
Tool 'import_layout_preset_tool' has no annotations annotation_checker · 100%
low
Tool 'delete_layout_preset_tool' has no annotations annotation_checker · 100%
low
Tool 'disable_background_tasks_for_current_session' has no annotations annotation_checker · 100%
low
Tool 'open_app_preferences' has no annotations annotation_checker · 100%
low
Tool 'get_resolve_version_fields' has no annotations annotation_checker · 100%
low
Tool 'get_fusion_object' has no annotations annotation_checker · 100%
low
Tool 'update_layout_preset' has no annotations annotation_checker · 100%
low
Tool 'import_render_preset' has no annotations annotation_checker · 100%
low
Tool 'export_render_preset' has no annotations annotation_checker · 100%
low
Tool 'import_burn_in_preset' has no annotations annotation_checker · 100%
low
Tool 'export_burn_in_preset' has no annotations annotation_checker · 100%
low
Tool 'get_keyframe_mode' has no annotations annotation_checker · 100%
low
Tool 'set_keyframe_mode' has no annotations annotation_checker · 100%
low
Tool 'get_fairlight_presets' has no annotations annotation_checker · 100%
low
Tool 'quit_resolve' has no annotations annotation_checker · 100%
low
Tool 'get_layout_preset_list' has no annotations annotation_checker · 100%
low
Tool 'get_burn_in_preset_list' has no annotations annotation_checker · 100%
low
Tool 'delete_burn_in_preset' has no annotations annotation_checker · 100%
low
Tool 'get_user_preferences_preset_list' has no annotations annotation_checker · 100%
low
Tool 'save_user_preferences_preset' has no annotations annotation_checker · 100%
low
Tool 'load_user_preferences_preset' has no annotations annotation_checker · 100%
low
Tool 'delete_user_preferences_preset' has no annotations annotation_checker · 100%
low
Tool 'import_user_preferences_preset' has no annotations annotation_checker · 100%
low
Tool 'export_user_preferences_preset' has no annotations annotation_checker · 100%
low
Tool 'export_folder' has no annotations annotation_checker · 100%
low
Tool 'transcribe_folder_audio' has no annotations annotation_checker · 100%
low
Tool 'clear_folder_transcription' has no annotations annotation_checker · 100%
low
Tool 'get_folder_clip_list' has no annotations annotation_checker · 100%
low
Tool 'get_folder_subfolder_list' has no annotations annotation_checker · 100%
low
Tool 'get_folder_is_stale' has no annotations annotation_checker · 100%
low
Tool 'get_folder_unique_id' has no annotations annotation_checker · 100%
low
Tool 'folder_export' has no annotations annotation_checker · 100%
low
Tool 'folder_transcribe_audio' has no annotations annotation_checker · 100%
low
Tool 'folder_clear_transcription' has no annotations annotation_checker · 100%
low
Tool 'folder_perform_audio_classification' has no annotations annotation_checker · 100%
low
Tool 'folder_clear_audio_classification' has no annotations annotation_checker · 100%
low
Tool 'folder_analyze_for_intellisearch' has no annotations annotation_checker · 100%
low
Tool 'folder_analyze_for_slate' has no annotations annotation_checker · 100%
low
Tool 'folder_remove_motion_blur' has no annotations annotation_checker · 100%
low
Tool 'set_timeline_item_transform' has no annotations annotation_checker · 100%
low
Tool 'set_timeline_item_crop' has no annotations annotation_checker · 100%
low
Tool 'set_timeline_item_composite' has no annotations annotation_checker · 100%
low
Tool 'set_timeline_item_retime' has no annotations annotation_checker · 100%
low
Tool 'set_timeline_item_stabilization' has no annotations annotation_checker · 100%
low
Tool 'set_timeline_item_audio' has no annotations annotation_checker · 100%
low
Tool 'add_keyframe' has no annotations annotation_checker · 100%
low
Tool 'modify_keyframe' has no annotations annotation_checker · 100%
low
Tool 'delete_keyframe' has no annotations annotation_checker · 100%
low
Tool 'set_keyframe_interpolation' has no annotations annotation_checker · 100%
low
Tool 'enable_keyframes' has no annotations annotation_checker · 100%
low
Tool 'ti_get_info' has no annotations annotation_checker · 100%
low
Tool 'ti_set_name' has no annotations annotation_checker · 100%
low
Tool 'ti_get_source_start_time' has no annotations annotation_checker · 100%
low
Tool 'ti_set_property' has no annotations annotation_checker · 100%
low
Tool 'ti_get_property' has no annotations annotation_checker · 100%
low
Tool 'ti_add_marker' has no annotations annotation_checker · 100%
low
Tool 'ti_get_markers' has no annotations annotation_checker · 100%
low
Tool 'ti_delete_markers_by_color' has no annotations annotation_checker · 100%
low
Tool 'ti_delete_marker_at_frame' has no annotations annotation_checker · 100%
low
Tool 'ti_delete_marker_by_custom_data' has no annotations annotation_checker · 100%
low
Tool 'ti_get_marker_by_custom_data' has no annotations annotation_checker · 100%
low
Tool 'ti_update_marker_custom_data' has no annotations annotation_checker · 100%
low
Tool 'ti_get_marker_custom_data' has no annotations annotation_checker · 100%
low
Tool 'ti_add_flag' has no annotations annotation_checker · 100%
low
Tool 'ti_get_flag_list' has no annotations annotation_checker · 100%
low
Tool 'ti_clear_flags' has no annotations annotation_checker · 100%
low
Tool 'ti_get_clip_color' has no annotations annotation_checker · 100%
low
Tool 'ti_set_clip_color' has no annotations annotation_checker · 100%
low
Tool 'ti_clear_clip_color' has no annotations annotation_checker · 100%
low
Tool 'ti_add_fusion_comp' has no annotations annotation_checker · 100%
low
Tool 'ti_import_fusion_comp' has no annotations annotation_checker · 100%
low
Tool 'ti_export_fusion_comp' has no annotations annotation_checker · 100%
low
Tool 'ti_delete_fusion_comp' has no annotations annotation_checker · 100%
low
Tool 'ti_load_fusion_comp' has no annotations annotation_checker · 100%
low
Tool 'ti_rename_fusion_comp' has no annotations annotation_checker · 100%
low
Tool 'ti_get_fusion_comp_info' has no annotations annotation_checker · 100%
low
Tool 'ti_add_version' has no annotations annotation_checker · 100%
low
Tool 'ti_get_current_version' has no annotations annotation_checker · 100%
low
Tool 'ti_delete_version' has no annotations annotation_checker · 100%
low
Tool 'ti_load_version' has no annotations annotation_checker · 100%
low
Tool 'ti_rename_version' has no annotations annotation_checker · 100%
low
Tool 'ti_get_version_name_list' has no annotations annotation_checker · 100%
low
Tool 'ti_set_cdl' has no annotations annotation_checker · 100%
low
Tool 'ti_add_take' has no annotations annotation_checker · 100%
low
Tool 'ti_get_takes_info' has no annotations annotation_checker · 100%
low
Tool 'ti_select_take' has no annotations annotation_checker · 100%
low
Tool 'ti_delete_take' has no annotations annotation_checker · 100%
low
Tool 'ti_finalize_take' has no annotations annotation_checker · 100%
low
Tool 'ti_copy_grades' has no annotations annotation_checker · 100%
low
Tool 'ti_set_clip_enabled' has no annotations annotation_checker · 100%
low
Tool 'ti_update_sidecar' has no annotations annotation_checker · 100%
low
Tool 'ti_load_burn_in_preset' has no annotations annotation_checker · 100%
low
Tool 'ti_create_magic_mask' has no annotations annotation_checker · 100%
low
Tool 'ti_regenerate_magic_mask' has no annotations annotation_checker · 100%
low
Tool 'ti_stabilize' has no annotations annotation_checker · 100%
low
Tool 'ti_smart_reframe' has no annotations annotation_checker · 100%
low
Tool 'ti_get_voice_isolation_state' has no annotations annotation_checker · 100%
low
Tool 'ti_set_voice_isolation_state' has no annotations annotation_checker · 100%
low
Tool 'ti_reset_all_node_colors' has no annotations annotation_checker · 100%
low
Tool 'ti_get_node_graph' has no annotations annotation_checker · 100%
low
Tool 'ti_get_color_group' has no annotations annotation_checker · 100%
low
Tool 'ti_assign_to_color_group' has no annotations annotation_checker · 100%
low
Tool 'ti_remove_from_color_group' has no annotations annotation_checker · 100%
low
Tool 'ti_export_lut' has no annotations annotation_checker · 100%
low
Tool 'ti_get_linked_items' has no annotations annotation_checker · 100%
low
Tool 'ti_get_track_type_and_index' has no annotations annotation_checker · 100%
low
Tool 'ti_get_source_audio_channel_mapping' has no annotations annotation_checker · 100%
low
Tool 'ti_get_stereo_convergence_values' has no annotations annotation_checker · 100%
low
Tool 'ti_get_stereo_floating_window_params' has no annotations annotation_checker · 100%
low
Tool 'ti_get_media_pool_item' has no annotations annotation_checker · 100%
low
Tool 'ti_get_cache_status' has no annotations annotation_checker · 100%
low
Tool 'ti_set_color_output_cache' has no annotations annotation_checker · 100%
low
Tool 'ti_set_fusion_output_cache' has no annotations annotation_checker · 100%
low
Tool 'get_fusion_comp_by_name' has no annotations annotation_checker · 100%
low
Tool 'link_proxy_media' has no annotations annotation_checker · 100%
low
Tool 'unlink_proxy_media' has no annotations annotation_checker · 100%
low
Tool 'replace_clip' has no annotations annotation_checker · 100%
low
Tool 'transcribe_audio' has no annotations annotation_checker · 100%
low
Tool 'clear_transcription' has no annotations annotation_checker · 100%
low
Tool 'get_clip_metadata' has no annotations annotation_checker · 100%
low
Tool 'set_clip_metadata' has no annotations annotation_checker · 100%
low
Tool 'get_clip_third_party_metadata' has no annotations annotation_checker · 100%
low
Tool 'set_clip_third_party_metadata' has no annotations annotation_checker · 100%
low
Tool 'get_clip_media_id' has no annotations annotation_checker · 100%
low
Tool 'add_clip_marker' has no annotations annotation_checker · 100%
low
Tool 'get_clip_markers' has no annotations annotation_checker · 100%
low
Tool 'get_clip_marker_by_custom_data' has no annotations annotation_checker · 100%
low
Tool 'update_clip_marker_custom_data' has no annotations annotation_checker · 100%
low
Tool 'get_clip_marker_custom_data' has no annotations annotation_checker · 100%
low
Tool 'delete_clip_markers_by_color' has no annotations annotation_checker · 100%
low
Tool 'delete_clip_marker_at_frame' has no annotations annotation_checker · 100%
low
Tool 'delete_clip_marker_by_custom_data' has no annotations annotation_checker · 100%
low
Tool 'add_clip_flag' has no annotations annotation_checker · 100%
low
Tool 'get_clip_flag_list' has no annotations annotation_checker · 100%
low
Tool 'clear_clip_flags' has no annotations annotation_checker · 100%
low
Tool 'get_clip_color' has no annotations annotation_checker · 100%
low
Tool 'set_clip_color' has no annotations annotation_checker · 100%
low
Tool 'clear_clip_color' has no annotations annotation_checker · 100%
low
Tool 'set_clip_property' has no annotations annotation_checker · 100%
low
Tool 'get_clip_property' has no annotations annotation_checker · 100%
low
Tool 'set_media_pool_clip_name' has no annotations annotation_checker · 100%
low
Tool 'link_clip_proxy_media' has no annotations annotation_checker · 100%
low
Tool 'link_clip_full_resolution_media' has no annotations annotation_checker · 100%
low
Tool 'unlink_clip_proxy_media' has no annotations annotation_checker · 100%
low
Tool 'replace_media_pool_clip' has no annotations annotation_checker · 100%
low
Tool 'replace_media_pool_clip_preserve_sub_clip' has no annotations annotation_checker · 100%
low
Tool 'monitor_clip_growing_file' has no annotations annotation_checker · 100%
low
Tool 'get_clip_unique_id_by_name' has no annotations annotation_checker · 100%
low
Tool 'transcribe_clip_audio' has no annotations annotation_checker · 100%
low
Tool 'clear_clip_transcription' has no annotations annotation_checker · 100%
low
Tool 'get_clip_audio_mapping' has no annotations annotation_checker · 100%
low
Tool 'get_clip_mark_in_out' has no annotations annotation_checker · 100%
low
Tool 'set_clip_mark_in_out' has no annotations annotation_checker · 100%
low
Tool 'clear_clip_mark_in_out' has no annotations annotation_checker · 100%
low
Tool 'perform_clip_audio_classification' has no annotations annotation_checker · 100%
low
Tool 'clear_clip_audio_classification' has no annotations annotation_checker · 100%
low
Tool 'analyze_clip_for_intellisearch' has no annotations annotation_checker · 100%
low
Tool 'analyze_clip_for_slate' has no annotations annotation_checker · 100%
low
Tool 'remove_clip_motion_blur' has no annotations annotation_checker · 100%
low
Tool 'get_clip_timeline' has no annotations annotation_checker · 100%
medium
OAuth implementation without PKCE auth_checker · 75%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: adm-zip@0.5.16 (GHSA-xcpc-8h2w-3j85) dependency_analyzer · 95%
medium
Vulnerable dependency: uuid@9.0.0 (GHSA-w5hq-g745-h8pq) dependency_analyzer · 95%
medium
Vulnerable dependency: fast-xml-parser@catalog: (GHSA-gh4j-gqv2-49f6) dependency_analyzer · 95%
medium
Vulnerable dependency: fast-xml-parser@catalog: (GHSA-x3cc-x39p-42qx) dependency_analyzer · 95%
medium
Vulnerable dependency: adm-zip@catalog: (GHSA-3v6h-hqm4-2rg6) dependency_analyzer · 95%
medium
Vulnerable dependency: adm-zip@catalog: (GHSA-xcpc-8h2w-3j85) dependency_analyzer · 95%
medium
Vulnerable dependency: jszip@catalog: (GHSA-36fh-84j7-cv5h) dependency_analyzer · 95%
medium
Vulnerable dependency: jszip@catalog: (GHSA-jg8v-48h5-wgxg) dependency_analyzer · 95%
medium
Hex string literal (>50 chars) in samuelgursky-davinci-resolve-mcp-132e134/tests/test_attribution_drift.py:71 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in samuelgursky-davinci-resolve-mcp-132e134/tests/test_attribution_drift.py:72 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in samuelgursky-davinci-resolve-mcp-132e134/tests/test_attribution_drift.py:73 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in samuelgursky-davinci-resolve-mcp-132e134/tests/test_attribution_drift.py:74 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in samuelgursky-davinci-resolve-mcp-132e134/tests/test_attribution_drift.py:75 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in samuelgursky-davinci-resolve-mcp-132e134/tests/test_attribution_drift.py:76 entropy_analyzer · 70%
medium
High-entropy string (5.71 bits/char) in samuelgursky-davinci-resolve-mcp-132e134/src/control_panel_i18n.py:206 entropy_analyzer · 50%
medium
High-entropy string (6.12 bits/char) in samuelgursky-davinci-resolve-mcp-132e134/src/control_panel_i18n.py:529 entropy_analyzer · 56%
medium
High-entropy string (5.71 bits/char) in samuelgursky-davinci-resolve-mcp-132e134/src/control_panel_i18n.py:549 entropy_analyzer · 50%
info
package.json metadata manifest_parser · 100%
info
Tool: setup manifest_parser · 90%
info
Tool: resolve_control manifest_parser · 90%
info
Tool: layout_presets manifest_parser · 90%
info
Tool: render_presets manifest_parser · 90%
info
Tool: project_manager manifest_parser · 90%
info
Tool: project_manager_folders manifest_parser · 90%
info
Tool: project_manager_cloud manifest_parser · 90%
info
Tool: project_manager_database manifest_parser · 90%
info
Tool: project_settings manifest_parser · 90%
info
Tool: render manifest_parser · 90%
info
Tool: media_storage manifest_parser · 90%
info
Tool: media_pool manifest_parser · 90%
info
Tool: folder manifest_parser · 90%
info
Tool: media_pool_item manifest_parser · 90%
info
Tool: get_mounted_volumes manifest_parser · 90%
info
Tool: get_render_formats manifest_parser · 90%
info
Tool: media_pool_item_markers manifest_parser · 90%
info
Tool: media_analysis manifest_parser · 90%
info
Tool: timeline_versioning manifest_parser · 90%
info
Tool: edit_engine manifest_parser · 90%
info
Tool: timeline manifest_parser · 90%
info
Tool: timeline_markers manifest_parser · 90%
info
Tool: timeline_frame manifest_parser · 90%
info
Tool: get_media_storage_subfolders manifest_parser · 90%
info
Tool: timeline_ai manifest_parser · 90%
info
Tool: timeline_item manifest_parser · 90%
info
Tool: timeline_item_markers manifest_parser · 90%
info
Tool: timeline_item_fusion manifest_parser · 90%
info
Tool: timeline_item_color manifest_parser · 90%
info
Tool: timeline_item_takes manifest_parser · 90%
info
Tool: gallery manifest_parser · 90%
info
Tool: get_media_storage_files manifest_parser · 90%
info
Tool: gallery_stills manifest_parser · 90%
info
Tool: graph manifest_parser · 90%
info
Tool: color_group manifest_parser · 90%
info
Tool: fusion_comp manifest_parser · 90%
info
Tool: fuse_plugin manifest_parser · 90%
info
Tool: dctl manifest_parser · 90%
info
Tool: script_plugin manifest_parser · 90%
info
Tool: reveal_in_media_storage manifest_parser · 90%
info
Tool: add_items_to_media_pool_from_storage manifest_parser · 90%
info
Tool: add_clip_mattes_to_media_pool manifest_parser · 90%
info
Tool: add_timeline_mattes_to_media_pool manifest_parser · 90%
info
Tool: set_project_setting manifest_parser · 90%
info
Tool: open_project manifest_parser · 90%
info
Tool: create_project manifest_parser · 90%
info
Tool: save_project manifest_parser · 90%
info
Tool: close_project manifest_parser · 90%
info
Tool: set_cache_mode manifest_parser · 90%
info
Tool: set_optimized_media_mode manifest_parser · 90%
info
Tool: set_proxy_mode manifest_parser · 90%
info
Tool: set_proxy_quality manifest_parser · 90%
info
Tool: set_cache_path manifest_parser · 90%
info
Tool: create_cloud_project_tool manifest_parser · 90%
info
Tool: load_cloud_project_tool manifest_parser · 90%
info
Tool: import_cloud_project_tool manifest_parser · 90%
info
Tool: restore_cloud_project_tool manifest_parser · 90%
info
Tool: set_project_property_tool manifest_parser · 90%
info
Tool: set_timeline_format_tool manifest_parser · 90%
info
Tool: set_superscale_settings_tool manifest_parser · 90%
info
Tool: set_color_science_mode_tool manifest_parser · 90%
info
Tool: set_color_space_tool manifest_parser · 90%
info
Tool: archive_project manifest_parser · 90%
info
Tool: delete_project manifest_parser · 90%
info
Tool: create_project_folder manifest_parser · 90%
info
Tool: delete_project_folder manifest_parser · 90%
info
Tool: get_project_folder_list manifest_parser · 90%
info
Tool: goto_root_project_folder manifest_parser · 90%
info
Tool: goto_parent_project_folder manifest_parser · 90%
info
Tool: get_current_project_folder manifest_parser · 90%
info
Tool: open_project_folder manifest_parser · 90%
info
Tool: import_project_from_file manifest_parser · 90%
info
Tool: export_project_to_file manifest_parser · 90%
info
Tool: restore_project manifest_parser · 90%
info
Tool: get_current_database manifest_parser · 90%
info
Tool: get_database_list manifest_parser · 90%
info
Tool: set_current_database manifest_parser · 90%
info
Tool: set_project_name manifest_parser · 90%
info
Tool: get_timeline_by_index manifest_parser · 90%
info
Tool: get_project_preset_list manifest_parser · 90%
info
Tool: set_project_preset manifest_parser · 90%
info
Tool: delete_render_job manifest_parser · 90%
info
Tool: get_render_job_list manifest_parser · 90%
info
Tool: start_rendering_jobs manifest_parser · 90%
info
Tool: stop_rendering manifest_parser · 90%
info
Tool: is_rendering_in_progress manifest_parser · 90%
info
Tool: load_render_preset manifest_parser · 90%
info
Tool: save_as_new_render_preset manifest_parser · 90%
info
Tool: delete_render_preset manifest_parser · 90%
info
Tool: set_render_settings manifest_parser · 90%
info
Tool: get_render_job_status manifest_parser · 90%
info
Tool: get_render_codecs manifest_parser · 90%
info
Tool: get_current_render_format_and_codec manifest_parser · 90%
info
Tool: set_current_render_format_and_codec manifest_parser · 90%
info
Tool: get_current_render_mode manifest_parser · 90%
info
Tool: set_current_render_mode manifest_parser · 90%
info
Tool: get_render_resolutions manifest_parser · 90%
info
Tool: refresh_lut_list manifest_parser · 90%
info
Tool: get_project_unique_id manifest_parser · 90%
info
Tool: insert_audio_to_current_track manifest_parser · 90%
info
Tool: load_burn_in_preset manifest_parser · 90%
info
Tool: export_current_frame_as_still manifest_parser · 90%
info
Tool: get_color_groups_list manifest_parser · 90%
info
Tool: add_color_group manifest_parser · 90%
info
Tool: delete_color_group manifest_parser · 90%
info
Tool: rename_color_group manifest_parser · 90%
info
Tool: apply_fairlight_preset_to_current_timeline manifest_parser · 90%
info
Tool: get_quick_export_render_presets manifest_parser · 90%
info
Tool: render_with_quick_export manifest_parser · 90%
info
Tool: add_render_job manifest_parser · 90%
info
Tool: load_cloud_project manifest_parser · 90%
info
Tool: generate_speech manifest_parser · 90%
info
Tool: get_project_attributes_in_current_folder manifest_parser · 90%
info
Tool: get_gallery_album_name manifest_parser · 90%
info
Tool: set_gallery_album_name manifest_parser · 90%
info
Tool: get_gallery_still_albums manifest_parser · 90%
info
Tool: get_gallery_power_grade_albums manifest_parser · 90%
info
Tool: get_current_still_album manifest_parser · 90%
info
Tool: set_current_still_album manifest_parser · 90%
info
Tool: create_gallery_still_album manifest_parser · 90%
info
Tool: create_gallery_power_grade_album manifest_parser · 90%
info
Tool: get_album_stills manifest_parser · 90%
info
Tool: get_still_label manifest_parser · 90%
info
Tool: set_still_label manifest_parser · 90%
info
Tool: import_stills_to_album manifest_parser · 90%
info
Tool: export_stills_from_album manifest_parser · 90%
info
Tool: delete_stills_from_album manifest_parser · 90%
info
Tool: graph_get_num_nodes manifest_parser · 90%
info
Tool: graph_set_lut manifest_parser · 90%
info
Tool: graph_get_lut manifest_parser · 90%
info
Tool: graph_set_node_cache_mode manifest_parser · 90%
info
Tool: graph_get_node_cache_mode manifest_parser · 90%
info
Tool: graph_get_node_label manifest_parser · 90%
info
Tool: graph_get_tools_in_node manifest_parser · 90%
info
Tool: graph_set_node_enabled manifest_parser · 90%
info
Tool: graph_apply_grade_from_drx manifest_parser · 90%
info
Tool: graph_apply_arri_cdl_lut manifest_parser · 90%
info
Tool: graph_reset_all_grades manifest_parser · 90%
info
Tool: get_color_group_clips manifest_parser · 90%
info
Tool: get_color_group_pre_clip_node_graph manifest_parser · 90%
info
Tool: get_color_group_post_clip_node_graph manifest_parser · 90%
info
Tool: import_media manifest_parser · 90%
info
Tool: append_to_timeline manifest_parser · 90%
info
Tool: setup_multicam_timeline manifest_parser · 90%
info
Tool: auto_sync_audio manifest_parser · 90%
info
Tool: add_subfolder manifest_parser · 90%
info
Tool: refresh_media_pool_folders manifest_parser · 90%
info
Tool: import_timeline_from_file manifest_parser · 90%
info
Tool: delete_timelines_by_id manifest_parser · 90%
info
Tool: set_current_media_pool_folder manifest_parser · 90%
info
Tool: delete_media_pool_clips manifest_parser · 90%
info
Tool: import_folder_from_file manifest_parser · 90%
info
Tool: delete_media_pool_folders manifest_parser · 90%
info
Tool: move_clips_to_folder manifest_parser · 90%
info
Tool: move_media_pool_folders manifest_parser · 90%
info
Tool: get_clip_matte_list manifest_parser · 90%
info
Tool: get_timeline_matte_list manifest_parser · 90%
info
Tool: delete_clip_mattes manifest_parser · 90%
info
Tool: export_media_pool_metadata manifest_parser · 90%
info
Tool: get_media_pool_unique_id manifest_parser · 90%
info
Tool: create_stereo_clip manifest_parser · 90%
info
Tool: get_selected_clips manifest_parser · 90%
info
Tool: set_selected_clip manifest_parser · 90%
info
Tool: create_timeline manifest_parser · 90%
info
Tool: set_current_timeline manifest_parser · 90%
info
Tool: list_timelines_tool manifest_parser · 90%
info
Tool: timeline_set_name manifest_parser · 90%
info
Tool: timeline_set_start_timecode manifest_parser · 90%
info
Tool: timeline_get_current_timecode manifest_parser · 90%
info
Tool: timeline_set_current_timecode manifest_parser · 90%
info
Tool: timeline_add_track manifest_parser · 90%
info
Tool: timeline_delete_track manifest_parser · 90%
info
Tool: timeline_get_track_sub_type manifest_parser · 90%
info
Tool: timeline_set_track_enable manifest_parser · 90%
info
Tool: timeline_get_is_track_enabled manifest_parser · 90%
info
Tool: timeline_set_track_lock manifest_parser · 90%
info
Tool: timeline_get_is_track_locked manifest_parser · 90%
info
Tool: timeline_get_voice_isolation_state manifest_parser · 90%
info
Tool: timeline_set_voice_isolation_state manifest_parser · 90%
info
Tool: timeline_delete_clips manifest_parser · 90%
info
Tool: timeline_set_clips_linked manifest_parser · 90%
info
Tool: timeline_add_marker manifest_parser · 90%
info
Tool: timeline_get_markers manifest_parser · 90%
info
Tool: timeline_get_marker_by_custom_data manifest_parser · 90%
info
Tool: timeline_update_marker_custom_data manifest_parser · 90%
info
Tool: timeline_get_marker_custom_data manifest_parser · 90%
info
Tool: timeline_delete_markers_by_color manifest_parser · 90%
info
Tool: timeline_delete_marker_at_frame manifest_parser · 90%
info
Tool: timeline_delete_marker_by_custom_data manifest_parser · 90%
info
Tool: quit_resolve manifest_parser · 90%
info
Tool: timeline_get_track_name manifest_parser · 90%
info
Tool: timeline_set_track_name manifest_parser · 90%
info
Tool: timeline_duplicate manifest_parser · 90%
info
Tool: timeline_create_compound_clip manifest_parser · 90%
info
Tool: timeline_create_fusion_clip manifest_parser · 90%
info
Tool: timeline_import_into manifest_parser · 90%
info
Tool: timeline_export manifest_parser · 90%
info
Tool: timeline_insert_generator manifest_parser · 90%
info
Tool: timeline_insert_fusion_generator manifest_parser · 90%
info
Tool: timeline_insert_fusion_composition manifest_parser · 90%
info
Tool: timeline_insert_ofx_generator manifest_parser · 90%
info
Tool: timeline_insert_title manifest_parser · 90%
info
Tool: timeline_insert_fusion_title manifest_parser · 90%
info
Tool: timeline_grab_still manifest_parser · 90%
info
Tool: timeline_grab_all_stills manifest_parser · 90%
info
Tool: timeline_get_unique_id manifest_parser · 90%
info
Tool: timeline_create_subtitles_from_audio manifest_parser · 90%
info
Tool: timeline_detect_scene_cuts manifest_parser · 90%
info
Tool: timeline_convert_to_stereo manifest_parser · 90%
info
Tool: timeline_get_node_graph manifest_parser · 90%
info
Tool: timeline_analyze_dolby_vision manifest_parser · 90%
info
Tool: timeline_get_current_video_item manifest_parser · 90%
info
Tool: timeline_get_current_clip_thumbnail manifest_parser · 90%
info
Tool: timeline_get_media_pool_item manifest_parser · 90%
info
Tool: timeline_get_mark_in_out manifest_parser · 90%
info
Tool: timeline_set_mark_in_out manifest_parser · 90%
info
Tool: timeline_clear_mark_in_out manifest_parser · 90%
info
Tool: create_timeline_from_clips manifest_parser · 90%
info
Tool: set_timeline_setting manifest_parser · 90%
info
Tool: get_selected_timeline_items manifest_parser · 90%
info
Tool: switch_page manifest_parser · 90%
info
Tool: object_help manifest_parser · 90%
info
Tool: inspect_custom_object manifest_parser · 90%
info
Tool: save_layout_preset_tool manifest_parser · 90%
info
Tool: load_layout_preset_tool manifest_parser · 90%
info
Tool: export_layout_preset_tool manifest_parser · 90%
info
Tool: import_layout_preset_tool manifest_parser · 90%
info
Tool: delete_layout_preset_tool manifest_parser · 90%
info
Tool: disable_background_tasks_for_current_session manifest_parser · 90%
info
Tool: quit_app manifest_parser · 90%
info
Tool: restart_app manifest_parser · 90%
info
Tool: open_settings manifest_parser · 90%
info
Tool: open_app_preferences manifest_parser · 90%
info
Tool: get_resolve_version_fields manifest_parser · 90%
info
Tool: get_fusion_object manifest_parser · 90%
info
Tool: update_layout_preset manifest_parser · 90%
info
Tool: import_render_preset manifest_parser · 90%
info
Tool: export_render_preset manifest_parser · 90%
info
Tool: import_burn_in_preset manifest_parser · 90%
info
Tool: export_burn_in_preset manifest_parser · 90%
info
Tool: get_keyframe_mode manifest_parser · 90%
info
Tool: set_keyframe_mode manifest_parser · 90%
info
Tool: get_fairlight_presets manifest_parser · 90%
info
Tool: get_layout_preset_list manifest_parser · 90%
info
Tool: get_burn_in_preset_list manifest_parser · 90%
info
Tool: delete_burn_in_preset manifest_parser · 90%
info
Tool: get_user_preferences_preset_list manifest_parser · 90%
info
Tool: save_user_preferences_preset manifest_parser · 90%
info
Tool: load_user_preferences_preset manifest_parser · 90%
info
Tool: delete_user_preferences_preset manifest_parser · 90%
info
Tool: import_user_preferences_preset manifest_parser · 90%
info
Tool: export_user_preferences_preset manifest_parser · 90%
info
Tool: export_folder manifest_parser · 90%
info
Tool: transcribe_folder_audio manifest_parser · 90%
info
Tool: clear_folder_transcription manifest_parser · 90%
info
Tool: get_folder_clip_list manifest_parser · 90%
info
Tool: get_folder_subfolder_list manifest_parser · 90%
info
Tool: get_folder_is_stale manifest_parser · 90%
info
Tool: get_folder_unique_id manifest_parser · 90%
info
Tool: folder_export manifest_parser · 90%
info
Tool: folder_transcribe_audio manifest_parser · 90%
info
Tool: folder_clear_transcription manifest_parser · 90%
info
Tool: folder_perform_audio_classification manifest_parser · 90%
info
Tool: folder_clear_audio_classification manifest_parser · 90%
info
Tool: folder_analyze_for_intellisearch manifest_parser · 90%
info
Tool: folder_analyze_for_slate manifest_parser · 90%
info
Tool: folder_remove_motion_blur manifest_parser · 90%
info
Tool: set_timeline_item_transform manifest_parser · 90%
info
Tool: set_timeline_item_crop manifest_parser · 90%
info
Tool: set_timeline_item_composite manifest_parser · 90%
info
Tool: set_timeline_item_retime manifest_parser · 90%
info
Tool: set_timeline_item_stabilization manifest_parser · 90%
info
Tool: set_timeline_item_audio manifest_parser · 90%
info
Tool: add_keyframe manifest_parser · 90%
info
Tool: modify_keyframe manifest_parser · 90%
info
Tool: delete_keyframe manifest_parser · 90%
info
Tool: set_keyframe_interpolation manifest_parser · 90%
info
Tool: enable_keyframes manifest_parser · 90%
info
Tool: ti_get_info manifest_parser · 90%
info
Tool: ti_set_name manifest_parser · 90%
info
Tool: ti_get_source_start_time manifest_parser · 90%
info
Tool: ti_set_property manifest_parser · 90%
info
Tool: ti_get_property manifest_parser · 90%
info
Tool: ti_add_marker manifest_parser · 90%
info
Tool: ti_get_markers manifest_parser · 90%
info
Tool: ti_delete_markers_by_color manifest_parser · 90%
info
Tool: ti_delete_marker_at_frame manifest_parser · 90%
info
Tool: ti_delete_marker_by_custom_data manifest_parser · 90%
info
Tool: ti_get_marker_by_custom_data manifest_parser · 90%
info
Tool: ti_update_marker_custom_data manifest_parser · 90%
info
Tool: ti_get_marker_custom_data manifest_parser · 90%
info
Tool: ti_add_flag manifest_parser · 90%
info
Tool: ti_get_flag_list manifest_parser · 90%
info
Tool: ti_clear_flags manifest_parser · 90%
info
Tool: ti_get_clip_color manifest_parser · 90%
info
Tool: ti_set_clip_color manifest_parser · 90%
info
Tool: ti_clear_clip_color manifest_parser · 90%
info
Tool: ti_add_fusion_comp manifest_parser · 90%
info
Tool: ti_import_fusion_comp manifest_parser · 90%
info
Tool: ti_export_fusion_comp manifest_parser · 90%
info
Tool: ti_delete_fusion_comp manifest_parser · 90%
info
Tool: ti_load_fusion_comp manifest_parser · 90%
info
Tool: ti_rename_fusion_comp manifest_parser · 90%
info
Tool: ti_get_fusion_comp_info manifest_parser · 90%
info
Tool: ti_add_version manifest_parser · 90%
info
Tool: ti_get_current_version manifest_parser · 90%
info
Tool: ti_delete_version manifest_parser · 90%
info
Tool: ti_load_version manifest_parser · 90%
info
Tool: ti_rename_version manifest_parser · 90%
info
Tool: ti_get_version_name_list manifest_parser · 90%
info
Tool: ti_set_cdl manifest_parser · 90%
info
Tool: ti_add_take manifest_parser · 90%
info
Tool: ti_get_takes_info manifest_parser · 90%
info
Tool: ti_select_take manifest_parser · 90%
info
Tool: ti_delete_take manifest_parser · 90%
info
Tool: ti_finalize_take manifest_parser · 90%
info
Tool: ti_copy_grades manifest_parser · 90%
info
Tool: ti_set_clip_enabled manifest_parser · 90%
info
Tool: ti_update_sidecar manifest_parser · 90%
info
Tool: ti_load_burn_in_preset manifest_parser · 90%
info
Tool: ti_get_linked_items manifest_parser · 90%
info
Tool: ti_create_magic_mask manifest_parser · 90%
info
Tool: ti_regenerate_magic_mask manifest_parser · 90%
info
Tool: ti_stabilize manifest_parser · 90%
info
Tool: ti_smart_reframe manifest_parser · 90%
info
Tool: ti_get_voice_isolation_state manifest_parser · 90%
info
Tool: ti_set_voice_isolation_state manifest_parser · 90%
info
Tool: ti_reset_all_node_colors manifest_parser · 90%
info
Tool: ti_get_node_graph manifest_parser · 90%
info
Tool: ti_get_color_group manifest_parser · 90%
info
Tool: ti_assign_to_color_group manifest_parser · 90%
info
Tool: ti_remove_from_color_group manifest_parser · 90%
info
Tool: ti_export_lut manifest_parser · 90%
info
Tool: ti_get_track_type_and_index manifest_parser · 90%
info
Tool: ti_get_source_audio_channel_mapping manifest_parser · 90%
info
Tool: ti_get_stereo_convergence_values manifest_parser · 90%
info
Tool: ti_get_stereo_floating_window_params manifest_parser · 90%
info
Tool: ti_get_media_pool_item manifest_parser · 90%
info
Tool: ti_get_cache_status manifest_parser · 90%
info
Tool: ti_set_color_output_cache manifest_parser · 90%
info
Tool: ti_set_fusion_output_cache manifest_parser · 90%
info
Tool: get_fusion_comp_by_name manifest_parser · 90%
info
Tool: link_proxy_media manifest_parser · 90%
info
Tool: unlink_proxy_media manifest_parser · 90%
info
Tool: replace_clip manifest_parser · 90%
info
Tool: transcribe_audio manifest_parser · 90%
info
Tool: clear_transcription manifest_parser · 90%
info
Tool: get_clip_metadata manifest_parser · 90%
info
Tool: set_clip_metadata manifest_parser · 90%
info
Tool: get_clip_third_party_metadata manifest_parser · 90%
info
Tool: set_clip_third_party_metadata manifest_parser · 90%
info
Tool: get_clip_media_id manifest_parser · 90%
info
Tool: add_clip_marker manifest_parser · 90%
info
Tool: get_clip_markers manifest_parser · 90%
info
Tool: get_clip_marker_by_custom_data manifest_parser · 90%
info
Tool: update_clip_marker_custom_data manifest_parser · 90%
info
Tool: get_clip_marker_custom_data manifest_parser · 90%
info
Tool: delete_clip_markers_by_color manifest_parser · 90%
info
Tool: delete_clip_marker_at_frame manifest_parser · 90%
info
Tool: delete_clip_marker_by_custom_data manifest_parser · 90%
info
Tool: add_clip_flag manifest_parser · 90%
info
Tool: get_clip_flag_list manifest_parser · 90%
info
Tool: clear_clip_flags manifest_parser · 90%
info
Tool: get_clip_color manifest_parser · 90%
info
Tool: set_clip_color manifest_parser · 90%
info
Tool: clear_clip_color manifest_parser · 90%
info
Tool: set_clip_property manifest_parser · 90%
info
Tool: get_clip_property manifest_parser · 90%
info
Tool: set_media_pool_clip_name manifest_parser · 90%
info
Tool: link_clip_proxy_media manifest_parser · 90%
info
Tool: link_clip_full_resolution_media manifest_parser · 90%
info
Tool: unlink_clip_proxy_media manifest_parser · 90%
info
Tool: replace_media_pool_clip manifest_parser · 90%
info
Tool: replace_media_pool_clip_preserve_sub_clip manifest_parser · 90%
info
Tool: monitor_clip_growing_file manifest_parser · 90%
info
Tool: get_clip_unique_id_by_name manifest_parser · 90%
info
Tool: transcribe_clip_audio manifest_parser · 90%
info
Tool: clear_clip_transcription manifest_parser · 90%
info
Tool: get_clip_audio_mapping manifest_parser · 90%
info
Tool: get_clip_mark_in_out manifest_parser · 90%
info
Tool: set_clip_mark_in_out manifest_parser · 90%
info
Tool: clear_clip_mark_in_out manifest_parser · 90%
info
Tool: perform_clip_audio_classification manifest_parser · 90%
info
Tool: clear_clip_audio_classification manifest_parser · 90%
info
Tool: analyze_clip_for_intellisearch manifest_parser · 90%
info
Tool: analyze_clip_for_slate manifest_parser · 90%
info
Tool: remove_clip_motion_blur manifest_parser · 90%
info
Tool: get_clip_timeline manifest_parser · 90%
info
Transport: stdio manifest_parser · 90%
info
Required env vars (42) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 90%
low
Permission: filesystem access detected permission_analyzer · 90%
high
Permission: shell access detected permission_analyzer · 95%
medium
Permission: database access detected permission_analyzer · 90%
low
Permission: env_vars access detected permission_analyzer · 90%
critical
Tool poisoning in 'timeline_item_color': Cross-tool prerequisite: 'first call/use' poisoning · 85%
info
SBOM generated: 201 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%