Назад к пайплайнам

Перекадрирование видео

Автоматически кадрируйте горизонтальное видео в вертикальное с ИИ-кадрированием по активному спикеру. Готово для TikTok за один вызов, кадрирует спикера в каждом плане и чисто режет на каждой границе.

2

Осталось заполнить: Видео, Целевое соотношение сторон

Лучше всего для

  • Перекадрирование материала подкастов / интервью / документалок из 16:9 в 9:16 для TikTok/Reels/Shorts
  • Отслеживание конкретного объекта (ведущий, продукт, экран), когда в контенте несколько фокусных точек
  • Создание квадратов 1:1 для Instagram из горизонтальных мастеров с отслеживанием активного спикера
  • Замыкание цикла «длинное видео → шортсы» в связке с video-trim и captions

Когда использовать

  • После video-trim, trim выбирает момент, reframe выбирает кадрирование
  • Перед captions, сначала reframe, чтобы текст субтитров помещался в холст 9:16
  • Отдельно, для пользователей с уже смонтированными горизонтальными клипами, которым нужны вертикальные версии

Советы

  • Давайте диаризованный транскрипт для интервью и панелей, он направляет покадровое кадрирование по активному спикеру гораздо надёжнее, чем один только vision
  • Планы без чёткого единственного объекта (демонстрация экрана, широкие установочные планы) уходят в леттербокс по замыслу, это безопасный выбор, а не промах
  • Нет ручек панорамы / зума / сглаживания для настройки, режиссёр камеры детерминированный, «зафиксировать и резать»

Рецепты с этим пайплайном

Статьи об этом пайплайне

API Перекадрирование видео

Вызывайте этот пайплайн из своего кода. Один запрос запускает выполнение; модель — это поле ввода, а не отдельный эндпоинт.

3 полей ввода
2 обязательно
2 to 5 кредитов
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-reframe",
  input: {
    video_url: "https://example.com/interview.mp4",
    target_aspect_ratio: "9:16",
  },
});
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-reframe",
    input={
        "video_url": "https://example.com/interview.mp4",
        "target_aspect_ratio": "9:16",
    },
))
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",
  "target_aspect_ratio": "9:16"
}`)

run, err := pipe2.RunPipeline(context.Background(), client, "video-reframe", input)
if err != nil {
    log.Fatal(err)
}
brew install pipe2-ai/tap/pipe2
pipe2 pipelines run \
  --pipeline video-reframe \
  --input-json '{"video_url": "https://example.com/interview.mp4", "target_aspect_ratio": "9:16"}' \
  --wait

Получить API-токен →

Параметры

target_aspect_ratio обязательно

Aspect ratio to reframe to — vertical for shorts, square for feeds.

9:161:14:516:9 по умолчанию 9:16
video_url обязательно

Public URL of the video to reframe.

string
transcript_url

Public URL of a transcript. Used to keep the speaker in frame.

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" }
    }
  }
}

Полная справка по API Настройка MCP Справочник CLI

Video Reframe: из горизонтального в вертикальное с отслеживанием спикера

Большинство вирусных видео живёт в 9:16 (TikTok, Reels, Shorts), но большинство материала снято в 16:9. Video Reframe закрывает разрыв: он находит активного спикера в каждом плане и кадрирует его в чистом вертикальном кропе, идеально неподвижном на протяжении плана, с нарезкой только там, где режет исходник. Без ручного монтажа, без настройки камеры.

Как это работает

  1. Определение границ планов: детектор сцен FFmpeg разбивает исходник так, что каждое решение о кадрировании относится к одному непрерывному плану.
  2. Локализация лиц и идентификация участников: vision-проход плюс CV-детектор лиц находят и кластеризуют лица по ключевым кадрам каждого плана, давая каждому человеку стабильную идентичность.
  3. Определение фокусного объекта в каждом плане: приоритет у аудио: диаризованный транскрипт называет активного спикера; иначе решают vision-проход с одной меткой на план и CV-лица. Спикер получает кадр; неоднозначный план уходит в леттербокс (показывает всех), а не гадает.
  4. Детерминированное планирование камеры: чистый планировщик превращает фокус каждого плана в план «зафиксировать и резать»: один статичный кроп на план, жёсткие склейки на границах, планы короче секунды сливаются с соседними. Без панорам, без дрейфа, без артефактов движения, одинаковые входные данные всегда дают одинаковый план.
  5. Рендер: FFmpeg применяет статичный кроп для каждого плана (или центрированный леттербокс для планов во весь кадр), сохраняя звук нетронутым.

Дайте транскрипт для отслеживания нескольких спикеров

Для интервью и панелей передайте диаризованный транскрипт (SRT), охватывающий тот же временной диапазон, что и видео. Его реплики спикеров определяют выбор фокуса, так что план на двоих следует за тем, кто действительно говорит, а не просто за самым крупным лицом в кадре. Без транскрипта планировщик тоже работает, откатываясь на vision-метку каждого плана и позиции CV-лиц.

Часто задаваемые вопросы

Какие соотношения сторон поддерживаются?
9:16 (TikTok/Reels/Shorts), 1:1 (квадрат Instagram), 4:5 (портрет Instagram) и 16:9 (сквозной проход, рефрейминг не применяется).
Что если мой исходник уже вертикальный?
Пайплайн определяет это и возвращает исходник как есть с meta.skipped=already_target_aspect.
Как он выбирает, за кем следовать?
Приоритет у аудио. Если вы даёте диаризованный транскрипт, он кадрирует активного спикера в каждом плане; иначе решают vision-метка на план плюс CV-детектор лиц. Планы без чёткого единственного объекта, демонстрация экрана, широкие установочные планы, уходят в леттербокс, чтобы показать весь кадр, а не гадать.
Панорамирует ли он или зумит?
Нет. Каждый план получает один статичный кроп, идеально неподвижный; камера режет только на границе плана. Это делает класс артефактов «дёрганая панорама / рыскающая камера» структурно невозможным.
Сколько это стоит?
2 to 5 кредитов, масштабируясь с длиной клипа: короткие клипы у нижней границы, а более длинные, у верхней.
Можно ли объединить это с video-trim в цепочку?
Да, типичная цепочка: video-trim (длина) → video-reframe (соотношение сторон) → captions (вшивание). Большинству пользователей нужны все три для готового шортса.

Другие пайплайны

Смотреть все →
Генератор видео
from 9.5
Генератор видео
Генератор изображений
0.2-6.4
Генератор изображений
Генератор аудио
0.7-1.3
Генератор аудио
Генератор музыки
2.5-45.1
Генератор музыки