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
AuthorizationstringrequiredBearer sk_qu_… — see Authentication.Content-TypestringrequiredMust be
application/json.Body parameters
promptstringrequiredWhat you want to see. Plain text describing the scene, motion, and style.
durationintegeroptionalLength in seconds. One of
5 (default) or 10.imagestringoptionalOptional
https:// URL of a starting frame. When provided, the model performs image-to-video using your prompt to drive motion.bucketstringoptionalLabel 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_atintegeroptionalUnix epoch (seconds).
modelstringoptionalAlways
p-video.promptstringoptionalThe prompt you sent.
bucketstringoptionalNormalized bucket name.
durationintegeroptionalClip length in seconds.
imagestring | undefinedoptionalEcho of your starting-frame URL when image-to-video is used.
completion_msintegeroptionalTotal server-side time in milliseconds.
rate_limitobjectoptionalDaily video quota. See Rate limits.
dataarrayoptionalArray 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.