Pruna Ai P Video Replace
Playground
Try it on WavespeedAI!Pruna AI P-Video Replace is a fast AI video subject replacement model that replaces or inserts reference subjects into a source video while preserving the original motion, timing, and optional audio. Ready-to-use REST inference API for video subject replacement, character insertion, product placement, creative video editing, advertising creatives, social media content, and professional video editing workflows with simple integration, no coldstarts, and affordable pricing.
Features
Pruna AI P-Video Replace
Pruna AI P-Video Replace replaces or inserts a reference subject into a source video while preserving the original motion. Upload one source video, add one to three reference images, and use a prompt to describe how the subject should appear in the final result. It is suitable for character replacement, identity transfer, stylized casting swaps, and other motion-preserving video editing workflows.
Why Choose This?
-
Reference-guided subject replacement
Use one to three reference images to replace or insert a person or subject into an existing video. -
Motion-preserving editing
Keep the motion from the source video while changing who appears in the scene. -
Simple replacement workflow
Upload a video, add reference images, describe the replacement, and generate the edited result. -
Flexible output settings
Choose720por1080p, select frame rate behavior, and optionally keep the output audio. -
Production-ready API
Useful for creator workflows, identity transfer, stylized edits, promo content, and fast concept testing.
Parameters
| Parameter | Required | Description |
|---|---|---|
| video | Yes | Source video URL. |
| images | Yes | Reference image URLs for replacement. Supports 1 to 3 images. |
| prompt | No | Instruction describing how the reference image should be placed into the video. Default: Place the reference person into the video while preserving the original motion. |
| resolution | No | Output video resolution. Supported values: 720p, 1080p. Default: 720p. |
| fps | No | Target output frame rate. Supported values: original, 24, 48. Default: original. |
| save_audio | No | Save the output video with audio. Default: true. |
How to Use
- Upload the source video — provide the clip whose motion you want to preserve.
- Upload reference images — add
1to3images of the person or subject you want to insert or replace. - Write the prompt (optional) — describe how the replacement should appear in the scene.
- Choose resolution — use
720pfor lower cost or1080pfor higher quality. - Choose frame rate (optional) — keep the original FPS or switch to
24or48. - Choose audio behavior (optional) — keep
save_audio=trueif you want the output video to include audio. - Submit — run the model and download the generated video.
Example Prompt
Place the reference person into the video while preserving the original motion, body rhythm, and scene timing. Keep the result natural and consistent with the original lighting.
Pricing
Pricing depends on source video duration and resolution.
Billing Rules
- Billing is based on the uploaded source
videoduration - Minimum billed duration is 1 second
720pcosts $0.03 per billed second1080pcosts $0.06 per billed secondimages,prompt,fps, andsave_audiodo not affect pricing
Example Costs
| Resolution | 1s | 5s | 10s | 20s |
|---|---|---|---|---|
| 720p | $0.03 | $0.15 | $0.30 | $0.60 |
| 1080p | $0.06 | $0.30 | $0.60 | $1.20 |
Best Use Cases
- Character replacement — Replace a subject in a video while preserving the original motion.
- Identity transfer — Apply the appearance of a reference person to an existing performance clip.
- Stylized casting swaps — Test alternate talent or character looks without reshooting.
- Creator and promo edits — Produce fast replacement-based edits for campaigns, shorts, or social content.
- Concept prototyping — Quickly validate motion-preserving replacement ideas from simple inputs.
Pro Tips
- Use clear reference images with a consistent face angle and lighting when identity matters.
- Choose a source video with readable body motion for better replacement stability.
- Start with one strong reference image before adding multiple references.
- Keep the prompt focused on identity placement and realism instead of over-describing the scene.
- Use
720pfor quick testing and1080pfor higher-quality final outputs.
Notes
videoandimagesare required.imagessupports 1 to 3 reference images.save_audiocontrols whether the output video includes audio, but does not affect pricing.- Billing uses the source video duration with a minimum of 1 second.
- Pricing depends only on source video duration and selected resolution.
Related Models
- Pruna AI P-Video Animate — Animate a reference image using motion from a source video.
- Pruna AI P-Video Image-to-Video — Generate a video from a reference image and prompt.
- Pruna AI P-Video Text-to-Video — Generate videos directly from natural-language prompts.
- Pruna AI P-Image Edit — Edit still images with natural-language instructions.
<ApiPage model={model}>
## Authentication
For authentication details, please refer to the [Authentication Guide](/docs-authentication).
## API Endpoints
### Submit Task & Query Result
## Parameters
### Task Submission Parameters
#### Request Parameters
#### Response Parameters
<SubmitResponse />
#### Result Request Parameters
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| id | string | Yes | - | Task ID |
#### Result Response Parameters
| Parameter | Type | Description |
|-----------|------|-------------|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., "success") |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | string | Array of URLs to the generated content. |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: `created`, `processing`, `completed`, or `failed` |
| data.created_at | string | ISO timestamp of when the request was created (e.g., "2023-04-01T12:34:56.789Z") |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
</ApiPage>