API reference
Generate video
Animate a still, or continue a clip you already have.
POST
/v1/videosOne endpoint for both. Give it an image to start a new clip, or a previous video job to continue from its final frame. Each call returns roughly five seconds of MP4 and is billed as one clip, so chain calls to build a longer sequence.
Body
imagestring- The starting frame: an image id from a finished job, or a publicly reachable URL. Required unless continue_from is given.
continue_fromstring- A succeeded video job to continue from. Required unless image is given.
promptstring- Describes the motion, not the subject. "the camera pushes in slowly" reads better than a scene description. Carries over when continuing.
motioninteger- How much movement to introduce, 0 to 100. Defaults to 35. Higher values move more and drift further from the source.
resolutionstring- 480p (default) or 720p.
loopboolean- Bias the render towards a seamless loop.
prioritystring- standard (default) or batch. Batch costs a quarter and carries no concurrency guarantee.
webhook_urlstring- Overrides the account webhook for this job only.
metadataobject- Up to 16 key-value pairs echoed back on the job, for correlating with your own records.
curl -X POST https://api.journeyapi.dev/v1/videos \
-H "Authorization: Bearer $JOURNEY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"image": "img_01HQ8VZ4T2B7MC",
"prompt": "the beam sweeps, fog drifts left, camera holds",
"motion": 30
}'curl -X POST https://api.journeyapi.dev/v1/videos \
-H "Authorization: Bearer $JOURNEY_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "continue_from": "job_01HQ8W3D6V2MHN", "prompt": "the fog thickens" }'{
"id": "job_01HQ8W3D6V2MHN",
"object": "job",
"type": "video",
"status": "succeeded",
"video": {
"url": "https://cdn.journeyapi.dev/v/01HQ8W3D6V2MHN.mp4",
"poster_url": "https://cdn.journeyapi.dev/v/01HQ8W3D6V2MHN.png",
"duration_seconds": 5.2,
"width": 854,
"height": 480
},
"cost_usd": 0.33,
"created_at": "2026-09-18T09:19:20Z",
"completed_at": "2026-09-18T09:20:12Z"
}