Skip to main content
Last updated: 2026-06-06

OpenAI Video Format

Crazyrouter supports the official OpenAI video API format, compatible with the OpenAI SDK.

Create Video

POST /v1/videos

Request Parameters

ParameterTypeRequiredDescription
modelstringYesModel name, e.g. veo-3.1-fast, veo-3.1-quality
promptstringYesVideo description prompt
sizestringNoVideo size: 1920x1080, 1080x1920, 1080x1080
durationintegerNoVideo duration (seconds)
image_urlstringNoReference image URL
storyboardarrayNoStoryboard script
privatebooleanNoWhether to use private mode

Request Examples

curl -X POST https://api.crazyrouter.com/v1/videos \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "veo-3.1-fast",
    "prompt": "A timelapse of a city skyline from day to night, clouds moving quickly",
    "size": "1920x1080",
    "duration": 10
  }'
import requests

response = requests.post(
    "https://api.crazyrouter.com/v1/videos",
    headers={
        "Content-Type": "application/json",
        "Authorization": "Bearer YOUR_API_KEY"
    },
    json={
        "model": "veo-3.1-fast",
        "prompt": "A timelapse of a city skyline from day to night",
        "size": "1920x1080",
        "duration": 10
    }
)

print(response.json())

Response Example

{
  "code": "success",
  "message": "",
  "data": {
    "id": "video_abc123",
    "task_id": "video_abc123",
    "status": "processing"
  }
}

Query Video

GET /v1/videos/{id}
cURL
curl https://api.crazyrouter.com/v1/videos/video_abc123 \
  -H "Authorization: Bearer YOUR_API_KEY"

Response Example (Completed)

{
  "code": "success",
  "message": "",
  "data": {
    "id": "video_abc123",
    "task_id": "video_abc123",
    "status": "SUCCESS",
    "artifact_url": "https://media.crazyrouter.com/task-artifacts/example.mp4",
    "result_url": "https://media.crazyrouter.com/task-artifacts/example.mp4"
  }
}

Download Video

GET /v1/videos/{id}/content
Download the video file directly.
cURL
curl -o output.mp4 https://api.crazyrouter.com/v1/videos/video_abc123/content \
  -H "Authorization: Bearer YOUR_API_KEY"

Edit Video

Pass image_url in the create request for image-to-video:
{
  "model": "veo-3.1-fast",
  "prompt": "The scene comes to life with gentle movement",
  "image_url": "https://example.com/scene.jpg",
  "size": "1920x1080",
  "duration": 5
}

Storyboard

{
  "model": "veo-3.1-fast",
  "storyboard": [
    {"prompt": "Wide shot of a forest at dawn", "duration": 3},
    {"prompt": "A deer walks into frame", "duration": 4},
    {"prompt": "Close-up of the deer looking at camera", "duration": 3}
  ],
  "size": "1920x1080"
}

Private Mode

Set private: true so the generated video won’t appear in the public gallery:
{
  "model": "veo-3.1-fast",
  "prompt": "A confidential product demo video",
  "size": "1920x1080",
  "private": true
}

Task Status

StatusDescription
processingProcessing
SUCCESSCompleted
failedFailed