Введение
Wan 2.2 изображение в видео берёт за основу предоставленное вами изображение и анимирует то, что происходит дальше. Обязательных входных данных два: начальный кадр в JPEG, PNG или WebP размером до 10 МБ и промпт длиной до 5 000 символов, описывающий движение. Каждый запрос возвращает один беззвучный клип длительностью пять секунд в 480p (по умолчанию) или 720p.
Выбор режима Wan 2.2 по исходному материалу
| Что у вас есть на старте | Режим | Что нужно запросу |
|---|---|---|
| написанная сцена или сценарий | Wan 2.2 текст в видео | промпт; 16:9 или 9:16 |
| кадр, который нужно сохранить | Wan 2.2 изображение в видео | изображение и промпт; формат задаёт кадр |
Ключевые возможности и особенности
Внешний вид задаёт кадр
Объект, костюм, декорации и направление света целиком берутся из начального изображения, поэтому описывать их в промпте повторно не нужно. Именно поэтому этот режим подходит для материала, который должен совпадать с образцом: в примере с флаконом сыворотки кадр фиксирует этикетку и силуэт, а промпт просит только дугу камеры и движущийся свет.
Формат берётся из изображения
У этого эндпоинта нет настройки соотношения сторон. Надёжнее всего пропорции 16:9 и 9:16: изображение с другими пропорциями может вернуться масштабированным и обрезанным по центру. Обрежьте изображение под формат публикации до загрузки.
Фиксированная длина, только изображение
Каждый дубль — пять секунд видео без звука, и ни длительность, ни звук изменить нельзя. Раз они фиксированы, единственной переменной остаётся движение — поэтому каждый опубликованный пример просит ровно одно движение или одну связку причины и следствия.
Расширение промпта меняет не только формулировку
Расширение промпта по умолчанию выключено. Если его включить, может измениться не только текст задания, но и внешний вид рендера, поэтому перед тем как оставить его, сравните результат с запуском без расширения. В примере с колокольчиком и силуэтом оно выключено, чтобы фраза выполнялась ровно так, как написана.
Параметры запроса
| Параметр | Обязательно | Описание |
|---|---|---|
image_url | Да | Стартовый кадр: JPEG, PNG или WebP, до 10 МБ. Из него берутся объект, одежда, декорации и направление света, поэтому сначала обрежьте его. Не менее 1 символов |
prompt | Да | Обязательно, до 5000 символов. Что происходит после кадра: одно действие и одно поведение камеры. Не менее 1 символов · Не более 5000 символов |
negative_prompt | Нет | Чего быть не должно: второго человека, субтитров, предмета, который модель упорно возвращает в кадр. Пишите простым списком, а не отрицаниями. Не более 500 символов |
resolution | Нет | 480p или 720p, по умолчанию 480p. Это единственная настройка, которая меняет цену. |
enable_prompt_expansion | Нет | По умолчанию выключено. Включите для идеи в одну строку; оставьте выключенным, если промпт уже точно описывает действие. По умолчанию: |
seed | Нет | От 0 до 2147483647. Фиксируйте его, когда сравниваете 480p и 720p из одного кадра; для случайного значения просто не передавайте поле — не отправляйте 0. |
Стоимость
Каждый запрос возвращает один пятисекундный клип.
| Спецификация | Стоимость |
|---|---|
| $0.24 / запрос |
| $0.48 / запрос |
Сценарии использования
Оживить предметный снимок
Отправьте утверждённый пэкшот и попросите движение камеры или смену света, а сам продукт оставьте на месте. Пример с флаконом сыворотки показывает схему: камера медленно проходит четверть круга вокруг флакона с пипеткой, мягкая полоса оконного света скользит по стеклу, а в промпте прямо сказано, что сам флакон не двигается.
Один актёрский момент из портрета
Пример с платьем-комбинацией начинается со студийного портрета и просит одно действие: она переносит вес, разворачивает плечи к объективу, делает два медленных шага и задерживает взгляд. Камера неподвижна, серый студийный фон остаётся нетронутым, рендер — в 720p.
Движение с видимой причиной
В примере с колокольчиком и силуэтом музыка ветра поворачивается, фигура за марлевой занавеской смещается вслед за ней, а тень занавески проходит по сцене. Причина и следствие, заложенные в короткий беззвучный клип, дают движению повод и не дают ему выглядеть как зацикленная анимация.
Руководство по промптам и практические советы
Сначала изображение, потом промпт
Обрежьте изображение до 16:9 или 9:16 и убедитесь, что на нём уже есть нужные костюм, декорации и свет: менять их промптом не стоит. Уберите наложения и лишние объекты, которые не должны двигаться, и уложите файл в 10 МБ.
Описывайте только то, что происходит после кадра
Укажите, кто или что движется, в каком направлении и в каком темпе, а затем — поведение камеры. Повторное описание уже видимых объектов расходует символы, не добавляя движения. А вот фраза о том, что должно оставаться неподвижным, — как флакон, который не двигается, — своё место заслуживает.
Черновик в 480p, итог в 720p
Разрешение — единственная настройка, от которой зависит цена. Фиксируйте seed в диапазоне от 0 до 2147483647, когда сравниваете черновик в 480p с его перерендером в 720p из того же кадра. Для случайного результата не указывайте 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.2/image-to-video",
"input": {
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "480p"
}
}'
# 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.




























