Skip to content

CLI 命令参考

不同安装方式可能提供 cutcutcli 命令,二者指向同一个 CLI。本文沿用 cut 展示本地草稿命令,新版云端命令示例使用 cutcli

auth — 云端认证

云渲染、草稿上传和任务查询需要云端 V3 API Key(sk-...)。认证信息默认保存到 ~/.cut_cli/config.json;也可以临时设置 CUTCLI_API_KEYCUTCLI_API_BASE。默认 API 地址为 https://api.apiz.ai,一般不需要手动覆盖;如果设置 CUTCLI_API_BASE,只能写 origin,不能包含 /api/api/cutcli

cutcli auth set

保存云端 API Key。

bash
cutcli auth set --api-key <key> [选项]
选项类型必填说明
--api-key <key>string共享登录系统 V3 API Key,格式 sk-...
--api-base <url>stringAPI 地址,默认 https://api.apiz.ai

使用示例:

bash
cutcli auth set --api-key sk-xxxxxxxx
cutcli auth set --api-key sk-xxxxxxxx --api-base http://localhost:8787

cutcli auth whoami

查看当前 API Key 对应的用户。

bash
cutcli auth whoami --pretty

cutcli auth clear

清除本机保存的 API Key。

bash
cutcli auth clear

draft — 草稿管理

cutcli draft create

创建一个新的剪映草稿。会创建完整的剪映标准草稿文件夹(包含模板文件和 resources/ 媒体目录),可直接被剪映桌面端打开。

bash
cutcli draft create [选项]
选项类型默认值说明
--width <n>number1080画布宽度(像素)
--height <n>number1920画布高度(像素)
--name <name>string自动生成草稿名称

输出示例:

json
{
  "draftId": "a1b2c3d4-e5f6-7890-abcd-1234567890ab",
  "filePath": "/Users/you/Movies/JianyingPro Drafts/a1b2c3d4-e5f6-7890-abcd-1234567890ab"
}

cutcli draft list

列出当前草稿目录下的所有剪映草稿。

bash
cutcli draft list

输出字段:

字段说明
draftId草稿 ID 或草稿目录名
filePath草稿文件夹路径
name草稿名称
duration草稿总时长(μs)
canvasWidth / canvasHeight画布尺寸
createdAt / modifiedAt创建和修改时间戳

cutcli draft info

获取草稿的基本信息,包括画布尺寸、时长、轨道和素材概要。

bash
cutcli draft info <draftId>
参数类型必填说明
draftIdstring草稿 ID

输出示例:

json
{
  "draftId": "abc123",
  "canvasWidth": 1080,
  "canvasHeight": 1920,
  "duration": 10000000,
  "fps": 30,
  "trackSummary": [
    { "id": "track_1", "type": "video", "segmentCount": 2 }
  ],
  "materialSummary": {
    "videos": 2,
    "audios": 1,
    "texts": 3,
    "stickers": 0,
    "effects": 0
  }
}

cutcli draft easy

按音频时长快速铺素材,自动将图片/视频/文字铺满整个音频时长。传入的媒体 URL 会自动下载到草稿的 resources/ 目录。

bash
cutcli draft easy <draftId> [选项]
参数/选项类型必填说明
draftIdstring草稿 ID
--audio-url <url>string音频 URL
--img-url <url>string图片 URL
--video-url <url>string视频 URL
--text <text>string文字内容

cutcli draft zip

将本地草稿文件夹打包为 zip,供上传、归档或转移到渲染机器使用。

bash
cutcli draft zip <draftId> [选项]
参数/选项类型必填说明
draftIdstring草稿 ID 或草稿名称
--output <path>string输出 zip 路径;默认写到草稿目录同级

输出示例:

json
{
  "message": "ok",
  "zipPath": "/Users/you/Movies/JianyingPro Drafts/demo.zip",
  "size": 123456
}

cutcli draft upload

打包并上传草稿 zip,返回云端下载链接。需要先完成云端认证。

bash
cutcli draft upload <draftId> [选项]
参数/选项类型必填说明
draftIdstring草稿 ID 或草稿名称
--zip <path>string指定已有 zip 文件;不传则自动打包

输出字段:

字段说明
draftUploadId云端草稿上传记录 ID
downloadUrl云端草稿下载链接
zipPath本地 zip 路径
sizezip 文件大小(字节)

cloud — 云渲染任务

cutcli cloud render

上传草稿并创建云渲染任务。未传 --zip 时会自动执行本地打包。 Agent 或自动化脚本应调用 cutcli cloud render,不要用 curl、Python 或 fetch 直接拼 https://api.apiz.ai/api/cutcli/...

bash
cutcli cloud render <draftId> [选项]
参数/选项类型必填说明
draftIdstring草稿 ID 或草稿名称
--zip <path>string使用已有 zip 创建渲染任务
--waitboolean提交后持续轮询,直到任务完成、失败或超时
--poll-interval <seconds>number--wait 轮询间隔,默认 15
--timeout <seconds>number--wait 最长等待时间,默认 1800

输出字段:

字段说明
draftUploadId云端草稿上传记录 ID
downloadUrl草稿 zip 下载链接
jobId云渲染任务 ID
status当前任务状态
videoUrl--wait 等到完成后的视频链接
failureReason失败原因
renderJob云渲染任务对象,包含 idstatusvideo_url
resultCommand查询该任务结果的下一条命令

使用示例:

bash
cutcli cloud render 0413_0922 --pretty
cutcli cloud render 0413_0922 --zip ~/Desktop/draft.zip --pretty
cutcli cloud render 0413_0922 --wait --pretty

cutcli cloud jobs

查看云渲染任务列表。

bash
cutcli cloud jobs [选项]
选项类型必填说明
--status <status>string按状态筛选,如 queuedrenderingcompletedfailed

cutcli cloud job

查看单个云渲染任务详情,返回任务信息和事件记录。

bash
cutcli cloud job <id>
参数类型必填说明
idstring云渲染任务 ID

cutcli cloud result

cloud job 的别名,用于按任务 ID 查看渲染结果。

bash
cutcli cloud result <id>

cutcli cloud publish

发布当前账号下已完成且已有 video_url 的云渲染任务到 CutCLI square。

bash
cutcli cloud publish <id> [选项]
参数/选项类型必填说明
idstring云渲染任务 ID
--title <title>string广场标题,默认使用草稿文件名
--description <text>string广场描述
--tags <tags>string标签,多个用逗号分隔
--cover-url <url>string封面图 URL

使用示例:

bash
cutcli cloud publish job_xxx --title "My render" --tags demo,cutcli --pretty

timer — 定时云渲染

cutcli timer render

按固定间隔创建新草稿、添加默认字幕、上传云端并提交云渲染任务。默认会立即执行一次,之后每 5 分钟继续执行。

bash
cutcli timer render [选项]
选项类型默认值说明
--interval <minutes>number5执行间隔分钟数
--count <n>number无限执行次数
--no-immediatebooleanfalse等待一个间隔后再执行第一次
--width <n>number1080画布宽度
--height <n>number1920画布高度
--name-prefix <prefix>stringauto_render草稿名称前缀
--duration <seconds>number5默认字幕时长
--text <text>stringAuto render #{count}\n{time}默认字幕模板,支持 {count}{run}{time}{iso}{draftId}
--font-size <n>number12默认字幕字号
--text-color <hex>string#ffffff默认字幕颜色
--no-captionbooleanfalse创建空草稿,不添加默认字幕

使用示例:

bash
# 只执行一次,适合验证 API Key、上传和队列是否连通
cutcli timer render --count 1 --pretty

# 每 5 分钟提交一次,草稿名前缀为 daily_render
cutcli timer render --interval 5 --name-prefix daily_render

captions — 字幕管理

cutcli captions add

向草稿中批量添加字幕轨道。

bash
cutcli captions add <draftId> [选项]
参数/选项类型必填说明
draftIdstring草稿 ID
--captions <json>JSON/文件字幕数据,JSON 字面量或 @file.json
--font <name>string字体名称
--alignment <n>number对齐方式
--alpha <n>number透明度(0-1)
--text-color <hex>string文字颜色(如 #FFFFFF
--font-size <n>number字号
--boldboolean加粗
--italicboolean斜体
--underlineboolean下划线

字幕 JSON 格式:

json
[
  {
    "text": "你好世界",
    "start": 0,
    "end": 3000000,
    "keyword": "世界",
    "keywordColor": "#FF0000"
  }
]

字幕条目字段参考:

字段类型必填说明
textstring字幕文本
startnumber开始时间(μs)
endnumber结束时间(μs)
keywordstring关键词高亮
keywordColorstring关键词颜色
fontSizenumber单条字号
keywordFontSizenumber关键词字号
inAnimationstring入场动画名
outAnimationstring出场动画名
loopAnimationstring循环动画名
inAnimationDurationnumber入场动画时长(μs)
outAnimationDurationnumber出场动画时长(μs)
loopAnimationDurationnumber循环动画时长(μs)

cutcli captions list

列出草稿中所有字幕片段。

bash
cutcli captions list <draftId>
参数类型必填说明
draftIdstring草稿 ID

images — 图片管理

cutcli images add

向草稿添加图片素材。传入的图片 URL 会自动下载到草稿的 resources/ 目录。

bash
cutcli images add <draftId> [选项]
参数/选项类型必填说明
draftIdstring草稿 ID
--image-infos <json>JSON/文件图片数据
--alpha <n>number透明度(0-1)

图片 JSON 格式:

json
[
  {
    "imageUrl": "https://example.com/photo.jpg",
    "width": 1920,
    "height": 1080,
    "start": 0,
    "end": 5000000,
    "mask": "圆形",
    "maskWidth": 720,
    "maskHeight": 720,
    "maskFeather": 12
  }
]

图片条目字段参考:

字段类型必填说明
imageUrlstring图片 URL(自动下载)
widthnumber图片宽度(像素,省略时自动识别)
heightnumber图片高度(像素,省略时自动识别)
startnumber开始时间(μs)
endnumber结束时间(μs)
maskstring/object图片蒙版,支持 线性/镜面/圆形/矩形/星形/爱心,默认 圆形
maskX / maskYnumber蒙版中心偏移(像素,基于图片中心)
maskWidth / maskHeightnumber蒙版宽高(像素)
maskFeathernumber蒙版羽化(0-100)
maskExpansionnumber蒙版扩展(0-100)
maskRotationnumber蒙版旋转角度
maskInvertboolean反转蒙版
maskRoundCornernumber矩形蒙版圆角(0-100)
maskAspectRationumber形状宽高比(默认使用 CapCut 对应蒙版的原始值)
inAnimationstring入场动画名
outAnimationstring出场动画名
loopAnimationstring循环动画名
inAnimationDurationnumber入场动画时长(μs)
outAnimationDurationnumber出场动画时长(μs)
loopAnimationDurationnumber循环动画时长(μs)
transitionstring转场效果名
transitionDurationnumber转场时长(μs)

mask 也可以写成对象,例如:

json
{
  "mask": {
    "name": "圆形",
    "width": 800,
    "height": 520,
    "feather": 8,
    "roundCorner": 20
  }
}

cutcli images list

列出草稿中所有图片素材。

bash
cutcli images list <draftId>
参数类型必填说明
draftIdstring草稿 ID

videos — 视频管理

cutcli videos add

向草稿添加视频素材。传入的视频 URL 会自动下载到草稿的 resources/ 目录。

bash
cutcli videos add <draftId> [选项]
参数/选项类型必填说明
draftIdstring草稿 ID
--video-infos <json>JSON/文件视频数据
--alpha <n>number透明度(0-1)

视频 JSON 格式:

json
[
  {
    "videoUrl": "https://example.com/video.mp4",
    "width": 1920,
    "height": 1080,
    "duration": 10000000,
    "start": 0,
    "end": 10000000
  }
]

视频条目字段参考:

字段类型必填说明
videoUrlstring视频 URL(自动下载)
widthnumber视频宽度(像素)
heightnumber视频高度(像素)
durationnumber视频原始时长(μs)
startnumber在时间线的开始时间(μs)
endnumber在时间线的结束时间(μs)
maskstring遮罩
transitionstring转场效果名
transitionDurationnumber转场时长(μs)
volumenumber音量

cutcli videos list

列出草稿中所有视频片段。

bash
cutcli videos list <draftId>
参数类型必填说明
draftIdstring草稿 ID

audios — 音频管理

cutcli audios add

向草稿添加音频素材。传入的音频 URL 会自动下载到草稿的 resources/ 目录。

bash
cutcli audios add <draftId> [选项]
参数/选项类型必填说明
draftIdstring草稿 ID
--audio-infos <json>JSON/文件音频数据

音频 JSON 格式:

json
[
  {
    "audioUrl": "https://example.com/audio.mp3",
    "duration": 30000000,
    "start": 0,
    "end": 30000000
  }
]

音频条目字段参考:

字段类型必填说明
audioUrlstring音频 URL(自动下载)
durationnumber音频时长(μs)
startnumber开始时间(μs)
endnumber结束时间(μs)
audioEffectstring音效名称
volumenumber音量

cutcli audios list

列出草稿中所有音频片段。

bash
cutcli audios list <draftId>
参数类型必填说明
draftIdstring草稿 ID

effects — 特效管理

cutcli effects add

向草稿添加视频特效。

bash
cutcli effects add <draftId> [选项]
参数/选项类型必填说明
draftIdstring草稿 ID
--effect-infos <json>JSON/文件特效数据

特效 JSON 格式:

json
[
  {
    "effectTitle": "模糊",
    "start": 0,
    "end": 5000000
  }
]

特效条目字段参考:

字段类型必填说明
effectTitlestring特效名称
startnumber开始时间(μs)
endnumber结束时间(μs)

cutcli effects list

列出草稿中所有特效片段。

bash
cutcli effects list <draftId>
参数类型必填说明
draftIdstring草稿 ID

sticker — 贴纸管理

cutcli sticker add

向草稿添加贴纸。

bash
cutcli sticker add <draftId> [选项]
参数/选项类型必填说明
draftIdstring草稿 ID
--sticker-id <id>string贴纸 ID
--start <n>number开始时间(μs)
--end <n>number结束时间(μs)
--scale <n>number缩放比例

cutcli sticker list

列出草稿中所有贴纸。

bash
cutcli sticker list <draftId>
参数类型必填说明
draftIdstring草稿 ID

keyframes — 关键帧管理

cutcli keyframes add

为草稿中的片段添加关键帧。

bash
cutcli keyframes add <draftId> [选项]
参数/选项类型必填说明
draftIdstring草稿 ID
--keyframes <json>JSON/文件关键帧数据

关键帧 JSON 格式:

分组写法:

json
[
  {
    "segmentId": "seg_001",
    "property": "position_x",
    "keyframes": [
      { "time": 0, "value": -0.5, "easing": "ease_in_out" },
      { "time": 3000000, "value": 0.5, "easing": "linear" }
    ]
  }
]

扁平写法:

json
[
  {
    "segmentId": "seg_001",
    "property": "scale_x",
    "offset": 0,
    "value": 1.0
  },
  {
    "segmentId": "seg_001",
    "property": "scale_x",
    "offset": 3000000,
    "value": 1.5
  }
]

关键帧条目字段参考:

字段类型必填说明
segmentIdstring所属片段 ID
propertystring属性名(如 scale_xposition_x 等)
offset / timenumber在片段内的时间偏移(μs);分组写法中使用 timeoffset
valuenumber属性值

cutcli keyframes list

查看指定片段的关键帧列表。

bash
cutcli keyframes list <draftId> [选项]
参数/选项类型必填说明
draftIdstring草稿 ID
--segment-id <id>string片段 ID

masks — 遮罩管理

cutcli masks add

为草稿中的片段批量添加遮罩。

bash
cutcli masks add <draftId> [选项]
参数/选项类型必填说明
draftIdstring草稿 ID
--segment-ids <ids>string片段 ID 列表(逗号分隔)
--name <name>string遮罩类型名称,支持 线性/镜面/圆形/矩形/星形/爱心(默认 圆形
--x <n> / --y <n>number蒙版中心偏移
--width <n>number遮罩宽度
--height <n>number遮罩高度
--feather <n>number羽化值
--expansion <n>number扩展值
--rotation <n>number旋转角度
--round-corner <n>number圆角值
--aspect-ratio <n>number形状宽高比
--invertboolean反转遮罩

cutcli masks list

列出草稿中的遮罩。

bash
cutcli masks list <draftId> [选项]
参数/选项类型必填说明
draftIdstring草稿 ID
--segment-id <id>string片段 ID(过滤指定片段)

text-style — 文字样式

cutcli text-style

生成文字样式 JSON(不写入草稿,仅返回样式数据)。

bash
cutcli text-style [选项]
选项类型必填说明
--text <text>string文字内容
--keyword <keywords>string关键词(多个用 | 分隔)
--keyword-color <hex>string关键词颜色
--font-size <n>number默认字号
--keyword-font-size <n>number关键词字号

使用示例:

bash
cutcli text-style --text "欢迎来到我的世界" --keyword "世界" --keyword-color "#FF0000"

query — 工具查询

cutcli query audio-duration

获取远程音频文件的时长。

bash
cutcli query audio-duration [选项]
选项类型必填说明
--url <url>string音频 URL

输出示例:

json
{
  "message": "ok",
  "duration": 15000000
}

cutcli query image-animations

查询可用的图片动画效果列表。

bash
cutcli query image-animations [选项]
选项类型默认值说明
--mode <n>number0模式
--type <type>stringin动画类型:in(入场)/ out(出场)/ loop(循环)