---
title: "Генеративные видео (VideoConductor)"
description: "xAI Grok Imagine Video — черновик T2V, draft_i2v (1.5 + imageUrl), production remaster, редактирование sourceVideoUrl"
locale: "ru"
---
# Генеративные видео (`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** | Монтажи, демо UI — нечёткие диалоги |
| **`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).

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

## Режимы качества (SSOT: `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` |
| Legacy CLI | `scripts/ring-viral-video/generate-xai-videos.mjs` |
| Линза истины | `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 ` |
| **Legacy 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` | Для edit remaster | `url` манифеста из предыдущего клипа |
| `remaster` | Нет | `true` → повторная генерация 720p или edit, если задан 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` — частичные запуски не стирают предыдущие клипы.
