Підготовка контенту платформи 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.
Provider-neutral, schema-driven pipeline for marketing and explainer reels. A creative agent authors one scripted-video-generation-request-<id>.json; ring-video-create chains:
firstFramePrompt → ImageConductor)next/og)MCP tool reference (overloaded scene path).
VideoConductor presets and remaster modes.
| Artifact | Path |
|---|---|
| JSON Schema | lib/media/scripted-video-generation.schema.json |
| Zod validation | lib/media/schemas.ts |
| Prompt compiler | lib/media/prompt-compiler.ts |
| Thumbnail | lib/media/thumbnail.tsx |
| Example request | scripts/ring-viral-video/scripted-video-generation-request-hoa-nightclub.json |
| CLI runner | scripts/ring-viral-video/run-scripted-video.mjs |
| Director lens | AI-LEGIOX/legiox-truth-lens/scripted-video-director.nodus.json |
Cast placeholders: {{guy}}, {{girl}} resolve to cast[].description at compile time.
| Type | firstFrame | scene.dialogue | Video mode |
|---|---|---|---|
| Montage / UI | omit | optional | T2V grok-imagine-video @ 480p |
| Dialogue | imagePrompt required | required | I2V grok-imagine-video-1.5 @ 480p |
Manifest v3 tracks firstFrameUrl, thumbnailUrl, pipelineRequestId, clipId per upsert key id::qualityMode.
With thumbnail.enabled in body — see ring-video-create.
Consult scripted-video-director truth lens when authoring requests. Validate with:
xai-video-jobs.json + generate-xai-videos.mjs remain for direct xAI batch runs without gateway. Prefer the scripted request file for new campaigns.
Provider-neutral, schema-driven pipeline for marketing and explainer reels. A creative agent authors one scripted-video-generation-request-<id>.json; ring-video-create chains:
firstFramePrompt → ImageConductor)next/og)MCP tool reference (overloaded scene path).
VideoConductor presets and remaster modes.
| Artifact | Path |
|---|---|
| JSON Schema | lib/media/scripted-video-generation.schema.json |
| Zod validation | lib/media/schemas.ts |
| Prompt compiler | lib/media/prompt-compiler.ts |
| Thumbnail | lib/media/thumbnail.tsx |
| Example request | scripts/ring-viral-video/scripted-video-generation-request-hoa-nightclub.json |
| CLI runner | scripts/ring-viral-video/run-scripted-video.mjs |
| Director lens | AI-LEGIOX/legiox-truth-lens/scripted-video-director.nodus.json |
Cast placeholders: {{guy}}, {{girl}} resolve to cast[].description at compile time.
| Type | firstFrame | scene.dialogue | Video mode |
|---|---|---|---|
| Montage / UI | omit | optional | T2V grok-imagine-video @ 480p |
| Dialogue | imagePrompt required | required | I2V grok-imagine-video-1.5 @ 480p |
Manifest v3 tracks firstFrameUrl, thumbnailUrl, pipelineRequestId, clipId per upsert key id::qualityMode.
With thumbnail.enabled in body — see ring-video-create.
Consult scripted-video-director truth lens when authoring requests. Validate with:
xai-video-jobs.json + generate-xai-videos.mjs remain for direct xAI batch runs without gateway. Prefer the scripted request file for new campaigns.
Provider-neutral, schema-driven pipeline for marketing and explainer reels. A creative agent authors one scripted-video-generation-request-<id>.json; ring-video-create chains:
firstFramePrompt → ImageConductor)next/og)MCP tool reference (overloaded scene path).
VideoConductor presets and remaster modes.
| Artifact | Path |
|---|---|
| JSON Schema | lib/media/scripted-video-generation.schema.json |
| Zod validation | lib/media/schemas.ts |
| Prompt compiler | lib/media/prompt-compiler.ts |
| Thumbnail | lib/media/thumbnail.tsx |
| Example request | scripts/ring-viral-video/scripted-video-generation-request-hoa-nightclub.json |
| CLI runner | scripts/ring-viral-video/run-scripted-video.mjs |
| Director lens | AI-LEGIOX/legiox-truth-lens/scripted-video-director.nodus.json |
Cast placeholders: {{guy}}, {{girl}} resolve to cast[].description at compile time.
| Type | firstFrame | scene.dialogue | Video mode |
|---|---|---|---|
| Montage / UI | omit | optional | T2V grok-imagine-video @ 480p |
| Dialogue | imagePrompt required | required | I2V grok-imagine-video-1.5 @ 480p |
Manifest v3 tracks firstFrameUrl, thumbnailUrl, pipelineRequestId, clipId per upsert key id::qualityMode.
With thumbnail.enabled in body — see ring-video-create.
Consult scripted-video-director truth lens when authoring requests. Validate with:
xai-video-jobs.json + generate-xai-videos.mjs remain for direct xAI batch runs without gateway. Prefer the scripted request file for new campaigns.
{
"schemaVersion": "1.0",
"requestId": "hoa-nightclub-viral-2026-06",
"purpose": "viral-ad",
"defaults": { "qualityMode": "draft", "aspectRatio": "16:9", "imageResolution": "2k" },
"cast": [{ "id": "guy", "description": "…" }],
"setting": "San Francisco nightclub at night…",
"clips": [{
"id": "03_sf_nightclub_ring_opener",
"duration": 12,
"firstFrame": { "imagePrompt": "{{girl}} and {{guy}} at bar…" },
"scene": {
"action": "{{guy}} gestures warmly…",
"dialogue": [{ "speaker": "guy", "line": "So your HOA uses Ring?", "tone": "warmly" }]
},
"thumbnail": { "enabled": true, "overlays": [{ "text": "Your HOA on Ring", "role": "title" }] }
}]
}
cd ring-platform.org/scripts/ring-viral-video
# Full pipeline via MCP gateway (needs RING_MCP_SERVICE_TOKENS + dev server)
node run-scripted-video.mjs scripted-video-generation-request-hoa-nightclub.json --download
# Single clip
node run-scripted-video.mjs scripted-video-generation-request-hoa-nightclub.json --clip=03_sf_nightclub_ring_opener
# Remaster from manifest URL
node run-scripted-video.mjs request.json --remaster --clip=03_sf_nightclub_ring_opener --source-url=https://...
import { scriptedVideoGenerationRequestSchema } from '@/lib/media/schemas'
scriptedVideoGenerationRequestSchema.parse(request)
XAI_API_KEY=…
RING_MCP_SERVICE_TOKENS=long-random-token
RING_API_BASE_URL=http://localhost:3000
FILE_BACKEND=ringbase
Creative agent → scripted-video-generation-request.json
→ run-scripted-video.mjs (CLI) OR ring-video-create (MCP)
→ VideoConductor.generate
→ ImageConductor (firstFramePrompt)
→ xAI I2V (compiled ACTION/DIALOGUE prompt)
→ thumbnail compositor (optional)
→ manifest v3 + ring-filebase URLs
ring-video-create \
prompt "ACTION: … DIALOGUE: …" \
firstFramePrompt "Cinematic still {{guy}} and {{girl}} at bar…" \
qualityMode draft duration 12 purpose viral-ad clipId 03_sf_nightclub_ring_opener
{
"schemaVersion": "1.0",
"requestId": "hoa-nightclub-viral-2026-06",
"purpose": "viral-ad",
"defaults": { "qualityMode": "draft", "aspectRatio": "16:9", "imageResolution": "2k" },
"cast": [{ "id": "guy", "description": "…" }],
"setting": "San Francisco nightclub at night…",
"clips": [{
"id": "03_sf_nightclub_ring_opener",
"duration": 12,
"firstFrame": { "imagePrompt": "{{girl}} and {{guy}} at bar…" },
"scene": {
"action": "{{guy}} gestures warmly…",
"dialogue": [{ "speaker": "guy", "line": "So your HOA uses Ring?", "tone": "warmly" }]
},
"thumbnail": { "enabled": true, "overlays": [{ "text": "Your HOA on Ring", "role": "title" }] }
}]
}
cd ring-platform.org/scripts/ring-viral-video
# Full pipeline via MCP gateway (needs RING_MCP_SERVICE_TOKENS + dev server)
node run-scripted-video.mjs scripted-video-generation-request-hoa-nightclub.json --download
# Single clip
node run-scripted-video.mjs scripted-video-generation-request-hoa-nightclub.json --clip=03_sf_nightclub_ring_opener
# Remaster from manifest URL
node run-scripted-video.mjs request.json --remaster --clip=03_sf_nightclub_ring_opener --source-url=https://...
import { scriptedVideoGenerationRequestSchema } from '@/lib/media/schemas'
scriptedVideoGenerationRequestSchema.parse(request)
XAI_API_KEY=…
RING_MCP_SERVICE_TOKENS=long-random-token
RING_API_BASE_URL=http://localhost:3000
FILE_BACKEND=ringbase
Creative agent → scripted-video-generation-request.json
→ run-scripted-video.mjs (CLI) OR ring-video-create (MCP)
→ VideoConductor.generate
→ ImageConductor (firstFramePrompt)
→ xAI I2V (compiled ACTION/DIALOGUE prompt)
→ thumbnail compositor (optional)
→ manifest v3 + ring-filebase URLs
ring-video-create \
prompt "ACTION: … DIALOGUE: …" \
firstFramePrompt "Cinematic still {{guy}} and {{girl}} at bar…" \
qualityMode draft duration 12 purpose viral-ad clipId 03_sf_nightclub_ring_opener
{
"schemaVersion": "1.0",
"requestId": "hoa-nightclub-viral-2026-06",
"purpose": "viral-ad",
"defaults": { "qualityMode": "draft", "aspectRatio": "16:9", "imageResolution": "2k" },
"cast": [{ "id": "guy", "description": "…" }],
"setting": "San Francisco nightclub at night…",
"clips": [{
"id": "03_sf_nightclub_ring_opener",
"duration": 12,
"firstFrame": { "imagePrompt": "{{girl}} and {{guy}} at bar…" },
"scene": {
"action": "{{guy}} gestures warmly…",
"dialogue": [{ "speaker": "guy", "line": "So your HOA uses Ring?", "tone": "warmly" }]
},
"thumbnail": { "enabled": true, "overlays": [{ "text": "Your HOA on Ring", "role": "title" }] }
}]
}
cd ring-platform.org/scripts/ring-viral-video
# Full pipeline via MCP gateway (needs RING_MCP_SERVICE_TOKENS + dev server)
node run-scripted-video.mjs scripted-video-generation-request-hoa-nightclub.json --download
# Single clip
node run-scripted-video.mjs scripted-video-generation-request-hoa-nightclub.json --clip=03_sf_nightclub_ring_opener
# Remaster from manifest URL
node run-scripted-video.mjs request.json --remaster --clip=03_sf_nightclub_ring_opener --source-url=https://...
import { scriptedVideoGenerationRequestSchema } from '@/lib/media/schemas'
scriptedVideoGenerationRequestSchema.parse(request)
XAI_API_KEY=…
RING_MCP_SERVICE_TOKENS=long-random-token
RING_API_BASE_URL=http://localhost:3000
FILE_BACKEND=ringbase
Creative agent → scripted-video-generation-request.json
→ run-scripted-video.mjs (CLI) OR ring-video-create (MCP)
→ VideoConductor.generate
→ ImageConductor (firstFramePrompt)
→ xAI I2V (compiled ACTION/DIALOGUE prompt)
→ thumbnail compositor (optional)
→ manifest v3 + ring-filebase URLs
ring-video-create \
prompt "ACTION: … DIALOGUE: …" \
firstFramePrompt "Cinematic still {{guy}} and {{girl}} at bar…" \
qualityMode draft duration 12 purpose viral-ad clipId 03_sf_nightclub_ring_opener