ACAI
ProductEvidenceDocsPricing
ACAI

Continuous compliance for AI. Every call scanned, classified, audit-logged, and evidence-ready.

Product

  • AI Layer
  • Sample Reports
  • Pricing
  • Documentation
  • Quickstart
  • Start Free

Company

  • About
  • Talk to an Engineer
  • Security
  • Support

Legal

  • Privacy Policy
  • Terms of Service
Service-Disabled Veteran-Owned Small Business
© 2026 Agile Cloud & AI LLC. All rights reserved.
OverviewQuick StartMigration GuideCompliance Quick StartNext Steps

User Guide

AuthenticationChat CompletionsEmbeddingsTranscriptionModelsGuardrailsRate LimitsError HandlingBYOK / Passthrough

Features

Batch APISemantic CacheRAGPromptsSmart RoutingRealtime APIAudit & Compliance

Developer

ArchitectureSelf-HostingAPI ReferenceInteractive DocsConfigurationContributing
Back to site

Video Generation

Generate videos from text prompts using Sora. Async job-based endpoint — submit a job, poll for results.

Endpoints

POST https://api.agilecloud.ai/v1/video/generations     # Submit job
GET  https://api.agilecloud.ai/v1/video/generations/:id  # Poll status

Submit Job — Request Parameters

ParameterTypeRequiredDescription
modelstringNoDefault: sora
promptstringYesText description of the video to generate
sizestringNo480p, 720p, 1080p. Default: 720p
durationintegerNoDuration in seconds (1–20). Default: 5
nintegerNoNumber of videos (1–4). Default: 1

cURL Example

Submit a video generation job:

curl -X POST https://api.agilecloud.ai/v1/video/generations \
  -H "Authorization: Bearer $DIRECTAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora",
    "prompt": "A drone shot flying over a mountain lake at sunrise",
    "size": "1080p",
    "duration": 10
  }'

Response (202 Accepted)

{
  "id": "vgen_abc123",
  "status": "pending",
  "model": "sora",
  "created": 1719000000
}

Poll for results:

curl https://api.agilecloud.ai/v1/video/generations/vgen_abc123 \
  -H "Authorization: Bearer $DIRECTAI_API_KEY"

Response (completed)

{
  "id": "vgen_abc123",
  "status": "completed",
  "model": "sora",
  "created": 1719000000,
  "data": [
    {
      "url": "https://...",
      "revised_prompt": "A cinematic drone shot..."
    }
  ]
}

Python Example

import httpx
import time

BASE = "https://api.agilecloud.ai"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY"}

# Submit job
resp = httpx.post(f"{BASE}/v1/video/generations", headers=HEADERS, json={
    "model": "sora",
    "prompt": "A drone shot flying over a mountain lake at sunrise",
    "size": "1080p",
    "duration": 10,
})
job = resp.json()
print("Job submitted:", job["id"])

# Poll until complete
while job["status"] in ("pending", "processing"):
    time.sleep(5)
    resp = httpx.get(f"{BASE}/v1/video/generations/{job['id']}", headers=HEADERS)
    job = resp.json()
    print("Status:", job["status"])

if job["status"] == "completed":
    print("Video URL:", job["data"][0]["url"])
else:
    print("Failed:", job.get("error"))

Job Statuses

StatusDescription
pendingJob queued, waiting for processing
processingVideo is being generated
completedVideo ready — check data array
failedGeneration failed — check error field

Notes

  • Video generation is async — submit returns 202, poll the job ID for results.
  • Available on Business and Enterprise tiers.
  • Content safety and prompt injection guardrails apply to the prompt text.
  • Video URLs expire — download promptly after completion.
  • All requests are audit-logged.