Browse ModelsPruna AIPruna AI P Video Animate

Pruna Ai P Video Animate

Pruna Ai P Video Animate

Playground

Try it on WavespeedAI!

Pruna AI P-Video Animate is a fast AI video animation model that animates images and visual assets using the Pruna p-video-animate workflow running on RunPod. Ready-to-use REST inference API for image animation, character motion, product visuals, social media clips, marketing creatives, and professional AI video generation workflows with simple integration, no coldstarts, and affordable pricing.

Features

Pruna AI P-Video Animate

Pruna AI P-Video Animate transfers motion from a source video onto a reference image to generate an animated video clip. It is designed for motion-driven character animation, stylized performance clips, social media content, and other workflows where you want a static image to follow the movement of an existing video.


Why Choose This?

  • Motion transfer workflow Use a source video to drive motion while preserving the subject or scene from a reference image.

  • Image-guided animation Start from a single image and generate a video with matched movement.

  • Flexible frame rate options Keep the original frame rate or choose 24 or 48 FPS for output delivery needs.

  • Resolution control Choose 720p or 1080p depending on quality and budget.

  • Optional audio preservation Enable save_audio when you want the exported video to include audio.

  • Seed support Use seed for more reproducible animation results.


Parameters

ParameterRequiredDescription
videoYesSource motion video URL.
imageYesReference image URL for the subject or scene to animate.
promptNoOptional instruction describing how the image should follow the source video motion. Default: Animate the reference subject using the motion from the source video.
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.
seedNoRandom seed for reproducible generations. Default: -1.

How to Use

  1. Upload your source motion video — provide the clip whose movement should be transferred.
  2. Upload your reference image — provide the character, subject, or scene you want to animate.
  3. Add a prompt (optional) — describe the desired motion behavior or stylistic handling.
  4. Choose resolution — use 720p for lower cost or 1080p for higher quality.
  5. Choose frame rate (optional) — keep original or select 24 or 48 FPS.
  6. Set audio and seed (optional) — keep audio if needed and use a fixed seed for reproducibility.
  7. Submit — run the model and download the animated video.

Example Prompt

Animate the portrait subject using the motion from the source video, keeping facial identity stable and body movement natural.


Pricing

Pricing depends on source video duration and resolution.

Billing Rules

  • Billing is based on the uploaded source video duration
  • Billed duration is rounded up to the next whole second
  • Maximum billed duration is 20 seconds
  • Minimum billed duration is 1 second
  • 720p costs $0.03 per billed second
  • 1080p costs $0.06 per billed second
  • fps, save_audio, prompt, and seed 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 animation — Transfer live-action motion onto an illustrated or stylized character.
  • Avatar content — Animate a still portrait using source video performance.
  • Creative prototyping — Test how a static design behaves under real movement.
  • Social media clips — Turn still art or portraits into short motion-driven videos.
  • Performance transfer — Apply gestures, posture, and body motion from one clip to another subject.

Pro Tips

  • Use a clear reference image with a well-defined subject.
  • Choose a source motion video with readable, stable movement for cleaner transfer.
  • Keep the prompt simple and focused on motion behavior when possible.
  • Use 720p for fast iteration and 1080p for higher-quality final output.
  • Shorter source clips are good for testing before processing longer motion references.
  • Reuse the same seed when comparing prompt changes on the same inputs.

Notes

  • video and image are required.
  • Pricing is based on the source video duration, capped at 20 seconds.
  • save_audio controls whether the exported video includes audio, but does not affect pricing.
  • seed = -1 means random generation.
  • The generated output follows the motion source rather than a freeform prompt-only animation path.

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result


# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/pruna-ai/p-video/animate" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "prompt": "Animate the reference subject using the motion from the source video.",
    "resolution": "720p",
    "fps": "original",
    "save_audio": true,
    "seed": -1
}'

# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
videostringYes-Source motion video URL.
imagestringYes-Reference image URL for the subject or scene to animate.
promptstringNo-Optional instruction describing how the image should follow the source video motion.
resolutionstringNo720p720p, 1080pOutput video resolution.
fpsstringNooriginaloriginal, 24, 48Target output frame rate.
save_audiobooleanNotrue-Save the output video with audio.
seedintegerNo-1-1 ~ 2147483647Random seed for reproducible generations.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction, the ID of the prediction to get
data.modelstringModel ID used for the prediction
data.outputsstringArray of URLs to the generated content.
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2025 WaveSpeedAI. All rights reserved.