API — Замена лица. Документация

С чего начать?

Для работы с API необходим ключ. Получить ключ YOUR_API_KEY вы можете по запросу через телеграм.

Необходимые исходные данные

Для замены лица необходимо отправить ссылки на две фотографии:

source — это ссылка на фото, откуда нужно взять лицо.

target — это ссылка на фото, где будет производиться замена лица, т.е. на это фото будем ставить лицо из source.

Форматы файлов в url для source и target должны быть: jpg, jpeg, png или webp

Выполнение запроса на замену лица

Запрос выполняется через отправку CURL

Пример запроса

curl --request POST \
  --location 'https://api.faceswap.ru/v2/faces/swap' \
  --header 'Authorization: Token YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  {
      "source": "https://...",
      "target": "https://...",
      "upscale": true
  }'

Параметр upscale улучшает качество изображения source.
upscale: true или false

Пример ответа в формате JSON

{
  "status": 200,
  "error": false,
  "route": "api.faceswap.ru/v2/faces/swap",
  "data": {
    "output": "https://replicate.delivery/pbxt/..."
  },
  "billing": {
    "charged": true,
    "amount": 1
  },
  "server": "DP/API/V2",
  "uuid": null
}

Результат замены лица

После выполнения замены лица вы получаете в ответ ссылку на готовое фото output, которое можете сохранить себе и использовать в своем сервисе.

Приневозможности выполнить замену лица отдается «status»: 500

Вероятность замены лица 99%, которая зависит от нескольких факторов:

  • видна ли полностью голова на обоих фото source и target, она должна быть полностью входить в кадр;
  • на лице не должно быть посторонних предметов. Например, прозрачные очки могут испортить результат замены, также рисунок или татуировка на лице затрудняют генерацию;
  • желательно в случае поворота головы, чтобы были видны глаза, нос и рот полностью.

Процесс выполнения замены лица обычно занимает 5-15 секунд, но в какие-то моменты может доходить до 1 минуты в зависимости от текущей нагрузки.

Проверка остатка

Остаток токенов соответствует тому, сколько генераций с заменой лица доступно для указанного API ключа.

Пример запроса

curl --request GET \
  --location 'https://api.faceswap.ru/v2/faces/swap' \
  --header 'Authorization: Token YOUR_API_KEY' \
  --header 'Content-Type: application/json' \

Пример ответа в формате JSON

{
  "status": 200,
  "error": false,
  "route": "api.faceswap.ru/v2/account/quota",
  "data": {
    "token": {
      "activated": true,
      "usage": 20,
      "limits": 500
    }
  },
  "server": "DP/API/V2",
  "uuid": null
}

usage — количество успешно выполненных замен лица,
limits — доступное количество замены лиц для этого API ключа.

Если остались вопросы

Обратитесь в поддержку через телеграм.