Skip to content

Video generation

Text → video, tri-parity across Azure / GCP / AWS. Every provider is async. The pattern is submit → poll → fetch; the app never waits synchronously.

The pipeline

     ┌─────────┐    ┌──────────┐    ┌──────────┐    ┌──────────┐
     │ prompt  │──► │  submit  │──► │  poll    │──► │  fetch   │
     │  text   │    │  (job)   │    │ (status) │    │  bytes   │
     └─────────┘    └──────────┘    └──────────┘    └──────────┘
                        ~1s          ~30-300s+         seconds

Video generation takes 1–5 minutes on every provider. The service returns a job_id immediately and the caller polls a separate endpoint for the finished MP4.

Per-cloud services

Cloud Service Default model SDK / API
Azure Azure OpenAI Sora sora-2 REST POST /openai/v1/video/generations/jobs (Sora endpoints are REST-only during preview — no client.videos.generate in the openai package yet).
GCP Vertex AI Veo veo-3.1-generate-preview google-genai client.models.generate_videos (returns an Operation; poll with client.operations.get).
AWS Bedrock Nova Reel amazon.nova-reel-v1:1 boto3 bedrock-runtime start_async_invoke (result lands in S3; poll with get_async_invoke).

Docs verified 2026-08-08

Model catalog snapshot

Provider Model IDs (verified) Notes
Azure OpenAI sora-2 (current default), sora-2-pro, sora (legacy) REST preview api-version. Sizes 480×480, 480×854, 720×1280, 1280×720, 1024×1792, 1792×1024. Duration n_seconds up to 20 (sora-2) or 60 (sora-2-pro).
Vertex Veo veo-3.1-generate-preview, veo-3.1-fast-generate-preview, veo-3.1-lite-generate-preview Aspect 16:9 or 9:16. Resolution 720p (default) / 1080p / 4k. Duration 4 / 6 / 8 seconds (8 required for 1080p/4k).
Bedrock Nova Reel amazon.nova-reel-v1:1 1280×720 fixed. 24 fps. durationSeconds in 6-second increments up to 120s. Text + optional first-frame image. Requires outputDataConfig (S3 URI).

Pages

  • Generate — submit-poll-fetch per provider, verified request shapes.
  • Deploy — Terraform composing E1 baseline + per-cloud video resources (S3 bucket + IAM for Bedrock; SA + IAM for Vertex; API-version note for Azure).

Validate-only

No live video generation in CI. Each page's "verify" block is the local one-liner to run against your own credentials. Live video jobs typically cost a few dollars each — the recipe assumes you'll opt in per-run.