WorkRally series and shot workflow

Create projects, series and shots, recognize characters, configure models, generate batches and query results.

Structure

  • project is the top-level container.
  • series belongs to a project.
  • shot or story belongs to a series and carries image and animation prompts.
  • image_prompt defines the keyframe; animation_prompt defines motion and camera movement.

Standard workflow

shot-workflow.shbash
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 --watch

When 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_name values.
  • 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_done means no task of that type remains in progress.
  • doing_count, done_count and failed_count show progress.
  • --watch polls at intervals until the task reaches a terminal state.