---
title: "p-video-animate"
description: "Video animation from a source motion video and subject reference image"
url: "https://docs.api.pruna.ai/guides/models/p-video-animate"
image: "https://docs.api.pruna.ai/_og/d/c_Ocean.takumi,title_p-video-animate,description_Video+animation+from+a+source+motion+video+and+subject+reference+image,props_eyJ0aGVtZSI6eyJtb2RlIjoibGlnaHQiLCJjb2xvcnMiOnsicHJpbWFyeSI6IiM3YzNhZWQifX19,p_Ii9ndWlkZXMvbW9kZWxzL3AtdmlkZW8tYW5pbWF0ZSI,s_c2L2Zi2REJfyiPdj.png"
---

# p-video-animate

Animate a reference subject using motion from a source video

## [Overview](#overview)

p-video-animate takes a source RGB video and a subject reference image, then animates the referenced subject using the motion and audio from the source video.

**Rate Limit:** 50 requests per minute

**Category:** Video Animation

**Pricing:**

| Configuration | Price                            |
| :------------ | :------------------------------- |
| 720p          | 0.03$ per second of output video |
| 1080p         | 0.06$ per second of output video |

## [Quickstart](#quickstart)

### [Upload your source video](#upload-your-source-video)

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

### [Upload your subject reference image](#upload-your-subject-reference-image)

```bash
curl -X POST "https://api.pruna.ai/v1/files" \
  -H "apikey: YOUR_API_KEY" \
  -F "content=@/path/to/reference-image.png"
```

### [Create an animated video](#create-an-animated-video)

```bash
curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Model: p-video-animate' \
  -d '{
    "input": {
      "video": "https://api.pruna.ai/v1/files/source-video-abc123",
      "image": "https://api.pruna.ai/v1/files/reference-image-def456",
      "resolution": "720p",
      "target_fps": "original",
      "instruction_prompt": "Animate the reference subject using the motion from the source video."
    }
  }'
```

### [Synchronous request](#synchronous-request)

```bash
curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Model: p-video-animate' \
  -H 'Try-Sync: true' \
  -d '{
    "input": {
      "video": "https://api.pruna.ai/v1/files/source-video-abc123",
      "image": "https://api.pruna.ai/v1/files/reference-image-def456"
    }
  }'
```

## [Parameters](#parameters)

### [Required Parameters](#required-parameters)

| Parameter | Type         | Description                                                  |
| :-------- | :----------- | :----------------------------------------------------------- |
| video     | string (URI) | Source RGB video (.mp4). Used as the motion and audio source |
| image     | string (URI) | Reference image of the subject to animate                    |

### [Optional Parameters](#optional-parameters)

| Parameter              | Type    | Default    | Description                                                                      |
| :--------------------- | :------ | :--------- | :------------------------------------------------------------------------------- |
| turbo                  | boolean | false      | Turbo mode: faster generation for slightly lower quality                         |
| resolution             | string  | "720p"     | Target resolution. Options: "720p", "1080p"                                      |
| save_audio             | boolean | true       | Save the video with audio                                                        |
| ignore_audio           | boolean | false      | Ignore source audio during generation. If save_audio is true, the source audio is still saved with the final video |
| target_fps             | string  | "original" | Target FPS for the working video. Options: "original", "24", "48"                |
| instruction_prompt     | string  | ""         | Further instruction on how the reference subject should be animated using the motion of the input video |
| seed                   | integer | random     | Random seed. Set for reproducible generation                                     |
| disable_safety_checker | boolean | false      | Disable safety checker for generated videos                                      |