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

Face Swap от SpicyAPI — замена лица на изображениях. Переносит только черты лица с референсного фото на целевое изображение, сохраняя форму головы, волосы, позу и фон. Две ссылки на изображения и необязательный seed, без промпта.

От $0.013/изобр.

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

Ввод

Редактирование изображений
1/1

Перетащите файл или ссылку на медиа, вставьте или выберите · 1 файл · Не более 10 МБ · JPG · PNG · WEBP

  • 1
Файлы: 1 / 1
Изображение, которое меняют. Форма головы, волосы, поза, одежда и фон этого человека сохраняются — заменяются только черты лица. Не менее 1 символов
1/1

Перетащите файл или ссылку на медиа, вставьте или выберите · 1 файл · Не более 10 МБ · JPG · PNG · WEBP

  • 1
Файлы: 1 / 1
Изображение, отдающее черты лица. Берётся только лицо, без формы головы и волос. Выбирайте снимок, освещённый примерно с той же стороны, что и цель. Не менее 1 символов
Сопоставление лиц0/10
Для групповых снимков: укажите, какое лицо с референса ставится на какое лицо цели, по одной паре на элемент; лица нумеруются с 0 в порядке обнаружения. Без списка заменяется одно лицо. На цену не влияет. Не более 10 элементов
Стиль
realisticbeautifylossless
Отделка заменённого лица: realistic (по умолчанию) сохраняет естественный тон и текстуру кожи, beautify сглаживает и осветляет кожу, lossless сохраняет больше всего деталей лица. На цену не влияет.
Улучшить лицо
Прогоняет заменённое лицо через улучшение, чтобы получить его в более высоком разрешении. По умолчанию выключено. На цену не влияет.
Сид
Переиспользуйте seed, чтобы сравнить два прогона на одной и той же паре изображений при одинаковой выборке; оставьте пустым или поставьте 0 ради случайного прогона каждый раз. Это инструмент сравнения, а не гарантия одинакового результата. Не меньше 0 · Не больше 2147483647
Фильтр безопасностиВыключен

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

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

Вывод

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

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

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

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

Строгая схема из трёх полей — одно изображение на выходе

API правки Face Swap принимает целевое изображение в image_url и лицо для переноса в reference_image_url, а возвращает одно изображение с перенесёнными чертами лица. seed — единственное необязательное поле, которое принимает схема, всё остальное в теле запроса не проходит валидацию. Каждое из полей с изображением принимает публичную HTTPS-ссылку, URI загруженного файла или встроенный data URI.

Открыть песочницу
Строгая схема из трёх полей — одно изображение на выходе
Обязательные поля
image_url (целевое изображение) и reference_image_url (лицо)
Необязательное поле
seed, целое число от 0 до 2 147 483 647
Как передаются изображения
Публичная HTTPS-ссылка, URI загруженного файла или встроенный data URI
Поддерживаемые форматы
JPEG, PNG или WebP для любого из двух полей
Срок задачи
1800 секунд, после чего задача истекает
Оплата
За каждое выходное изображение, один тариф, выбирать между вариантами не нужно
Валидация
Незнакомое поле останавливает запрос ещё до того, как он станет задачейСхема называет ровно три поля и задаёт additionalProperties: false, поэтому ключ, случайно оставшийся от тела другого запроса (значение strength, строка prompt), возвращается как ошибка 400 с указанием этого поля. Задача не ставится в очередь, и ничего не отбрасывается молча по пути.
Seed
seed охватывает весь диапазон 32-битного знакового числаПринимается любое целое число от 0 до 2 147 483 647. Повторное использование одного значения для той же пары изображений держит выбор достаточно устойчивым, чтобы сравнить два прогона, — для этого поле и нужно; это не обещание, что оба изображения окажутся идентичными. Если поле не указано, значение выбирается случайно.
Срок
1800 секунд — это потолок, а не ожидаемое время ответаУ каждой задачи есть срок 1800 секунд с момента принятия, он указан в записи задачи как deadlineAt. Задача, дошедшая до этого предела, завершается как expired, а не возвращает изображение. Опрос стоит рассчитывать по этому числу, а не по предполагаемому времени обработки одной пары фотографий.

В чём силён Face Swap

Всё тело запроса — это три ключа

Всё тело запроса — это три ключа

image_url и reference_image_url обязательны, seed необязателен — и это полный список. Нет ни регулятора strength для настройки, ни области для выделения, так что одна и та же форма запроса подходит и для студийного портрета, и для кадра в полный рост, а пакетному обработчику достаточно менять по два URL на задачу.

Формат выбирается независимо для каждого из двух изображений

Формат выбирается независимо для каждого из двух изображений

image_url и reference_image_url каждое по отдельности принимает JPEG, PNG или WebP, так что целевое изображение в WebP с референсным лицом в JPEG так же допустимо, как и совпадающая пара форматов, и ни один файл не нужно конвертировать перед вызовом. Способ передачи каждого изображения тоже независим.

  • Поле изображения принимает ссылку, загрузку или встроенные байты

    Публичная HTTPS-ссылка не требует дополнительных вызовов. Файл также можно сначала загрузить на платформу — через тикет на загрузку и последующую фиксацию — а затем сослаться на него по полученному URI. Небольшие изображения можно передать прямо в теле как data URI, до 1 048 576 декодированных байт и 8192 пикселей по стороне.

  • Одна задача — одно изображение

    Завершённая задача отдаёт один-единственный файл изображения из хранилища платформы, и в схеме нет поля count или batch, чтобы запросить больше. Десять пар фотографий — это десять задач, у каждой свой ID и своё состояние опроса, что не даёт сбою на одной паре задержать остальные девять.

  • seed пригождается при повторных прогонах

    Если seed не указан или передан как 0, при каждом вызове выбирается новое значение. Оно важно, когда более поздний прогон на той же паре нужно сравнить с более ранним — например, после замены референсного фото на более удачно освещённое. Для одноразовых вызовов поле можно полностью пропустить.

  • Опрашивайте задачу или получайте обратный вызов

    Каждый запрос асинхронный: создание задачи возвращает ID задачи в состоянии queued. Дальше можно опрашивать задачу до завершения, либо передать callBackUrl при создании и получить итог доставкой на этот адрес. URL обязан быть публичным HTTPS, потому что доставка несёт подписанные ссылки на результат.

Кому нужен Face Swap

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

    Инженеры бэкенд-интеграции

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

    Когда в теле запроса нужно заполнить только image_url, reference_image_url и seed, не нужен ни движок шаблонов, ни динамический список полей — три переменные, напрямую отображённые в JSON-объект, покрывают любой вызов, который принимает этот эндпоинт.

  • Проверка образа на уже отснятых и выставленных по свету кадрах

    Команды e-commerce и каталогов

    Проверка образа на уже отснятых и выставленных по свету кадрах

    Существующая товарная съёмка (посадка одежды, поза, фон) остаётся нетронутой в image_url, пока reference_image_url подставляет лицо другой модели — это избавляет от повторной съёмки только ради того, чтобы проверить, как выглядит карточка товара с другим человеком в кадре.

  • Одно лицо переносится на кадры, сгенерированные в другом месте

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

    Одно лицо переносится на кадры, сгенерированные в другом месте

    Набор сцен, созданных отдельной моделью для изображений, может затем получить общую личность — один и тот же reference_image_url поочерёдно применяется к каждому кадру, одна задача на пару, а seed фиксируется, когда повторный прогон должен совпасть с более ранней партией.

  • Публикация изображения без настоящего лица человека

    Процессы приватности и анонимизации

    Публикация изображения без настоящего лица человека

    Когда целевое фото можно опубликовать, а настоящую личность человека раскрывать не нужно, reference_image_url может указывать на синтетическое или заранее согласованное подставное лицо вместо реального лица другого человека. Правила авторизации из FAQ ниже действуют для обоих изображений.

Как работать с Face Swap

  1. Решите, как каждое изображение попадёт в эндпоинт

    image_url и reference_image_url — это строки, поэтому каждому нужна либо публичная HTTPS-ссылка, либо URI файла из загрузки на платформу, либо data URI, переданный прямо в запросе. Оба поля принимают JPEG, PNG и WebP.

  2. Отправляйте только те поля, что определены схемой

    Соберите тело запроса из image_url, reference_image_url и, при необходимости, seed. Любой другой ключ не пройдёт валидацию, потому что additionalProperties установлено в false, — уберите лишние поля от другого эндпоинта перед отправкой.

  3. Проверьте новую интеграцию котировкой без реального запуска

    Эндпоинт котировки проходит те же проверки входных данных и допуска, что и создание задачи, но не создаёт задачу и не резервирует средства, а подписанная котировка остаётся действительной пять минут. Это самый быстрый способ убедиться, что тело запроса собрано верно.

  4. Отправьте запрос, затем опрашивайте задачу или используйте обратный вызов

    Отправьте запрос и сохраните возвращённый ID задачи. Опрашивайте до достижения задачей финального состояния или зарегистрируйте callBackUrl и дождитесь доставки. Idempotency-Key делает так, что повтор запроса возвращает исходную задачу, а не создаёт вторую.

  5. Получите единственное выходное изображение

    Успешная задача отдаёт один файл изображения из хранилища платформы. Поля count нет, так что больше выходных изображений означает больше задач: по одной на каждую пару цель — референс, каждая опрашивается и оплачивается отдельно.

Разобранные примеры Face Swap

  • Замена модели на товарном фото в тот же день

    У ритейлера уже есть полностью выставленный по свету товарный кадр одной модели, а нужен тот же кадр со второй, согласованной моделью. image_url остаётся исходной фотографией, а reference_image_url указывает на портрет второй модели; задача возвращает одно изображение с сохранённой позой, одеждой и освещением.

  • Пакет из десяти кадров аватара с одним и тем же лицом

    Десять целевых кадров, сгенерированных отдельно моделью для изображений, поочерёдно получают один и тот же reference_image_url — десять задач, одно общее лицо. Фиксация единого значения seed на всю партию делает повторный прогон любого кадра сравнимым с первым проходом.

  • Пакетный процесс, переживающий обрыв соединения

    Каждая пара отправляется с Idempotency-Key, полученным из двух исходных ID. Если соединение обрывается на середине отправки и процесс повторяет попытку, ключ возвращает исходную задачу вместо создания второй — перезапущенная партия не платит дважды за уже отправленную пару.

Вопросы об API Face Swap

Писать промпт не нужно, поэтому основная работа по интеграции — это ввод данных и подключение. Заранее решите, как изображения попадут в эндпоинт: HTTPS-ссылка не требует дополнительных вызовов, загрузка требует тикета и фиксации, а data URI должен оставаться в пределах 1 048 576 декодированных байт. Прогоните первое тело запроса через котировку, прежде чем тратить на него реальный вызов, сохраняйте seed для повторов, которые планируете сравнивать, и отправляйте Idempotency-Key с каждым созданием задачи.

Модели этой серии4

Модели изображений3