Підготовка контенту платформи Ring
Підготовка контенту платформи Ring
Підготовка контенту платформи Ring
Concepts, value, and typical clone scenarios — less code.
Concepts, value, and typical clone scenarios — less code.
Concepts, value, and typical clone scenarios — less code.
VideoConductor is Ring Platform's async generative video layer — the video counterpart to ImageConductor. It polls xAI Grok Imagine Video, optionally uploads MP4s to ring-filebase, and records an audit row in PostgreSQL generated_videos.
Operators and agents call ring-video-create (MCP) or VideoConductor from server code. Default draft mode uses grok-imagine-video @ 480p (~$0.05/second) for cheap text-to-video iteration. Set remaster: true for 720p finals, or pass sourceVideoUrl for scene-preserving edit/remaster via xAI's video edits API. First-frame stills and branded thumbnails compose automatically through ImageConductor and the scripted media pipeline.
Quality modes, MCP payloads, CLI manifests, and xAI model truth table.
First-frame stills and shared xAI credentials for I2V scenes.
Scripted JSON requests, manifest v2, and run-scripted-video.mjs.
Tool reference, request fields, and gateway examples.
| Capability | Detail |
|---|---|
| Text-to-video (T2V) | grok-imagine-video — montages, UI demos, vague dialogue |
| Image-to-video (I2V) | grok-imagine-video-1.5 — requires imageUrl; prompt drives motion and implied dialogue |
| Draft iteration | 480p presets — minimize cost while scripting scenes |
| Production remaster | 720p re-generate or edit pass on an existing MP4 URL |
| First-frame automation | firstFramePrompt → ImageConductor when imageUrl is absent |
| Thumbnail overlays | Optional thumbnail spec — text on first frame via lib/media/thumbnail |
| Persistence | ring-filebase CDN URL + generated_videos JSONB ledger |
| Pipeline audit | , , , for multi-clip campaigns |
VideoConductor mirrors PaymentConductor and ImageConductor: a single facade (lib/video/conductor/video-conductor.ts), provider adapters, config from env + lib/video/video-presets.json, and one PostgreSQL collection for the audit trail.
SSOT: lib/video/video-presets.json. Effective mode is resolved by resolveEffectiveQualityMode() — passing imageUrl on a draft request auto-upgrades to draft_i2v.
qualityMode | Model | Resolution | ~$/sec | Needs imageUrl |
|---|---|---|---|---|
draft (default) | grok-imagine-video | 480p | $0.05 | No (T2V) |
draft_i2v | grok-imagine-video-1.5 | 480p | $0.08 | Yes |
production | grok-imagine-video | 720p | $0.05 | No |
production_i2v | grok-imagine-video-1.5 | 720p | $0.14 | Yes |
grok-imagine-video-1.5 is not text-only T2V — it requires a starting frame (imageUrl or auto-generated via firstFramePrompt). The text prompt controls motion and implied dialogue. For word-perfect spoken lines, burn VO in post or use the scripted pipeline's DIALOGUE: blocks as best-effort guidance only.
From env.local.template — reuse XAI_API_KEY from ImageConductor:
Never commit XAI_API_KEY or RING_MCP_SERVICE_TOKENS to the repository. MCP routes are bearer-gated via withMcpGuard.
Successful jobs return GenerateVideoResult:
| Field | Description |
|---|---|
video.url | Permanent CDN URL (when persisted) or temporary xAI URL |
video.temporaryUrl | Original xAI download link (expires) |
video.requestId | xAI job id — use for audit and remaster chains |
video.recordId | generated_videos row id |
firstFrame | ImageConductor asset when firstFramePrompt was used |
thumbnail | Rendered thumbnail when thumbnail.enabled |
estimatedCostUsd | duration × preset rate estimate |
qualityMode / resolution | Effective preset after auto-upgrade |
Moderation failures return success: false when xAI sets respect_moderation: false.
| Date | Milestone |
|---|---|
| 2026-06-09 | ImageConductor — generated_images ledger, ring-image-create MCP |
| 2026-06-18 | VideoConductor v1 — draft/production T2V, ring-video-create MCP, manifest v2 |
| 2026-06-18 | I2V modes — draft_i2v / production_i2v, firstFramePrompt, sourceVideoUrl edit remaster |
| 2026-06-19 | Migration 018 — generated_videos on dev + prod; BackendSelector routes |
generate-xai-videos.mjsVideoConductor is Ring Platform's async generative video layer — the video counterpart to ImageConductor. It polls xAI Grok Imagine Video, optionally uploads MP4s to ring-filebase, and records an audit row in PostgreSQL generated_videos.
Operators and agents call ring-video-create (MCP) or VideoConductor from server code. Default draft mode uses grok-imagine-video @ 480p (~$0.05/second) for cheap text-to-video iteration. Set remaster: true for 720p finals, or pass sourceVideoUrl for scene-preserving edit/remaster via xAI's video edits API. First-frame stills and branded thumbnails compose automatically through ImageConductor and the scripted media pipeline.
Quality modes, MCP payloads, CLI manifests, and xAI model truth table.
First-frame stills and shared xAI credentials for I2V scenes.
Scripted JSON requests, manifest v2, and run-scripted-video.mjs.
Tool reference, request fields, and gateway examples.
| Capability | Detail |
|---|---|
| Text-to-video (T2V) | grok-imagine-video — montages, UI demos, vague dialogue |
| Image-to-video (I2V) | grok-imagine-video-1.5 — requires imageUrl; prompt drives motion and implied dialogue |
| Draft iteration | 480p presets — minimize cost while scripting scenes |
| Production remaster | 720p re-generate or edit pass on an existing MP4 URL |
| First-frame automation | firstFramePrompt → ImageConductor when imageUrl is absent |
| Thumbnail overlays | Optional thumbnail spec — text on first frame via lib/media/thumbnail |
| Persistence | ring-filebase CDN URL + generated_videos JSONB ledger |
| Pipeline audit | , , , for multi-clip campaigns |
VideoConductor mirrors PaymentConductor and ImageConductor: a single facade (lib/video/conductor/video-conductor.ts), provider adapters, config from env + lib/video/video-presets.json, and one PostgreSQL collection for the audit trail.
SSOT: lib/video/video-presets.json. Effective mode is resolved by resolveEffectiveQualityMode() — passing imageUrl on a draft request auto-upgrades to draft_i2v.
qualityMode | Model | Resolution | ~$/sec | Needs imageUrl |
|---|---|---|---|---|
draft (default) | grok-imagine-video | 480p | $0.05 | No (T2V) |
draft_i2v | grok-imagine-video-1.5 | 480p | $0.08 | Yes |
production | grok-imagine-video | 720p | $0.05 | No |
production_i2v | grok-imagine-video-1.5 | 720p | $0.14 | Yes |
grok-imagine-video-1.5 is not text-only T2V — it requires a starting frame (imageUrl or auto-generated via firstFramePrompt). The text prompt controls motion and implied dialogue. For word-perfect spoken lines, burn VO in post or use the scripted pipeline's DIALOGUE: blocks as best-effort guidance only.
From env.local.template — reuse XAI_API_KEY from ImageConductor:
Never commit XAI_API_KEY or RING_MCP_SERVICE_TOKENS to the repository. MCP routes are bearer-gated via withMcpGuard.
Successful jobs return GenerateVideoResult:
| Field | Description |
|---|---|
video.url | Permanent CDN URL (when persisted) or temporary xAI URL |
video.temporaryUrl | Original xAI download link (expires) |
video.requestId | xAI job id — use for audit and remaster chains |
video.recordId | generated_videos row id |
firstFrame | ImageConductor asset when firstFramePrompt was used |
thumbnail | Rendered thumbnail when thumbnail.enabled |
estimatedCostUsd | duration × preset rate estimate |
qualityMode / resolution | Effective preset after auto-upgrade |
Moderation failures return success: false when xAI sets respect_moderation: false.
| Date | Milestone |
|---|---|
| 2026-06-09 | ImageConductor — generated_images ledger, ring-image-create MCP |
| 2026-06-18 | VideoConductor v1 — draft/production T2V, ring-video-create MCP, manifest v2 |
| 2026-06-18 | I2V modes — draft_i2v / production_i2v, firstFramePrompt, sourceVideoUrl edit remaster |
| 2026-06-19 | Migration 018 — generated_videos on dev + prod; BackendSelector routes |
generate-xai-videos.mjsVideoConductor is Ring Platform's async generative video layer — the video counterpart to ImageConductor. It polls xAI Grok Imagine Video, optionally uploads MP4s to ring-filebase, and records an audit row in PostgreSQL generated_videos.
Operators and agents call ring-video-create (MCP) or VideoConductor from server code. Default draft mode uses grok-imagine-video @ 480p (~$0.05/second) for cheap text-to-video iteration. Set remaster: true for 720p finals, or pass sourceVideoUrl for scene-preserving edit/remaster via xAI's video edits API. First-frame stills and branded thumbnails compose automatically through ImageConductor and the scripted media pipeline.
Quality modes, MCP payloads, CLI manifests, and xAI model truth table.
First-frame stills and shared xAI credentials for I2V scenes.
Scripted JSON requests, manifest v2, and run-scripted-video.mjs.
Tool reference, request fields, and gateway examples.
| Capability | Detail |
|---|---|
| Text-to-video (T2V) | grok-imagine-video — montages, UI demos, vague dialogue |
| Image-to-video (I2V) | grok-imagine-video-1.5 — requires imageUrl; prompt drives motion and implied dialogue |
| Draft iteration | 480p presets — minimize cost while scripting scenes |
| Production remaster | 720p re-generate or edit pass on an existing MP4 URL |
| First-frame automation | firstFramePrompt → ImageConductor when imageUrl is absent |
| Thumbnail overlays | Optional thumbnail spec — text on first frame via lib/media/thumbnail |
| Persistence | ring-filebase CDN URL + generated_videos JSONB ledger |
| Pipeline audit | , , , for multi-clip campaigns |
VideoConductor mirrors PaymentConductor and ImageConductor: a single facade (lib/video/conductor/video-conductor.ts), provider adapters, config from env + lib/video/video-presets.json, and one PostgreSQL collection for the audit trail.
SSOT: lib/video/video-presets.json. Effective mode is resolved by resolveEffectiveQualityMode() — passing imageUrl on a draft request auto-upgrades to draft_i2v.
qualityMode | Model | Resolution | ~$/sec | Needs imageUrl |
|---|---|---|---|---|
draft (default) | grok-imagine-video | 480p | $0.05 | No (T2V) |
draft_i2v | grok-imagine-video-1.5 | 480p | $0.08 | Yes |
production | grok-imagine-video | 720p | $0.05 | No |
production_i2v | grok-imagine-video-1.5 | 720p | $0.14 | Yes |
grok-imagine-video-1.5 is not text-only T2V — it requires a starting frame (imageUrl or auto-generated via firstFramePrompt). The text prompt controls motion and implied dialogue. For word-perfect spoken lines, burn VO in post or use the scripted pipeline's DIALOGUE: blocks as best-effort guidance only.
From env.local.template — reuse XAI_API_KEY from ImageConductor:
Never commit XAI_API_KEY or RING_MCP_SERVICE_TOKENS to the repository. MCP routes are bearer-gated via withMcpGuard.
Successful jobs return GenerateVideoResult:
| Field | Description |
|---|---|
video.url | Permanent CDN URL (when persisted) or temporary xAI URL |
video.temporaryUrl | Original xAI download link (expires) |
video.requestId | xAI job id — use for audit and remaster chains |
video.recordId | generated_videos row id |
firstFrame | ImageConductor asset when firstFramePrompt was used |
thumbnail | Rendered thumbnail when thumbnail.enabled |
estimatedCostUsd | duration × preset rate estimate |
qualityMode / resolution | Effective preset after auto-upgrade |
Moderation failures return success: false when xAI sets respect_moderation: false.
| Date | Milestone |
|---|---|
| 2026-06-09 | ImageConductor — generated_images ledger, ring-image-create MCP |
| 2026-06-18 | VideoConductor v1 — draft/production T2V, ring-video-create MCP, manifest v2 |
| 2026-06-18 | I2V modes — draft_i2v / production_i2v, firstFramePrompt, sourceVideoUrl edit remaster |
| 2026-06-19 | Migration 018 — generated_videos on dev + prod; BackendSelector routes |
generate-xai-videos.mjsclipIdpipelineRequestIdrefCodeactorIdclipIdpipelineRequestIdrefCodeactorIdclipIdpipelineRequestIdrefCodeactorId