Заявка та використання
Щоб використовувати Luma Videos API, спочатку перейдіть на сторінку 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 відео, нижче показано, як використовувати 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, інші поля схожі на наведені вище, за допомогою цього поля можна реалізувати зв’язок завдань.
