关于 davinci-resolve-fusion
为 DaVinci Resolve 提供 Lua 或 Python 自动化脚本参考与辅助脚本,也涵盖 Fusion 合成、宏和动画的创建与编辑。适用于构建 Resolve 工作流的用户,并区分权威 API 文档与较旧的 Fusion 参考资料。
主要功能
- 01Resolve 脚本 API 参考
- 02Lua 和 Python 示例
- 03Fusion 宏编写指南
- 04动画与模板参考资料
- 05API 和手册更新脚本
适用场景
- 01自动处理时间线、媒体池和渲染
- 02创建或编辑 Fusion 宏
- 03制作 Fusion 动画合成
- 04制作可复用的转场或标题模板
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ tmoroney/ auto-subs --skill davinci-resolve-fusion安装后在 Claude Code 中输入/davinci-resolve-fusion确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/animation.mdreferences/fusion-manual/00-index.md01-introduction.md02-scripting-languages.md03-scripting-and-debugging.md04-object-model.md05-gui-and-askuser.md06-class-hierarchy.mdreferences/fusion-manual/classes/bezierspline.mdbinclip.mdbinitem.mdbinmanager.mdbinstill.mdchildframe.mdchildgroup.mdcomposition.mdfloatviewframe.mdflowview.mdfontlist.mdfuframe.mdfusion.mdfuview.mdgl3dviewer.mdglimageviewer.mdglpreview.mdglview.mdglviewer.mdgradient.mdgraphview.mdhotkeymanager.md详细介绍
DaVinci Resolve 与 Fusion
此技能可帮助你编写 DaVinci Resolve 自动化脚本(Lua/Python),并创建或编辑 Fusion 合成、宏(.setting 文件)和动画。它打包了一组参考资料和辅助脚本,让你可以创建新内容,而不只是修改现有内容。
事实依据——请先阅读
如果资料之间存在冲突,请按以下优先级采信:
references/resolve-api.txt— 官方 Resolve 脚本README.txt,以纯文本形式保存(采用等宽字体和列对齐格式,以 Markdown 渲染后难以阅读)。这是 DaVinci Resolve API 的权威资料。它是一个快照;如果已安装 Resolve,安装目录中的实时文件…/Blackmagic Design/DaVinci Resolve/Developer/Scripting/README.txt是最新版本,并取代此快照。Resolve 更新后,请使用scripts/update-resolve-api.sh(macOS/Linux)或scripts/update-resolve-api.bat(Windows)重新同步。- 经过测试且可运行的代码 — 对于用法细节(具体参数结构、返回值、顺序),实际运行正确的脚本比任何文档都更可靠。
references/fusion-manual/— Fusion 8 脚本手册。可用它了解 Resolve API 文档未涵盖的 Fusion 专属概念(对象模型、样条曲线、工具、GUI)。该手册由 PDF 转换而来,是一份可能过时或不准确的旧快照,因此,对于其中也有说明的内容,应以(1)和(2)为准。
每个手册文件都带有重复上述内容的横幅,这样即使只打开一个文件,警告也会随内容一同显示。
这里有什么
references/
resolve-api.txt # Resolve scripting API — SOURCE OF TRUTH (plain text; view monospace)
animation.md # Fusion animation: keyframes, handles, easing, connecting props
macro-authoring.md # Building .setting macros, exposing/hiding controls
fusion-templates.md # Transitions, generators, titles, effects as macros
fusion-manual/
00-index.md # START HERE for the manual — map of every section & class
01-introduction.md … 06-class-hierarchy.md
classes/<ClassName>.md # one file per Fusion class (46 of them)
scripts/
run-script.sh / .bat # run a script via fuscript (Studio only)
update-resolve-api.sh / .bat # re-sync resolve-api.txt from your Resolve install
split-fusion-manual.py # regenerate fusion-manual/ from a converted manual PDF
如何使用
编写 Resolve 自动化脚本(时间线、媒体池、渲染、项目管理):从 references/resolve-api.txt 开始。工作示例请参阅下文的“示例脚本”。有关实际运行方法,请参阅下文的“运行脚本”。
示例脚本
DaVinci Resolve 附带了一些有代表性的示例脚本。为避免重新分发 Blackmagic 的代码,本技能不包含这些脚本;请从本地安装目录的 Scripting 文件夹下的 Examples 子文件夹中查看:
- macOS:
/Library/Application Support/Blackmagic Design/DaVinci Resolve/Developer/Scripting/Examples - Windows:
%PROGRAMDATA%\Blackmagic Design\DaVinci Resolve\Support\Developer\Scripting\Examples - Linux:
/opt/resolve/Developer/Scripting/Examples(或/home/resolve/...)
对于真实可用的 Resolve API 用法(而非仅作说明的示例),最可靠的参考资料是 AutoSubs 项目中的 AutoSubs Lua 服务 autosubs_core.lua。它展示了在生产环境中用于时间线、媒体池、渲染以及驱动 Fusion 宏的 API。
运行脚本
根据 Resolve 版本,有两种运行脚本的方式:
菜单方式(所有版本均可用,包括免费版和 Studio)。 将 .lua/.py 文件放入
Resolve 的 Fusion Scripts 文件夹,然后在 Resolve 中前往工作区 → 脚本(顶部菜单),
并从列表中选择该文件。将文件放在 Utility 子文件夹下,即可在所有页面中显示。
Scripts 文件夹的位置(摘自 references/resolve-api.txt):
- macOS:
~/Library/Application Support/Blackmagic Design/DaVinci Resolve/Fusion/Scripts(或供所有用户使用的/Library/...) - Windows:
%APPDATA%\Roaming\Blackmagic Design\DaVinci Resolve\Support\Fusion\Scripts(或供所有用户使用的%PROGRAMDATA%\...) - Linux:
$HOME/.local/share/DaVinciResolve/Fusion/Scripts(或/opt/resolve/Fusion/Scripts)
外部运行器(仅适用于 DaVinci Resolve Studio)。 scripts/run-script.sh <file.lua>
(macOS/Linux)或 scripts/run-script.bat(Windows)会直接调用 Resolve 的 fuscript,因此
你可以在任何位置运行脚本,无需通过菜单。此方式通常更方便,尤其适用于 AI Agent,但通过外部方式调用
fuscript 的脚本 API 需要 Resolve Studio——免费版不支持。上述菜单方式适用于两个版本,
因此是可靠的备用方案。
构建或编辑 Fusion 宏(.setting):阅读 references/macro-authoring.md
,了解双层控件模型(UserControls 与已发布的 InstanceInputs)以及常见问题。要查看工具/类的详细信息,
请打开 references/fusion-manual/00-index.md,并跳转到相应的类文件。
制作动画(关键帧、缓动、字符/单词效果):阅读 references/animation.md。
最需要注意的一点:SetKeyFrames() 的句柄坐标是相对坐标,而
.setting 文件中存储的是绝对坐标。
制作可复用模板(用于 Edit 和 Cut 页面的转场/生成器/标题/效果):阅读
references/fusion-templates.md。
高效浏览 Fusion 手册
手册内容很多,因此按主题和类拆分为多个文件。不要通读整本手册。 打开
references/fusion-manual/00-index.md,根据单行摘要找到所需的章节或类,然后只打开
对应文件。若要通过关键词查找内容,请在 references/fusion-manual/ 中使用 grep 搜索,
而不要滚动浏览。
要重新生成拆分文件(例如使用较新版本的手册),请使用 Mistral Document AI
(https://console.mistral.ai/build/document-ai/ocr-playground) 免费将 Blackmagic 的 Fusion 脚本 PDF
转换为 Markdown,然后运行
python3 scripts/split-fusion-manual.py <converted.md>。
提示
- Resolve/Fusion 同时支持 Lua 和 Python;两者使用相同的对象模型——参见
fusion-manual/02-scripting-languages.md。 - 使用
tool.Input = modifier.Result将输入连接到修改器;使用tool.Input = nil,然后调用tool:SetInput(...)设置静态值,即可断开连接。 - 更改宏已发布的控件后,请重新加载合成,或添加一个新的节点实例——检查器布局会按实例缓存。
- 编辑
.setting文件时,Fusion Setting Highlighter VS Code 扩展可提供正确的语法高亮(包括嵌入的 Lua)。安装 命令请参见references/macro-authoring.md,或访问 https://github.com/tmoroney/fusion-setting-highlighter。