> ## Documentation Index
> Fetch the complete documentation index at: https://docs.toapis.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Генерация видео Vidu Q4 Preview

> Генерация видео с моделью Vidu Q4 Preview: видео из изображения и видео по нескольким референсным изображениям с референсным аудио

> [!NOTE]
>
> **Для пользователей из материкового Китая:** используйте `https://toapis.cn` в качестве API-эндпоинта (Base URL). Замените `https://toapis.com` на `https://toapis.cn` в примерах этого документа.

* Асинхронный API задач, после отправки возвращает ID задачи
* Поддерживаемая модель: `viduq4-preview`
* Два режима генерации:
  * **Видео из первого кадра**: одно изображение как первый кадр
  * **Видео по референсам**: несколько референсных изображений и опциональное референсное аудио

> [!WARNING]
>
> Используйте публично доступные URL изображений и аудио. Не передавайте base64-данные в `image_urls`, `reference_images` или `sounds`; сначала загрузите локальные файлы через [API загрузки изображений](https://docs.toapis.com/docs/ru/api-reference/uploads/images.md).

## Авторизация

**Authorization** `string` *required*

Все эндпоинты требуют аутентификации Bearer Token.

```
Authorization: Bearer YOUR_API_KEY
```

## Параметры запроса

**model** `string` *required*

Имя модели, фиксированное значение `viduq4-preview`.

**prompt** `string` *required*

Текстовый промпт, описывающий объект, движение, сцену, работу камеры и стиль.

**image\_urls** `string[]`

Массив URL изображений. Режим определяется параметром `video_generation_mode` и количеством изображений:

* **Режим первого кадра** (по умолчанию): передайте ровно 1 URL изображения в `image_urls`. Изображение станет первым кадром.
* **Режим референсов**: установите `video_generation_mode` в `reference_images_to_video` и передайте референсные изображения в `image_urls` (или `reference_images`).

Пример: `["https://example.com/first-frame.jpg"]`

**video\_generation\_mode** `string`

Селектор режима генерации.

Варианты:

* `reference_images_to_video` - генерация по нескольким референсам; несколько изображений в `image_urls` обрабатываются как референсные

Если не указано, используется режим видео из первого кадра. Запросы с несколькими изображениями, `reference_images` или `sounds` автоматически направляются в режим видео по референсам.

**duration** `integer` (default: 5)

Длительность видео в секундах, от `3` до `16`.

**resolution** `string` (default: 720p)

Разрешение видео.

Варианты:

* `540p`
* `720p`
* `1080p`
* `2K`
* `4K`

**aspect\_ratio** `string`

Соотношение сторон видео, используется в режиме референсов.

Варианты: `16:9`, `9:16`, `4:3`, `3:4`, `1:1`

**audio** `boolean` (default: true)

Генерировать ли звук для видео.

**watermark** `boolean` (default: false)

Добавлять ли водяной знак на сгенерированное видео.

**seed** `integer`

Сид для более воспроизводимых результатов при одинаковых параметрах.

**metadata** `object`

Расширенные параметры для полей, поддерживаемых upstream API, но не вынесенных на верхний уровень.

**Показать поля metadata**

**is\_rec** `boolean`

Автоматически расширять и улучшать промпт. По умолчанию на upstream — `true`, если не указано.

**sounds** `string[]`

Массив URL референсных аудио (только режим видео по референсам). До 3 аудиофайлов.

Пример: `["https://example.com/voice.mp3"]`

**wm\_position** `integer`

Позиция водяного знака, от `1` до `4`. Действует при `watermark` равном `true`.

**wm\_url** `string`

URL пользовательского изображения водяного знака. Действует при `watermark` равном `true`.

**meta\_data** `string`

Пользовательский идентификатор метаданных, строка в формате JSON, передаётся в результат без изменений.

**callback\_url** `string`

Финальный Task Webhook ToAPIs. Сначала настройте Token URL и секрет подписи; см. [Task Webhooks](https://docs.toapis.com/docs/ru/api-reference/webhooks/task-webhooks.md).

## Выбор режима

| Режим | Как активировать | Входные изображения | Входное аудио |
| - | - | - | - |
| Видео из первого кадра | 1 изображение в `image_urls` (по умолчанию) | Ровно 1 изображение | Только флаг `audio` |
| Видео по референсам | `video_generation_mode: "reference_images_to_video"`, либо несколько изображений / `reference_images` / `sounds` | До 15 референсных изображений | До 3 `sounds` + флаг `audio` |

## Единицы тарификации

Vidu Q4 Preview тарифицируется посекундно за сгенерированное видео, цена зависит от разрешения:

* `540p` / `720p` / `1080p` / `2K` / `4K` — чем выше разрешение, тем выше цена за секунду

## Ответ

**id** `string`

ID задачи для запроса статуса.

**object** `string`

Тип объекта, обычно `generation.task`.

**model** `string`

Модель, использованная в запросе.

**status** `string`

Статус задачи: `queued`, `in_progress`, `completed` или `failed`.

**created\_at** `integer`

Временная метка создания задачи.

## Примеры

### Видео из первого кадра

```json theme={null}
{
  "model": "viduq4-preview",
  "prompt": "Человек на фото медленно поворачивается и улыбается, кинематографичный свет",
  "image_urls": ["https://example.com/portrait.jpg"],
  "duration": 5,
  "resolution": "1080p",
  "audio": true
}
```

### Видео по референсам

```json theme={null}
{
  "model": "viduq4-preview",
  "prompt": "Сохранить персонажа из референсных изображений, идёт по неоновой улице ночью",
  "video_generation_mode": "reference_images_to_video",
  "image_urls": [
    "https://example.com/character-front.jpg",
    "https://example.com/character-side.jpg"
  ],
  "duration": 5,
  "resolution": "720p",
  "aspect_ratio": "3:4",
  "audio": true
}
```

### Видео по референсам с референсным аудио

```json theme={null}
{
  "model": "viduq4-preview",
  "prompt": "Персонаж произносит реплику с синхронизацией губ",
  "video_generation_mode": "reference_images_to_video",
  "image_urls": ["https://example.com/character.jpg"],
  "duration": 5,
  "resolution": "720p",
  "aspect_ratio": "16:9",
  "metadata": {
    "sounds": ["https://example.com/voice.mp3"]
  }
}
```

### С расширением промпта и водяным знаком

```json theme={null}
{
  "model": "viduq4-preview",
  "prompt": "Кошка идёт по пляжу на закате",
  "image_urls": ["https://example.com/cat.jpg"],
  "duration": 8,
  "resolution": "2K",
  "watermark": true,
  "metadata": {
    "is_rec": true
  }
}
```

> [!NOTE]
>
> Генерация видео асинхронна. Используйте эндпоинт [Получение статуса видеозадачи](https://docs.toapis.com/docs/ru/api-reference/tasks/video-status.md) для проверки прогресса и результата.

```bash cURL theme={null}
curl --request POST \
  --url https://toapis.com/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "viduq4-preview",
    "prompt": "Человек на фото медленно поворачивается и улыбается, кинематографичный свет",
    "image_urls": ["https://example.com/portrait.jpg"],
    "duration": 5,
    "resolution": "1080p",
    "audio": true
  }'
```

```python Python theme={null}
import requests

response = requests.post(
    "https://toapis.com/v1/videos/generations",
    headers={
        "Authorization": "Bearer <token>",
        "Content-Type": "application/json",
    },
    json={
        "model": "viduq4-preview",
        "prompt": "Человек на фото медленно поворачивается и улыбается, кинематографичный свет",
        "image_urls": ["https://example.com/portrait.jpg"],
        "duration": 5,
        "resolution": "1080p",
        "audio": True,
    },
)

print(response.json())
```

```javascript JavaScript theme={null}
const response = await fetch("https://toapis.com/v1/videos/generations", {
  method: "POST",
  headers: {
    Authorization: "Bearer <token>",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    model: "viduq4-preview",
    prompt: "Человек на фото медленно поворачивается и улыбается, кинематографичный свет",
    image_urls: ["https://example.com/portrait.jpg"],
    duration: 5,
    resolution: "1080p",
    audio: true
  })
});

console.log(await response.json());
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.