Введение
Wan 3.0 Pro Изображение в видео оживляет первый кадр и выдаёт клип в 1080p, 2K или 4K длиной от 2 до 30 секунд. Обязательное поле одно — image_url, и оно используется ровно как первый кадр, поэтому одежда, тело, декорации и свет берутся из вашего изображения; промпт необязателен и должен описывать только движение и камеру. last_image_url по желанию точно задаёт последний кадр и работает только вместе с image_url. Звук генерируется вместе с изображением, если вы его не отключите.
Выберите режим по исходному материалу
| Исходный материал | Режим |
|---|---|
| Письменный бриф задаёт сцену, действие, камеру и при необходимости звук. | Wan 3.0 Pro Текст в видео |
| Утверждённое стартовое изображение задаёт объект и композицию, а инструкция направляет последующее движение. | Wan 3.0 Pro Изображение в видео |
| Отдельные референсы могут направлять идентичность, место, движение или звук, если каждому назначена ясная роль. | Wan 3.0 Pro Референсы в видео |
Ключевые возможности и особенности
4K-рендер не сделает мягкий кадр резким
Первый кадр — потолок качества плана, а ступени 2k и 4k увеличивают нативный рендер 1080p, не дорисовывая новых деталей. Мягкий или низкокачественный исходник останется мягким и в 4K. Передавайте самое резкое изображение, какое есть: JPEG, PNG без прозрачности, BMP или WEBP от 240 до 8000 пикселей по стороне, до 20 МБ и не шире 8:1.
Оба конца закреплены — мастер готов к монтажу
Пример с флаконом передаёт один и тот же пэкшот и в image_url, и в last_image_url в 4k, с отключёнными расширением промпта и звуком и фиксированным сидом 5512090. Флакон поворачивается на четверть оборота, блик проходит по всей длине стекла, и он возвращается к исходному ракурсу — получается мастер, этикетка которого остаётся читаемой, когда монтажёр делает цифровой наезд.
Кадр по умолчанию следует исходнику
aspect_ratio по умолчанию равно adaptive и следует первому кадру. Задавайте 16:9, 4:3, 1:1, 3:4 или 9:16, только когда формат выдачи фиксирован. Ни один из четырёх опубликованных примеров не задаёт соотношение, так что каждый клип сохраняет форму своего исходного изображения.
Параметры запроса
| Параметр | Обязательно | Описание |
|---|---|---|
prompt | Нет | Здесь необязателен, потому что внешний вид уже несёт кадр. Тратьте его только на движение и камеру. Не менее 1 символов · Не более 20000 символов |
image_url | Да | Стартовый кадр: используется ровно как первый кадр и задаёт настоящий потолок качества всего плана. Не менее 1 символов |
last_image_url | Нет | Необязательный, работает только вместе с |
resolution | Нет | 1080p, 2k или 4k, по умолчанию 1080p. |
aspect_ratio | Нет | adaptive идёт за стартовым кадром. Закрепляйте 16:9, 4:3, 1:1, 3:4 или 9:16 только тогда, когда формат сдачи фиксирован. |
duration_seconds | Нет | Любое целое число от 2 до 30, по умолчанию 5, или -1 — умная длительность, при которой длину выбирает модель: заранее резервируется максимум в 30 секунд, а списание идёт по факт… |
generate_audio | Нет | Включён по умолчанию. Звук генерируется вместе с картинкой и приходит внутри того же файла. По умолчанию: |
enable_prompt_expansion | Нет | У этого семейства включено по умолчанию. Тощие брифы оно дополняет, подробные переписывает, поэтому выключайте, как только prompt стал точным описанием кадра. По умолчанию: |
seed | Нет | От 0 до 2147483647. Фиксируйте его, пока подбираете разрешение или длительность, иначе каждый перезапуск меняет сразу две вещи. |
Стоимость
| Спецификация | Стоимость |
|---|---|
| $0.144 / секунду |
| $0.16 / секунду |
| $0.184 / секунду |
Сценарии использования
Долгий путь к утверждённому финалу
Пример с вершиной передаёт подножие горы в image_url, а вершину в last_image_url и рендерит 10 секунд в 4K; промпт описывает только подъём между ними. Долгое восхождение — как раз то место, где незакреплённый финал уплывает; закреплённый последний кадр позволяет утвердить развязку как статичный кадр, прежде чем платить за 4K-рендер.
Одежда остаётся в кадре
Пример с шёлковым плечом начинается с кадра, где одежда уже есть, поэтому промпт целиком отдан движению: плечи медленно поворачиваются к камере, шёлк ловит свет, дыхание успокаивается, медленный push-in с одним жёстким светом слева и дождём на окне позади. Рендер — 5 секунд в 2k.
Руководство по промптам и практические советы
Отдавайте промпт только движению и камере
В этом семействе расширение промпта включено по умолчанию и переписывает подробное описание движения, поэтому, как только формулировка готова, ставьте enable_prompt_expansion в false — как в примере с флаконом. Затем укажите, кто движется, насколько и как быстро, и что делает камера. Промпт принимает до 20 000 символов, но одно ясное действие сдвигает результат сильнее длинного списка.
Утверждайте в 1080p, потом рендерьте крупно
Закрепите кадрирование и движение на 5 секундах в 1080p с фиксированным seed; повтор, меняющий и разрешение, и сид, меняет две вещи сразу. Когда оба кадра утверждены и движение читается правильно, отправьте то же тело запроса в 2k или 4k. Длительность — от 2 до 30 целых секунд или -1, чтобы длину выбрала модель.
Проверяйте увеличенные детали в готовом файле
В файле 2K или 4K сначала проверяйте то, что увеличение растягивает первым: текст этикетки, жёсткие зеркальные блики, текстуру волос и кожи. Пример с запотевшим зеркалом — сложный случай: поднимающийся пар запотевает зеркало, фигура отвёрнута от объектива, медленный push-in мимо настенного бра, рендер в 4k между закреплёнными первым и последним кадрами.
Быстрый старт API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "alibaba/wan-3.0-pro/image-to-video",
"input": {
"aspect_ratio": "adaptive",
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"resolution": "1080p"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Аутентификация, полная схема, опрос статуса и обработка ошибок описаны в справочнике API.



























