Введение
Wan 3.0 Текст в видео создаёт клип длиной от 2 до 30 секунд со звуком по одному только текстовому промпту. Обязательное поле одно — prompt; duration_seconds, resolution (480p, 720p или 1080p, по умолчанию 720p), aspect_ratio (по умолчанию 16:9), generate_audio, enable_prompt_expansion и seed — явные настройки, которые можно оставить по умолчанию. Поскольку кадр не закреплён изображением, модель придумывает каждое лицо, каждую вещь и каждую декорацию по тексту. Из режимов Wan 3.0 это самый свободный по возможностям и самый слабый по контролю над конкретным человеком.
Выберите режим по исходному материалу
| Исходный материал | Режим |
|---|---|
| Письменный бриф задаёт сцену, действие, камеру и при необходимости звук. | Wan 3.0 Текст в видео |
| Утверждённое стартовое изображение задаёт объект и композицию, а инструкция направляет последующее движение. | Wan 3.0 Изображение в видео |
| Отдельные референсы могут направлять идентичность, место, движение или звук, если каждому назначена ясная роль. | Wan 3.0 Референсы в видео |
Ключевые возможности и особенности
Звук описывается в том же запросе
generate_audio включён по умолчанию, поэтому возвращаемый файл уже содержит звук, привязанный к изображению. Пример с оружейной пользуется этим намеренно: промпт заканчивается строкой «Audio:» — кожаная перчатка шлёпается на дерево, скрипит шнуровка, трещит факел, — и эти звуки возвращаются вместе с действиями, которые их вызывают. Ставьте false, только если музыку к кадру будут делать отдельно.
Любая целая длительность от 2 до 30 секунд
duration_seconds принимает любое целое число от 2 до 30, по умолчанию 5, или -1 для умной длительности, когда модель сама выбирает длину по промпту. Пример с дюной идёт стандартные 5 секунд в 720p и 16:9 — этого хватает на один спуск с воздуха от стены бури до её лица. Чем длиннее клип, тем сильнее плывут внешность и геометрия, поэтому сначала добейтесь нужного вида на 5 секундах.
Сцены без цензуры — только из текста
Семейство работает без цензуры, и ни одной сцене не нужны ни флаг, ни отдельное заявление в запросе. Пример с автокинотеатром — две взрослые женщины на откинутой задней двери универсала, освещённые только лучом проектора, до медленного поцелуя — получен из одного текста промпта на 5 секундах и 720p. Ответственность за согласие, права, возраст и соблюдение местного законодательства в отношении всех показанных людей лежит на вас.
Параметры запроса
| Параметр | Обязательно | Описание |
|---|---|---|
prompt | Да | Сам кадр: субъект, одно действие, одно движение камеры, затем свет и звук. Длинные перечни прилагательных двигают результат слабее, чем одно ясное действие. Не менее 1 символов |
aspect_ratio | Нет | 16:9, 9:16, 1:1, 4:3, 3:4 или adaptive, при котором выбирает модель. По умолчанию 16:9. |
enable_thinking | Нет | Заставляет модель продумать задание и референсы до генерации. Помогает с объёмными документами, веб-страницами и сложными референсными изображениями, но генерация идёт дольше. По умолчанию: |
resolution | Нет | 480p, 720p или 1080p, по умолчанию 720p. Разрешение меняет и цену, и время возврата задачи. |
duration_seconds | Нет | Любое целое от 2 до 30 или -1 — умная длительность, при которой длину выбирает модель: заранее резервируется максимум в 30 секунд, а списание идёт по фактически выданной длине. |
generate_audio | Нет | По умолчанию включён. Клип возвращается со звуком, уже сцепленным с картинкой. По умолчанию: |
enable_prompt_expansion | Нет | По умолчанию выключено. Во включённом виде описание переписывается перед генерацией: тонкому брифу это помогает, подробному — мешает. По умолчанию: |
seed | Нет | От 0 до 2147483647. Держите его неизменным, чтобы сравнивать по одному изменённому полю; уберите — получите разнообразие. |
Стоимость
| Спецификация | Стоимость |
|---|---|
| $0.045 / секунду |
| $0.09 / секунду |
| $0.18 / секунду |
Сценарии использования
Атмосферные сцены без исходного изображения
Если фотографии места нет, его строит промпт. Пример с дюной описывает гребень дюны на закате, надвигающуюся исполинскую песчаную бурю, изумрудное шёлковое платье, развевающееся на ветру, и камеру, которая спускается с высоты к её лицу, — и всё это из одной фразы. Такие запросы подходят для атмосферных роликов и питч-видео, где окружение важнее конкретного лица.
Съёмка от первого лица
Пример от первого лица написан как один непрерывный план: камера — это глаза зрителя, единственный свет — лампа накаливания, а в брифе прямо сказано, что гардероб до конца остаётся таким, как описан. Указать, что не меняется, так же полезно, как указать, что движется: это не даёт модели трактовать двусмысленный промпт по-своему.
Руководство по промптам и практические советы
Порядок промпта: объект, действие, камера, свет, звук
Пишите один объект, одно действие, одно движение камеры, а затем по одной пометке о свете и звуке. Длинный список прилагательных сдвигает результат меньше, чем одно ясное действие. Эталонный клип семейства построен ровно в таком порядке: две женщины под одним зонтом, прядь волос, убранная за ухо, и поцелуй, медленный наезд камеры, неон, растекающийся по мокрой земле, дождь по зонту.
Задавайте кадрирование, когда сцену держит деталь
Промпт с оружейной называет кадрирование — средне-крупный план от бёдер, низкий ракурс в три четверти, 85 мм, — потому что на общем плане пропали бы перчатка, шнуровка и свет факела на плечах. Если деталь важна, напишите, какого размера она должна быть в кадре, а не надейтесь, что модель сама выберет крупный план.
Для точного брифа держите расширение промпта выключенным
Здесь enable_prompt_expansion по умолчанию равно false. Если его включить, промпт переписывается перед генерацией: это помогает идее в две строки и мешает подробному брифу вроде приведённых выше. Для контролируемых повторов фиксируйте seed и меняйте за раз одно поле; фиксированный сид делает сравнение честным, но не гарантирует одинаковых кадров. Один текст не удерживает одно и то же лицо между запусками, поэтому для повторяющихся персонажей используйте reference-to-video.
Быстрый старт 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/text-to-video",
"input": {
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p",
"aspect_ratio": "16:9",
"duration_seconds": 5
}
}'
# 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.



























