Skip to main content

1. Create an API key

Go to Account Settings and create a new API key. Copy the secret — it’s only shown once.

2. Generate a video

curl -X POST https://rawugc.com/api/v1/videos/generate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "RawUGC-Version: 2026-03-06" \
  -d '{
    "model": "sora-2-text-to-video",
    "prompt": "A serene beach at sunset with gentle waves",
    "aspectRatio": "landscape",
    "nFrames": "15"
  }'
The RawUGC-Version header is optional. If omitted, your API key’s pinned version is used, or the latest version (2026-03-06) if unpinned. See Versioning.
You’ll receive a response like:
{
  "videoId": "vid_jh7a3b9xq2pn4r8k",
  "model": "sora-2-text-to-video",
  "status": "pending",
  "creditsUsed": 6,
  "newBalance": 994,
  "estimatedCompletionTime": "1-3 minutes",
  "createdAt": 1234567890000
}

3. Check video status

Poll the status endpoint until the video is ready:
curl https://rawugc.com/api/v1/videos/vid_jh7a3b9xq2pn4r8k \
  -H "Authorization: Bearer YOUR_API_KEY"
When complete, the response includes the video URL:
{
  "videoId": "vid_jh7a3b9xq2pn4r8k",
  "status": "completed",
  "model": "sora-2-text-to-video",
  "url": "https://storage.rawugc.com/videos/abc123.mp4",
  "creditsUsed": 6,
  "createdAt": 1234567890000,
  "completedAt": 1234567950000
}

Next steps