P-Video-Upscale

P-Video-Upscale is Pruna’s video upscaling model. Send an existing video and a resolution target. It returns a your video with the selected higher resolution at 720p, 1080p, 2k, or 4k. There is no prompt.

It sharpens what is already in the frame. The aspect ratio stays the same, the source audio is copied, and a clip that is already larger than the target is not shrunk.

It is optimized for:

  • Live action, anime, game footage, and archival film

  • Targets of 720p, 1080p, 2k, and 4k

  • Keeping shape, sound, and motion

    • Price: $0.01 per second at 720p, $0.02 at 1080p, $0.04 at 2k, $0.08 at 4k, up to 30 fps. Above 30 fps the rate doubles.

Not sure how this differs from the rest of the video models? See Choosing the right video model below.

Note

When using P-Video-Upscale, respect the copyright of videos you use as input and of the video you generate.

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. A 60 fps source is billed at the above-30-fps rate even when fps is left empty.

720p

1080p

2k

4k

Per output second, up to 30 fps

$0.01

$0.02

$0.04

$0.08

5 seconds

$0.05

$0.10

$0.20

$0.40

10 seconds

$0.10

$0.20

$0.40

$0.80

Per output second, above 30 fps

$0.02

$0.04

$0.08

$0.16

Tip

Try in the Playground in the Pruna User Portal. API reference: p-video-upscale on Pruna API.

What you send

Standard

One source clip and the default target. Enough for a 1080p delivery.

[video] [target]
existing clip, 1080p

Smoother motion

Same clip, plus a frame rate. Frames above the source rate are interpolated. Above 30 fps the price doubles.

[video] [target] [fps]
same source clip, 1080p, 60
Standard: source ↔ output. Lavender fields, target: 1080p.
Smoother motion: source ↔ output. Eagle, target: 1080p, fps: 60.
  1. video: required source clip. Maximum upload size 512 MiB. Aspect ratio, audio, and length come from this file.

    • Examples: a campaign plate, UGC take, game capture, anime shot, or archival reel.

  2. target: 720p, 1080p, 2k, or 4k. Default 1080p. These are pixel-area presets. A 16:9 frame at 1080p is 1920×1080. A 9:16 frame at the same target is 1080×1920. A square frame is 1440×1440.

  3. fps: optional, 16 to 60. Leave it empty to keep the source frame rate. A value below the source drops frames. A value above the source interpolates. Above 30 fps the price for that target doubles. Values below 16 or above 60 are rejected.

  4. turbo: optional, default false. Faster generation with slightly lower quality. Same price and same output size.

Slot

Standard (enough to run)

When you need more

video

Any clip you already have.

Same clip every run when comparing targets.

target

1080p.

720p for the lowest price. 2k or 4k for large screens and editing.

fps

Empty. The source frame rate is kept.

Set 60 when you want smoother playback. Extra frames are interpolated.

turbo

false.

true for a faster pass. Compare both on your own footage before making it the default.

There is no prompt, no aspect_ratio, and no duration. The source sets the shape and the length.

How does it differ from other models?

P-Video-Upscale raises the resolution of footage you already have. It does not write a new scene.

Choosing the right video model

Pruna ships performance video models that share the same prediction API, but each solves a different production problem. P-Video-Upscale uses the p-video-upscale model (Model: p-video-upscale header) and requires an existing source video.

P-Video-2-Pro-Avatar

P-Video-2-Pro-Reference

P-Video-2-Pro

P-Video-2

P-Video

P-Video-Avatar

P-Video-Animate

P-Video-Replace

P-Video-Edit

P-Video-Upscale

One-line job

Speak from one still

Generate cinematic footage from prompts + references

Generate cinematic footage from prompts

Generate premium footage from prompts

Generate fast / affordable footage

Speak from one still (script or audio)

Retarget one still with clip motion

Swap characters in existing footage

Rewrite content in existing footage

Sharpen existing footage

You start with

Portrait still + voice_script or audio

Prompt + at least one image or video (+ optional audio, start / end frames)

Text prompt (+ optional first / last frame)

Text prompt (+ optional image / audio)

Text prompt (+ optional image / audio)

Portrait still + voice_script or audio

Source video + one still

Source video + identity stills

Source video + text prompt

Source video

You keep from the source

Aspect ratio of the still; uploaded audio as soundtrack

Identity, motion, and canvas from the uploaded references

N/A (new scene); canvas follows reference images when set

N/A (new scene); strong I2V consistency when an image is set

N/A (new scene)

Aspect ratio of the still

Motion, timing, camera from the driver

Camera, timing, blocking, background

Camera, timing, subject performance

Aspect ratio, audio, motion, and length

Typical ask

“This person, painting, or character says this line — or sings this track.”

“Continue this clip / match these stills for 8 s at 768p.”

“Make an 8 s cinematic product or documentary clip with generated audio.”

“Make a 10 s product ad with music and lip-sync.”

“Draft a 5 s social clip cheaply and fast.”

“This spokesperson says this line in French.”

“Animate this catalog still using our winning ad take.”

“Put our creator in this UGC b-roll.”

“Turn this silver SUV red and keep the camera move.”

“Take this 360p clip to 1080p.”

Generation time (5 s video)

~4.9 s (480p) · ~11 s (768p)

4.0 s (768p speed, 1 image) · 10.6 s (768p cost, 1 image)

4.3 s (768p speed) · 9.1 s (768p quality)

4.5 s (draft: 2.0 s)

9.3 s

—

26.2 s (720p)

~17.9 s (720p)

—

~6.7 s (720p) · ~14 s (1080p)

Cost (5 s video)

$0.10 (480p) · $0.20 (768p)

$0.130 (768p cost + 1 image) · $0.185 (768p speed + 1 image)

$0.125 (768p cost) · $0.175 (768p speed) · $0.375 (768p quality)

$0.13 (draft: $0.08)

$0.10 (draft: $0.03)

$0.125 (720p) · $0.225 (1080p)

$0.15 (720p) · $0.30 (1080p)

$0.15 (720p) · $0.30 (1080p)

$0.225 (draft: $0.125)

$0.05 (720p) · $0.10 (1080p)

Draft mode

No

No

No

Yes

Yes

No

No

No

Yes

No

Quick decision guide

Tip

Common pipeline: Generate plates with P-Video-2 / P-Video or shoot live action → edit with P-Video-Edit if the content must change → P-Video-Upscale as the last pass.

Speed and throughput

Metric

P-Video-Upscale

Execution time (5 s clip at 720p)

~6.7 s

Execution time (5 s 360p clip at 1080p)

~14 s

Cost (5 s, up to 30 fps)

$0.05 at 720p · $0.10 at 1080p · $0.20 at 2k · $0.40 at 4k

Rate limit

50 requests per minute

Max upload

512 MiB

turbo: true is the faster pass. It does not change the price or the output size. Compare it with turbo: false on your own footage before making it the default.

Key features

Resolution targets

One field, target: 720p, 1080p, 2k, or 4k. For a 16:9 source those are 1280×720, 1920×1080, 2560×1440, and 3840×2160.

Aspect ratio kept

Vertical, square, 4:3, and cinema frames come back in their own shape. There is no aspect_ratio input.

Audio kept

The source audio is copied into the output. A silent source returns a silent video. Nothing to re-sync.

Frame rate

Leave fps empty to keep the source rate, up to 60 fps. Set it from 16 to 60 to drop or interpolate frames.

No shrink

A source already larger than the target is returned at its original size. A 1080p clip sent with target: 720p comes back 1920×1080.

Turbo

turbo: true trades a little quality for speed. Same price.

Targets and output sizes

Each target is a pixel budget. The output keeps the source shape and fills that budget.

Source shape

720p

1080p

2k

4k

16:9

1280×720

1920×1080

2560×1440

3840×2160

9:16

720×1280

1080×1920

1440×2560

2160×3840

1:1

960×960

1440×1440

1920×1920

2880×2880

A 4:3 source at 1080p returns 1660×1246. A 21:9 source at 1080p returns 2200×942.

Practical constraints

  • Upload size maximum is 512 MiB. Output is an H.264 MP4 with the selected higher resolution at 720p, 1080p, 2k, or 4k.

  • Length is capped by processed frames, not by a fixed duration. Past the cap the request is rejected.

Target

Frame cap

At 24 fps

At 30 fps

720p

2,400

100 s

80 s

1080p

1,200

50 s

40 s

2k

600

25 s

20 s

4k

300

12.5 s

10 s

  • Above 30 fps, 30 frames per second are processed and the rest are interpolated, so a 60 fps output uses the same cap as 30 fps.

  • fps below 16 or above 60 is rejected.

  • Upscaling sharpens what is in the frame. Small text that is unreadable in the source (signs, labels, engravings) can come out as the wrong letters. Check clips with on-screen text before shipping them.

  • The model stops at 4k. It does not extend a clip and it does not change the scene.

Examples

The clips below are source ↔ output compares from the same calls. Open a tab for the job: any footage, close-up detail, a resolution step, a non-16:9 frame, sound, frame rate, or the 1080p benchmark.

API usage

Get your API key from the Pruna User Portal. Use the same header on every call:

-H 'apikey: YOUR_API_KEY'

Step 1: 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"

Step 2: 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 (4k, turbo)

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
    }
  }'

60 fps

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",
      "fps": 60
    }
  }'

Configuration

Required parameters

Parameter

Type

Description

video

string (URI)

Input video to upscale. Maximum upload size: 512 MiB.

Optional parameters

Parameter

Type

Default

Description

target

string

1080p

720p, 1080p, 2k, or 4k. Pixel-area presets. The source aspect ratio is kept.

fps

integer

source frame rate

16 to 60. Omit it to keep the source frame rate. Below the source drops frames. Above the source interpolates. Above 30 fps the price doubles.

turbo

boolean

false

Faster generation with slightly lower quality. Does not change the price or the output size.

Argument recommendations

  • Model header: p-video-upscale.

  • video: any existing clip under 512 MiB. The source sets the shape, the sound, and the length.

  • target: 1080p for a standard delivery. 720p when price matters. 2k or 4k for large screens. A shorter clip or a lower target is the way past the frame cap.

  • fps: leave it empty unless you want a different rate. Set 60 for smoother playback and expect the doubled rate.

  • turbo: leave false for the final. Turn it on when you need the same size faster.

  • Do not send a prompt. This model does not take one.