Анимация изображений с помощью API Yes Ai - Stable Video Diffusion
Проект Yes Ai предоставляет нейросеть Анимация изображений с помощью API Yes Ai - Stable Video Diffusion. Вы можете использовать наш API для интеграции анимации в ваши существующие проекты, сайты или боты. Мы предоставляем подробную документацию и поддержку для разработчиков, чтобы помочь вам в реализации вашего проекта.
Подробная документация API для анимации изображений с помощью Stable Video Diffusion
Создание персонализированного приложения или веб-сайта, которое предлагает услуги анимации изображений через наше API, вполне выполнимо. Вам понадобится:
- аккаунт в мессенджере Telegram
- регистрация в боте @yes_ai_bot
- свой уникальный ключ <token> для работы с API
Для того чтобы создать персональный ключ доступа <token> для выполнения запросов, необходимо направить команду /api боту @yes_ai_bot в мессенджере Telegram, после чего он будет сгенерирован.
ОБРАТИТЕ ВНИМАНИЕ ‼ Строго воспрещается использование сервисов Yes Ai в целях, противоречащих закону. Рекомендуется также производить отсев задач на вашей стороне, чтобы исключить возможность неправомерных действий со стороны ваших пользователей.
ОБРАТИТЕ ВНИМАНИЕ ‼ Недопустима передача личных ключей доступа к API третьим лицам, поскольку это может привести к их использованию злоумышленниками для осуществления операций с ресурсами вашего аккаунта в Yes Ai. Пожалуйста, учтите, что возврат средств, потраченных без вашего согласия, не производится.
За выполненные задания, отправленные через API, оплата всегда происходит за счет 🔆 монет, а не ⭐ баллов. Рекомендуем пополнить счет в @yes_ai_bot перед началом тестирования.
Прежде чем приступить к интеграции API и созданию собственных проектов, настоятельно советуем протестировать сервис с помощью нашего бота в Telegram @yes_ai_bot, чтобы убедиться в его соответствии вашим требованиям.
Инструкция: подача нового заказа на анимацию изображения Stable Video Diffusion через API Yes Ai
POST https://api.yesai.su/v2/yesvideo/aniphoto/svd
headers: { Content-Type: application/json, Authorization: Bearer <token> }
Образец заявки на создание анимации Stable Video Diffusion:
curl -X POST https://api.yesai.su/v2/yesvideo/aniphoto/svd
-H "Authorization: Bearer <token>"
-H "Content-Type: application/json"
-d '{
"photo_url": "https://yoururl.com/image1.jpeg",
}'
Параметры:
photo_url = '...' (ссылка на фото, обязательно)
Список возможных ошибок:
['success' => false, 'message' => 'PHOTO_URL_IS_EMPTY'], 400
['success' => false, 'message' => 'PHOTO_URL_NOT_VALID'], 400
['success' => false, 'message' => 'PHOTO_FILE_SIZE_NOT_VALID'], 400
['success' => false, 'message' => 'PHOTO_MIME_TYPE_NOT_VALID'], 400
['success' => false, 'message' => 'UNAUTHORIZED'], 401
['success' => false, 'message' => 'PHOTO_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". Этот номер будет необходим для последующего отслеживания статуса выполнения вашего запроса. Пожалуйста, сохраните этот номер в надежном месте.
В случае возникновения вопросов или проблем, вы сможете обратиться в службу поддержки (@yes_ai_support), предоставив ваш уникальный идентификационный номер. Мы постараемся решить вашу проблему в кратчайшие сроки.
Проверяем статус выполнения конкретного задания по его iD
GET https://api.yesai.su/v2/yesvideo/animations/{id}
headers: { Content-Type: application/json, Authorization: Bearer <token> }
Образец запроса на получение информации о состоянии выполнения конкретного задания Stable Video Diffusion:
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") - задание отклонено по таймауту (следует подать задание повторно)
Проверяем статусы выполнения группы последних заданий
Данный подход к мониторингу задач является идеальным для ситуаций, когда задачи классифицируются группами, в отличие от индивидуального учета. В ответ на запрос, система предоставит вам список из 20 последних задач, отсортированных в соответствии со статусом, который вы выбрали.
В случае, когда фильтр по статусу не применяется в запросе, то эндпойнт вернет перечень из 20 последних задач, не сортированных по статусу.
GET https://api.yesai.su/v2/yesvideo/animations?type=4&status={status}
headers: { Content-Type: application/json, Authorization: Bearer <token> }
Образец запроса на получение информации о состоянии выполнения последних заданий Stable Video Diffusion:
curl -X GET https://api.yesai.su/v2/yesvideo/animations?type=4&status={status}
-H "Authorization: Bearer <token>"
-H "Content-Type: application/json"
Параметры:
{status} = 2 (обязательно, статус заданий. Допускается перечисление нескольких типов статусов в одном запросе через запятую, например: status=1,2,3)
{type} = 4 (обязательно, тип услуги Stable Video Diffusion)
Параметр {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 при проверке статуса выполнения задания
Пример:
{ "success": true, // Информация была успешно принята
"message": "OK",
"results": {
"animation_data": {
"id": 1, // в системе Yes Ai присвоен уникальный идентификатор
"user_id": 1, // ID пользователя, инициировавшего запрос
"tariff_id": 30, // тариф пользователя (0 - Demo, 5 - Micro, 10 - Start, 20 - Standard, 30 - VIP)
"type": 4, // тип завершенного задания, 4 - Stable Video Diffusion
"photo_url": "https://yourdomain.com/image1.jpeg", // ссылка на исходное изображение, предназначенное для создания анимации
"audio_url": "", // в этом типе заданий переменная не используется
"video_url": "", // в этом типе заданий переменная не используется
"result_url": "https://yesai.su/files/video/1_1234567890.mp4", // завершенное задание представленное в формате MP4, которое необходимо загрузить на личный сервер
"result_type": "video", // тип файла для выполненного задания, для Stable Video Diffusion это всегда 'video'
"result_data": {
"video_width": 768, // ширина видео в пикселях, которое является результатом выполнения задания
"video_height": 768, // высота видео в пикселях, которое является результатом выполнения задания
"video_duration": 3, // продолжительность видео в секундах
"video_durrange": 0, // переменная не используется в этом типе задания
"video_fps": 40 // количество кадров в секунду
},
"comment_ru": "", // если возникли проблемы с выполнением задания, предусмотрено поле для комментариев на русском
"comment_en": "", // если возникли проблемы с выполнением задания, предусмотрено поле для комментариев на английском языке
"accounting": {
"total_cost": 35.094528, // отображена итоговая стоимость выполнения запроса в условных единицах
"spent_points": 0, // количество ⭐баллов, которые были сняты с баланса за выполнение задания. Для Stable Video Diffusion поле всегда будет равно 0, т.к. оплата производится в 🔅монетах
"spent_rpoints": 35.094528, // количество 🔅монет, которые были сняты с баланса за выполнение задания
"spent_repost_points": 0, // количество бонусных баллов за репосты, которое было снято за выполнение задания. Для Stable Video Diffusion поле всегда будет равно 0, т.к. оплата производится в 🔅монетах
"spent_balance": 0, // количество денег с основного баланса, которое было снято за выполнение задания. Для Stable Video Diffusion поле всегда будет равно 0, т.к. оплата производится в 🔅монетах
"spent_rbalance": 0, // количество денег с бонусного баланса, которое было снято за выполнение задания. Для Stable Video Diffusion поле всегда будет равно 0, т.к. оплата производится в 🔅монетах
"remaining_points": 820, // остаток средств на балансе ⭐баллов после выполнения задания
"remaining_rpoints": 3739.2603184, // остаток средств на балансе 🔅монет после выполнения задания
"remaining_repost_points": 0, // остаток баллов на балансе репостов после выполнения задания
"remaining_balance": 0, // остаток средств на основном балансе после выполнения задания
"remaining_rbalance": 3341.37 // остаток средств на бонусном балансе после выполнения задания
},
"language": "", // переменная не используется для Stable Video Diffusion
"prompt": "", // переменная не используется для Stable Video Diffusion
"status": 2, // статус задания, где 2 - успешное завершение
"status_description": "completed", // текстовое пояснение у статусу задания, где completed означает успешное завершение
"start_at": 1711501452, // unixtime, время начала выполнения задания
"finish_at": 1711501554, // unixtime, время завершения выполнения задания
"created_at": 1711501412, // unixtime, время подачи задания клиентом
"updated_at": 1711501554 // unixtime, время последнего обновления статуса задания
}
}
}
Порядок обработки выполненных заданий по анимации изображений (Stable Video Diffusion), поданных через API Yes Ai
В случае, если задача по анимации изображений будет выполнена корректно, вам будет предоставлена эксклюзивная ссылка для загрузки видеоролика в формате "MP4". Данный файл будет доступен на нашем сервере в течение одного часа.
Рекомендуем незамедлительно произвести загрузку результата работы на ваш сервер.
Лимиты при подаче и отслеживании статусов заданий
В Yes Ai через API предоставляется пользователям отслеживание текущего состояния заданий.
Критерии для изображений, предоставляемых в рамках подачи новых заданий:
- Лимит веса для загружаемых изображений для анимации составляет 5 мегабайт.
- Поддерживаемые форматы файлов включают jpeg, jpg и png.
Отправка запросов POST для создания новых заданий через API:
- Запросы на выполнение задач можно отправлять не более одного раза каждые 60 секунд.
В случае увеличения частоты создания заданий в вашем сервисе, целесообразно управлять ими, организовав собственный порядок очереди.
Лимит очереди для заданий в Yes Ai (при этом учтите, что данная очередь является совместной для всех видов заданий, которые подаются через API Yes Ai):
- Не более 8 заданий в очереди.
Для запроса информации о состоянии заданий, которые были отправлены ранее, следует использовать GET запросы с определенной регулярностью:
- Состояние заданий следует проверять не более одного раза в секунду.
Примеры анимаций изображений с помощью API Yes Ai можете посмотреть в нашем сообществе в телеграм:
Для получения информации по работе с API компании Yes Ai рекомендуется обращаться в службу технической поддержки - @yes_ai_support
Примеры анимаций где !?
Здравствуйте, добавили примеры в конце статьи, можете посмотреть.
Очень интересно, но ничего не понятно(
Это полная инструкция для создания своего сервиса (бота, сайта, мобильного приложения), если нужно помощь по этому вопросу, то напишите нам в поддержку в телеграмм @yes_ai_support