Перейти до основного вмісту
У цьому документі буде представлено інструкцію з інтеграції Hailuo Videos Generation API, яка дозволяє генерувати офіційні відео Hailuo за допомогою введення користувацьких параметрів.

Процес подачі заявки

Щоб використовувати API, спочатку потрібно перейти на сторінку Hailuo Videos Generation API для подачі заявки на відповідну послугу. Після переходу на сторінку натисніть кнопку «Acquire», як показано на малюнку: Якщо ви ще не увійшли в систему або не зареєстровані, вас автоматично перенаправлять на сторінку входу, щоб запросити реєстрацію та вхід. Після входу або реєстрації ви будете автоматично повернені на поточну сторінку. При першій подачі заявки вам буде надано безкоштовний ліміт, який дозволяє безкоштовно використовувати цей API.

Основне використання

Спочатку потрібно ознайомитися з основним способом використання, а саме: введенням підказки prompt, дії action, URL першого зображення first_image_url та моделі model, щоб отримати оброблений результат. Спочатку потрібно просто передати поле action, значення якого буде generate, потім потрібно ввести модель, наразі основними є модель для генерації відео з зображень minimax-i2v та модель для генерації відео з тексту minimax-t2v, конкретний зміст наведено нижче:

Ми можемо бачити, що тут ми налаштували заголовки запиту, включаючи:
  • accept: формат відповіді, який ви хочете отримати, тут вказано application/json, тобто формат JSON.
  • authorization: ключ для виклику API, після подачі заявки ви зможете вибрати його зі списку.
Також налаштовано тіло запиту, яке включає:
  • model: модель для генерації відео, основними є модель для генерації відео з зображень minimax-i2v та модель для генерації відео з тексту minimax-t2v.
  • action: дія для цього завдання з генерації відео.
  • first_image_url: URL першого зображення, яке потрібно завантажити, якщо вибрана модель для генерації відео з зображень minimax-i2v, не підтримується кодування Base64.
  • prompt: підказка.
  • callback_url: URL для отримання результатів.
Після вибору ви можете помітити, що праворуч також згенеровано відповідний код, як показано на малюнку:

Натисніть кнопку «Try», щоб провести тестування, як показано на малюнку, ми отримали наступний результат:
{
  "success": true,
  "task_id": "baf1034c-684c-46be-ae6d-89ebb89b690d",
  "trace_id": "3221eb74-1a25-447a-ba69-7d9b310e306c",
  "data": [
    {
      "id": "0pv8yhe4fdrge0cmckpv23pd2g",
      "model": "minimax-t2v",
      "prompt": "Internal heat",
      "video_url": "https://file.aigpai.com/czjl/qoueLWBokF3ud6tdVD6VJTZuXTnK5HaMO2qAOS46Ef8VSBFUA/tmp9e3u11c1.output.mp4",
      "state": "succeeded"
    }
  ]
}
У повернутому результаті є кілька полів, описаних нижче:
  • success: статус завдання з генерації відео.
  • task_id: ID завдання з генерації відео.
  • trace_id: ID відстеження генерації відео.
  • data: список результатів завдання з генерації відео.
    • id: ID відео для цього завдання з генерації відео.
    • prompt: підказка для цього завдання з генерації відео.
    • model: посилання на обкладинку для цього завдання з генерації відео.
    • video_url: посилання на відео для цього завдання з генерації відео.
    • state: статус завдання з генерації відео.
Ми отримали задовільну інформацію про відео, нам потрібно лише отримати згенероване відео Hailuo за адресою посилання на відео в data. Крім того, якщо ви хочете згенерувати відповідний код інтеграції, ви можете просто скопіювати його, наприклад, код CURL виглядає так:
curl -X POST 'https://api.acedata.cloud/hailuo/videos' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "generate",
  "prompt": "Internal heat"
}'

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

Оскільки час генерації Hailuo Videos Generation API відносно довгий, приблизно 1-2 хвилини, якщо API довго не відповідає, HTTP запит буде підтримувати з’єднання, що призведе до додаткових витрат системних ресурсів, тому цей API також підтримує асинхронний зворотний виклик. Загальний процес: коли клієнт ініціює запит, додатково вказується поле callback_url, після ініціювання запиту API відразу поверне результат, що містить інформацію про поле task_id, яке представляє ID поточного завдання. Коли завдання завершено, результат генерації відео буде надіслано на вказаний клієнтом callback_url у форматі POST JSON, в якому також буде включено поле task_id, таким чином результати завдання можна буде пов’язати за ID. Далі ми розглянемо приклад, щоб зрозуміти, як це працює. По-перше, зворотний виклик Webhook - це служба, яка може приймати HTTP запити, розробники повинні замінити URL на свій власний HTTP сервер. Для зручності демонстрації використовується публічний веб-сайт з прикладом Webhook https://webhook.site/, відкривши цей сайт, ви отримаєте URL Webhook, як показано на малюнку: Скопіюйте цей URL, і ви зможете використовувати його як Webhook, приклад тут: https://webhook.site/580b81f5-596e-4321-b03f-606770b0bb83. Далі ми можемо налаштувати поле callback_url на вказаний URL Webhook, одночасно заповнивши відповідні параметри, конкретний зміст наведено на малюнку:

Натиснувши «Запустити», ви можете помітити, що відразу отримаєте результат, як показано нижче:
{
  "task_id": "05aff65c-5e84-442b-8e29-3a5d27130840"
}
Після кількох хвилин ми можемо спостерігати результати генерації відео на https://webhook.site/580b81f5-596e-4321-b03f-606770b0bb83, як показано на малюнку: Зміст виглядає так:
{
    "success": true,
    "task_id": "05aff65c-5e84-442b-8e29-3a5d27130840",
    "trace_id": "b9856b8a-725d-45c9-befe-e789d9fd9ffb",
    "data": [
        {
            "id": "t80jhsf96srg80cmcm6b0rk8gm",
            "model": "minimax-t2v",
            "prompt": "Internal heat",
            "video_url": "https://file.aigpai.com/czjl/YPaUz2DcwpJqItTXAG9XHAoEoj3dbF0XPU69LT5nefCMzBFUA/tmp8s_59jez.output.mp4",
            "state": "succeeded"
        }
    ]
}
Ми можемо бачити, що в результаті є поле task_id, інші поля подібні до наведених вище, за допомогою цього поля можна реалізувати зв’язок завдань.

Обробка помилок

При виклику API, якщо виникає помилка, API повертає відповідний код помилки та інформацію. Наприклад:
  • 400 token_mismatched:Неправильний запит, можливо, через відсутні або недійсні параметри.
  • 400 api_not_implemented:Неправильний запит, можливо, через відсутні або недійсні параметри.
  • 401 invalid_token:Неавторизовано, недійсний або відсутній токен авторизації.
  • 429 too_many_requests:Занадто багато запитів, ви перевищили ліміт запитів.
  • 500 api_error:Внутрішня помилка сервера, щось пішло не так на сервері.

Приклад помилки відповіді

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Висновок

За допомогою цього документа ви дізналися, як використовувати Hailuo Videos Generation API, щоб генерувати відео за допомогою введення підказок та зображення першого кадру. Сподіваємося, що цей документ допоможе вам краще інтегрувати та використовувати цей API. Якщо у вас є будь-які питання, будь ласка, звертайтеся до нашої команди технічної підтримки.