Videos
Upscale a previously generated video to twice its resolution (2x). Pass the video `url` you received from `createVideo`, `createVideoFromReferences`, or `editVideo` - it must be a video you generated within the last 7 days; arbitrary external videos are not accepted. Both dimensions of the source must be under 960 pixels: griffin (480p) output qualifies; griffin-hd (720p) output does not, landscape or portrait (only a square 720x720 would) - generate on griffin if you intend to upscale. A too-large source fails the job and the held credits are refunded. The job result is the new video URL (2x width and height, same duration) and its duration in seconds. Billed per second of video, independent of model; held when the job is accepted and refunded if it fails or is cancelled. Pass an optional `request_id` to tag the result so you can locate it later via listGenerations (type video). Related tools: `createVideo` for image-to-video, `editVideo` to modify a generated video. Requires an API key (user scope). The call returns 202 with a job id - poll getApiJob (pass wait 30 to long-poll) honouring poll_after_ms, until status is succeeded; its result field is exactly the response documented for this operation. Synchronous responses are deprecated but still supported: pass `async: false` to block until the result is ready and receive it as the response body. Synchronous calls run on the same queue: the response carries an X-Ludo-Job-Id header, and a job still running after 15 minutes comes back as 202 with the job instead of an error. Each account may have up to 50 generations queued or running at once via the API; a request beyond that returns 429 (code PENDING_JOBS_LIMIT).
post/assets/video/upscale
Request body
Response
Success
Changes
Changed in 1 of the 17 revisions of this API.1
- ○
added the success response with the status
response-success-status-added
- ○