Модератор Baki Опубликовано 12 июля, 2024 Модератор Поделиться Опубликовано 12 июля, 2024 Нейронная сеть Luma может оживить любое изображение или фото, анимируя его между начальным и/или конечным кадром. Наш сервис Yes Ai предоставляет удобный доступ к этим функциям через Luma API для анимации изображений. С помощью Luma AI API от Yes Ai вы можете анимировать изображения, оживлять фото и преобразовывать их в видео. В этом гайде по Luma API мы подробно разберём возможности нейросети Luma для анимации изображений. Прежде чем углубляться в работу с Luma API, мы рекомендуем протестировать анимацию изображений и оживление фото в нейросети Luma через нашего Telegram-бота @yes_ai_bot. Чтобы отправлять задачи на анимацию изображений в Luma через Yes Ai API и отслеживать их выполнение, вам понадобится ключ API и инструкции по его получению. Нейросеть Luma AI поддерживает несколько типов анимации изображений и оживления фото, каждый из которых требует разных входных данных: Изображение + текстовый запрос (промт) для анимации Изображение + финальный кадр (второе изображение, отличное от первого) Изображение + текстовый запрос (промт) + финальный кадр Расширение рекламного ролика или видео, ранее созданного в Luma через API Отправка задания анимации изображения в нейросеть Luma с помощью Yes Ai Luma API Пример вызова Luma 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 = '' (необязательно, ссылка на финальное изображение кадра; обязательно, если промт не указан) Внимание! Luma API в Yes Ai автоматически определит тип задачи анимации изображений на основе переменных, включённых в запрос. Параметр image_url обязателен для всех типов генерации, кроме случая расширения ранее созданного видео Luma. Этот тип задач описан в отдельном разделе ниже. Возможные ошибки включают в себя: ['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 Проверка выполнения задачи Luma по её идентификатору (ID) через Yes Ai API GET https://api.yesai.su/v2/yesvideo/animations/{id} headers: { Content-Type: application/json, Authorization: Bearer } Пример запроса к Luma API для получения статуса завершения задачи анимации 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, время последнего обновления статуса задания } } } Как продлить (extend) видео, созданное в Luma, с помощью Yes Ai Luma API Продлевать (extend) можно только видеоролики, ранее созданные в нейросети Luma через наш сервис Yes Ai, пользовательские загруженные видео не поддерживаются. После успешного создания видео Luma вы получите идентификатор (ID) задачи, который можно использовать для запроса продления через API. Чтобы продлить видео, созданное в Luma, необходимо отправить в наш эндпойнт два значения: номер одного из предыдущих заданий, содержавшего видео текстовое описание (промт) того, что будет в следующей части видео Каждое увеличение добавит 5 секунд к исходному видео. Ранее расширенные видеоролики также можно расширить, что позволит создавать, например, видеоклипы. Как удлинить (продлить) анимацию видео Luma с помощью Yes Ai Luma API 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, отправленных через Yes Ai Luma API Как только нейросеть Luma завершит анимацию изображения (оживление фото), вам будет предоставлена специальная ссылка для загрузки видео в формате MP4. Этот файл будет доступен на нашем сервере в течение одного часа. Вы должны оперативно загрузить видео на свой сервер, как только задание будет выполнено. Ограничения на отправку и мониторинг хода выполнения задач Используя API, у вас есть возможность создавать задания в Yes Ai и отслеживать их ход в соответствии с заранее заданными рекомендациями. Требования к изображениям, которые вы отправляете в Luma для анимации через Yes Ai API: Максимально допустимый вес анимированных изображений составляет 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 июля, 2024 Пользователь Поделиться Опубликовано 12 июля, 2024 Спасибо за подробный гайд по API для нкйросети Luma👍 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Модератор Ardi Опубликовано 12 июля, 2024 Модератор Поделиться Опубликовано 12 июля, 2024 Отличный гайд по использованию нейросети Luma. Сама часто использую, очень довольна👍 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Yes_Ai Опубликовано 13 июля, 2024 Поделиться Опубликовано 13 июля, 2024 Конспект статьи: Текст описывает возможности нейронной сети Luma для оживления изображений и предоставления доступа к ней через API. В тексте подробно рассказывается о том, как использовать API для анимации изображений: различные типы анимации, необходимые параметры запроса, примеры кода для отправки задач и получения статусов выполнения. Также текст содержит информацию о допустимых форматах изображений, ограничениях на частоту отправки запросов, а также о том, куда обращаться за помощью в случае возникновения вопросов. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.