Обрезка видео
Детерминированная обрезка видео с учётом транскрипта: нарезает SRT по вашему явному окну [начало, конец] и режет исходник через ffmpeg под него. Привязывает срезы к границам предложений и возвращает оконный транскрипт, пересчитанный под клип, для последующего субтитрирования. Без LLM, редакторский выбор относится к предыдущему шагу (обычно к пайплайну highlights).
Осталось заполнить: Видео, Транскрипт (SRT), Начало (секунды), Конец (секунды)
Лучше всего для
- •Нарезка длинных видео по явному окну, уже выбранному на предыдущем шаге
- •Постановка после highlights: highlights выбирает момент, video-trim его нарезает
- •Создание клипа с привязкой к границам предложений плюс его пересчитанный оконный SRT за один вызов
Когда использовать
- •Всегда после transcription + highlights (или любого вызывающего, который уже знает окно)
- •Перед captions, пересчитанный оконный SRT в выводе напрямую питает шаг captions
Советы
- ✓Сочетайте с highlights (count=N, style=...), чтобы получить авторитетный редакторский выбор
- ✓Срезы привязываются к границам сегментов SRT, передавайте чуть более узкое окно и позвольте привязке расширить его до целого предложения
- ✓Ссылка на транскрипт в выводе уже пересчитана к t=0; подавайте её прямо в captions
Рецепты с этим пайплайном
Статьи об этом пайплайне
API Обрезка видео
Вызывайте этот пайплайн из своего кода. Один запрос запускает выполнение; модель — это поле ввода, а не отдельный эндпоинт.
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обязательно -
Начало окна. Обычно задаётся предыдущим этапом отбора (напр. highlights).
number -
transcript_urlобязательно -
SRT-транскрипт исходника, обязателен. Окно привязывается к границам его сегментов, а обрезанный SRT возвращается для дальнейшего добавления субтитров.
string -
video_urlобязательно -
Исходное видео для обрезки.
string
Использование из ИИ-агента
Направьте любой MCP-клиент на pipe2, и ваш агент получит эти инструменты. Он найдёт этот пайплайн, прочитает ту же схему выше и запустит его.
- 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" }
}
}
}Video Trim: детерминированная нарезка с учётом транскрипта
Передайте исходное видео, его SRT-транскрипт и явное окно [start_sec, end_sec]. Пайплайн привязывает окно к реальным границам сегментов, чтобы срезы никогда не попадали в середину предложения, обрезает исходник через ffmpeg и возвращает оконный транскрипт, пересчитанный к t=0, готовый к использованию на шаге captions без повторной транскрипции.
Как это работает
- Привязка к сегментам: начало/конец подгоняются к ближайшим границам сегментов SRT
- Нарезка SRT: сохранённые сегменты пересчитываются к t=0 и загружаются как оконный транскрипт
- Обрезка FFmpeg: исходник режется по привязанному окну с чистыми покадрово точными краями
Почему здесь нет LLM
- Редакторское решение (какой момент стоит нарезать) относится к предыдущему шагу, обычно к пайплайну highlights
- Повторный вызов LLM после highlights лишь добавляет расхождение между выбранным окном и отрендеренным
- Биллинг за один вызов: фиксированные 0,1 кредита за обрезку, без пересчёта по токенам
Часто задаваемые вопросы
Как выбирается окно?
Почему требуется транскрипт?
Может ли она работать без транскрипта?
Стоит ли это кредитов?
Что если start_sec/end_sec окажутся за пределами транскрипта?
Другие пайплайны
Смотреть все →Создавайте ИИ-видео из текстового запроса, изображения или референсного клипа. Кинематографичные кадры, презентации продуктов, лайфстайл-реклама, с синхронизированным звуком и естественным движением.
Создавайте ИИ-изображения из текста или референсных фото. Продуктовые снимки, арт персонажей, постеры с читаемым текстом, фотореалистичные портреты, высокое разрешение за секунды.
Превращайте текст в естественную речь с десятками голосов, поддержкой 70+ языков и настройкой стиля, тона, акцента и темпа.
Создавайте оригинальную фоновую музыку под любое настроение, жанр и длительность, которые вы опишете. Без роялти, готово за секунды.