p-video-upscale
Upscale an existing video to 720p, 1080p, 2k, or 4k
p-video-upscale takes an existing video and returns a higher-resolution H.264 MP4. The output keeps the source aspect ratio and copies the source audio when the input has any. A clip that is already larger than the chosen target is not shrunk.
Rate Limit: 50 requests per minute
Category: Video Upscaling
Pricing: billed per second of the returned video, rounded up to the next whole second. The rate depends on the target and on the frame rate of the returned video. turbo does not change the price.
| Target | Up to 30 fps | Above 30 fps (up to 60) |
|---|---|---|
720p | $0.01 per second of output video | $0.02 per second of output video |
1080p | $0.02 per second of output video | $0.04 per second of output video |
2k | $0.04 per second of output video | $0.08 per second of output video |
4k | $0.08 per second of output video | $0.16 per second of output video |
A 5-second clip up to 30 fps costs $0.05, $0.10, $0.20, or $0.40 at those targets. The output keeps the source frame rate unless you set fps, so a 60 fps source is billed at the above-30-fps rate even when fps is left empty.
Quickstart
Section titled “Quickstart”Upload your source video
Section titled “Upload your source video”curl -X POST "https://api.pruna.ai/v1/files" \ -H "apikey: YOUR_API_KEY" \ -F "content=@/path/to/source-video.mp4"Upscale the video
Section titled “Upscale the video”curl -X POST 'https://api.pruna.ai/v1/predictions' \ -H 'Content-Type: application/json' \ -H 'apikey: YOUR_API_KEY' \ -H 'Model: p-video-upscale' \ -d '{ "input": { "video": "https://api.pruna.ai/v1/files/source-video-abc123", "target": "1080p" } }'Synchronous request
Section titled “Synchronous request”curl -X POST 'https://api.pruna.ai/v1/predictions' \ -H 'Content-Type: application/json' \ -H 'apikey: YOUR_API_KEY' \ -H 'Model: p-video-upscale' \ -H 'Try-Sync: true' \ -d '{ "input": { "video": "https://api.pruna.ai/v1/files/source-video-abc123", "target": "4k", "turbo": true } }'Parameters
Section titled “Parameters”Required Parameters
Section titled “Required Parameters”| Parameter | Type | Description |
|---|---|---|
| video | string (URI) | Input video to upscale. Maximum upload size: 512 MiB |
Optional Parameters
Section titled “Optional Parameters”| Parameter | Type | Default | Description |
|---|---|---|---|
| target | string | 1080p | Output resolution target: 720p, 1080p, 2k, or 4k. These are pixel-area presets; non-16:9 inputs keep their aspect ratio |
| fps | integer | source | Output frame rate, from 16 to 60. Leave empty to keep the input video's frame rate (up to 60 fps). A higher rate than the input is interpolated. Above 30 fps the higher rate applies |
| turbo | boolean | false | Faster generation with slightly lower quality. Does not change the price |
| enable_safety_filter | boolean | false | Check the video against the content policy. When off, only the always-on categories (sexual content involving minors, self-harm intent or instructions) are still blocked. |
Limits
Section titled “Limits”Length is capped by processed frames, not by a fixed duration:
| Target | Processed-frame cap |
|---|---|
| 720p | 2,400 |
| 1080p | 1,200 |
| 2k | 600 |
| 4k | 300 |
Up to 30 fps every output frame is processed; above 30 fps, 30 frames per second are processed and the rest are interpolated. A clip past the cap is rejected. Use a shorter clip, a lower target, or a lower fps.