How it works
Video upscaling uses the same async queue system as video generation:- Queue — Submit your video to
/video/queuewith thetopaz-video-upscalemodel - Poll — Check
/video/retrievewith the returnedqueue_iduntil the status iscompleted - Complete — Call
/video/completeto finalize and get the output URL
Upscale factors
The
upscale_factor parameter replaces resolution for upscale models. Passing resolution will return an error. This is because the output resolution depends on the input video’s dimensions — a 2x upscale of a 720p video produces a different result than a 2x upscale of a 480p video.Supported input formats
- Formats: MP4, MOV, WebM
- Input methods: HTTPS URL or
data:video/...;base64,...data URL - Max duration: 300 seconds (5 minutes)
API usage
Queue an upscale job
queue_id to track the job:
Poll for completion
Finalize with complete
After retrieving the result, call/video/complete to finalize:
API parameters
Parameters not used for upscale models
The following parameters are not accepted fortopaz-video-upscale and will return an error if provided:
The
duration parameter is also ignored — the server detects duration directly from the video file for billing accuracy.
Pricing
Pricing is based on duration, output resolution tier, and frame rate. The output resolution tier is determined by the input video’s height multiplied by the upscale factor.Output resolution tiers
Videos with frame rates above 48fps cost 2x the per-second rate.
Pricing examples
Use the Video Quote API to get exact pricing before submitting a job.
Getting a quote
input_height so it can estimate the output resolution tier. This is optional — if omitted, the quote assumes a conservative estimate.