Skip to main content
З поширенням застосування ШІ, різноманітні програми на базі ШІ поступово стають звичними. ШІ все більше проникає в усі сфери життя людей. А галузі, пов’язані з ШІ, також стають дедалі різноманітнішими, починаючи з письма, медицини та освіти, і закінчуючи сьогоднішніми відео. Luma — це професійна платформа для генерації високоякісних відео, де користувачам потрібно лише завантажити матеріали, і на основі різних стилів та ефектів автоматично генеруються високоякісні відео. Цей генератор відео на базі ШІ розроблений командою з відомих технологічних компаній, мета якої — дозволити кожному легко створювати чудові відео без складних інструментів редагування. Однак Luma офіційно не надає API, AceDataCloud пропонує набір API для Luma, який імітує інтеграцію з офіційним Suno, що дозволяє швидко та зручно генерувати бажані відео.

Заявка та використання

Щоб використовувати Luma Videos Generation API, спочатку перейдіть до консолі Ace Data Cloud для отримання вашого API Token, зберігайте його для подальшого використання. Якщо ви ще не увійшли в систему або не зареєстровані, вас автоматично перенаправлять на сторінку входу, щоб запросити реєстрацію та вхід, після чого ви будете автоматично повернені на цю сторінку. Один 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, потім через відповідний інтерфейс запиту завдань можна опитувати для отримання результату.
Ви можете натиснути кнопку «Try», щоб безпосередньо протестувати API, почекайте 1-2 хвилини, результат буде таким:
Ми можемо побачити, що в цей момент ми отримали цю інформацію про відео, включаючи ID відео, посилання на відео, обкладинку відео тощо. Опис полів:
  • 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 та посиланням на згенероване відео, якщо ви не знаєте, як згенерувати відео, ви можете звернутися до базового використання, щоб згенерувати відео.
Щоб продовжити генерацію відео, необхідно завантажити посилання на відео або ID відео, нижче показано, як використовувати ID відео для розширення, далі ми повинні заповнити ключові слова для кастомізації генерації відео, щоб вказати наступний вміст:
  • action: на цей раз дія розширення відео, тут має бути extend.
  • prompt: ключові слова, які потрібно розширити для відео.
  • video_url: посилання на відео, яке потрібно розширити.
  • video_id: унікальний ID відео, яке потрібно розширити.
  • end_image_url: посилання на зображення кінцевого кадру для розширення, необов’язковий параметр.
Приклад заповнення нижче:

Після заповнення автоматично згенерувався код нижче:

Відповідний код Python:
Натиснувши “Запустити”, можна побачити результат, як показано нижче:
Можна побачити, що це відео було розширено на основі відео, яке потрібно розширити, результат збігається з попереднім, що реалізує функцію продовження генерації пісні. Звичайно, ми також можемо вказати посилання на відео для розширення, заповнивши наступну інформацію:

Після запуску отримали наступний результат:
З результату видно, що за допомогою посилання на відео також можна реалізувати функцію розширення відео. Нарешті, ми також можемо вказати зображення кінцевого кадру для розширення відео, нижче наведена інформація про зображення кінцевого кадру: Кінцевий кадр Далі на основі вищеописаного додаємо інформацію про зображення кінцевого кадру, конкретно, як показано нижче:

Натиснувши “Запустити”, отримали наступну інформацію:
Можна побачити, що на основі розширеного відео вище, також можна вказати зображення кінцевого кадру для розширення.

Асинхронний зворотний виклик

Оскільки час генерації відео 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, як показано на малюнку:

Скопіюйте цей URL, і ви зможете використовувати його як Webhook, приклад тут — https://webhook.site/0c87ca0e-cd74-4577-8d68-f2b80fbf8a13. Далі ми можемо налаштувати поле callback_url на вказаний Webhook URL, одночасно заповнивши prompt, як показано на малюнку:

Натиснувши “Запустити”, ви відразу отримаєте результат, як показано нижче:
Почекавши деякий час, ми можемо спостерігати результати генерації пісні на https://webhook.site/0c87ca0e-cd74-4577-8d68-f2b80fbf8a13, як показано на малюнку: Зміст такий:
Можна побачити, що в результаті є поле task_id, інші поля схожі на наведені вище, за допомогою цього поля можна реалізувати зв’язок завдань.