FilmCraft 专家
在 FilmCraft(ArtCraft 的 Premiere Pro 级编辑器)中编辑视频的操作知识,适用于 Claude Code 或任何已连接 FilmCraft MCP 服务器且兼容 SKILL.md 的代理(SoundCraft 和 EffectCraft 是可选的交接目标)。每课摘要位于 references/ 目录中。以下所有映射已于 2026-11-03 根据 command_list(716 个命令)和 effects.list(304 个效果)进行了核对。
来源。 工作流程参考了 Adobe 的 Premiere Classroom in a Book 2026 Release(Adobe Press),并已根据 FilmCraft 的实时命令目录(于 2026-11-03)进行了验证。此技能为独立编写,未复制书中的任何文本。
关于剪什么和为什么(钩子、节奏、留存、结构),请将此技能与 video-editor 技能配合使用;对于在 FilmCraft 之外进行的命令行转码、探查或批量转换,请参见 ffmpeg。
验证图例。 “(verified)” / “Verified:” = 该命令已在实际的 FilmCraft 会话中执行,并且观察到了所描述的行为。未标记的映射 = 命令/效果 ID 存在于 2026-11-03 的实时目录中且参数匹配,但未进行端到端测试。“Not available” = 在当天目录中搜索未找到匹配项(快照,参见 §0)。
0. 应用程序每天都在变化——在说“缺失”之前请重新检查
ArtCraft 应用程序几乎每天都有更新。本技能及 references/ 中的每个“缺失”或“未找到”项均为 2026-11-03 时的快照,并非永久限制。
- 在告诉用户某个功能缺失或使用变通方法之前,请先使用过滤器(
command_list/list_effects/effects.list)搜索实时目录。如果该命令现在存在,请使用它。 - 这里描述的 Adobe 方法是目标。一旦应用程序支持,请完整应用它。
- 如果您找到了此技能列为缺失的命令,或者有映射发生了变化,请更新此技能(或在仓库中打开一个问题),以便快照保持准确。
代理的基本规则
- 时间: 254016000 ticks = 1 s。大多数命令也接受
seconds、frame或timecode;转场持续时间以frames为单位。 - 关键帧时间:
effects.setParam {time, keyframe:true}接受时间线时间。effects.setInterpolation、setKeyframe、moveKeyframe和deleteKeyframe接受mediaTime= 源时间 =sourceIn + (t_timeline − start)(已验证)。 - ID: 时间线片段和项目项具有不同的 ID。
timeline.place返回链接在一起的[video, audio]对。sequence_inspect非常冗长(3 个片段约 15k 个 token);对于针对性问题,请使用state.inspect、graphics.list、essentialSound.inspect、mixer.inspect、captions.list。 - 批次:
command_batch {stop_on_error:false}运行所有步骤并报告每个步骤的ok/错误;每个步骤都是一个独立的撤销操作(edit.undo)。 - 导出: 始终传递显式的
path(不传递时文件会以<sequence name>.mp4的形式进入用户的主文件夹)、wait:true以获取结果;事先使用export.resolve进行检查。 - 用户文件: 除非用户要求,否则不要打开或保存用户项目。对于实验,请使用
file.newProject+file.importDemoFootage(OceanSunset、Aurora、CityNight、Dunes、Plasma、Forest)。 - 视觉检查: 在多个时间点使用
render_frame {seconds, max_side:480};对于颜色,使用scopes.read(返回数字,而非图片)。
关键概念(简述)
- 项目: 包含素材箱、剪辑、序列和设置,但仅引用媒体文件。删除/重命名剪辑绝不会触及原始文件。
- 素材箱: 项目文件夹(
file.newBin、project.moveToBin);搜索素材箱(file.newSearchBin)是动态的元数据集合。 - 序列: 时间线。其设置(帧尺寸、帧率、音频)设定工作格式;匹配主要素材,或在源文件混合时匹配交付格式。
- 轨道: 较高的 V 轨道覆盖较低的轨道;A 轨道累加。目标化(
timeline.setTargeting)决定插入/覆盖操作落在何处;源修补决定进入的源通道。同步锁定和锁定:timeline.setTrack。 - 入点/出点: 在源上,它们选择要使用的部分;在时间线上,它们标记要移除、渲染或导出的范围。
- 插入 vs 覆盖: 插入会将所有内容向后推(序列变长);覆盖替换下面的内容。
- 3/4 点编辑: 给出三个点,第四个点由系统计算;四个点不一致时,强制在修剪和更改速度之间做出选择。
- 提取 vs 抽取: 提取留下空白,抽取闭合空白。删除 vs 波纹删除同理。
- 修剪: 常规修剪移动一个边缘并留下空白;波纹修剪移动一个边缘并拉动其余部分跟随;滚动修剪移动两个片段之间的剪切点而不改变总时长;滑移更改固定位置上显示的源部分;滑动移动片段并缩短/延长其相邻片段。
- 手柄: 入点/出点之外的额外媒体;没有手柄转场将重复帧。
- 标记: 序列或剪辑标记,带有名称、注释、颜色和持续时间;章节标记和闪点标记也存在。
- 嵌套:
clip.nest将多个剪辑转换为一个子序列,该子序列行为如同单个剪辑(组效果、重新构图、部分导出)。 - 固定效果: 运动、不透明度、时间重映射、音量、声道音量和声像器已存在于每个剪辑上。
推荐工作流程
- 项目 + 素材箱(Footage、Audio、Graphics、Sequences)→ 导入 → 检查格式(
file.mediaProperties、media.colorInfo)。 - 设置正确的序列(或对第一个
timeline.place使用matchSequence:true)。 - 使用入点/出点或子剪辑进行初选 → 粗剪。
- 精剪:修剪、节奏、J/L 剪切、转场仅在有所裨益时使用。
- 音频:类型、响度、清理、音乐、闪避、混音。
- 效果、运动、稳定、合成。
- 颜色:先矫正(平衡、镜头匹配),后调色(风格)。
- 标题、图形、字幕。
- 质量控制 → 导出 → 归档(项目管理器)。
Premiere → FilmCraft 映射
| Premiere 功能 | FilmCraft |
|---|---|
| 新建项目/序列/素材箱 | file.newProject、file.newSequence {width,height,fps}、file.newBin |
| 序列设置 | sequence.settings、sequence.colorSettings |
| 导入/媒体浏览器 | media_import(工具)、file.import、mediaBrowser.list/import |
| 分层 PSD/AI | 无图层对话框:从 PhotoCraft/VectorCraft 将图层导出为 PNG |
| 画外音录制 | audio.voiceover.start/stop(需要带有音频输入的应用程序) |
| 合成旁白 | tts.create(Premiere 中无此功能) |
| 元数据和列 | metadata.set、project.columns.set、edit.find |
| 子剪辑 | clip.makeSubclip |
| 音频通道/解释素材 | clip.audioChannels、clip.interpretFootage |
| 合并剪辑(双系统音频)/同步 | clip.mergeClips、clip.synchronize {method:"audio"} |
| 源监视器、入点/出点 | source.open、markers.markIn/markOut {target:"source"}、project.setMarks |
| 插入/覆盖 | source.insert、source.overwrite、timeline.place {insert} |
| 故事板 → 序列 | clip.automateToSequence |
| 剃刀/添加编辑 | timeline.razor、sequence.addEdit(AllTracks) |
| 提取/抽取/波纹删除 | sequence.lift、sequence.extract、edit.rippleDelete、timeline.delete {ripple} |
| 闭合空隙 | sequence.closeGap、timeline.selectGap |
| 修剪、波纹、滚动、滑移、滑动 | timeline.trim {mode}、timeline.roll、timeline.slip、timeline.slide |
| 键盘修剪 Q/W、E | trim.ripplePrevious/rippleNext、trim.extendToPlayhead |
| 动态修剪 | trim.shuttle、trim.playAround |
| 速率拉伸/速度/倒放 | timeline.rateStretch、clip.speedDuration {speed,reverse,ripple} |
| 帧定格/光流法 | clip.frameHold、clip.setTimeInterpolation |
| 替换剪辑/素材 | clip.replaceFromBin、media.replaceFootage |
| 标记 | markers.add/addRange/addChapter/edit/exportCsv |
| 链接、群组、启用 | clip.link、clip.group、clip.enable |
| 嵌套 | clip.nest、sequence.makeSubsequence |
| 视频/音频转场 | sequence.applyVideoTransition、sequence.applyAudioTransition、trim.applyDefaultTransition |
| 变形剪切 | 转场效果 morph_cut |
| 基于文本的编辑 | transcript.generate → transcript.extract/lift、removePauses、removeFillers |
| 效果/参数/关键帧 | effects.apply、effects.setParam、effects.addKeyframe、effects.setInterpolation |
| 效果预设/调整图层 | presets.save/apply、file.newAdjustmentLayer |
| 粘贴/移除属性 | edit.pasteAttributes、edit.removeAttributes |
| 蒙版和跟踪 | masks.add、masks.set、masks.track |
| 变形稳定器/自动重新构图 | 效果 warp_stabilizer、auto_reframe;clip.fillFrame/fitToFrame |
| 场景编辑检测 | clip.sceneEditDetection |
| Lumetri(面板、预设、LUT、匹配) | 效果 lumetri + effects.setParam、lumetri.applyPreset、lumetri.setInputLut/setLook、lumetri.applyMatch、lut.import |
| Lumetri 示波器 | scopes.read(波形、分量、直方图、矢量示波器,返回数字) |
| 视频限幅器 | 效果 video_limiter 或导出设置中的限幅器 |
| 不透明度、混合模式 | effects.setParam {effect:"opacity", param:"blend", value:"Screen"} |
| 超级键/轨道遮罩/亮度键 | 效果 ultra_key、track_matte、luma_key、color_key |
| 基本图形文本/形状 | graphics.newText、graphics.newShape/newRectangle、graphics.set、graphics.setCharStyle、graphics.align |
| 标题滚动/爬行 | graphics.setRoll |
| 动态图形模板 | graphics.template.list/apply/export(.fcgt;拒绝 .mogrt) |
| 字幕 | captions.newTrack/add/setStyle/import/export、transcript.createCaptions、graphics.upgradeCaption |
| 音频增益/标准化 | `clip.audioGain {mode:"set |
| 剪辑音量及关键帧 | clipMixer.set、effects.setParam {effect:"volume", param:"level"} |
| 调音台、子混合、发送、自动化 | mixer.setStrip/addSubmix/addSend/addInsert/writeAutomation |
| 基本声音(类型、修复、清晰度、闪避、自动匹配) | essentialSound.setType/set/applyPreset/autoMatch/generateDucking |
| Remix(调整音乐长度) | clip.remix {seconds} |
| 音频效果(均衡器、陷波器、降噪、去嗡嗡声、增强语音…) | effects.apply(见 references/11-improving-audio.md) |
| 多机位 | clip.createMulticam、multicam.cut、clip.multicamFlatten |
| 代理/采集 | media.createProxies、media.toggleProxies、project.ingestSettings |
| 快速导出/导出媒体/Media Encoder | export.quick、file.exportMedia、export.queue.add/start |
| 导出帧 | file.exportFrame |
| EDL/XML/AAF/OMF/OTIO | file.exportInterchange、file.exportAaf、file.exportOmf |
| 项目管理器/移除未使用/链接媒体 | file.projectManager {mode, handles, dryRun}、edit.removeUnused、media.findMissing/relink/autoRelink |
| 缓存清理 | mediaCache.clean、sequence.deleteRenderFiles |
截至 2026-11-03 不可用 — 快照,请重新检查(§0)(在 command_list/effects.list 中搜索,无匹配项):生成式扩展(AI)、对象蒙版工具(AI)、媒体智能搜索/“搜索相似帧”、Adobe Stock(视频和音频)、Lumetri 基本校正自动按钮(仅存在 applyMatch)、渲染和替换、与 After Effects/Audition 的动态链接、团队项目/制作/Frame.io、直接上传到社交平台、分层 PSD/AI 导入。工作区和比较视图仅为 UI 功能(在桥接模式下使用 ui_* 工具)。变通方法:使用帧定格/滑移手动扩展、手动蒙版 + masks.track、EffectCraft 处理运动、SoundCraft 处理音频。
配方
粗剪 → 精剪
- 导入、在素材箱中组织、命名剪辑;素材较多时使用子剪辑。
- 创建序列,然后按顺序使用
timeline.place {items:[...]}(或clip.automateToSequence);使用sourceIn/duration选择范围。 - 去除冗余:
timeline.razor+edit.rippleDelete,或入点/出点 +sequence.extract。 - 节奏:对剪切点使用
timeline.roll,使用timeline.slip选择合适时机。 - 长谈话镜头:
transcript.generate(需要 Whisper 模型,若未安装:transcript.downloadModel,约 290 MB,请先询问)→removeFillers、removePauses。
从 16:9 素材制作 9:16 竖屏内容
file.newSequence {width:1080, height:1920, fps:<素材 fps>}。- 使用
timeline.place放置剪辑 →clip.fillFrame(填充帧;1080p 下为 177.8%)以及,如果需要,使用auto_reframe效果或手动motion.position关键帧。另一种方法:嵌套 16:9 序列并重新构图嵌套。 - 将文本保留在安全区域内:顶部约 15% 和底部约 25% 留空,以容纳平台 UI。
- 大号字幕和粗体图形是常态;保持开场钩子简短(前 1–2 秒)。
- 使用预设“Social Vertical 1080×1920”导出 +
loudnessLufs:-14。
转场:直切是默认选项;溶解(cross_dissolve、dip_to_black)表示时间或地点的变化。对选定剪辑使用 effects.setDefaultTransition → trim.applyDefaultTransition。音频:对明显的剪切点使用 6–12 帧的 constant_power。请事先检查手柄。
运动和关键帧:在两个时间点使用 effects.setParam {effect:"motion", param:"scale|position|rotation", value, time, keyframe:true} → effects.setInterpolation {mediaTime, interpolation:"easeIn|easeOut|bezier"}。对于需要随对象旋转的阴影,使用 transform 或 basic_3d 并在其下方添加 drop_shadow,而非使用 Motion(Motion 最后应用)。
音频:essentialSound.setType(对话/音乐/音效/环境音)→ autoMatch(默认值:对话 −23、音乐 −25、音效 −21、环境音 −30 LUFS)→ 语音设置 set {key:"repair.noise.on"} 等 → 音乐 type:"music" + generateDucking → 通过导出 loudnessLufs 进行母带处理(社交 −14、广播 −23)。峰值控制在 −6/−3 dBFS 左右。交接给 SoundCraft 处理波形/频谱编辑、严重修复、ADR/配音录制、5.1 环绕声混音、母带处理。
多机位编辑:clip.createMulticam {clips:[...], syncMethod:"audio|timecode|in/out", seqName:"Multicam"} → 在时间线上打开序列 → multicam.cut 切换摄像机 → clip.multicamFlatten 创建单个剪辑。
导出:
- 快速:
export.quick {format:"h264|h265|prores|dnxhr", path:"...", loudnessLufs:-14, maxBitrate:20}。 - 自定义:
file.exportMedia {format:"QuickTime", codec:"ProRes 422 HQ", ...}。 - 队列:
export.queue.add {settings, path}→export.queue.start(可批量导出多种格式)。
归档:file.projectManager {mode:"copyAll|excludeUnused", handles:24}(dryRun 先检查)。
有关任何类别的问题,请参阅 references/ 中的逐课摘要。