P-Video
Premium AI video generation from text, images, and audio by Pruna
Premium AI video generation from text, images, and audio by Pruna
P-Video is Pruna's premium video generation model supporting text-to-video, image-to-video, and audio-conditioned generation. It offers up to 1080p resolution at 24 or 48 fps, with configurable duration up to 10 seconds. Built-in prompt upsampling automatically enhances your prompts for better results.
Rate Limit: 250 requests per minute
Category: Video Generation
Pricing:
| Configuration | Price |
|---|---|
| 720p - draft mode is OFF | 0.02$ per second of output video |
| 720p - draft mode is ON | 0.005$ per second of output video |
| 1080p - draft mode is OFF | 0.04$ per second of output video |
| 1080p - draft mode is ON | 0.01$ per second of output video |
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H 'apikey: YOUR_API_KEY' \
-H 'Model: p-video' \
-d '{
"input": {
"prompt": "A sports car drifting through a neon-lit city at night, cinematic aerial shot",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}
}'
Response:
{
"id": "1zww7deyssrme0csqwr90phzzr",
"model": "p-video",
"input": { ... },
"get_url": "https://api.pruna.ai/v1/predictions/status/1zww7deyssrme0csqwr90phzzr"
}
Check status and get results:
curl -X GET 'https://api.pruna.ai/v1/predictions/status/1zww7deyssrme0csqwr90phzzr' \
-H 'apikey: YOUR_API_KEY'
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H 'apikey: YOUR_API_KEY' \
-H 'Model: p-video' \
-H 'Try-Sync: true' \
-d '{
"input": {
"prompt": "A sports car drifting through a neon-lit city at night, cinematic aerial shot",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}
}'
Response (if completed within 60 seconds):
{
"status": "succeeded",
"generation_url": "/v1/predictions/delivery/xezq/52UGYRrRfqViaKmvYsEnENTh0qLDAWHptQ8jOnEHu7XC6AtKA/output.mp4"
}
curl -X POST "https://api.pruna.ai/v1/files" \
-H "apikey: YOUR_API_KEY" \
-F "content=@/path/to/your/file.jpg"
Note: Use -F (form) with @ prefix to upload a file from your local filesystem. The file path should be absolute or relative to your current directory.
Response:
{
"id": "fqadqq42xq",
"name": "test.jpg",
"content_type": "image/jpeg",
"size": 185093,
"etag": "\"14e9a51deaac6bee2dd8b5c52d7d0b5f\"",
"checksums": {
"sha256": "aa10d5d09bcee5cb5d854bd81899308b0cf0c0c50e29d4f00c2c06e51f0e2fe6"
},
"metadata": {
"content_length": 185093,
"width": 1344,
"height": 768
},
"created_at": "2025-01-08T18:51:26.729Z",
"expires_at": "2025-01-09T18:51:26.729Z",
"urls": {
"get": "https://api.pruna.ai/v1/files/fqadqq42xq"
}
}
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H 'apikey: YOUR_API_KEY' \
-H 'Model: p-video' \
-d '{
"input": {
"prompt": "The camera slowly pushes in, the person turns their head and smiles, gentle wind moves their hair",
"image": "https://api.pruna.ai/v1/files/fqadqq42xq",
"duration": 5,
"resolution": "720p"
}
}'
Note: The image parameter should be a publicly accessible URL. You can upload files using the /v1/files endpoint first. When an input image is provided, the aspect_ratio parameter is ignored.
curl -X POST "https://api.pruna.ai/v1/files" \
-H "apikey: YOUR_API_KEY" \
-F "content=@/path/to/your/audio.mp3"
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H 'apikey: YOUR_API_KEY' \
-H 'Model: p-video' \
-d '{
"input": {
"prompt": "A musician performing on stage with dramatic lighting",
"audio": "https://api.pruna.ai/v1/files/abc123audio",
"resolution": "720p",
"aspect_ratio": "16:9"
}
}'
Note: When audio is provided, the duration parameter is ignored — the video duration matches the audio length. Supported audio formats: flac, mp3, wav.
| Parameter | Type | Description |
|---|---|---|
| prompt | string | Text prompt for video generation |
| Parameter | Type | Default | Description |
|---|---|---|---|
| image | string (URI) | - | Input image to generate video from (image-to-video). Supports jpg, jpeg, png, webp |
| audio | string (URI) | - | Input audio to condition video generation. Supports flac, mp3, wav |
| duration | integer | 5 | Duration of the video in seconds (1-10). Ignored when audio is provided |
| resolution | string | "720p" | Video resolution: "720p" or "1080p" |
| fps | integer | 24 | Frames per second: 24 or 48 |
| aspect_ratio | string | "16:9" | Aspect ratio of the video. Options: "16:9", "9:16", "4:3", "3:4", "3:2", "2:3", "1:1". Ignored when an input image is provided |
| seed | integer | random | Random seed. Set for reproducible generation |
| draft | boolean | false | Draft mode. Generates a lower-quality preview of the video |
| save_audio | boolean | true | Save the video with audio |
| prompt_upsampling | boolean | true | Use prompt upsampling to enhance the prompt |