Введение
Wan 2.5 Изображение в видео превращает кадр, отправленный в image_url, в клип длиной 5 или 10 секунд со звуком. Изображение задаёт объект, гардероб, декорации, направление света и пропорции клипа; необязательный prompt длиной до 1500 символов описывает, что происходит дальше. Поля для соотношения сторон у этого эндпоинта нет, поэтому перед отправкой обрежьте изображение под формат сдачи. Если у вас есть только письменная идея без кадра, используйте текстовый эндпоинт.
Выбор режима Wan 2.5 по исходному материалу
| Что у вас есть на старте | Режим |
|---|---|
| написанная сцена или сценарий | Wan 2.5 Текст в видео |
| утверждённое стартовое изображение | Wan 2.5 Изображение в видео |
Ключевые возможности и особенности
Стартовый кадр задаёт внешний вид
image_url принимает JPEG, PNG, BMP или WebP размером до 20 МБ, каждая сторона — от 240 до 8000 пикселей. То, что уже видно в файле, — этикетку, силуэт, костюм — описывать повторно не нужно, и промпт может тратить слова на движение, камеру и звук.
Звук генерируется вместе с картинкой или подстраивается под вашу дорожку
Каждый клип возвращается со звуком, сгенерированным вместе с изображением. Если тайминг должна задавать записанная реплика или музыкальный акцент, добавьте audio_url — WAV или MP3 длиной от 3 до 30 секунд и размером до 15 МБ. Лицо берётся из кадра, тайминг губ — из аудио. Дорожка длиннее клипа обрезается в конце, более короткая оставляет остаток без звука.
Две длительности и три разрешения
duration_seconds равен ровно 5 или 10, resolution — 480p, 720p (по умолчанию) или 1080p. Более высокие уровни стоят дороже за секунду и дольше обрабатываются. Короткие клипы лучше держат руки и волосы, поэтому отработайте движение на пяти секундах, прежде чем переходить к десяти.
Параметры запроса
| Параметр | Обязательно | Описание |
|---|---|---|
image_url | Да | Начальный кадр. Из него берутся объект, одежда, декорации, направление света и пропорции ролика, поэтому сначала обрежьте его. Не менее 1 символов |
prompt | Нет | Необязательно. Что происходит после кадра: одно действие, одно поведение камеры, фраза о звуке. Не более 1500 символов |
negative_prompt | Нет | Чего быть не должно: второго человека, субтитров, предмета, который изображение упорно возвращает в кадр. Не более 500 символов — хватит короткого списка. Не более 500 символов |
resolution | Нет | 480p, 720p или 1080p, по умолчанию 720p. Чем выше уровень, тем дороже секунда и дольше ожидание. |
duration_seconds | Нет | Ровно 5 или 10. Короткие ролики лучше держат руки и волосы — сначала найдите картинку на пяти секундах. |
audio_url | Нет | Реплика или музыкальная метка, за которой следует ролик, чтобы речь и акценты попали туда, где вы их ждёте. WAV или MP3, от 3 до 30 секунд, не больше 15 МБ. Не менее 1 символов |
enable_prompt_expansion | Нет | По умолчанию выключено. Включайте для идеи в одну строку; если промпт уже точно описывает действие, не трогайте. По умолчанию: |
seed | Нет | От 0 до 2147483647. Фиксируйте, сравнивая разрешение или длительность от одного и того же кадра; для случайного значения просто не передавайте поле — не отправляйте 0. |
Стоимость
| Спецификация | Стоимость |
|---|---|
| $0.045 / секунду |
| $0.09 / секунду |
| $0.135 / секунду |
Сценарии использования
Движение продукта по одному пэкшоту
Опубликованный пример с флаконом сыворотки отправляет фото продукта и просит только медленную дугу камеры на четверть оборота, пока полоса света из окна скользит по стеклу; сам флакон не двигается. Поскольку кадр уже фиксирует этикетку и силуэт, промпт несёт только свет и движение, отрендеренные в 720p на пять секунд.
Портрет, произносящий записанную реплику
Отправьте утверждённый портрет в image_url, а запись реплики — в audio_url. Внешность человека берётся из изображения, тайминг губ — из файла, поэтому при приёмке оценивается подача, а не синхронизация губ.
Длинный студийный дубль с защищёнными деталями
Пример с платьем-комбинацией длится десять секунд в 1080p по студийному портрету: перенос веса, поворот к объективу и два медленных шага при неподвижной камере. Негативный промпт «extra people, text, jewellery changes» не даёт украшениям меняться, а лишним людям появляться на протяжении длинного клипа.
Дождь, вода и другие звуки с видимым источником
В примере с зонтом двое стоят почти неподвижно, а дождь барабанит по зонту над ними: движение принадлежит воде, а у звука есть видимый источник. Для такого непрерывного события обычно достаточно пяти секунд.
Руководство по промптам и практические советы
Сначала подготовьте кадр
Обрежьте под формат сдачи и проверьте, что на изображении уже есть нужные гардероб, декорации и свет. Клип сохраняет пропорции и внешний вид изображения, поэтому ошибка в кадре переходит прямо в видео.
Описывайте только движение
Промпт необязателен, но одна ясная строка действия даёт заметно более устойчивое движение. Напишите одно действие, одно поведение камеры и заметку о звуке. То, что кадр упорно возвращает, — второго человека, титры, реквизит — перенесите в negative_prompt. Включайте enable_prompt_expansion для идеи в одну строку и оставляйте выключенным, когда промпт уже точно описывает действие.
Адаптируйте приложенный пример
Начните с опубликованного примера с duration_seconds 5 и resolution 720p, указав в image_url собственное общедоступное изображение.
The camera arcs a slow quarter turn around the dropper bottle while a soft band of window light slides across the glass and the liquid inside catches it. The bottle itself does not move. Quiet room tone, no music.
Кадр фиксирует этикетку и силуэт; промпт просит только дугу камеры и движущийся свет.
Сравнивайте дубли с фиксированным seed
Фиксируйте seed, когда сравниваете разрешение или длительность по одному и тому же кадру, и меняйте за запуск только одно поле. Для случайного результата просто не передавайте поле, а не отправляйте 0. Перед сдачей просмотрите весь клип со звуком.
Быстрый старт 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-2.5/image-to-video",
"input": {
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"resolution": "720p"
}
}'
# 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.




























