scenario-grok-imagine-video
About scenario-grok-imagine-video
A skill for selecting and using xAI Grok Imagine video models on Scenario. It helps creators and agents choose a model for generation, reference-based identity, editing, or extension, with guidance on prompts and audio.
Key features
- 01Text- or image-guided video generation
- 02Reference-guided identity consistency
- 03Prompt-based video editing
- 04Clip continuation
- 05Prompt-directed native audio
Use cases
- 01Animate a still image
- 02Keep a subject consistent across a shot
- 03Restyle or replace elements in footage
- 04Continue an existing clip
MCP support
Uses Scenario tools including `search`, `model_schema_get`, `model_run`, and `jobs_wait` to find model members, inspect their schemas, run video jobs, and collect outputs.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ scenario-labs/ skills --skill scenario-grok-imagine-videoAfter installing, type/scenario-grok-imagine-videoin Claude Code to confirm it loaded.
Details
From the project READMEScenario Grok Imagine Video
Overview
Grok Imagine, xAI's video family on Scenario, splits its modes across single-purpose members: text
and first-frame generation, reference-to-video, prompt editing, and clip extension each live in
their own model, so picking the member is picking the mode. Discover them with search and treat
model_schema_get as the contract: members agree on prompt style and disagree on every cap. The
Grok Imagine image models belong to the scenario-grok-imagine-image skill.
Connection and the core loop: see the scenario skill in this repo; model-agnostic video work: the
scenario-video skill. If a sibling skill named here is missing from your available skills, ask the
user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from
tool schemas and flag the gap.
Quick reference
Pick the member by intent (input names from the live schema):
| Intent | Member | Inputs |
|---|---|---|
| Text-to-video | Video 1.5 | prompt alone; aspectRatio auto lands on 16:9 |
| Animate a still | Video 1.5 | image + prompt; auto follows the image ratio |
| Identity, opening free | Video 1.5 R2V | referenceImages + prompt tagging @image1 |
| Restyle or swap in place | Edit Video | video + a prompt naming only the changes |
| Continue a clip | Extend Video | video + a continuation prompt; duration is new seconds |
Caps are per member, so read them off model_schema_get. At authoring time the generation members
took 1 to 15 seconds, 1 to 4 numOutputs, and eight aspectRatio values including auto; 1080p
existed only on Video 1.5's text and first-frame modes, while R2V stopped at 720p and defaulted to
480p. The earlier unversioned Grok Imagine Video takes the same inputs as Video 1.5, also caps at
720p, and runs cheaper per dry_run. R2V took up to 7 referenceImages; Extend generated 2 to 10
new seconds; Edit exposed no duration or resolution and preprocessed its source down to 8.7 seconds
at 720p, so trim to the segment first (see scenario-video). No seed, negative prompt, or camera
parameter exists anywhere in the family.
First frame or references
image locks frame one: the video opens on that exact composition and animates out of it.
referenceImages (its own member, R2V) carries people, products, and clothing across the shot
without deciding how it opens. Tags bind by array order: @image1 is referenceImages[0]
(<IMAGE_1> also works), and one clean subject per reference keeps control; a busy reference
dilutes it. If the opening must match a composition exactly, render that still and pass it as
image; when only a face, product, or outfit must stay consistent, use R2V and tag each reference
where it acts.
Sound is prompted, not switched
Generation members produce native audio and no parameter controls it: the prompt is the whole mixing desk. Left unaddressed, the track tends toward generic background music, so end every prompt with named sounds ("Audio: rain on glass, distant traffic") or "no music". Dialogue written in quotes with a delivery verb lip-syncs: She says calmly: "We're live." Structure the rest like a director: scene, camera, style, motion, audio, in present tense, one continuous shot, one dominant camera move, physical actions instead of named emotions. 80 to 150 words touching at least three of those layers beat a one-line scene; editing prompts run shorter, naming only what changes. Extension prompts describe the next beat, not a new scene: open with a bridge ("the shot continues"), keep the established light and cast, and restate the audio.
Worked example: dialogue over an animated hero still
searchwithtarget="models",query="grok imagine video",public=true. Match the member by name: first-frame animation wants e.g.model_xai-grok-imagine-video-1-5(a live hit at authoring time: re-discover each session).model_schema_getwith that id: fields, caps, and defaults before anything else.upload_assetthe hero still (see thescenarioskill) to get its asset id.model_runwith thatmodel_id,dry_run=true, and the exactparameters={"prompt": "The frame shows a knight on a cliff at dusk. She lowers her sword, turns to the camera, and says quietly: 'It ends tonight.' Slow dolly-in, wind lifting her cloak. Audio: wind, distant thunder, her line clear. No music.", "image": "asset_abc", "duration": 8, "resolution": "1080p"}for the cost estimate; re-estimate after any change to duration, resolution, ornumOutputs.- Repeat
model_runwithwait=false, thenjobs_waitwith the returned job id, re-called withpending_job_idson timeout, never a secondmodel_run. asset_displaythe output and watch it with sound: the audio direction is judged by ear.
Common mistakes
- Leaving audio to the default: generic music appears; direct the sound or state "no music" in every prompt.
- Prompting an exact opening frame in R2V: references guide identity, not frame one; pass the still
as
imageon Video 1.5. - Expecting 1080p everywhere: at authoring time it existed only on Video 1.5 text and first-frame runs, and R2V silently defaults to 480p.
- Feeding Edit Video a long clip and expecting full-length output: the source is preprocessed down (8.7 seconds at authoring time); trim to the segment first.
- Reading Extend's
durationas total length: it counts only new footage. - Stacking camera moves or contradictory directions ("zoom in as the camera pulls back"): one dominant move per shot.