Получение и использование
Чтобы использовать Luma Videos Generation API, сначала получите ваш API Token в консоли Ace Data Cloud и сохраните его для дальнейшего использования.
Если вы ещё не вошли в систему или не зарегистрировались, вы будете автоматически перенаправлены на страницу входа, где вам будет предложено зарегистрироваться и войти, после завершения вы автоматически вернётесь на текущую страницу.
Один API Token позволяет вызывать все сервисы платформы, не нужно подавать отдельную заявку для каждого сервиса. При первом получении предоставляется бесплатный лимит, доступен бесплатный тест; при недостаточном лимите можно пополнить универсальный баланс в консоли.
📘 Полная документация: Luma Videos Generation API →
Базовое использование
Чтобы сгенерировать нужное видео, можно ввести любой текст. Например, если я хочу создать видео об астронавтах, перемещающихся между космосом и вулканом, можно ввестиAstronauts shuttle from space to volcano, как показано на рисунке:


prompt: текст запроса для генерации видео.aspect_ratio: соотношение сторон видео, по умолчанию 16:9.end_image_url: необязательно, указывает конечный кадр.enhancement: необязательно, переключатель улучшения чёткости.loop: следует ли генерировать зацикленное видео, по умолчанию false.timeout: необязательно, количество секунд тайм-аута.callback_url: адрес асинхронного обратного вызова.async: необязательно, когда установлено значениеtrue, интерфейс немедленно возвращаетtask_id, без необходимости указыватьcallback_url, после чего результат получается путём опроса соответствующего интерфейса запроса задач.
- success: успешно ли выполнено создание, если успешно —
true, иначе —false - task_id: уникальный ID задачи генерации видео
- video_id: уникальный ID видео, созданного задачей генерации видео
- prompt: ключевые слова задачи генерации видео
- video_url: ссылка на итоговое видео задачи генерации видео
- video_height: высота изображения обложки видео после генерации
- video_width: ширина изображения обложки видео после генерации
- state: статус задачи генерации видео, если задача завершена —
completed. - thumbnail_url: ссылка на изображение обложки видео после генерации
- thumbnail_width: ширина изображения обложки видео после генерации
- thumbnail_height: высота изображения обложки видео после генерации
Генерация с пользовательскими начальным и конечным кадрами
Если вы хотите генерировать видео через пользовательские начальный и конечный кадры видео, можно ввести ссылки на изображения начального и конечного кадров: В этот момент в полеstart_image_url первого кадра видео можно передать следующее изображение в качестве первого кадра видео:
Далее, чтобы пользовательски сгенерировать видео на основе начального и конечного кадров и ключевых слов, можно указать следующее содержимое:
- action: действие задачи генерации видео, обычно это обычная генерация
generateи расширенная генерацияextend, по умолчанию —generate. - start_image_url: указывает первый кадр генерируемого видео.
- end_image_url: указывает конечный кадр генерируемого видео.
- prompt: содержимое ключевых слов для генерации видео.


Пример заполнения:

Функция расширения видео
Если вы хотите продолжить генерацию созданного видео, можно установить параметрaction в значение extend и ввести ID или ссылку на видео, которое нужно продолжить генерировать. Получение ID видео и ссылки на видео выполняется согласно базовому использованию, как показано на рисунке ниже:

Обратите внимание, чтоДля продолжения генерации видео необходимо передать ссылку на видео или ID видео. Ниже демонстрируется расширение с использованием ID видео. Далее необходимо заполнить ключевые слова для пользовательской генерации видео, можно указать следующее содержимое:video_idиvideo_urlв этом видео — это ID и ссылка на видео после генерации. Если вы не знаете, как генерировать видео, можете обратиться к базовому использованию выше для создания видео.
- action: поведение расширения видео, здесь должно быть
extend. - prompt: ключевые слова видео, которое нужно расширить.
- video_url: ссылка на видео, генерацию которого нужно расширить.
- video_id: уникальный ID видео, генерацию которого нужно расширить.
- end_image_url: ссылка на изображение последнего кадра, которое можно указать при расширенной генерации видео, необязательный параметр.



Далее на основе вышеуказанного добавьте информацию об изображении последнего кадра, конкретно это показано ниже:

Асинхронный обратный вызов
Поскольку время генерации видео Luma относительно длительное и составляет примерно 1–2 минуты, если API долго не отвечает, HTTP-запрос будет постоянно поддерживать соединение, что приведёт к дополнительному потреблению системных ресурсов, поэтому данный API также предоставляет поддержку асинхронных обратных вызовов. Общий процесс таков: когда клиент инициирует запрос, он дополнительно указывает полеcallback_url; после того как клиент инициирует API-запрос, API немедленно возвращает результат, содержащий поле task_id, которое представляет ID текущей задачи. После завершения задачи результат генерации музыки будет отправлен в виде POST JSON на указанный клиентом callback_url, где также будет включено поле task_id, благодаря чему результаты задачи можно связать по ID.
Ниже мы на примере рассмотрим, как именно это работает.
Прежде всего, Webhook callback — это сервис, способный принимать HTTP-запросы; разработчик должен заменить его на URL собственного HTTP-сервера. Для удобства демонстрации здесь используется публичный пример Webhook-сайта https://webhook.site/; открыв этот сайт, можно получить Webhook URL, как показано на рисунке:

callback_url указанный выше Webhook URL, одновременно заполнив prompt, как показано на рисунке:

Содержимое следующее:
task_id, а остальные поля аналогичны описанным выше; с помощью этого поля можно реализовать связь задач.
