WorkRally series and shot workflow
Create projects, series and shots, recognize characters, configure models, generate batches and query results.
Structure
projectis the top-level container.seriesbelongs to a project.shotorstorybelongs to a series and carries image and animation prompts.image_promptdefines the keyframe;animation_promptdefines motion and camera movement.
Standard workflow
PROJECT_ID=$(workrally project create "My series" -o json | jq -r '.project_id')
SERIES_ID=$(workrally series create --project-id $PROJECT_ID --name "Episode 1" -o json | jq -r '.series_id')
workrally shot create --series-id $SERIES_ID --json-list '[
{"image_prompt":"wide ancient courtyard","animation_prompt":"slow push-in"},
{"image_prompt":"two heroes facing each other","animation_prompt":"push to close-up"}
]'
workrally shot recognize --project-id $PROJECT_ID --series-id $SERIES_ID
workrally shot image-models -o json
workrally shot video-models -o json
workrally shot set-model --series-id $SERIES_ID --video-provider <provider> --duration 5 --aspect-ratio 16:9
STORY_IDS=$(workrally shot list --series-id $SERIES_ID -o json | jq -r '[.story_list[].story_id] | join(",")')
workrally shot generate-image --story-ids "$STORY_IDS"
workrally shot generate-video --story-ids "$STORY_IDS"
workrally shot get-result --story-id <story_id> --type image --watchWhen starting from a novel, script or storyboard, split the story into scene paragraphs first, then write them in batches with shot create --json-list.
Shot-specific model configuration
- Use
--video-provider; the CLI derives the required mode and provider configuration. - Select image models from the runtime
models[].en_namevalues. - Aspect ratio, duration and audio support come from the current model response.
Character recognition
shot recognize reads image_prompt and animation_prompt and writes recognition results back to their corresponding fields. If only one prompt exists, only that path is recognized.
Result queries
generate-image and generate-video indicate submission, not completion. Query with shot get-result --story-id <id> --type image|video.
state = all_donemeans no task of that type remains in progress.doing_count,done_countandfailed_countshow progress.--watchpolls at intervals until the task reaches a terminal state.