Baki Опубликовано 12 июля Поделиться Опубликовано 12 июля Нейронная сеть Luma может оживить любое изображение или фото, используя начальный и/или конечный кадр. Наш сервис предоставляет доступ к этим мощным функциям через API. С помощью API нейронной сети Luma от Yes Ai вы можете преобразовывать и улучшать свои видео, анимируя предоставленные вами изображения. Узнайте больше о возможностях Luma в этой статье. Прежде чем углубляться в API, мы рекомендуем протестировать функциональность Luma с помощью нашего Telegram-бота @yes_ai_bot. Чтобы отправлять задания и отслеживать их ход, вам понадобится ключ API и инструкции по его получению. Нейронная сеть Luma поддерживает различные типы анимации изображений, каждый из которых требует разных входных данных: Изображение + запрос (промт) Изображение + финальный кадр (второе изображение, отличное от первого) Изображение + запрос (промт) + финальный кадр Расширение рекламного ролика, ранее созданного в Luma Отправка задания анимации изображения Luma с помощью API Пример вызова API для отправки задачи генерации в Luma POST https://api.yesai.su/v2/yesvideo/aniimage/luma headers: { Content-Type: application/json, Authorization: Bearer } Пример вызова API для запуска задачи генерации с помощью Luma curl -X POST https://api.yesai.su/v2/yesvideo/aniimage/luma -H "Authorization: Bearer <token>" -H "Content-Type: application/json" -d '{ "image_url": "https://yoururl.com/image1.jpeg", "prompt": "ваш текст описания анимации", "final_frame_url": "https://yoururl.com/image2.jpeg" }' Параметры: image_url = '' (обязательно, ссылка на исходное изображение) Prompt = '' (необязательно, промт задачи; обязательно, если Final_frame_url не указан) Final_frame_url = '' (необязательно, ссылка на финальное изображение кадра; обязательно, если промт не указан) Внимание! Наша система автоматически определит тип задачи на основе переменных, включенных в запрос. Параметр image_url обязателен для всех типов генерации, кроме случая расширения ранее созданного видео. Этот конкретный тип задач будет решаться отдельно. Возможные ошибки включают в себя: ['success' => false, 'message' => 'IMAGE_URL_IS_EMPTY'], 400 ['success' => false, 'message' => 'IMAGE_URL_NOT_VALID'], 400 ['success' => false, 'message' => 'IMAGE_FILE_SIZE_NOT_VALID'], 400 ['success' => false, 'message' => 'IMAGE_MIME_TYPE_NOT_VALID'], 400 ['success' => false, 'message' => 'PROMPT_IS_EMPTY'], 400 ['success' => false, 'message' => 'PROMPT_NOT_VALID'], 400 ['success' => false, 'message' => 'FINAL_FRAME_URL_IS_EMPTY'], 400 ['success' => false, 'message' => 'FINAL_FRAME_URL_NOT_VALID'], 400 ['success' => false, 'message' => 'FINAL_FRAME_FILE_SIZE_NOT_VALID'], 400 ['success' => false, 'message' => 'FINAL_FRAME_MIME_TYPE_NOT_VALID'], 400 ['success' => false, 'message' => 'UNAUTHORIZED'], 401 ['success' => false, 'message' => 'IMAGE_NOT_FOUND'], 404 ['success' => false, 'message' => 'FINAL_FRAME_NOT_FOUND'], 404 ['success' => false, 'message' => 'USER_HAS_BEEN_BANNED'], 409 ['success' => false, 'message' => 'USER_HAS_BEEN_DELETED'], 409 ['success' => false, 'message' => 'NOT_ENOUGH_RPOINTS'], 409 ['success' => false, 'message' => 'TASK_LIMIT_EXCEEDED'], 409 ['success' => false, 'message' => 'PROMPT_NSFW_WORDS'], 409 ['success' => false, 'message' => 'PROMPT_FAILED_TO_TRANSLATE'], 409 ['success' => false, 'message' => 'TOO_MANY_REQUESTS'], 429 ['success' => false, 'message' => 'INTERNAL_SERVER_ERROR'], 500 Формат ответа при успешной подаче нового задания: ['success' => true, 'message' => 'OK', 'results' => ['animation_data' => [ ... ]]], 200 Действия по проверке выполнения задачи по ее идентификатору (iD) через API Yes Ai GET https://api.yesai.su/v2/yesvideo/animations/{id} headers: { Content-Type: application/json, Authorization: Bearer } Пример запроса для получения статуса завершения задания в Luma 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 в формате JSON при проверке статуса выполнения задания Пояснение параметров вывода Yes Ai API при выполнении задачи по анимации изображения с помощью нейронной сети Luma { "success": true, // данные успешно получены "message": "OK", "results": { "animation_data": { "id": 1733, // уникальный ID задания в системе Yes Ai "user_id": 1234567890, // ID пользователя, который подал задание "tariff_id": 30, // тарифный план пользователя (0 - Demo, 5 - Micro, 10 - Start, 20 - Standard, 30 - VIP) "type": 15, // тип выполненного задания, 15 - оживление картинки в нейросети Luma "photo_url": "", "image_url": "https://yoururl.com/tests/photo1.jpeg", // ссылка с исходным изображением, которое отправил клиент "audio_url": "", "video_url": "", "final_frame_url": "", // ссылка с исходным изображением финального кадра, если оно было отправлено клиентом "result_url": "https://yesai.su/files/yesvideo/animations/1234567890_17200000007595.mp4", // результат выполнения задания в формате MP4, его необходимо скачать на свой сервер "result_type": "video", // тип файла для выполненного задания, для Luma это всегда 'video' "result_data": { "video_width": 1024, // ширина видео в пикселях, которое является результатом выполнения задания "video_height": 1024, // высота видео в пикселях, которое является результатом выполнения задания "video_duration": 6, // длительность видео в секундах "video_durrange": 0, // переменная не используется в этом типе задания "video_fps": 24 // количество кадров в секунду }, "comment_ru": "", // комментарий к заданию на русском языке, он заполняется только в том случае, если задание не удалось выполнить "comment_en": "", // комментарий к заданию на английском языке, он заполняется только в том случае, если задание не удалось выполнить "accounting": { "total_cost": 35, // итоговая стоимость выполнения задания в условных единицах "spent_points": 0, // количество ⭐️ баллов, которые были сняты с баланса за выполнение задания. Для Luma поле всегда будет равно 0, т.к. оплата производится в 🔅 монетах "spent_rpoints": 35, // количество 🔅 монет, которые были сняты с баланса за выполнение задания "spent_repost_points": 0, // количество бонусных баллов за репосты, которое было снято за выполнение задания. Для Luma поле всегда будет равно 0, т.к. оплата производится в 🔅 монетах "spent_balance": 0, // количество денег с основного баланса, которое было снято за выполнение задания. Для Luma поле всегда будет равно 0, т.к. оплата производится в 🔅 монетах "spent_rbalance": 0, // количество денег с бонусного баланса, которое было снято за выполнение задания. Для Luma поле всегда будет равно 0, т.к. оплата производится в 🔅 монетах "remaining_points": 1811, // остаток средств на балансе ⭐️ баллов после выполнения задания "remaining_rpoints": 3540.90288, // остаток средств на балансе 🔅 монет после выполнения задания "remaining_repost_points": 0, // остаток баллов на балансе репостов после выполнения задания "remaining_balance": 0, // остаток средств на основном балансе после выполнения задания "remaining_rbalance": 7078.8033 // остаток средств на бонусном балансе после выполнения задания }, "language": "", // переменная не используется для нейросети Luma "prompt": "текст вашего промта", // оригинальный текст промта, отправленного клиентом - не отображается, если не было отправлено при подаче задания "prompt_en": "your prompt here", // текст промта на английском языке - система Yes Ai производит автоматический перевод промтов клиентов "status": 2, // статус задания, где 2 - успешное завершение "status_description": "completed", // текстовое пояснение у статусу задания, где completed означает успешное завершение "start_at": 1720631145, // unixtime, время начала выполнения задания "finish_at": 1720631302, // unixtime, время завершения выполнения задания "created_at": 1720631089, // unixtime, время подачи задания клиентом "updated_at": 1720631302 // unixtime, время последнего обновления статуса задания } } } Как увеличить (продлить) видео, созданное в Luma, с помощью API Yes Ai Увеличивать - продлевать можно только видеоролики, ранее созданные с помощью нашего сервиса, пользовательские видео не поддерживаются. После успешного создания видео вы получите идентификатор (iD) задания, который можно использовать для запроса продления. Чтобы продлить видео, созданное в Luma, необходимо отправить в наш эндпойнт два значения: номер одного из предыдущих заданий, содержавшего видео текстовое описание (промт) того, что будет в следующей части видео Каждое увеличение добавит 5 секунд к исходному видео. Ранее расширенные видеоролики также можно расширить, что позволит создавать, например, видеоклипы. Как удлинить - продлить анимацию видео с помощью Yes Ai API в нейронной сети Luma POST https://api.yesai.su/v2/yesvideo/aniimage/luma/extend headers: { Content-Type: application/json, Authorization: Bearer } Пример вызова API для загрузки задачи на продление видео с помощью нейронной сети Luma. curl -X POST https://api.yesai.su/v2/yesvideo/aniimage/luma/extend -H "Authorization: Bearer <token>" -H "Content-Type: application/json" -d '{ "id": "12345", "prompt": "ваш текст описания анимации" }' Параметры:id = 12345 (обязательно, id задания) prompt = 'текст вашего промта с описанием анимации' (обязательно, промпт задания) Ошибки которые могут возникнуть: ['success' => false, 'message' => 'ID_IS_EMPTY'], 400 ['success' => false, 'message' => 'ID_NOT_VALID'], 400 ['success' => false, 'message' => 'PROMPT_IS_EMPTY'], 400 ['success' => false, 'message' => 'PROMPT_NOT_VALID'], 400 ['success' => false, 'message' => 'UNAUTHORIZED'], 401 ['success' => false, 'message' => 'ID_NOT_FOUND'], 404 ['success' => false, 'message' => 'USER_HAS_BEEN_BANNED'], 409 ['success' => false, 'message' => 'USER_HAS_BEEN_DELETED'], 409 ['success' => false, 'message' => 'NOT_ENOUGH_RPOINTS'], 409 ['success' => false, 'message' => 'TASK_LIMIT_EXCEEDED'], 409 ['success' => false, 'message' => 'TASK_IS_NOT_COMPLETED'], 409 ['success' => false, 'message' => 'TASK_CANNOT_BE_EXTENDED'], 409 ['success' => false, 'message' => 'PROMPT_NSFW_WORDS'], 409 ['success' => false, 'message' => 'PROMPT_FAILED_TO_TRANSLATE'], 409 ['success' => false, 'message' => 'TOO_MANY_REQUESTS'], 429 ['success' => false, 'message' => 'INTERNAL_SERVER_ERROR'], 500 Возможные коды статусов: "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") — задача отклонена, поскольку истекло время ожидания. Вам необходимо повторно отправить задание. Последовательность обработки готовых заданий анимации изображений (Luma), отправленных через API Yes Ai. Как только вы закончите анимировать изображение, вам будет предоставлена специальная ссылка для загрузки видео в формате MP4. Этот файл будет доступен на нашем сервере в течение одного часа. Вы должны оперативно загрузить видео на свой сервер, как только задание будет выполнено. Ограничения на отправку и мониторинг хода выполнения задач Используя API, у вас есть возможность создавать задания в Yes Ai и отслеживать их ход в соответствии с заранее заданными рекомендациями. Требования к изображениям, представляемым при подаче новых заданий: Максимально допустимый вес анимированных изображений составляет 5 мегабайт, а размеры не должны превышать 2000 пикселей по ширине или высоте. Допустимые форматы изображений: jpeg, jpg, png Отправка POST-запросов на создание новых заданий через API: Новые задачи не должны отправляться чаще одного раза в секунду Максимальное количество заданий в очереди Yes Ai (очередь общая для всех типов заданий, отправляемых через Yes Ai API): В очереди может быть не более 8 задач Если частота создания заданий в вашем сервисе увеличивается, важно управлять собственной очередью заданий. Отправка GET-запросов для получения статусов выполнения задач, отправленных ранее: Ограничение проверок статуса до одного раза в секунду По всем вопросам использования Yes Ai API обращайтесь в официальную службу технической поддержки через мессенджер Telegram - @yes_ai_support 4 3 2 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Aiveri Опубликовано 12 июля Поделиться Опубликовано 12 июля Спасибо за подробный гайд по API для нкйросети Luma👍 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Ardi Опубликовано 12 июля Поделиться Опубликовано 12 июля Отличный гайд по использованию нейросети Luma. Сама часто использую, очень довольна👍 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Yes_Ai Опубликовано 13 июля Поделиться Опубликовано 13 июля Конспект статьи: Текст описывает возможности нейронной сети Luma для оживления изображений и предоставления доступа к ней через API. В тексте подробно рассказывается о том, как использовать API для анимации изображений: различные типы анимации, необходимые параметры запроса, примеры кода для отправки задач и получения статусов выполнения. Также текст содержит информацию о допустимых форматах изображений, ограничениях на частоту отправки запросов, а также о том, куда обращаться за помощью в случае возникновения вопросов. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.