Developer API

Create AI videos, images and audio from your own app. Everything you can do in the studio, you can call over HTTPS. Credits are charged exactly like in the studio, and the price is always shown before you commit.

1. Get your API key

Log in, open Developer API in the studio, and press Create key. The key starts with reel_live_ and is shown once — copy it straight away. Keep it secret and never put it in a website or mobile app. You can revoke it at any time.

Send it in a header on every request:

X-API-Key: reel_live_xxxxxxxxxxxxxxxxxxxxxxxx
Base URL: the address of this website, for example https://your-domain.com/api. All bodies are JSON (Content-Type: application/json).

2. List the models you can use

GET/api/services — no key needed. Returns each model's id, name, type, price, and the options it supports (aspect ratios, durations, and so on).

3. Get a price first (optional)

POST/api/generate/quote

curl -X POST $BASE/api/generate/quote \
  -H "X-API-Key: $KEY" -H "Content-Type: application/json" \
  -d '{"serviceId":"SERVICE_ID","aspectRatio":"16:9","duration":5}'

# → { "credits": 40, "balance": 120, "enough": true, "params": { ... } }

4. Create a video

POST/api/generate

curl -X POST $BASE/api/generate \
  -H "X-API-Key: $KEY" -H "Content-Type: application/json" \
  -d '{
    "serviceId": "SERVICE_ID",
    "prompt": "A lone traveller walks toward a glowing city at sunrise, slow dolly-in",
    "aspectRatio": "16:9",
    "duration": 5
  }'

Common fields — serviceId and prompt (3–4000 characters) are required. Optional: aspectRatio, duration, resolution, negativePrompt, seed, generateAudio, and a source image with imageUrl or sourceGenerationId (for image-to-video models). Each model accepts only the options listed for it in /api/services; anything else returns a clear 400 error.

The reply contains the job id, status and creditsCharged. Credits are taken when the job is accepted and refunded automatically if it fails.

5. Check the job

GET/api/generate/JOB_ID/status

{ "id": "...", "status": "QUEUED | PROCESSING | COMPLETED | FAILED", "outputUrl": "...", "error": null }

Poll every 4–5 seconds until status is COMPLETED or FAILED. Videos usually take a few minutes.

6. Your recent jobs

GET/api/generate/history — your latest 60 jobs with status and credits charged.

Errors & limits