P-Video-2-Pro-Replace

P-Video-2-Pro-Replace puts the person from a picture into a source video. The camera, framing, background, other people, timing, and motion stay as they are. The source soundtrack is kept, and the new person’s lips follow the original audio.

Send a video (1 to 120 seconds) and 1 or 2 photos. One picture replaces the main person. Two pictures replace two people; add instruction_prompt when you need to say who replaces whom. Output is a 24 fps MP4 with the same length and aspect ratio as the source, at 480p, 768p, 1080p, 2k, or 4k. 1080p, 2k, and 4k upscale the 768p video with P-Video-Upscale and keep 24 fps.

For a faster, cheaper 720p or 1080p swap, use P-Video-Replace.

Note

When using P-Video-2-Pro-Replace, respect the copyright of the videos and images you use as input and of the video you generate.

Pricing: billed per second of output video, in whole seconds. The rate depends on resolution only. The number of pictures, the instruction, and the audio settings do not change the price. 1080p, 2k, and 4k are the 768p rate plus the P-Video-Upscale rate for that target (+$0.02, +$0.04, and +$0.08 per second). A 10 second video is $0.50 at 480p, $1.00 at 768p, or $1.80 at 4k.

480p

768p

1080p

2k

4k

Per output second

$0.05

$0.10

$0.12

$0.14

$0.18

8 seconds

$0.40

$0.80

$0.96

$1.12

$1.44

10 seconds

$0.50

$1.00

$1.20

$1.40

$1.80

30 seconds

$1.50

$3.00

$3.60

$4.20

$5.40

120 seconds

$6.00

$12.00

$14.40

$16.80

$21.60

Speed: end-to-end generation time on the Pruna API. An 8 second clip at 768p takes about 1 min 45 s. A 10 second clip takes about 2 min 30 s at 768p or 1080p, and about 4 min at 4k.

Clip

Resolution

Generation time

Price

8 s

768p

~1 min 45 s

$0.80

10 s

768p

~2 min 30 s

$1.00

10 s

1080p

~2 min 30 s

$1.20

10 s

4k

~4 min

$1.80

24 s

768p

~6 min

$2.40

120 s

480p

~18 min

$6.00

Tip

Try in the Playground in the Pruna User Portal.

Prompt formula

Fast pass

One video, one photo. Empty instruction. Enough for a first swap when one person is on screen.

[video] [images]
source clip; it sets motion, camera, and audio, one still of the new person

Locked-in

Two photos, or one person in a group. Name who replaces whom and what stays.

[video] [images] [instruction_prompt]
same source clip every rerun, 1 or 2 stills, one person each, who in the video → which photo; what to keep
Fast pass: one creator clip and one photo. Speech, lip sync, and the product in hand stay.
Locked-in: instruction_prompt replaces only the barista. The customers stay.
  1. video — required. Source RGB video (MP4, MOV, or WebM, 1–120 s, up to 8K). Motion, camera, scene, and audio come from this file. Longer videos are cut to 120 s. There is no duration or aspect_ratio input: the source sets both.

    • Fast pass: a single-person talking clip.

    • Locked-in: the same file every rerun when you compare photos or instructions.

  2. images — required. 1 or 2 picture URLs. One person, or two people with one picture each. A third picture is ignored. Generate a locked still with P-Image or P-Image-Ideogram when you need a repeatable face.

    • Fast pass: one well-lit still that fits the voice on the source.

    • Locked-in: one still per person; match framing to the source when you can.

  3. instruction_prompt — optional. Who in the source to replace, and which photo goes to which person. Leave empty when one person is on screen, or when two photos should map left to right.

    • Fast pass: empty.

    • Locked-in: “Replace only the barista standing behind the counter with the person in the image. Keep the customers in the foreground unchanged.”

Slot

Fast pass (enough to run)

Locked-in (stronger control)

video

One person on screen; clear face.

Same clip every rerun; name the target if several people share the frame.

images

One still.

One still per person; two photos max.

instruction_prompt

Empty.

Who → which photo; list what stays (other people, props, camera, audio).

Tip

For comprehensive video prompting (motion, framing, atmosphere), see the Video Generation guide.

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-2-Pro-Replace swaps people in existing footage (Model: p-video-2-pro-replace) and requires a 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-2-Pro-Replace

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 (up to 120 s, 4k)

Swap characters, faster / cheaper

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 + 1 or 2 stills

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, soundtrack

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 this person in this clip, keep the motion and audio.”

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

“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)

~66 s (768p)

~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.25 (480p) · $0.50 (768p)

$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

No

Yes

No

Quick decision guide

  • Footage exists and you need different people in the same shot, up to 120 s and 4k → P-Video-2-Pro-Replace.

  • Footage exists and you want a faster, cheaper 720p or 1080p swap → P-Video-Replace.

  • Footage exists and the hero still should move like the driver → P-Video-Animate.

  • Footage exists and you need a color, product, environment, object, or text edit → P-Video-Edit.

  • Footage exists and you only need it sharper → P-Video-Upscale.

  • Need talking video from a still, including songs or any character, from 480p through 4k → P-Video-2-Pro-Avatar.

  • Need 720p / 1080p talking head, voice only, no music bed → P-Video-Avatar.

  • Need cinematic generation from text or a single first / last frame → P-Video-2-Pro.

  • Need multiple image, video, or audio references on MiniMax H3 → P-Video-2-Pro-Reference.

  • Need imported audio muxed onto a new clip, or draft previews → P-Video-2.

  • Need the fastest / cheapest generation iteration → P-Video.

P-Video-Animate vs. replace models

Both families take a source video and reference image(s), but they are built for different workflows—not interchangeable substitutes.

P-Video-Animate

P-Video-2-Pro-Replace

P-Video-Replace

What it does

Animates one image using motion, timing, and camera movement from a driver clip.

Replaces the character(s) in a video with 1 or 2 photos. Default replace model: 1–120 s, 480p–4k.

Replaces the character(s) in a video at 720p or 1080p. Faster and cheaper.

What atmosphere you keep

The image’s atmosphere—look, lighting, wardrobe, and world of the still drive the output.

The video’s atmosphere—background, blocking, camera, soundtrack, and scene.

The video’s atmosphere—background, blocking, camera, and scene.

When to use it

You have an approved hero still and want it to perform like an existing take.

You have finished footage and want different people in the same shot.

Same job when you need a cheaper 720p / 1080p pass.

Rule of thumb: Choose Animate when the still defines the world; choose P-Video-2-Pro-Replace when the clip defines the world. Use P-Video-Replace when you want the cheaper 720p / 1080p swap.

Need to change what is in the shot (color, material, environment, objects, text) while keeping the same people and camera? Use P-Video-Edit.

Tip

Common pipelines: Generate stills with P-Image → P-Video-2-Pro-Avatar for new spokesperson clips → P-Video-2-Pro-Replace to drop talent into b-roll → P-Video-Animate to apply a hero still to motion from an avatar or ad clip.

Key features

UGC and ads

One creator clip, a new face for every market. Speech, lip sync, and the product in hand stay.

Two people, one call

Send two photos. With no instruction, photos are matched left to right. Write a short instruction to pick another order.

Target one person in a group

Describe who to replace: the barista behind the counter, the person on the right, the man in the red jacket.

Fashion and full looks

The whole person can change, outfit included. The walk and the camera stay.

Stylized characters

Swap a real person for a stylized character or a mascot. The character keeps its style.

Long takes

Clips from 1 second to 120 seconds. A 24 second take held the same face from start to end.

Any aspect ratio

Vertical, 16:9, square, or cinema. The output keeps the shape of the source (from 1:4 to 4:1).

Audio-aware output

The source soundtrack is kept. Lips follow it. Control this with save_audio and ignore_audio.

Practical constraints

  • Input is one video plus 1 or 2 photos. A third photo is ignored.

  • Resolution is 480p, 768p, 1080p, 2k, or 4k. Default is 768p. There is no 720p option. 1080p, 2k, and 4k upscale the 768p video and take longer.

  • Duration is 1–120 seconds. Longer videos are cut to 120 s. The output has the same length as the source.

  • Aspect ratio must be between 1:4 and 4:1. The output keeps the source shape.

  • Output is 24 fps.

  • The voice stays the voice of the source. Pick a photo that fits that voice.

  • When the new person looks very similar to the person in the video, the model hides the source face so the new identity comes through; expressions are then carried by the body pose and the audio.

  • Rate limit: 50 requests per minute.

Examples

One video plus one or two photos. Open a card for the source, the stills, and the before / after.

Integration

P-Video-2-Pro-Replace uses the same Pruna predictions API as other performance models. Upload the video and images, set Model: p-video-2-pro-replace, then poll or use sync headers as with other video models.

For the full p-video-2-pro-replace request and response reference, use P-Video-2-Pro-Replace in the API guides.

Tip

For more information on how to use the API, see the API Reference.

API endpoint

Base URL: https://api.pruna.ai/v1/predictions

Authentication

-H 'apikey: YOUR_API_KEY'
-H 'Model: p-video-2-pro-replace'

Step 1: Upload the video and the picture

curl -X POST "https://api.pruna.ai/v1/files" \
  -H "apikey: YOUR_API_KEY" \
  -F "content=@/path/to/source.mp4"

curl -X POST "https://api.pruna.ai/v1/files" \
  -H "apikey: YOUR_API_KEY" \
  -F "content=@/path/to/new-person.jpg"

Use the returned file URLs as video and entries in images.

Step 2: Create generation request

One person (asynchronous)

A 10 second video takes about 1.5 to 2 minutes, so start the request and poll its status.

curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Model: p-video-2-pro-replace' \
  -d '{
    "input": {
      "video": "https://api.pruna.ai/v1/files/source-video-abc123",
      "images": ["https://api.pruna.ai/v1/files/new-person-def456"],
      "resolution": "768p"
    }
  }'

One person (synchronous)

curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Model: p-video-2-pro-replace' \
  -H 'Try-Sync: true' \
  -d '{
    "input": {
      "video": "https://api.pruna.ai/v1/files/source-video-abc123",
      "images": ["https://api.pruna.ai/v1/files/new-person-def456"],
      "resolution": "480p"
    }
  }'

Two people

Pass one picture per person and say who is who in instruction_prompt. Without an instruction, the two pictures are matched left to right.

curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Model: p-video-2-pro-replace' \
  -d '{
    "input": {
      "video": "https://api.pruna.ai/v1/files/two-dancers-abc123",
      "images": [
        "https://api.pruna.ai/v1/files/woman-def456",
        "https://api.pruna.ai/v1/files/man-ghi789"
      ],
      "instruction_prompt": "The dancer on the left becomes the woman from image 1, the one on the right the man from image 2.",
      "resolution": "768p"
    }
  }'

Configuration

Required parameters

Parameter

Type

Description

video

file/string

Source video URL (MP4, MOV, or WebM, 1–120 s, up to 8K). Motion, scene, and audio come from it. Longer videos are cut to 120 s.

images

file[] / string[]

1 or 2 picture URLs: one person, or two people with one picture each. Extra pictures are ignored.

Optional parameters

Parameter

Type

Default

Description

instruction_prompt

string

""

Who replaces whom, or other placement instructions.

resolution

string

"768p"

"480p", "768p", "1080p", "2k", or "4k" (aspect ratio kept). 1080p, 2k, and 4k upscale the 768p video.

save_audio

boolean

true

Keep the source soundtrack in the output.

ignore_audio

boolean

false

Generate without listening to the source audio (lips then do not follow it). With save_audio, the soundtrack is still added to the output.

enable_safety_filter

boolean

true

Check the inputs against the content policy. When false, only sexual content involving minors and self-harm are blocked.

seed

integer

random

Random seed for reproducible results.

Supported option values

  • resolution: 480p, 768p, 1080p, 2k, 4k.

Argument recommendations

Use these patterns for consistent quality:

  • video: prefer a clear face, stable exposure, and an aspect ratio between 1:4 and 4:1. The source sets length and shape.

  • images: one well-lit still per person; pick a photo that fits the source voice. Two photos max.

  • instruction_prompt: leave empty for a single person. For two people, name left / right or appearance. For a group, name the one person to change and what stays.

  • resolution: iterate in 480p, then rerun finals in 768p. Use 1080p, 2k, or 4k when delivery needs a larger frame.

  • save_audio / ignore_audio: keep save_audio: true for dialogue and songs; set ignore_audio: true when you only need motion without listening to the source.

  • seed: set for reproducible A/B tests; change one variable at a time.

  • enable_safety_filter: leave default unless your workflow includes explicit moderation.