Video generation

Animate a still image into a short clip. Pass a start frame plus an optional motion prompt; RelayX serves the result from its own R2 bucket. Async by default — poll the task handle, or pass "wait": true for short clips.

POST /v1/videos/generations

width / height: 256–1280, must be a multiple of 32, total area ≤ 921,600 px. duration: 1–30s (≤ 8s when wait=true). Values that don’t fit return a 400 — they are not silently adjusted.

Try it

# 1) Submit — returns { "rx_task_id": "…", "status": "processing" }
curl https://relayx.timor419.com/v1/videos/generations \
  -H "Authorization: Bearer $RELAYX_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "rx-video-ltx",
  "image": "https://example.com/start.png",
  "prompt": "slow cinematic push-in, gentle motion",
  "width": 1280,
  "height": 704,
  "duration": 5
}'

# 2) Poll until status == "completed" (then data[0].url is your clip)
curl https://relayx.timor419.com/v1/videos/generations/<rx_task_id> \
  -H "Authorization: Bearer $RELAYX_KEY"