Перейти к основному контенту

Video Character Swap video-edit заменяет выбранных по анализу людей на одно–три референсных фото для каждого, до десяти людей за запрос. Декорации, движение камеры и исходный звук остаются как сняты, в 480p или 720p.

От $0.064/с

Рабочая область

Ввод

Редактирование видео
1

Шаг 1 — найти людей в клипе

Модель работает в два прохода. Первый просматривает клип и возвращает вырезанный кадр по каждому отслеженному человеку; кого заменить, вы выбираете потом.

1/1

Перетащите видео или выберите файл на устройстве · 1 файл · Не более 90 МБ · MP4

  • 1
Файлы: 1 / 1
Необязателен. Если опустить, берётся видео из анализа. Если отправить, это должен быть тот же адрес: другой ролик отклоняется, потому что данные трекинга принадлежат исходному. Ссылка должна вести прямо на сам видеофайл: страница с плеером отдаёт нам только HTML, входная проверка не находит в нём длительность, вызов завершается ошибкой, а списание возвращается. Надёжнее всего загрузить файл напрямую. Не менее 1 символов
Должно совпадать с разрешением, в котором выполнялся анализ. Это же поле определяет ценовую ступень.

Считаем цену прохода…

Первый проход — это отдельный вызов модели со своей ценой. Правка ниже считается отдельно.

2

Шаг 2 — выбрать, кого заменить

Запустите первый проход — отслеженные люди появятся здесь.

Сид
Случайное зерно; ноль запрашивает случайное значение. Одно и то же зерно позволяет сравнивать на равных, когда вы меняете что-то одно, но не обещает покадрово идентичный результат. Не меньше 0 · Не больше 2147483647
Фильтр безопасностиВыключен

SpicyAPI не применяет фильтр безопасности к этой модели. Промпт и материалы передаются модели без изменений, а результат определяет сама модель.

Проверяем аккаунт перед включением отправки и расчёта стоимости.

Вывод

Готово к запуску
Пример результата

Связанные модели и следующие шаги

Нужной модели нет?

Напишите, какую модель добавить и для чего она вам нужна. Запрос попадёт к тем, кто решает, что подключать дальше.

Сначала находим в ролике всех, потом заменяем только названных

Video Character Swap делит работу на два вызова. Первый разбирает ролик длиной от 5 до 30 секунд и возвращает по одному пронумерованному кадру-превью на каждого найденного человека, в фиксированном порядке. Второй принимает этот разбор, выбранные вами позиции и от одной до трёх референсных фотографий на каждую, и возвращает ролик с заменёнными людьми. Кого вы не назвали — остаётся как был, движение камеры сохраняется, исходная звуковая дорожка возвращается вместе с ним.

Открыть playground
Первый вызов
video-analyze: video_url и разрешение трекинга, 480p или 720p
Второй вызов
video-edit: analysis_task_id, swap_targets и то же разрешение
Целей за вызов
от 1 до 10 swap_targets, у каждой 1–3 референсных фото
Срок жизни разбора
24 часа; один разбор кормит несколько вызовов замены
Звук
Исходная дорожка передаётся без изменений
Политика контента
Без цензуры: ни на одном из вызовов нет фильтра платформы
Зачем два вызова
Вы видите, кого нашли, до того как платите за заменуРазбор возвращает по кадру-превью на человека. Указывать по позиции, глядя на эти кадры, дёшево и однозначно — именно поэтому дорогой вызов заменяет ровно тех, кого вы имели в виду.
Охват
Меняется человек целиком, а не только лицоВнешность каждой цели берётся из переданных референсных фотографий. Её расположение в кадре, движение камеры и все остальные люди остаются на своих местах.
Форма стоимости
Разбор по фиксированной цене, замена — по длинеРазбор стоит одинаково при любой длине ролика; замена считается блоками по пять секунд, так что укоротить монтаж — самый действенный рычаг.

Что Video Character Swap API делает хорошо

  • Пронумерованные цели вместо догадок

    Разбор возвращает найденных людей в фиксированном порядке, а swap_targets адресует их через object_index, начиная с нуля. Не нужно описывать словами, кого вы имеете в виду, и не нужно рисовать маску: позиция ноль — это всегда первый вернувшийся кадр-превью.

  • Заменить одних, сохранить остальных

    Затрагиваются только позиции, перечисленные в swap_targets. В сцене с тремя людьми можно заменить левого, а двух других оставить ровно такими, какими их сняли. Именно поэтому эндпоинт применим к уже смонтированному материалу.

  • От одной до трёх референсов на человека

    Каждая цель получает массив image_urls из одной-трёх фотографий одного и того же человека на замену. Несколько ракурсов дают модели больше материала; все они должны показывать одного человека, потому что массив описывает одну личность, а не выбор из нескольких.

  • Один разбор, несколько замен

    Результат трекинга остаётся пригодным 24 часа, так что один analysis_task_id кормит вызов замены за вызовом. Попробовать другую референсную фотографию или заменить другое подмножество найденных людей не значит платить за трекинг заново.

  • Дубль переживает замену

    Движение камеры, кадрирование, остальные люди в кадре и исходный звук возвращаются без изменений. Меняется лишь то, кто стоит на названных позициях, — поэтому это ложится на уже смонтированный материал.

  • seed сравнивает прогоны, а не фиксирует их

    seed принимает любое целое от 0 до 2 147 483 647. Одинаковое значение удерживает два вызова на одной выборке, так что выходы различает только референсная фотография. Идентичный результат при этом не обещан, а 0 или пропущенный seed запрашивает новую выборку.

Кому подходит Video Character Swap

  • Локализация и версии

    Один мастер, свой состав для каждого рынка

    Ролик разбирается один раз, и этот разбор обслуживает утверждённого исполнителя каждого рынка. Поскольку замена трогает только названные позиции, монтаж, тайминг и звуковой дизайн остаются одинаковыми во всех версиях.

  • Постпродакшн

    Заменить исполнителя, не переснимая сцену

    Когда в готовом кадре должен смениться один человек, обычно остаётся пересъёмка или ротоскоп. Здесь дубль остаётся, а личность переезжает: движение камеры, мизансцена и остальные исполнители проходят нетронутыми.

  • Синтетические исполнители

    Поставить постоянного персонажа в реальный материал

    Схема не спрашивает, реальный ли человек на референсных фотографиях. Цельного сгенерированного персонажа можно поместить в снятую сцену и унаследовать её свет, костюм и движение.

  • Инженерия конвейера

    Два шага с дешёвой точкой решения посередине

    Разбор — это вызов по фиксированной цене с небольшим и проверяемым результатом. Конвейер может вставить между шагами человека или правило: посмотреть, кого нашли, решить, и только потом платить за замену.

Как вызывать Video Character Swap API

  1. Отправьте ролик в вызов разбора

    video_url принимает публичный HTTPS-адрес, файловый URI spicy:// из загрузки платформы или data URI для небольшого файла. Разрешение трекинга выбирается здесь: вызов замены должен повторить именно его.

  2. Прочитайте кадры-превью по порядку

    Разбор возвращает по кадру на каждого найденного человека. Их порядок и есть нумерация: первый кадр — object_index 0, второй — 1, и так далее. Следующий вызов адресует этот порядок, поэтому храните его вместе с идентификатором задачи.

  3. Назовите позиции для замены

    Соберите swap_targets по одной записи на каждого меняющегося человека: object_index — кто, image_urls — кем он становится. Позиции, не попавшие в массив, не трогаются, так что случайно заменить остальной состав невозможно.

  4. Повторите разрешение и отправьте

    Передайте то же resolution, что и в разборе, и возвращённый analysis_task_id. video_url в этом вызове необязателен: пропустите его, и будет использован исходник из разбора. Сохраните идентификатор задачи и опрашивайте статус, пока он не устоится.

  5. Пользуйтесь разбором, пока он свежий

    Результат трекинга живёт 24 часа. Если первая референсная фотография не сработала, отправьте второй вызов замены к тому же analysis_task_id вместо повторного разбора, и зафиксируйте seed, если две попытки должны различаться только референсом.

Примеры работы с Video Character Swap

  • Трое в кадре, заменён один

    Разбор возвращает три кадра-превью. В swap_targets одна запись, object_index 1, с двумя фотографиями замены под слегка разными углами. Двух других в массиве нет, и они возвращаются ровно такими, какими их сняли, — в этом и смысл адресации по позициям.

  • Один разбор, четыре кандидата

    Кастинг отправляет четыре вызова замены к одному analysis_task_id, по одному на кандидата, с seed, зафиксированным на одном числе. Трекинг оплачен один раз, четыре результата различаются только референсными фотографиями, и сравнение отвечает на тот вопрос, который действительно был задан.

  • Монтаж укорочен до отправки

    Сорокасекундный рабочий материал урезается до нужных 8 секунд перед разбором. Теперь он укладывается в окно от 5 до 30 секунд, которого хочет трекер, а замена считается по 8 секундам вместо 40 — самая дешёвая оптимизация на этом эндпоинте.

Вопросы по Video Character Swap API

Результат определяют две вещи, и ни одна из них не параметр. Первая — ролик: трекер хочет, чтобы каждый человек оставался достаточно крупным и достаточно непрерывным в кадре, поэтому обрежьте до нужного фрагмента и избегайте длинных участков, где объект полностью скрыт. Вторая — референсные фотографии, из которых берётся вся внешность замены, включая одежду: подбирайте их свет под материал, а не выбирайте самый резкий портрет, и сразу одевайте референс в то, что должно быть на человеке в готовом ролике, — отдельного промпта для этого здесь нет. Прочитайте кадры-превью прежде, чем платить за замену: если нужного человека среди них нет, никакая референсная фотография этого не исправит.