p-video-2-pro-reference
Video generation from a prompt with image, video, and audio references
p-video-2-pro-reference generates a video from a prompt and at least one image or video reference. It is built on MiniMax H3. Audio references are optional. Resolutions are 480p and 768p. Duration is 5–15 seconds (default 5).
mode is speed (default) or cost. There is no quality mode. prompt_upsampler rewrites the prompt before generation: turbo (default, the fast upsampler), max, or off. It does not change the price.
first_frame_image and last_frame_image are optional soft keyframes. They count as reference images. A start or end frame needs prompt upsampling, so prompt_upsampler=off still runs turbo when one of those frames is set.
Reference limits, enforced by the model: up to 9 images including start and end frames (20 MiB, 4096 px), 3 videos (100 MiB, 1080p, 60 fps, 2–15 seconds each, 15 seconds combined), and 3 audio files (50 MiB, 15 seconds combined).
Rate Limit: 250 requests per minute
Category: Video Generation
Pricing: billed from the finished run. Output seconds use a rate for resolution and mode. Reference video seconds use a rate for the same pair. Each reference image has a per-image rate, and reference audio has a per-second rate. Start and end frames count as images. Image and audio rates do not depend on resolution.
| Output | Price |
|---|---|
| 480p, mode=cost | $0.02 per second |
| 768p, mode=cost | $0.035 per second |
| 480p, mode=speed | $0.03 per second |
| 768p, mode=speed | $0.06 per second |
| Reference video | Price |
|---|---|
| 480p, mode=cost | $0.035 per second |
| 768p, mode=cost | $0.09 per second |
| 480p, mode=speed | $0.05 per second |
| 768p, mode=speed | $0.09 per second |
| Reference images | Price |
|---|---|
| mode=cost | $0.01 each |
| mode=speed | $0.015 each |
| Reference audio | Price |
|---|---|
| mode=cost | $0.0015 per second |
| mode=speed | $0.0035 per second |
Output length and reference usage are measured from the finished run, so the final price is known once generation completes. Omitted mode is billed as speed. prompt_upsampler does not change the price.
Output seconds are the wrapper's whole-second count, int(num_frames / 24). A 5 second request is 124 frames and bills as 5 seconds. A 15 second request is 345 frames and bills as 14 seconds. Each reference clip counts only up to that output length plus 0.5 seconds, and reference video is capped at 15 seconds combined. A 15 second reference clip on a 5 second output bills about 5.5 reference-video seconds, not the full upload. The per-second rates above are with no references. The shortest run is 5 seconds, so the cheapest request is $0.10 (cost, 480p, no references).
Quickstart
Section titled “Quickstart”Image reference (asynchronous)
Section titled “Image reference (asynchronous)”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-reference' \ -d '{ "input": { "prompt": "The person in the reference walks through a sunlit market", "image": ["https://api.pruna.ai/v1/files/fqadqq42xq"], "duration": 5, "resolution": "768p", "aspect_ratio": "adaptive" } }'Cost mode (synchronous)
Section titled “Cost mode (synchronous)”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-reference' \ -H 'Try-Sync: true' \ -d '{ "input": { "prompt": "The person in the reference walks through a sunlit market", "image": ["https://api.pruna.ai/v1/files/fqadqq42xq"], "duration": 5, "resolution": "480p", "mode": "cost" } }'Video, audio, and soft keyframes
Section titled “Video, audio, and soft keyframes”Upload each file first, then pass the returned URLs:
curl -X POST "https://api.pruna.ai/v1/files" \ -H "apikey: YOUR_API_KEY" \ -F "content=@/path/to/your/file.jpg"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-reference' \ -d '{ "input": { "prompt": "Continue the motion and match the reference audio", "video": ["https://api.pruna.ai/v1/files/video123"], "audio": ["https://api.pruna.ai/v1/files/audio123"], "first_frame_image": "https://api.pruna.ai/v1/files/start123", "last_frame_image": "https://api.pruna.ai/v1/files/end123", "duration": 5, "resolution": "768p", "mode": "speed" } }'Parameters
Section titled “Parameters”Required Parameters
Section titled “Required Parameters”| Parameter | Type | Description |
|---|---|---|
| prompt | string | Text prompt for video generation |
Send at least one image or video reference with the prompt. Audio is optional.
Optional Parameters
Section titled “Optional Parameters”| Parameter | Type | Default | Description |
|---|---|---|---|
| prompt_upsampler | string | "turbo" | Rewrite the prompt before generation: "turbo" (fast default), "max", or "off". Independent of mode |
| image | array of URIs | — | Reference images |
| video | array of URIs | — | Reference videos |
| audio | array of URIs | — | Reference audio |
| first_frame_image | string (URI) | — | Optional opening image. Soft keyframe; counts as a reference image |
| last_frame_image | string (URI) | — | Optional closing image. Soft keyframe; counts as a reference image |
| duration | integer | 5 | Video duration in seconds (5-15) |
| resolution | string | "768p" | "480p" or "768p" |
| mode | string | "speed" | "speed" or "cost" |
| aspect_ratio | string | "16:9" | "adaptive", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3", "1:1". adaptive follows the references |
| seed | integer | random | Random seed for reproducible generation |
Use is subject to the MiniMax H3 Community License, including its Acceptable Use Policy. See Terms, section 7.2.
License: https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/LICENSE