长剪短
长剪短(长视频转高光短视频)把一条长内容(播客 / 圆桌 / 脱口秀 / 访谈 / 直播回放)一键拆成多条不同主题的高光短片,达到人工粗剪水准:
- 按语义选段:自动理解内容,把值得单独成片的话题挑出来——出几条、每条多长,完全由内容决定,不按固定时长强切;
- 跳剪(默认开启):在每条话题内部做二次压缩,只留「干货脊柱」,删掉来回重复、反复确认、跑题闲聊、口水话与磕巴——把冗长的口语压成紧凑、信息密的成片;
- 字级精确切点:所有切点落在词边界并对齐视频帧,配合字级时间戳精确驱动。
定位为粗剪:产出剪辑决策与工程文件,导入剪辑软件即可继续精修;也可直接渲染粗剪成片。
想先看效果? 粗剪与精剪共享「按语义选段 + 跳剪 + 字级精确切点」内核,选段与切点的效果一致——精剪文档里有输入原片 → 输出高光的完整视频示例可直接观看。差别只在于本能力不叠加成片级润色(模糊背景填充 / 运镜 / 调速 / 烧录字幕 / 分屏),并以工程文件而非渲染成片为主要产物。
产物自由组合(outputs):工程文件(每条 clip 默认产 Premiere 的 .xml;也可在 project_formats 里选剪映 / CapCut / FCPX / OTIO / 同合云 .gtrk)、选段报告、渲染粗剪成片(mp4)。
其中 .gtrk 是同合云统一编辑契约(gtrk v1):在 project_formats 里加上 gtrk,每条 clip 即把它作为 files[] 里的一个工程文件产出(与 xml / 剪映等并列)。它既能导入同合云客户端继续精修,也可原样回传给 工程文件生成 转其他 NLE 工程、或 时间线渲染 云端出片,全程同一份编辑结构、无需重新解析。
创建任务
基本信息
| 项目 | 值 |
|---|---|
| 请求方法 | POST |
| 请求路径 | /task/video_long2short |
| Content-Type | application/json |
| 鉴权方式 | Authorization 请求头(直接传 API Key) |
| 计费 | 按输入视频时长(分钟)计费 |
请求参数(Body)
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
file_id | string | 是 | — | 长视频文件 ID(先经 文件上传 获取) |
language | string | 是 | — | 内容语种,见下方支持列表;不在列表内返回不支持语种错误 |
output_language | string | 否 | 跟随 language | 标题 / 简介 / 评分理由等元数据的输出语种(取值同 language) |
stt | object | 否 | — | 预转写结果(须同时含字级 word_tc_list 与句级 sentence_tc_list,见下表 stt 对象),提供则跳过内部识别;不接受人工文稿;与 subtitle_file_id 互斥 |
subtitle_file_id | string | 否 | — | 已上传的单语字幕文件 ID(.srt / .ass),作为转写来源、跳过内部识别;与 stt 互斥。切点精度为字幕行边界(仍帧对齐);多层 / 双语 .ass 会在执行期被拒(任务失败并退款) |
subtitle | object | 否 | {strip_punctuation:true} | 字幕呈现口径(作用于 outputs 含 subtitle 时的逐 clip 字幕文件):strip_punctuation=true(默认)按统一口径去标点——中英逗号句号替换为空格、词内小数 / 千分位豁免、?! 等其余标点保留;false 完整保留全部标点 |
main_topic | string | 否 | — | 视频主话题,作为选段软提示 |
output_size | string | 否 | 9:16 | 成片画布:9:16 / 16:9 / 1:1,或自定义如 1080x1920。输入横屏竖屏均可,自动适配到目标画布 |
jump_cut | boolean | 否 | true | 跳剪(话题内语义压缩)。关闭则每条为连续粗剪、不删冗余 |
duration | object | 否 | {} | 时长控制(见下表)。纯语义驱动,无强制时长,仅安全上限与软提示 |
split_screen | object | 否 | {enable:false} | 可选竖版分屏增强(见下表):开启时仅多人同框段会合成多格分屏 |
outputs | array | 否 | ["project","report"] | 产物选择,取值 report / project / video / subtitle 任意组合。project = 每条 clip 按 project_formats 产出工程文件(缺省只产 Premiere 的 .xml);report = 选段报告;video = 逐 clip 渲染成片;subtitle = 每条 clip 产一个单语 .srt 字幕(clip 自身时间轴,行按目标画布档位智能拆分——横屏约 20 字 / 竖屏约 13 字一行,标点按 subtitle.strip_punctuation 处理)。具体产哪些工程格式(含 gtrk)由 project_formats 决定,不在 outputs 里指定 |
source_path | string | ⚠️ 条件必填 | — | 长视频在你剪辑环境中的本地完整路径(如 D:\clips\长视频.mp4),原样写入工程文件素材引用。outputs 含 project 时必填(默认即含 project,故一般都要提供);长度 ≤ 1024 |
project_formats | array | 否 | ["xml"] | outputs 含 project 时生效,指定产出哪些工程格式(可多选):xml(Premiere Pro)/ fcpxml(Final Cut Pro)/ otio(OpenTimelineIO)/ jianying(剪映)/ capcut(CapCut)/ gtrk(同合云 .gtrk,客户端可直接打开)。缺省只产 xml;要 .gtrk 或其他格式请显式列出 |
struct_meta | object | 否 | {} | 同 工程文件生成:含 nle_draft_dir(你本机的草稿落盘目录,旧名 capcut_draft_path 作为兼容别名继续接受)。缺省时剪映 / CapCut 的草稿元信息(*_meta)无法产出 |
duration 对象
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
pref | string | auto | 时长倾向软提示:auto / short / medium / long,仅影响选段倾向,不强制回切 |
max_clip_sec | number | 600 | 单条片段安全上限(秒,5 ~ 1800),仅防超长,不限制总条数 |
split_screen 对象
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
enable | boolean | false | 是否开启竖版分屏增强 |
prefer_mode | string | auto | 布局倾向:auto / single(单人居中)/ multi(多格分屏) |
orientation | string | auto | 多格方向:auto(跨切片随机上下/左右,多条切片多样性更足)/ lr(强制左右)/ tb(强制上下) |
stt 对象
⚠️
word_tc_list(字级)与sentence_tc_list(句级)缺一不可:算法按sentence_tc_list把字级分组成句,仅给字级 → 0 句 → 选段为空(静默出空结果)。所有时间戳单位均为秒(float)。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
word_tc_list | array | 是 | 字级时间戳,元素 {text: 字, start_time: 秒, end_time: 秒} |
sentence_tc_list | array | 是 | 句级时间戳,元素 {text: 句, start_time: 秒, end_time: 秒, speaker: 说话人(可省)} |
{
"stt": {
"word_tc_list": [
{"text": "投", "start_time": 12.30, "end_time": 12.46},
{"text": "资", "start_time": 12.46, "end_time": 12.62}
],
"sentence_tc_list": [
{"text": "投资人卧底进喜茶,蹲了三个月。", "start_time": 12.30, "end_time": 15.80, "speaker": "嘉宾A"},
{"text": "结果发现真正赚钱的根本不是奶茶。", "start_time": 15.80, "end_time": 18.42, "speaker": "嘉宾A"}
]
}
}
识别源语种(language):中文 zh-CN、简体 zh-CHS、繁体 zh-CHT、英文 en-US、日文 ja-JP、韩文 ko-KR、法文 fr-FR,共 7 种。
es-ES(西班牙文)、pt-PT(葡萄牙文)、ru-RU(俄文)、vi-VN(越南文)不可作本能力的识别源语种:本能力的产物依赖字级时间戳,而这四个码在本能力的识别引擎上拿不到字级时码(前两者更是没有对应引擎)。传入会在建单时同步返回错误码6015,不计费、不排队。其中es-ES/pt-PT可用于字幕翻译目标语(见「智能字幕」与「字幕翻译」)。
元数据输出语种(output_language):仍取上述 11 个代码的全集,不受识别引擎能力限制。
请求示例
curl -X POST https://api.ai-mcn.tv:10000/task/video_long2short \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"file_id": "81005495682916358",
"language": "zh-CN",
"output_size": "9:16",
"jump_cut": true,
"outputs": ["project", "report"],
"source_path": "D:\\clips\\长视频.mp4",
"project_formats": ["xml", "jianying", "gtrk"],
"struct_meta": {"nle_draft_dir": "C:\\Users\\Me\\AppData\\Local\\JianyingPro\\User Data\\Projects\\com.lveditor.draft\\20260611"},
"duration": {"pref": "auto"}
}'
成功响应示例
{
"code": 200,
"msg": "success",
"data": {
"task_id": "537489015178400",
"task_type": "video_long2short",
"status": "queued"
}
}
查询任务结果
基本信息
| 项目 | 值 |
|---|---|
| 请求方法 | GET |
| 请求路径 | /task/video_long2short/{task_id} |
| 鉴权方式 | Authorization 请求头(直接传 API Key) |
响应参数(output_result)
| 参数名 | 类型 | 说明 |
|---|---|---|
clips | array | 多条高光片段,每条含发布元数据 + 该片段的产物文件 files[](详见下文) |
report | object | 选段报告(单元数 / 条数 / 是否跳剪 / 分屏素材清单等) |
errors | object | 可选产物的局部失败原因(部分成功时非空) |
clips[] 元素
| 字段 | 类型 | 说明 |
|---|---|---|
title / summary / tags | string / string / array | 标题、简介、标签(适合直接发布) |
score / score_reason | number / string | 传播潜力评分(0~10)与理由 |
highlight_words | array | 高光词及其字级时间 {text, begin_time, end_time} |
genres / moods / themes | array | 配乐风格 / 情绪 / 主题关键词 |
segment_count / total_duration_ms | integer / integer | 跳剪后的子段数与片段总时长(毫秒) |
text | string | 该片段保留下来的文本 |
files | array | 该片段的产物文件。outputs 含 project 时按 project_formats(缺省 ["xml"])逐格式产出工程文件(type=project、filename=clip{idx}_*,如 clip0_premiere.xml / clip0_project.gtrk;跳剪后为多子段拼接,目标画布 = output_size);含 video 时含成片(type=video);含 subtitle 时含单语字幕(type=subtitle、format=srt、filename=clip{idx}.srt)。元素含 type / format / file_id / download_url / filename |
report 结构
| 字段 | 类型 | 说明 |
|---|---|---|
unit_count | integer | 词流重切后的句子单元总数 |
selected_count / clip_count | integer | 选出的话题数 / 实际成片条数 |
jump_cut | boolean | 本次是否启用跳剪 |
jumpcut_used | integer | 实际发生压缩的片段数 |
degraded | boolean | 智能分析临时不可用、已降级时为 true(任务仍正常完成) |
split_manifest | array | (split_screen=on 时)分屏素材清单:{file_id, 期望本地路径, 覆盖片段},按 id 下载并放到约定位置后工程文件即可识别 |
成功响应示例
{
"code": 200,
"msg": "success",
"data": {
"task_id": "537489015178400",
"status": "completed",
"progress": 100,
"output_result": {
"clips": [
{
"title": "投资人卧底喜茶三个月,发现真正赚钱的不是奶茶",
"summary": "一线调研视角拆解喜茶的真实盈利结构。",
"tags": ["商业", "茶饮", "调研"],
"score": 8.6,
"score_reason": "悬念开场 + 反常识结论,完播与转发潜力高",
"highlight_words": [{"text": "根本不是奶茶", "begin_time": 15.8, "end_time": 18.42}],
"segment_count": 6,
"total_duration_ms": 61800,
"text": "投资人卧底进喜茶,蹲了三个月……",
"files": [
{"type": "project", "format": "xml", "file_id": "537489015178411", "download_url": "/download/c0/537489015178411.xml", "filename": "clip0_premiere.xml"},
{"type": "project", "format": "jianying_draft", "file_id": "537489015178412", "download_url": "/download/c1/537489015178412.json", "filename": "clip0_draft_content.json"},
{"type": "project", "format": "gtrk", "file_id": "537489015178413", "download_url": "/download/c2/537489015178413.gtrk", "filename": "clip0_project.gtrk"}
]
}
],
"report": {
"unit_count": 412,
"selected_count": 9,
"clip_count": 9,
"jump_cut": true,
"jumpcut_used": 7,
"degraded": false
},
"errors": {}
},
"create_time": "2026-06-11T08:00:00Z",
"update_time": "2026-06-11T08:06:42Z"
}
}
错误码
| 错误码 | HTTP 状态码 | 说明 | 解决方案 |
|---|---|---|---|
6013 | 400 | file_id / language 缺失 | 补充必填参数 |
6004 | 404 | 文件不存在 | 检查 file_id 是否正确 |
6014 | 400 | 文件类型与任务不匹配(需视频文件) | 上传视频格式文件 |
6016 | 400 | 业务参数非法(outputs / output_size / duration 越界、project 缺 source_path、stt 缺字级 word_tc_list 或句级 sentence_tc_list 等) | 按响应提示修正参数 |
6017 | 400 | 不支持的语种 | 使用支持语种列表中的取值 |
6502 | 401 | 鉴权失败 | 检查 Authorization 请求头 |
6201 | 402 | 配额不足 | 购买配额包或充值 |
6202 | 402 | 余额不足 | 前往仪表盘充值 |
使用限制
- 粗剪定位:本能力出剪辑决策 / 工程文件 / 粗剪成片,适合导入剪辑软件继续精修;跳剪为提升信息密度的硬切,接缝的明快感符合短视频切片观感。
- 按语义、不卡时长:出几条、每条多长完全由内容决定;
duration仅提供软提示与单条安全上限,不做强制时长回切。 - 字级精确:内部识别提供字级时间戳,切点落词边界并帧对齐;若提供
stt须同时含字级word_tc_list与句级sentence_tc_list,否则无法成句、选段为空。 - 字幕文件作转写来源(
subtitle_file_id):适合手里已有现成字幕(片源自带 / 上游产过 / 人工校对过)的场景,省去一次内部识别;字幕只有句级时码,切点精度相应降为字幕行边界(仍帧对齐)。只接受单语.srt/.ass,多层 / 双语.ass会被拒绝;与stt二选一。 - 逐 clip 字幕产出(
outputs含subtitle):转写来源是内部识别、stt、字幕文件均可产;行按目标画布档位智能拆分(横屏约 20 字 / 竖屏约 13 字一行)。字幕为衍生产物:拆行服务临时不可用时会以未拆行的可用文件降级产出并记录在errors。 - 按输入时长计费:以输入视频时长(分钟)计费,与输出条数无关。
- 核心产物保障:选段(
clips)与report产不出时任务才失败(自动退款);工程文件与成片为衍生产物,单项失败记录在errors,不影响任务完成。 - 工程文件素材引用:工程文件的主轨引用入参
source_path原片,请确保该路径在你的剪辑环境中真实有效;要产出剪映 / CapCut 可直接打开的完整草稿(含元信息),还需提供struct_meta.nle_draft_dir。project_formats缺省只产 Premiere 的.xml,要其他格式(含.gtrk)请显式列出。 - 分屏增强(
split_screen.enable=true):仅多人同框段合成竖版多格分屏并预渲染为分屏素材。工程文件里分屏素材放在独立子轨(静音叠放,与主轨对应时段重叠),主轨原片完整保留——哪段分屏不合心意,在编辑器里隐藏或删掉子轨该段即回到原片,不用重跑;outputs含video时的渲染成片不受影响、正常含分屏画面。注意:把工程文件回传 时间线渲染 云端出片时只渲染主轨(分屏子轨不合成),要含分屏的成片请直接用本接口的video产物或在编辑器里导出。