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.
Locked-in
Two photos, or one person in a group. Name who replaces whom and what stays.
instruction_prompt replaces only the barista. The customers stay.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 nodurationoraspect_ratioinput: the source sets both.Fast pass: a single-person talking clip.
Locked-in: the same file every rerun when you compare photos or instructions.
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.
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) |
|---|---|---|
|
One person on screen; clear face. |
Same clip every rerun; name the target if several people share the frame. |
|
One still. |
One still per person; two photos max. |
|
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.
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 + |
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 + |
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 |
4.3 s (768p |
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 |
$0.125 (768p |
$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.
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_audioandignore_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, and4kupscale 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 |
|---|---|---|
|
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. |
|
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 |
|---|---|---|---|
|
string |
|
Who replaces whom, or other placement instructions. |
|
string |
|
|
|
boolean |
|
Keep the source soundtrack in the output. |
|
boolean |
|
Generate without listening to the source audio (lips then do not follow it). With |
|
boolean |
|
Check the inputs against the content policy. When false, only sexual content involving minors and self-harm are blocked. |
|
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 in480p, then rerun finals in768p. Use1080p,2k, or4kwhen delivery needs a larger frame.save_audio/ignore_audio: keepsave_audio: truefor dialogue and songs; setignore_audio: truewhen 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.