Введение
Vidu Q3 Pro — уровень Pro в видеолинейке Q3 от Vidu, доступный как единственный эндпоинт «изображение в видео». Вы отправляете стартовый кадр в image_url и задание в prompt — оба обязательны — и получаете от 1 до 16 целых секунд видео в 540p со звуком, созданным в том же проходе. Кадр задаёт героя, облик и форму результата; поля соотношения сторон нет, а пропорции самого изображения должны укладываться в диапазон от 1:4 до 4:1. Поэтому промпту достаточно описать только то, что движется.
Ключевые возможности и особенности
Одно разрешение — решать нужно только длительность
resolution принимает единственное значение, 540p, и каждый ролик возвращается в этом размере. Остаётся duration_seconds — любое целое число от 1 до 16, по умолчанию 5, — настройка, которая меняет и длину ролика, и цену; оценка стоимости следует за ней, пока вы её двигаете.
Узнаваемость задаёт кадр
Герой, одежда, кадрирование и форма результата определяются изображением, а не промптом. Два прогона с одним кадром различаются движением, а не тем, кто на экране, поэтому серию роликов из одного снимка можно смонтировать вместе. Это же значит, что видеозапрос не может переписать то, что утвердили на этапе изображения.
Опишите движение, затем задайте его объём
movement_amplitude задаёт общий объём движения — по умолчанию auto, либо small, medium, large, — а что и как движется, говорит промпт. Если в дубле движения слишком много или слишком мало, зафиксируйте seed и кадр и перепишите только движение — поворот поменьше, шаг помедленнее, — чтобы видимая разница шла от этой одной правки, а не от нового случайного прогона.
Параметры запроса
| Параметр | Обязательно | Описание |
|---|---|---|
image_url | Да | Обязателен. Стартовый кадр: фиксирует героя, внешний вид и формат выхода. |
prompt | Да | Обязателен. Опишите движение, камеру и звук после кадра; саму картинку не пересказывайте. Не менее 1 символов |
movement_amplitude | Нет | Насколько сильно движется то, что в кадре: |
duration_seconds | Нет | Целые секунды, от 1 до 16. |
resolution | Нет | На этом эндпоинте только 540p. Это единственное допустимое значение, поэтому любой клип возвращается такого размера. |
generate_audio | Нет | Включён по умолчанию. Для немого клипа поставьте false. По умолчанию: |
bgm | Нет | Подкладывает фоновую музыку под настроение сцены. По умолчанию включено; выключайте, если ролик пойдёт под вашу музыку или должен звучать только звуками самой сцены. По умолчанию: |
seed | Нет | Для контролируемого сравнения двух прогонов. |
Стоимость
| Спецификация | Стоимость |
|---|---|
| $0.054 / секунду |
Сценарии использования
Серии реакций одного персонажа
Один кадр в костюме превращается в подмигивание, взмах рукой, наклон головы и поворот — четыре запроса с одним изображением и четырьмя разными промптами. Поскольку внешность закреплена кадром, серия монтируется без того, чтобы кто-то «поплыл» от ролика к ролику.
Крупное ритмичное действие
Пример с кузницей шесть секунд держится вплотную к торсу и предплечьям кузнеца, освещённым снизу огнём, а на каждом ударе молота вспыхивают искры. Повторяющиеся удары — полезная проверка для этого эндпоинта: искры должны появляться в момент удара, а не между ударами.
Вертикальные материалы
Экспортируйте снимок в 9:16 — и ролик вернётся вертикальным. В примере с подземным переходом промпт несёт только шаг к объективу под лампами и камеру, которая отступает в её темпе; вертикальный кадр определили на этапе изображения.
Сцены без цензуры из вашего кадра
Ваш снимок оживает таким, каким его прислали, без смягчения, и поскольку содержание несёт изображение, результат остаётся близким к утверждённому. Vidu Q3 Spicy из той же линейки — донастроенный через LoRA вариант без цензуры.
Руководство по промптам и практические советы
Экспортируйте кадр в нужном формате
Результат следует за кадром: вертикальный ролик начинается с вертикального изображения, квадратный — с квадратного, а соотношение должно оставаться в пределах от 1:4 до 4:1. Одежду, стайлинг и композицию тоже закрепите на этапе изображения — видеозапрос их не изменит.
Пишите только то, что движется
Ограничьте промпт жестом, камерой и звуком и не пересказывайте картинку. Опубликованный пример длится 8 секунд в 540p с включённым generate_audio и начинается с нарисованного кадра сцены; всё задание умещается в два предложения.
She lowers the microphone, tilts her head and winks at the crowd; glowsticks sway out of focus behind her. Slow dolly-in, haze catching the backlight, crowd roar swelling.
Восемь секунд из одного нарисованного кадра сцены. Подмигивание, наезд камеры и рёв толпы несёт промпт, а костюм и линии рисунка взяты из изображения.
Впишите звук в задание
generate_audio по умолчанию равен true, и дорожка создаётся вместе с изображением, поэтому называйте нужные звуки рядом с тем действием, к которому они относятся: в примере со сценой рёв толпы нарастает по мере наезда камеры. Ставьте false, если монтаж пойдёт под уже готовый микс. У фоновой музыки есть свой переключатель bgm, по умолчанию включённый; выключайте его, когда нужен только звук самой сцены.
Сравнивайте дубли с фиксированным seed
Зафиксируйте кадр и seed и меняйте в промпте только одну фразу — тогда два прогона будут различаться лишь этой правкой. Seed делает прогоны сравнимыми, но не гарантирует одинаковых кадров. Если герой должен выглядеть иначе, меняйте снимок, а не промпт: на этом эндпоинте, кто окажется на экране, решает изображение, а не текст.
Быстрый старт 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": "vidu/q3-pro/image-to-video",
"input": {
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"movement_amplitude": "auto",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "540p"
}
}'
# 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.







