Video

Creating videos

Generate a short video from a text prompt, optionally seeded with a starting image. Returns a hosted MP4 URL on qaves.me.

Endpoint

POST https://qaves.me/api/v1/videos/generations

Headers

Authorizationstringrequired
Bearer sk_qu_… — see Authentication.
Content-Typestringrequired
Must be application/json.

Body parameters

promptstringrequired
What you want to see. Plain text describing the scene, motion, and style.
durationintegeroptional
Length in seconds. One of 5 (default) or 10.
imagestringoptional
Optional https:// URL of a starting frame. When provided, the model performs image-to-video using your prompt to drive motion.
bucketstringoptional
Label to group this video under. Auto-normalized to lowercase kebab-case, max 64 chars. Defaults to default. See Working with buckets.

Model

All video generations use p-video. You don't need to send a model parameter.

Response

created_atintegeroptional
Unix epoch (seconds).
modelstringoptional
Always p-video.
promptstringoptional
The prompt you sent.
bucketstringoptional
Normalized bucket name.
durationintegeroptional
Clip length in seconds.
imagestring | undefinedoptional
Echo of your starting-frame URL when image-to-video is used.
completion_msintegeroptional
Total server-side time in milliseconds.
rate_limitobjectoptional
Daily video quota. See Rate limits.
dataarrayoptional
Array with one entry: { id, url } pointing at the hosted MP4.
{
  "created_at": 1778833800,
  "model": "p-video",
  "prompt": "A neon orange fox darting through a forest at dusk",
  "bucket": "default",
  "duration": 5,
  "completion_ms": 18420,
  "rate_limit": {
    "limit": 20,
    "used": 1,
    "remaining": 19,
    "next_available_at": 1778920200
  },
  "data": [{ "id": "vid_…", "url": "https://qaves.me/api/i/<id>.mp4" }]
}

Examples

Text-to-video

curl https://qaves.me/api/v1/videos/generations \
  -H "Authorization: Bearer sk_qu_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A neon orange fox darting through a forest at dusk",
    "duration": 5
  }'

Image-to-video

{
  "prompt": "Slowly zoom in while the character smiles",
  "image": "https://example.com/frame.png",
  "duration": 10
}

Heads up

Video generations can take 20 seconds to several minutes. Set your HTTP client timeout to at least 5 minutes. The connection stays open until the clip is ready.