P-Video

Premium AI video generation from text, images, and audio by Pruna

Overview

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:

ConfigurationPrice
720p - draft mode is OFF0.02$ per second of output video
720p - draft mode is ON0.005$ per second of output video
1080p - draft mode is OFF0.04$ per second of output video
1080p - draft mode is ON0.01$ per second of output video

Quickstart

Text-to-Video (Asynchronous)

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'

Text-to-Video (Synchronous)

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

Image-to-Video

Start with uploading an image

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

Then pass that image in the "image" field

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.

Audio-Conditioned Video

Upload an audio file first

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

Then pass the audio URL in the "audio" field

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.

Parameters

Required Parameters

ParameterTypeDescription
promptstringText prompt for video generation

Optional Parameters

ParameterTypeDefaultDescription
imagestring (URI)-Input image to generate video from (image-to-video). Supports jpg, jpeg, png, webp
audiostring (URI)-Input audio to condition video generation. Supports flac, mp3, wav
durationinteger5Duration of the video in seconds (1-10). Ignored when audio is provided
resolutionstring"720p"Video resolution: "720p" or "1080p"
fpsinteger24Frames per second: 24 or 48
aspect_ratiostring"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
seedintegerrandomRandom seed. Set for reproducible generation
draftbooleanfalseDraft mode. Generates a lower-quality preview of the video
save_audiobooleantrueSave the video with audio
prompt_upsamplingbooleantrueUse prompt upsampling to enhance the prompt