Процесс подачи заявки
Чтобы использовать 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: указывает разрешение создаваемого видео, формат ширина*высота. Значение по умолчанию и доступные перечисляемые значения зависят от параметра model, конкретные правила можно найти в документации.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: нужно ли включить интеллектуальную переработку подсказки. При включении используется большая модель для интеллектуальной переработки введенной подсказки. Для коротких подсказок эффект генерации значительно улучшается, но это увеличивает время обработки, значение по умолчанию - 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:提示词。


异步回调
由于 Wan Videos Generation API生成的时间相对较长,大约需要 1-2 分钟,如果 API 长时间无响应,HTTP 请求会一直保持连接,导致额外的系统资源消耗,所以本 API 也提供了异步回调的支持。 整体流程是:客户端发起请求的时候,额外指定一个callback_url 字段,客户端发起 API 请求之后,API 会立马返回一个结果,包含一个 task_id 的字段信息,代表当前的任务 ID。当任务完成之后,生成视频的结果会通过 POST JSON 的形式发送到客户端指定的 callback_url,其中也包括了 task_id 字段,这样任务结果就可以通过 ID 关联起来了。
下面我们通过示例来了解下具体怎样操作。
首先,Webhook 回调是一个可以接收 HTTP 请求的服务,开发者应该替换为自己搭建的 HTTP 服务器的 URL。此处为了方便演示,使用一个公开的 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:Bad request, possibly due to missing or invalid parameters.400 api_not_implemented:Bad request, possibly due to missing or invalid parameters.401 invalid_token:Unauthorized, invalid or missing authorization token.429 too_many_requests:Too many requests, you have exceeded the rate limit.500 api_error:Internal server error, something went wrong on the server.

