Замена лица в видео с помощью API Yes Ai — DeepFace Video

Проект Yes Ai подготовил подробную документацию и техническую поддержку по внедрению нейросети - Замена лица в видео с помощью API Yes Ai DeepFace Video. Вашим пользователям понравится возможность легко изменять лица в видео для развлечения или создания уникального контента.

Замена лица в видео с помощью API Yes Ai — DeepFace Video
Замена лица в видео с помощью API Yes Ai — DeepFace Video

Руководство по использованию API для интеграции функции замены лица в видео с помощью DeepFace Video.

Для тех, кто желает внедрить сервис замены лиц в своём приложении или на сайте, мы предлагаем наш интерфейс программирования приложений (API). Чтобы начать работу, вам понадобится:

  • аккаунт в мессенджере Telegram
  • доступ к боту @yes_ai_bot
  • персонализированный ключ доступа <token>, который необходим для взаимодействия с нашим API

Для того, чтобы сгенерировать уникальный ключ <token> для выполнения запросов, следует в приложении Telegram направить команду /api к боту под ником @yes_ai_bot

ОБРАТИТЕ ВНИМАНИЕ ‼ Использование сервисов Yes Ai в целях, противоречащих законодательству, строго запрещено. Нарушение данного правила может привести к блокировке аккаунта. В дополнение, рекомендуется осуществлять тщательный контроль заданий перед их отправкой, что поможет избежать неправомерных запросов от пользователей. Несоблюдение этого правила также может привести к нежелательным последствиям, включая потерю доступа к сервису.

ОБРАТИТЕ ВНИМАНИЕ ‼ Запрещено передавать свои личные ключи доступа к API третьим лицам. В случае их попадания к злоумышленникам, они могут использовать активы с вашего аккаунта Yes Ai для своих целей. Всегда храните свои ключи в безопасном месте и не раскрывайте их никому. Пожалуйста, имейте в виду, что мы не компенсируем средства, списанные с вашего баланса, независимо от того, кем они были использованы. Будьте внимательны и осторожны при обращении с вашими данными.

🪙 Все операции по оплате заданий, отправленных через интерфейс программирования приложений (API), осуществляются исключительно за счет средств на счете: 🔆 монет. Использование ⭐ баллов для этой цели не предусмотрено. Для проведения успешных тестов рекомендуется заранее пополнить счет в боте @yes_ai_bot.

Советуем вам провести предварительное тестирование функционала услуги с помощью нашего бота в Telegram - @yes_ai_bot. Это позволит вам лично убедиться в соответствии предоставляемых результатов вашим ожиданиям перед началом интеграции API и разработки собственных решений.

Инструкция: подача нового заказа на замену лица в видео через API Yes Ai

headers: { Content-Type: application/json, Authorization: Bearer <token> }

Образец заявки на создание видео с использованием DeepFace Video

curl -X POST https://api.yesai.su/v2/yesvideo/aniphoto/deepface

-H "Authorization: Bearer <token>"

-H "Content-Type: application/json"

-d '{

"photo_url": "https://yoururl.com/face1.jpeg",

"video_url": "https://yoururl.com/video1.mp4"

}'

Параметры:

photo_url = '...' (обязательно, ссылка на фото в формате https://... )
video_url = '...' (обязательно, ссылка на видео в формате https://... )

Список возможных ошибок:

['success' => false, 'message' => 'PHOTO_URL_IS_EMPTY'], 400
['success' => false, 'message' => 'PHOTO_URL_NOT_VALID'], 400
['success' => false, 'message' => 'VIDEO_URL_IS_EMPTY'], 400
['success' => false, 'message' => 'VIDEO_URL_NOT_VALID'], 400
['success' => false, 'message' => 'PHOTO_FILE_SIZE_NOT_VALID'], 400
['success' => false, 'message' => 'VIDEO_FILE_SIZE_NOT_VALID'], 400
['success' => false, 'message' => 'PHOTO_MIME_TYPE_NOT_VALID'], 400
['success' => false, 'message' => 'VIDEO_MIME_TYPE_NOT_VALID'], 400
['success' => false, 'message' => 'UNAUTHORIZED'], 401
['success' => false, 'message' => 'PHOTO_NOT_FOUND'], 404
['success' => false, 'message' => 'VIDEO_NOT_FOUND'], 404
['success' => false, 'message' => 'NOT_ENOUGH_RPOINTS'], 409
['success' => false, 'message' => 'TASK_LIMIT_EXCEEDED'], 409
['success' => false, 'message' => 'TOO_MANY_REQUESTS'], 429
['success' => false, 'message' => 'INTERNAL_SERVER_ERROR'], 500

Формат ответа при успешной подаче нового задания:

['success' => true, 'message' => 'OK', 'results' => ['animation_data' => [ ... ]]], 200

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

Проверяем статус выполнения конкретного задания по его iD

GET https://api.yesai.su/v2/yesvideo/animations/{id}
headers: { Content-Type: application/json, Authorization: Bearer <token> }

Образец запроса на получение информации о состоянии выполнения конкретного задания в DeepFace Video

curl -X GET https://api.yesai.su/v2/yesvideo/animations/{id}

-H "Authorization: Bearer <token>"

-H "Content-Type: application/json"

Параметры:

{id} = 12345 (обязательно, id задания)

Возможные ошибки:

['success' => false, 'message' => 'ID_IS_EMPTY'], 400
['success' => false, 'message' => 'ID_NOT_VALID'], 400
['success' => false, 'message' => 'ID_NOT_FOUND'], 404
['success' => false, 'message' => 'UNAUTHORIZED'], 401
['success' => false, 'message' => 'TOO_MANY_REQUESTS'], 429
['success' => false, 'message' => 'INTERNAL_SERVER_ERROR'], 500

Формат ответа при успешной подаче нового задания:

['success' => true, 'message' => 'OK', 'results' => ['animation_data' => [ ... ]]], 200

Возможные коды статусов:

  • "status": 0 ("status_description":"in queue") - задание находится в очереди (следует подождать)
  • "status": 1 ("status_description":"in progress") - задание взято в работу (следует подождать)
  • "status": 2 ("status_description":"completed") - задание успешно выполнено (можно обрабатывать результат)
  • "status": 3 ("status_description":"rejected with error") - задание отклонено с ошибкой (следует проверить описание причины отклонения из блоков "comment_ru" и "comment_en")
  • "status": 4 ("status_description":"rejected due to timeout") - задание отклонено по таймауту (следует подать задание повторно)

Проверяем статусы выполнения группы последних заданий

Данный подход к мониторингу задач эффективен, когда задачи учитываются пакетами (группами), вместо отдельного учета каждой из них. В ответ на запрос будет предоставлен список из двадцати последних задач, отфильтрованных в соответствии с указанным вами статусом.

В случае отсутствия в запросе фильтра по статусу, эндпойнт API вернет перечень из двадцати последних задач.

GET https://api.yesai.su/v2/yesvideo/animations?type=13&status={status}
headers: { Content-Type: application/json, Authorization: Bearer <token> }

Образец запроса на получение информации о состоянии выполнения последних заданий в DeepFace Video

curl -X GET https://api.yesai.su/v2/yesvideo/animations?type=13&status={status}

-H "Authorization: Bearer <token>"

-H "Content-Type: application/json"

Параметры:

{status} = 2 (обязательно, статус заданий. Допускается перечисление нескольких типов статусов в одном запросе через запятую, например: status=1,2,3)
{type} = 13 - (обязательно, тип услуги DeepFace Video)

Параметр {status} может принимать следующие значения:

0 - список заданий, которые находятся в очереди на выполнение
1 - список заданий, которые уже выполняются
2 - список заданий, которые уже выполнены
3 - список заданий, которые отклонены системой
4 - список заданий, которые отклонены по таймауту

Возможные ошибки:

['success' => false, 'message' => 'TYPE_IS_EMPTY'], 400
['success' => false, 'message' => 'TYPE_NOT_VALID'], 400
['success' => false, 'message' => 'TYPES_NOT_VALID'], 400
['success' => false, 'message' => 'STATUS_IS_EMPTY'], 400
['success' => false, 'message' => 'STATUS_NOT_VALID'], 400
['success' => false, 'message' => 'LIMIT_OFFSET_IS_EMPTY'], 400
['success' => false, 'message' => 'LIMIT_OFFSET_NOT_VALID'], 400
['success' => false, 'message' => 'LIMIT_COUNT_IS_EMPTY'], 400
['success' => false, 'message' => 'LIMIT_COUNT_NOT_VALID'], 400
['success' => false, 'message' => 'SORT_FIELD_IS_EMPTY'], 400
['success' => false, 'message' => 'SORT_FIELD_NOT_VALID'], 400
['success' => false, 'message' => 'SORT_ORDER_IS_EMPTY'], 400
['success' => false, 'message' => 'SORT_ORDER_NOT_VALID'], 400
['success' => false, 'message' => 'DATA_TYPE_IS_EMPTY'], 400
['success' => false, 'message' => 'DATA_TYPE_NOT_VALID'], 400
['success' => false, 'message' => 'ID_OFFSET_IS_EMPTY'], 400
['success' => false, 'message' => 'ID_OFFSET_NOT_VALID'], 400
['success' => false, 'message' => 'UNAUTHORIZED'], 401
['success' => false, 'message' => 'TOO_MANY_REQUESTS'], 429
['success' => false, 'message' => 'INTERNAL_SERVER_ERROR'], 500

Пример ответа API в формате JSON при проверке статуса выполнения задания

Пример ответа API при запросе на получение статуса задания DeepFace Video

{"success":true,"message":"OK","results":{"animation_data":{"id":1,"user_id":1,"tariff_id":30,"type":13,"photo_url":"https://yourdomain.com/face1.jpeg","audio_url":"","video_url":"https://yourdomain.com/video1.mp4","result_url":"https://yesai.su/files/video/1_1234567890.mp4","result_type":"video","result_data":{"video_width":672,"video_height":1280,"video_duration":17,"video_durrange":0,"video_fps":60},"comment_ru":"","comment_en":"","accounting":{"total_cost":35.094528,"spent_points":0,"spent_rpoints":35.094528,"spent_repost_points":0,"spent_balance":0,"spent_rbalance":0,"remaining_points":820,"remaining_rpoints":3739.2603184,"remaining_repost_points":0,"remaining_balance":0,"remaining_rbalance":3341.37},"language":"","prompt":"","status":2,"status_description":"completed","start_at":1711501452,"finish_at":1711501554,"created_at":1711501412,"updated_at":1711501554}}}

Порядок обработки выполненных заданий по замене лица в видео (DeepFace Video), поданных через API Yes Ai

В случае удачного завершения процесса замены лица в в видео, вам будет предоставлена ссылка для загрузки данного файла в формате "MP4". Обратите внимание, что данный файл будет доступен на нашем сервере в течение ограниченного времени – всего лишь 60 минут.

Мы настоятельно рекомендуем вам без промедления произвести загрузку видео на ваш персональный сервер после того, как задание будет выполнено.

Лимиты при подаче и отслеживании статусов заданий

В Yes Ai предоставляется возможность формировать задачи через API и мониторить их текущее состояние.

Критерии для видеоматериалов и изображений, предоставляемых в рамках подачи новых заданий:

  • Лимит веса для видеофайла составляет 50 МБ.
  • Форматы, принимаемые для видео: mp4.
  • Лимит веса для фото лица, предназначенного для вставки в видео, - 5 МБ.
  • Принимаемые форматы изображений: jpeg, jpg, png.

Отправка запросов POST для создания новых заданий через API:

  • Подача новых заданий не чаще 1 раза в 1 секунду.

Лимит очереди для заданий в Yes Ai (при этом учтите, что данная очередь совместная для всех видов заданий, которые подаются через API Yes Ai):

  • Не более 8 заданий в очереди.

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

Отправка запросов GET для получения статусов выполнения ранее поданных заданий:

  • Проверка статусов не чаще 1 раза в 1 секунду.

Примеры работ по замене лиц в видео с помощью API Yes Ai вы можете посмотреть в нашем сообществе в телеграмм:

По всем вопросам при использовании API, предоставляемого Yes Ai, рекомендуется обращаться в службу поддержки. Данный запрос можно осуществить, написав в Телеграм на официальный канал поддержки по адресу @yes_ai_support.

1313
2 комментария

Спасибо за очень плдробную инструкцию подключения по API

1
Ответить

Удобно кстати, что предусмотрено тестирование через Telegram бота

1
Ответить