---
title: "Генеративні відео (VideoConductor)"
description: "xAI Grok Imagine Video — чернетка T2V, чернетка_i2v (1.5 + imageUrl), виробничий ремастеринг, редагування sourceVideoUrl"
locale: "uk"
---
# Генеративні відео (`VideoConductor`)

Ring Platform постачає **VideoConductor** — асинхронну генерацію відео xAI Grok із режимами **draft**, **draft_i2v**, **production** і **production_i2v**, що віддзеркалюють патерн ImageConductor.

Для операторів і архітекторів дивіться повний **[посібник з функції VideoConductor](/docs/features/video-conductor.md)** — архітектурні діаграми, стратегії ремастерингу, міграцію бази даних і покроковий огляд MCP.

## Справжні можливості моделей (виправлено 2026-06-18)

| Модель | Модальності | Роздільна здатність | ~$/сек | Сценарні сцени |
|-------|------------|------------|--------|---------------|
| **`grok-imagine-video`** | **Text-to-video** + I2V + R2V + edit | 480p, 720p | **$0.05** | Монтажі, демонстрації інтерфейсу — нечіткі діалоги |
| **`grok-imagine-video-1.5`** | **Лише image-to-video** (+ **prompt** для руху/сценарію) | 480p, 720p | **$0.08** / **$0.14** | **Бажана**, коли є `imageUrl` + prompt `DIALOGUE:` |

**Важливо:** `grok-imagine-video-1.5` — це **не** T2V лише з тексту. Їй потрібен початковий кадр (`imageUrl`). Ви правильно припускаєте, що вона також приймає розгорнутий текстовий `prompt` — цей prompt керує рухом і передбачуваним діалогом. [xAI Imagine I2V](https://docs.x.ai/developers/model-capabilities/imagine) · [AIML 1.5 preview](https://docs.aimlapi.com/api-references/video-models/xai/grok-imagine-video-1.5-preview).

**Робочий процес для кліпів у нічному клубі / з діалогами:**

1. Створіть **`scripted-video-generation-request-*.json`** або передайте **`firstFramePrompt`** у `ring-video-create`.
2. Pipeline автоматично генерує still → **draft_i2v** @ **480p** зі скомпільованим prompt `DIALOGUE:`.
3. `remaster: true` @ 720p **або** прохід редагування `sourceVideoUrl`.

Дивіться [Scripted media pipeline](/docs/development/scripted-media-pipeline.md).

Синхронізація губ — **з найкращих доступних результатів, але без гарантій**; коли потрібна дослівна вимова, додайте точні репліки під час постобробки.

## Режими якості (єдине джерело правди: `lib/video/video-presets.json`)

| `qualityMode` | Модель | Роздільна здатність | ~$/сек | Потрібен `imageUrl` |
|---------------|--------|------------|--------|------------------|
| **`draft`** (типовий) | `grok-imagine-video` | 480p | $0.05 | Ні (T2V) |
| **`draft_i2v`** | `grok-imagine-video-1.5` | **480p** | $0.08 | **Так** |
| **`production`** | `grok-imagine-video` | 720p | $0.05 | Ні |
| **`production_i2v`** | `grok-imagine-video-1.5` | 720p | $0.14 | Так |

**Автовибір:** `qualityMode: draft` + `imageUrl` → **`draft_i2v`** (додатковий прапорець не потрібен).

## Стратегії ремастерингу

| Вхідні дані | Поведінка |
|-------|----------|
| Лише `remaster: true` | Повторна генерація у **720p** (`production` або `production_i2v`, якщо є `imageUrl`) |
| `remaster: true` + **`sourceVideoUrl`** | **`POST /v1/videos/edits`** — редагування наявного маніфесту/CDN MP4 ([редагування відео xAI](https://docs.x.ai/developers/model-capabilities/video/editing)) |

## Архітектура

```text
Surface (MCP / CLI / server code)
  → VideoConductor.generate | .remaster | .editFromSource
    → xAI POST /v1/videos/generations | /v1/videos/edits → request_id
    → poll GET /v1/videos/{request_id}
    → optional file().upload(generated/videos/…)
  → { success, video: { url, temporaryUrl, requestId, … } }
```

| Рівень | Шлях |
|-------|------|
| Пресети | `lib/video/video-presets.json` |
| Конфігурація | `lib/video/video.config.ts` |
| Провайдер | `lib/video/providers/xai.provider.ts` |
| Фасад | `lib/video/conductor/video-conductor.ts` |
| Сценарні медіа | `lib/media/*` — схема, компілятор prompt, мініатюра |
| Сценарний CLI | `scripts/ring-viral-video/run-scripted-video.mjs` |
| Застарілий CLI | `scripts/ring-viral-video/generate-xai-videos.mjs` (безпосередній xAI) |
| Лінза істини | `AI-LEGIOX/legiox-truth-lens/xai-grok-imagine-video-specialist.nodus.json` |

## Поверхні

| Поверхня | Точка входу |
|---------|--------|
| **MCP** | `ring-video-create` → `POST /api/mcp/v1/videos/generate` |
| **Сценарний CLI** | `node scripts/ring-viral-video/run-scripted-video.mjs ` |
| **Застарілий CLI** | `node scripts/ring-viral-video/generate-xai-videos.mjs` (безпосередній xAI) |

## Запит MCP — сценарна сцена (перший кадр створюється автоматично)

```json
{
  "prompt": "ACTION: man leans in. DIALOGUE: Man says: \"So your HOA uses Ring?\"",
  "firstFramePrompt": "Cinematic still, guy and girl at SF nightclub bar, neon magenta lights, silver ring visible",
  "qualityMode": "draft",
  "duration": 12,
  "clipId": "03_sf_nightclub_ring_opener",
  "pipelineRequestId": "hoa-nightclub-viral-2026-06"
}
```

## Запит MCP — ремастеринг з URL маніфесту

```json
{
  "prompt": "Improve clarity and lighting; characters speak the same dialogue with clearer lip movement",
  "remaster": true,
  "sourceVideoUrl": "https://vidgen.x.ai/.../draft.mp4",
  "remasterFromRequestId": "prior-draft-request-id"
}
```

| Поле | Обов’язкове | Примітки |
|-------|----------|-------|
| `prompt` | Так | Блоки руху, ACTION, DIALOGUE |
| `qualityMode` | Ні | `draft` (типовий), `draft_i2v`, `production`, `production_i2v` |
| `imageUrl` | Для 1.5 | Автоматично підвищує draft до `draft_i2v` |
| `sourceVideoUrl` | Для ремастерингу-редагування | `url` маніфесту з попереднього кліпу |
| `remaster` | Ні | `true` → повторна генерація у 720p або редагування, якщо задано URL |
| `remasterFromRequestId` | Ні | Аудит-посилання на завдання чернетки |

## Середовище

```bash
XAI_API_KEY=your_key
XAI_API_BASE_URL=https://api.x.ai/v1

VIDEO_GEN_POLL_TIMEOUT_MS=900000
VIDEO_GEN_POLL_INTERVAL_MS=5000
VIDEO_GEN_STORAGE_PREFIX=generated/videos
XAI_VIDEO_DEFAULT_DURATION=6
XAI_VIDEO_ASPECT_RATIO=16:9
```

## CLI

```bash
cd ring-platform.org/scripts/ring-viral-video
# Scripted pipeline (gateway + firstFrame + thumbnail)
node run-scripted-video.mjs scripted-video-generation-request-hoa-nightclub.json --download
node run-scripted-video.mjs scripted-video-generation-request-hoa-nightclub.json --clip=03_sf_nightclub_ring_opener

# Legacy direct xAI
node generate-xai-videos.mjs --draft 01_hoa_video_call_pains --download
```

Маніфести оновлюються за `id::qualityMode` — часткові запуски не видаляють попередні кліпи.
