Documentation Index
Fetch the complete documentation index at: https://runcrate.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
Video generation is asynchronous. You submit a job, poll for completion, then download the MP4 result.
Flow
Endpoints
| Step | Endpoint | Method |
|---|
| Submit | /v1/videos | POST |
| Poll | /v1/videos/{id} | GET |
| Download | /v1/videos/{id}/download | GET |
Full Example
import requests, time
# Step 1: Submit job
response = requests.post(
"https://api.runcrate.ai/v1/videos",
headers={
"Authorization": "Bearer rc_live_YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"model": "google/veo-3.0",
"prompt": "A cinematic sunrise over misty mountains",
"duration": 6,
},
)
job = response.json()
print("Job ID:", job["id"])
# Step 2: Poll for completion
while True:
poll = requests.get(
f"https://api.runcrate.ai/v1/videos/{job['id']}",
headers={"Authorization": "Bearer rc_live_YOUR_API_KEY"},
)
data = poll.json()
if data["status"] == "completed":
break
time.sleep(5)
# Step 3: Download the video
video = requests.get(
f"https://api.runcrate.ai/v1/videos/{job['id']}/download",
headers={"Authorization": "Bearer rc_live_YOUR_API_KEY"},
)
with open("video.mp4", "wb") as f:
f.write(video.content)
Parameters
| Parameter | Type | Description |
|---|
model | string | Model ID (required) |
prompt | string | Text description (required) |
duration | integer | Video length in seconds |
aspect_ratio | string | 16:9 or 9:16 |
Duration options vary by model. Some models use discrete choices (e.g., 5s or 10s), others support a continuous range.
Available Video Models
| Model | Durations | Pricing | Notes |
|---|
| Sora 2 | 4, 8, 12s | Per second | OpenAI’s video model |
| Sora 2 Pro | 4, 8, 12s | Per second | Higher quality variant |
| Veo 2.0 | 5–8s | Per second | Google’s video model |
| Veo 3.0 | 4, 6, 8s | Per second | Latest Google model |
| Veo 3.0 Audio | 4, 6, 8s | Per second | Video with generated audio |
| Kling v3 | 3–15s | Per second | Continuous duration range |
| Seedance | 2–12s | Per second | ByteDance’s model |
| Hailuo 02 | 6, 10s | Per second | MiniMax’s model |
Job Statuses
| Status | Meaning |
|---|
queued | Job is waiting to start |
processing | Video is being generated |
completed | Ready for download |
failed | Generation failed |