Skip to content
Developer Portal

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.

OutputPrice
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 videoPrice
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 imagesPrice
mode=cost$0.01 each
mode=speed$0.015 each
Reference audioPrice
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).

Terminal window
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"
}
}'
Terminal window
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"
}
}'

Upload each file first, then pass the returned URLs:

Terminal window
curl -X POST "https://api.pruna.ai/v1/files" \
-H "apikey: YOUR_API_KEY" \
-F "content=@/path/to/your/file.jpg"
Terminal window
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"
}
}'
ParameterTypeDescription
promptstringText prompt for video generation

Send at least one image or video reference with the prompt. Audio is optional.

ParameterTypeDefaultDescription
prompt_upsamplerstring"turbo"Rewrite the prompt before generation: "turbo" (fast default), "max", or "off". Independent of mode
imagearray of URIs—Reference images
videoarray of URIs—Reference videos
audioarray of URIs—Reference audio
first_frame_imagestring (URI)—Optional opening image. Soft keyframe; counts as a reference image
last_frame_imagestring (URI)—Optional closing image. Soft keyframe; counts as a reference image
durationinteger5Video duration in seconds (5-15)
resolutionstring"768p""480p" or "768p"
modestring"speed""speed" or "cost"
aspect_ratiostring"16:9""adaptive", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3", "1:1". adaptive follows the references
seedintegerrandomRandom 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