
P-Video-2-Pro-Reference
Video from a prompt plus up to 9 image, 3 video and 3 audio references on MiniMax H3. Consistent characters, motion transfer, 5-15s, 480p to 4k.
api reference
about
video from a prompt plus up to 9 image, 3 video and 3 audio references on minimax h3. consistent characters, motion transfer, 5-15s, 480p to 4k.
1. calling the api
install the client
the client provides a convenient way to interact with the api.
1pip install inferenceshsetup your api key
set INFERENCE_API_KEY as an environment variable. get your key from settings → api keys.
1export INFERENCE_API_KEY="inf_your_key"run and get result
submit a request and wait for the final result. best for batch processing or when you don't need progress updates.
1import os2from inferencesh import inference34client = inference(api_key=os.environ["INFERENCE_API_KEY"])567result = client.run({8 "app": "pruna/p-video-2-pro-reference",9 "input": {10 "prompt": "prompt"11 }12 })1314print(result["output"])stream live updates
get real-time progress updates as the task runs. ideal for showing progress bars, partial results, or long-running tasks.
1import os2from inferencesh import inference34client = inference(api_key=os.environ["INFERENCE_API_KEY"])567# stream=True yields updates as they arrive8for update in client.run({9 "app": "pruna/p-video-2-pro-reference",10 "input": {11 "prompt": "prompt"12 }13 }, stream=True):14 if update.get("progress"):15 print(f"progress: {update['progress']}%")16 if update.get("output"):17 print(f"output: {update['output']}")2. authentication
the api uses api keys for authentication. see the authentication docs for detailed setup instructions.
3. files
file inputs are automatically handled by the sdk. you can pass local paths, urls, or base64 data.
automatic upload
the python sdk automatically detects local file paths and uploads them. urls are passed through as-is.
1# local file paths are automatically uploaded2result = client.run({3 "app": "pruna/p-video-2-pro-reference",4 "input": {5 "image": "/path/to/local/image.png", # detected & uploaded6 "audio": "https://example.com/audio.mp3", # url passed through7 }8})4. webhooks
get notified when a task completes by providing a webhook url. when the task reaches a terminal state (completed, failed, or cancelled), a POST request is sent to your url with the task result.
1result = client.run({2 "app": "pruna/p-video-2-pro-reference",3 "input": {4 "prompt": "prompt"5 },6 "webhook": "https://your-server.com/webhook"7}, wait=False)webhook payload
your endpoint receives a JSON POST with the task result:
1{2 "event": "task.completed",3 "timestamp": "2024-01-15T10:30:05Z",4 "data": {5 "id": "task_abc123",6 "short_id": "abc123",7 "status": 10,8 "status_text": "completed",9 "output": { ... },10 "created_at": "2024-01-15T10:30:00Z",11 "updated_at": "2024-01-15T10:30:05Z"12 }13}5. schema
input
text description for video generation. refer to references by what they show.
reference images (up to 9 including first and last frames; 20 mib, 4096 px each).
reference videos (up to 3; 2-15s each, 15s combined, up to 1080p/60 fps).
reference audio (up to 3, 15s combined). set keep_audio to use one file as the soundtrack.
keep the single audio file as the video's audio. needs exactly one audio file.
optional opening image (soft keyframe, counts as a reference image).
optional closing image (soft keyframe, counts as a reference image).
video duration in seconds (5-15).
480p or 768p native. 1080p, 2k and 4k generate at 768p and upscale.
speed (default) or cost (cheaper, slower).
rewrite the prompt before generation: turbo, max or off. frame images force turbo.
aspect ratio. adaptive follows the references.
random seed for reproducible generation.
check inputs against the content policy. always-on categories are blocked either way.
VACE
pruna/vace
$0.40/video
P-Video-Animate
pruna/p-video-animate
$0.03/sec 720p, $0.06/sec 1080p
P-Video-Upscale
pruna/p-video-upscale
Std: $0.01/sec 720p, $0.02 1080p, $0.04 2k, $0.08 4k; high fps 2x
P-Video-2-Pro-Avatar
pruna/p-video-2-pro-avatar
$0.02/sec 480p, $0.04/sec 768p, $0.06/sec 1080p, $0.08/sec 2k, $0.12/sec 4k
P-Video-2-Pro
pruna/p-video-2-pro
$0.01-$0.155/sec; cost: $0.01-$0.105, speed: $0.02-$0.115, quality: $0.04-$0.155 (480p-4k)
VACE
pruna/vace
$0.40/video
P-Video-Animate
pruna/p-video-animate
$0.03/sec 720p, $0.06/sec 1080p
P-Video-Upscale
pruna/p-video-upscale
Std: $0.01/sec 720p, $0.02 1080p, $0.04 2k, $0.08 4k; high fps 2x
P-Video-2-Pro-Avatar
pruna/p-video-2-pro-avatar
$0.02/sec 480p, $0.04/sec 768p, $0.06/sec 1080p, $0.08/sec 2k, $0.12/sec 4k
new models

VACE
pruna/vace
video$0.40/video
P-Video-Animate
pruna/p-video-animate
video$0.03/sec 720p, $0.06/sec 1080p
P-Video-Upscale
pruna/p-video-upscale
videoStd: $0.01/sec 720p, $0.02 1080p, $0.04 2k, $0.08 4k; high fps 2x
P-Video-2-Pro-Avatar
pruna/p-video-2-pro-avatar
video$0.02/sec 480p, $0.04/sec 768p, $0.06/sec 1080p, $0.08/sec 2k, $0.12/sec 4k
P-Video-2-Pro
pruna/p-video-2-pro
video$0.01-$0.155/sec; cost: $0.01-$0.105, speed: $0.02-$0.115, quality: $0.04-$0.155 (480p-4k)
ready to run P-Video-2-Pro-Reference?
we use cookies
we use cookies to ensure you get the best experience on our website. for more information on how we use cookies, please see our cookie policy.
by clicking "accept", you agree to our use of cookies.
learn more.