Parent: #508
Context
Phase 1A/1B job-backed scene clip generation landed in commit 1318f072, but the current pipeline is still xAI/job-slice oriented. This follow-up extracts the provider contract so Content Studio can support multiple video providers and all Grok Imagine generation modes without coupling UI/API code directly to xAI details.
Scope
- Define provider-agnostic video interfaces under the Content Studio video module.
- Implement Grok Imagine support for all 5 modes: text-to-video, image-to-video, reference-to-video, video editing, and video extension.
- Keep async job start/status/download behavior behind the provider abstraction.
- Preserve current pending/running semantics from the landed job pipeline.
- Add a manual/live smoke path for xAI end-to-end verification, gated so it is not run by default because it incurs provider cost.
Acceptance Criteria
- Existing job create/get/poll/retry routes can call the provider abstraction rather than xAI-specific helpers directly.
- Unit/focused tests cover provider selection and mode-specific request mapping.
- Live xAI smoke instructions are documented and opt-in only.
Out of Scope
- ffmpeg final composition.
- governance and cost-tracking integration.
- UI redesign beyond what is needed to select/trigger provider-backed generation.
Parent: #508
Context
Phase 1A/1B job-backed scene clip generation landed in commit 1318f072, but the current pipeline is still xAI/job-slice oriented. This follow-up extracts the provider contract so Content Studio can support multiple video providers and all Grok Imagine generation modes without coupling UI/API code directly to xAI details.
Scope
Acceptance Criteria
Out of Scope