Запрос и использование
Чтобы использовать API Luma Videos, сначала перейдите на страницу Luma Videos Generation API и нажмите кнопку «Acquire», чтобы получить необходимые для запроса учетные данные:
Если вы еще не вошли в систему или не зарегистрированы, вас автоматически перенаправят на страницу входа, пригласив зарегистрироваться и войти в систему. После входа или регистрации вы автоматически вернетесь на текущую страницу.
При первом запросе предоставляется бесплатный лимит, который можно использовать для бесплатного доступа к этому API.
Основное использование
Чтобы сгенерировать видео, вы можете ввести любой текст, например, если я хочу создать видео о том, как астронавты перемещаются между космосом и вулканом, я могу ввестиAstronauts shuttle from space to volcano, как показано на рисунке:


prompt: подсказка для генерации видео.aspect_ratio: соотношение сторон видео, по умолчанию 16:9.end_image_url: необязательный, указывает конечный кадр.enhancement: необязательный, переключатель улучшения четкости.loop: генерировать ли циклическое видео, по умолчанию false.timeout: необязательный, время ожидания в секундах.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 видео для расширения, после чего необходимо заполнить ключевые слова для настройки генерации видео, чтобы указать следующее содержимое: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 задачи. Когда задача завершена, результат генерации музыки будет отправлен на указанный клиентом callback_url в формате POST JSON, который также включает поле task_id, таким образом, результаты задачи могут быть связаны по ID.
Ниже мы рассмотрим пример, чтобы понять, как именно это работает.
Во-первых, Webhook обратный вызов — это служба, которая может принимать HTTP запросы, разработчики должны заменить его на URL своего собственного HTTP сервера. Здесь для удобства демонстрации используется публичный пример сайта Webhook https://webhook.site/, открыв этот сайт, вы получите Webhook URL, как показано на изображении:

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

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