---
title: "p-video-2-pro"
description: "p-video-pro video generation from text and first/last-frame images"
url: "https://docs.api.pruna.ai/guides/models/p-video-2-pro"
image: "https://docs.api.pruna.ai/_og/d/c_Ocean.takumi,title_p-video-2-pro,description_~cC12aWRlby1wcm8gdmlkZW8gZ2VuZXJhdGlvbiBmcm9tIHRleHQgYW5kIGZpcnN0L2xhc3QtZnJhbWUgaW1hZ2Vz,props_eyJ0aGVtZSI6eyJtb2RlIjoibGlnaHQiLCJjb2xvcnMiOnsicHJpbWFyeSI6IiM3YzNhZWQifX19,p_Ii9ndWlkZXMvbW9kZWxzL3AtdmlkZW8tMi1wcm8i,s_awpHqll6wWCQ7s8g.png"
---

# p-video-2-pro

p-video-pro video generation from text and first/last-frame images by Pruna

## [Overview](#overview)

p-video-2-pro is Pruna's video generation model. It supports text-to-video and first/last-frame conditioning at 480p and 768p. Duration is 5–15 seconds (default 5). Output is 24 fps and includes generated audio. Audio input is not exposed.

`mode` selects the generation recipe: `speed` (default, faster) or `quality`. `prompt_upsampler` is independent: `off`, `turbo` (default), or `max`.

**Rate Limit:** 250 requests per minute

**Category:** Video Generation

**Pricing:** list price is not published yet.

## [Quickstart](#quickstart)

### [Text-to-Video (Asynchronous)](#text-to-video-asynchronous)

```bash
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' \
  -d '{
    "input": {
      "prompt": "A sports car drifting through a neon-lit city at night, cinematic aerial shot",
      "duration": 5,
      "resolution": "768p",
      "aspect_ratio": "16:9"
    }
  }'
```

### [Text-to-Video (Synchronous)](#text-to-video-synchronous)

```bash
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' \
  -H 'Try-Sync: true' \
  -d '{
    "input": {
      "prompt": "A sports car drifting through a neon-lit city at night, cinematic aerial shot",
      "duration": 5,
      "resolution": "480p",
      "mode": "speed"
    }
  }'
```

### [Image-to-Video (first frame)](#image-to-video-first-frame)

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

```bash
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' \
  -d '{
    "input": {
      "prompt": "The camera slowly pushes in, the person turns their head and smiles",
      "image": "https://api.pruna.ai/v1/files/fqadqq42xq",
      "duration": 5,
      "resolution": "768p"
    }
  }'
```

## [Parameters](#parameters)

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

| Parameter | Type   | Description                      |
| :-------- | :----- | :------------------------------- |
| prompt    | string | Text prompt for video generation |

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

| Parameter        | Type         | Default | Description                                                                      |
| :--------------- | :----------- | :------ | :------------------------------------------------------------------------------- |
| prompt_upsampler | string       | "turbo" | Expand the prompt before generation: "off", "turbo", or "max". Independent of mode |
| image            | string (URI) | —       | First-frame reference image                                                      |
| last_frame_image | string (URI) | —       | Last-frame reference image                                                       |
| duration         | integer      | 5       | Video duration in seconds (5-15)                                                 |
| resolution       | string       | "768p"  | "480p" or "768p"                                                                 |
| mode             | string       | "speed" | Generation recipe: "quality" or "speed"                                          |
| aspect_ratio     | string       | "16:9"  | "16:9", "9:16", "4:3", "3:4", "3:2", "2:3", "1:1". Reference images determine the canvas when provided |
| seed             | integer      | random  | Random seed for reproducible generation                                          |