Процес подачі заявки
Щоб використовувати API, спочатку потрібно перейти на сторінку Wan Videos Generation API для подачі заявки на відповідну послугу. Після переходу на сторінку натисніть кнопку «Acquire», як показано на малюнку:
Якщо ви ще не увійшли в систему або не зареєстровані, вас автоматично перенаправлять на сторінку входу, запрошуючи вас зареєструватися та увійти. Після входу або реєстрації ви автоматично повернетеся на поточну сторінку.
При першій подачі заявки вам буде надано безкоштовний ліміт, який дозволяє безкоштовно використовувати цей API.
Основне використання
Спочатку потрібно ознайомитися з основними способами використання, а саме: введенням підказкиprompt, дії action, посиланням на зображення першого кадру image_url та моделлю model, щоб отримати оброблений результат. Спочатку потрібно просто передати поле action, значення якого буде text2video. Воно містить дві дії: створення відео з тексту (text2video) та створення відео з зображення (image2video). Потім потрібно ввести модель model, наразі основними є моделі wan2.6-i2v, wan2.6-r2v, wan2.6-i2v-flash, wan2.6-t2v, деталі наведені нижче:

accept: формат відповіді, який ви хочете отримати, тут вказаноapplication/json, тобто формат JSON.authorization: ключ для виклику API, після подачі заявки ви можете вибрати його зі списку.
model: модель для створення відео, основні з якихwan2.6-i2v,wan2.6-r2v,wan2.6-i2v-flash,wan2.6-t2v.action: дія для завдання створення відео, основні три дії: створення відео з тексту (text2video), створення відео з зображення (image2video). Для створення відео з тексту наразі підтримується лише модельwan2.6-t2v, для створення відео з зображення підтримуються моделіwan2.6-i2v,wan2.6-r2v,wan2.6-i2v-flash.image_url: при виборі дії створення відео з зображенняimage2videoнеобхідно завантажити посилання на зображення першого кадру, наразі підтримуються моделіwan2.6-i2v,wan2.6-i2v-flash.reference_video_urls: необов’язковий параметр для створення відео з зображення, що вказує на посилання на відео для генерації, наразі підтримується модельwan2.6-r2v.size: вказує роздільну здатність створеного відео, формат ширина*висота. Значення за замовчуванням та доступні значення залежать від параметра моделі, детальні правила можна знайти в документації.duration: тривалість створеного відео, підтримуються 5, 10, 15.shot_type: необов’язковий параметр, що вказує тип кадру для створення відео, тобто чи складається відео з одного безперервного кадру чи з кількох змінних кадрів. Умови дії: діє лише коли “prompt_extend”: true. Пріоритет параметрів: shot_type > prompt. Наприклад, якщо shot_type встановлено на “single”, навіть якщо prompt містить “створити відео з кількома кадрами”, модель все одно виведе відео з одним кадром, детальні правила можна знайти в документації.negative_prompt: необов’язковий параметр, зворотна підказка, що описує те, що не бажано бачити у відео, може обмежити вміст відео. Підтримує китайську та англійську мови, довжина не перевищує 500 символів, частина, що перевищує, буде автоматично обрізана. Приклад значень: низька роздільна здатність, помилка, найгірша якість, низька якість, дефекти, зайві пальці, погані пропорції тощо.resolution: вказує рівень роздільної здатності створеного відео, використовується для налаштування чіткості відео (загальна кількість пікселів). Модель автоматично масштабує до близької загальної кількості пікселів відповідно до вибраного рівня роздільної здатності, співвідношення сторін відео намагатиметься зберегти таке ж, як у вхідного зображення img_url, більше пояснень дивіться в документації.audio_url: URL аудіофайлу, модель використовуватиме це аудіо для створення відео. Спосіб використання дивіться в документації.audio: чи генерувати відео з аудіо. Пріоритет параметрів: audio > audio_url. Коли audio=false, навіть якщо передано audio_url, вихід все ще буде беззвучним відео, і оплата буде розрахована як за беззвучне відео, значення за замовчуванням - true.prompt_extend: чи включити розумне переписування prompt. При включенні використовується велика модель для розумного переписування введеного prompt. Для коротших prompt ефект генерації значно покращується, але це збільшує час виконання, значення за замовчуванням - true.prompt: підказка.callback_url: URL, на який потрібно повернути результати.

success: статус завдання створення відео.task_id: ID завдання створення відео.video_url: посилання на відео, створене в рамках завдання.state: статус завдання створення відео.
video_url у результаті.
Крім того, якщо ви хочете згенерувати відповідний код інтеграції, ви можете просто скопіювати його, наприклад, код CURL виглядає так:
Функція створення відео з зображення
Якщо ви хочете створити відео на основі референсного зображення або відео, ви можете встановити параметрaction на image2video, а також ввести посилання на референсне зображення або відео. Далі вам потрібно заповнити наступні підказки для налаштування створення відео, щоб вказати такі дані:
model: модель для створення відео, основні моделі:wan2.6-i2v,wan2.6-r2v,wan2.6-i2v-flash,wan2.6-t2v.image_url: коли вибрано дію створення відео з зображенняimage2video, потрібно завантажити посилання на перше референсне зображення, наразі підтримуються лише моделіwan2.6-i2v,wan2.6-i2v-flash.reference_video_urls: під час створення відео з зображення, опціонально, вказати посилання на референсне відео для створення, наразі підтримується лише модельwan2.6-r2v.prompt: підказка.


Асинхронний зворотний виклик
Оскільки час генерації API Wan Videos Generation відносно довгий, приблизно 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/624b2c78-6dbd-4618-9d2b-b32eade6d8c3.
Далі ми можемо встановити поле callback_url на вказаний Webhook URL, одночасно заповнивши відповідні параметри, конкретний вміст, як показано на малюнку:

https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3, як показано на малюнку:
Вміст такий:
task_id, інші поля схожі на наведені вище, за допомогою цього поля можна реалізувати зв’язок завдань.
Обробка помилок
При виклику API, якщо виникає помилка, API поверне відповідний код помилки та інформацію. Наприклад:400 token_mismatched: Неправильний запит, можливо, через відсутні або недійсні параметри.400 api_not_implemented: Неправильний запит, можливо, через відсутні або недійсні параметри.401 invalid_token: Неавторизовано, недійсний або відсутній токен авторизації.429 too_many_requests: Занадто багато запитів, ви перевищили ліміт запитів.500 api_error: Внутрішня помилка сервера, щось пішло не так на сервері.

