Browse ModelsPruna AIPruna AI P Video Replace

Pruna Ai P Video Replace

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
    Choose 720p or 1080p, 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

ParameterRequiredDescription
videoYesSource video URL.
imagesYesReference image URLs for replacement. Supports 1 to 3 images.
promptNoInstruction describing how the reference image should be placed into the video. Default: Place the reference person into the video while preserving the original motion.
resolutionNoOutput video resolution. Supported values: 720p, 1080p. Default: 720p.
fpsNoTarget output frame rate. Supported values: original, 24, 48. Default: original.
save_audioNoSave the output video with audio. Default: true.

How to Use

  1. Upload the source video — provide the clip whose motion you want to preserve.
  2. Upload reference images — add 1 to 3 images of the person or subject you want to insert or replace.
  3. Write the prompt (optional) — describe how the replacement should appear in the scene.
  4. Choose resolution — use 720p for lower cost or 1080p for higher quality.
  5. Choose frame rate (optional) — keep the original FPS or switch to 24 or 48.
  6. Choose audio behavior (optional) — keep save_audio=true if you want the output video to include audio.
  7. 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 video duration
  • Minimum billed duration is 1 second
  • 720p costs $0.03 per billed second
  • 1080p costs $0.06 per billed second
  • images, prompt, fps, and save_audio do not affect pricing

Example Costs

Resolution1s5s10s20s
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 720p for quick testing and 1080p for higher-quality final outputs.

Notes

  • video and images are required.
  • images supports 1 to 3 reference images.
  • save_audio controls 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.



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

  
© 2025 WaveSpeedAI. All rights reserved.