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

Анализ Video Character Swap — первый из двух вызовов: отслеживает каждого человека в MP4 на 5–30 секунд и возвращает по одному пронумерованному превью на человека. Выберите 480p или 720p; вызов замены должен использовать то же значение.

От $0.08/запрос

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

Ввод

Поиск людей в кадре
1/1

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

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

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

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

Вывод

Готово к запуску
night-market-three-peopleПример результата

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

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

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

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

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

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