← 返回流水线
视频裁剪
确定性的、基于转录文本的视频裁剪:将 SRT 切分到你明确指定的 [start, end] 窗口,并用 ffmpeg 裁剪源视频以匹配。它会将切点吸附到句子边界,并返回相对于该片段重新校准时间的窗口转录文本,供下游加字幕使用。无 LLM,编辑性挑选应在上游完成(通常是 highlights 流水线)。
0.1
还需填写:视频, 字幕文稿 (SRT), 开始(秒), 结束(秒)
最适合
- •将长视频裁剪到上游已选定的明确窗口
- •接在 highlights 之后串联:highlights 挑选时刻,video-trim 将其切出
- •一次调用即产出按句子边界吸附的片段,外加其重新校准时间的窗口 SRT
使用时机
- •始终在 transcription + highlights 之后(或任何已知晓窗口的调用方之后)
- •在 captions 之前,输出中重新校准时间的窗口 SRT 会直接供给 captions 步骤
提示
- ✓搭配 highlights(count=N、style=...)以获得权威的编辑性挑选
- ✓切点会吸附到 SRT 片段边界,传入一个略微偏紧的窗口,让吸附将其扩展为完整句子
- ✓输出的转录文本 URL 已以 t=0 重新校准时间;可直接供给 captions
使用此流水线的配方
关于此流水线的文章
视频裁剪 API
从你自己的代码调用此流水线。一次请求即可发起运行;模型是一个输入字段,而不是独立的接口。
4 个输入
4 必填
0.1 积分
bun add @pipe2-ai/sdk import { createClient } from "@pipe2-ai/sdk";
const client = createClient(process.env.PIPE2_TOKEN!);
const { run_pipeline } = await client.RunPipeline({
pipeline_slug: "video-trim",
input: {
video_url: "https://example.com/interview.mp4",
transcript_url: "https://example.com/interview.vtt",
start_sec: 12,
end_sec: 48,
},
});pip install pipe2 import asyncio
import os
from pipe2 import Pipe2Client
client = Pipe2Client(token=os.environ["PIPE2_TOKEN"])
run = asyncio.run(client.run_pipeline(
pipeline_slug="video-trim",
input={
"video_url": "https://example.com/interview.mp4",
"transcript_url": "https://example.com/interview.vtt",
"start_sec": 12,
"end_sec": 48,
},
))go get github.com/pipe2-ai/sdk-go client := pipe2.NewClient(os.Getenv("PIPE2_TOKEN"))
input := json.RawMessage(`{
"video_url": "https://example.com/interview.mp4",
"transcript_url": "https://example.com/interview.vtt",
"start_sec": 12,
"end_sec": 48
}`)
run, err := pipe2.RunPipeline(context.Background(), client, "video-trim", input)
if err != nil {
log.Fatal(err)
}brew install pipe2-ai/tap/pipe2 pipe2 pipelines run \
--pipeline video-trim \
--input-json '{"video_url": "https://example.com/interview.mp4", "transcript_url": "https://example.com/interview.vtt", "start_sec": 12, "end_sec": 48}' \
--wait参数
-
end_sec必填 -
窗口结束时间(不含)。必须大于 start_sec。
number -
start_sec必填 -
窗口开始时间。通常由上游挑选器提供(例如精彩片段)。
number -
transcript_url必填 -
源视频的 SRT 字幕文稿,必填。窗口会对齐到其分段边界,并返回切分后的 SRT 供下游添加字幕使用。
string -
video_url必填 -
要裁剪的源视频。
string
在 AI 智能体中使用
将任意 MCP 客户端指向 pipe2,你的智能体就能获得这些工具。它会找到这条流水线,读取上方相同的 schema,然后运行它。
- list_pipelines
- get_pipeline_schema
- run_pipeline
- get_pipeline_run_status
- request_upload
https://mcp.pipe2.ai/mcp {
"mcpServers": {
"pipe2ai": {
"url": "https://mcp.pipe2.ai/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}视频裁剪: 确定性的、基于转录文本的切割
传入源视频、其 SRT 转录文本,以及一个明确的 [start_sec, end_sec] 窗口。流水线会将该窗口吸附到真实的片段边界,使切点绝不落在句子中间,用 ffmpeg 裁剪源视频,并返回以 t=0 重新校准时间的窗口转录文本,可供 captions 步骤直接使用,无需重新转录。
工作原理
- 吸附到片段: 起点/终点会被收拢到最近的 SRT 片段边界
- 切分 SRT: 保留的片段会以 t=0 重新校准时间,并作为窗口转录文本上传
- FFmpeg 裁剪: 源视频会被裁剪到吸附后的窗口,边缘干净且帧精确
此处为何不用 LLM
- 编辑性决策(哪个时刻值得剪辑)应在上游完成,通常是 highlights 流水线
- 在 highlights 之后再次调用 LLM 只会在所选窗口与所渲染窗口之间引入偏移
- 单次调用计费:每次裁剪统一 0.1 积分,无需按 token 结算
常见问题
窗口是如何选定的?
由你提供。highlights 流水线(或任何其他上游挑选器)会给出 start_sec 和 end_sec;本裁剪会确定性地消费它们。裁剪本身没有 LLM,编辑性决策存在于挑选器中。
它为什么需要转录文本?
转录文本正是让切点吸附到完整句子、而不落在词语中间的关键。流水线会保留与你的窗口重叠的每个片段,取所保留集合的跨度,并据此裁剪视频,随后同一份 SRT 会被切分并以 t=0 重新校准时间,返回供 captions 步骤复用。
它可以在没有转录文本的情况下运行吗?
不再可以。当 highlights 接管编辑性挑选后,先前基于关键帧视觉的回退方案已被移除,它总是偏离所选窗口。请先转录源视频(transcription 流水线按源哈希缓存,因此重复运行是免费的)。
这需要积分吗?
每次裁剪 0.1 积分,统一计费。
如果 start_sec/end_sec 落在转录文本之外怎么办?
该窗口是与你的转录文本而非原始视频进行匹配的。如果超出结尾,切割会回退到转录文本中的最后一句。
探索更多流水线
查看全部 → from 9.5
视频生成器 →
根据文本提示、图像或参考片段生成 AI 视频。电影感镜头、产品揭晓、生活方式广告,配以同步音频和自然运动。
Veo 3.1 Seedance 2.0
0.2-6.4
图像生成器 →
根据文本或参考照片生成 AI 图像。产品图、角色美术、带可读文字的海报、照片级人像,数秒即得高分辨率成品。
Nano Banana 2 Nano Banana Pro GPT Image 2
0.7-1.3
音频生成器 →
将文本转换为自然语音,提供数十种音色、70+ 种语言,并可自定义语气、口音和节奏的风格指令。
Gemini 2.5 TTS
2.5-45.1
音乐生成器 →
生成原创背景音乐,匹配你描述的任意情绪、风格和时长。免版税,数秒即得。
Eleven Music v1 Lyria 3 Pro