Introduction
P-Video 2 Pro Reference to video builds a clip of 5 to 15 seconds at 480p or 768p from references you upload: up to 3 reference videos (15 seconds in total) for motion, camera and pacing, up to 3 audio clips for a voice, dialogue or music, and an optional opening and closing frame. Refer to the clips in the prompt as video 1, video 2 and audio 1, audio 2, in upload order. There is no content filter.
Choose a P-Video 2 Pro mode by starting material
| What you have at the start | Mode |
|---|---|
| a written scene or script | P-Video 2 Pro Text to video |
| an opening frame, and optionally a closing frame | P-Video 2 Pro Image to video |
| a clip to borrow motion from, or a voice or music track | P-Video 2 Pro Reference to video (you are here) |
Key features & highlights
Borrow a camera move
A reference video passes on its motion and pacing. Combine it with an opening frame to put your own character into that move.
Use your own audio
Add a voice line or a music clip as audio 1. With keep_reference_audio on and exactly one audio clip, that clip becomes the soundtrack; with it off, the clip guides the sound and the model generates new audio. Audio needs an opening frame or a reference video as well.
Pin the start and the end
image_url and last_image_url work here too, on top of the reference clips.
Request parameters
| Parameter | Required | Description |
|---|---|---|
prompt | Yes | Say what to take from each reference. Write video 1, video 2 for reference videos and audio 1, audio 2 for audio clips, numbered in upload order. at least 1 characters |
image_url | No | Optional opening frame: who and where the shot starts. Adds a small charge. |
last_image_url | No | Optional closing frame the clip ends on. Adds a small charge. |
reference_video_urls | No | Up to 3 videos, 2 seconds or longer each and 15 seconds in total, for motion, camera and pacing. Their seconds are billed, plus one second for rounding. at least 1 items · at most 3 items |
reference_audio_urls | No | Up to 3 audio clips, 15 seconds in total, for a voice, dialogue or music. Needs an opening frame or a reference video too. at least 1 items · at most 3 items |
aspect_ratio | No | auto (default) adapts to the references; or pick 16:9, 9:16, 4:3, 3:4, 3:2, 2:3 or 1:1. It does not change the price. |
resolution | No | 480p or 768p (default 768p). 768p costs more per second. |
generation_mode | No | cost (cheaper, a little slower) or speed (default, faster at the same quality). |
keep_reference_audio | No | Off by default. On uses your audio clip as the soundtrack instead of generating new sound; needs exactly one audio clip. Default: |
duration_seconds | No | Whole seconds, 5 to 15 (default 5). Drives the price. |
prompt_optimization_mode | No | off (default) sends your prompt word for word; turbo and max let the service rewrite it first. Does not change the price. |
seed | No | Keeps runs comparable while you change the prompt. It does not promise a frame-identical clip. |
Pricing
Billed per second of output at the chosen resolution and generation mode, plus the seconds of any reference videos and one extra second to cover rounding, a small charge for each opening or closing frame, and a flat charge when you add reference audio. A failed request is not charged.
| Resolution | Generation mode: cost | Generation mode: speed |
|---|---|---|
| $0.018 / second | $0.024 / second |
| $0.03 / second | $0.042 / second |
Use cases
Recreate a shot with a new subject
Upload a clip whose camera move you like and an opening frame of your character; the result follows the move with your subject.
Lip-synced lines
Give a portrait as the opening frame and a short voice clip as audio 1, turn on keep_reference_audio, and write what happens in the shot.
Music-led clips
A music clip as audio 1 sets the mood and pacing of the motion.
Prompt guide & pro tips
Say what each reference is for
"Follow the camera move of video 1" or "she speaks the line from audio 1" tells the model what to take from each clip.
Trim reference videos
Reference video seconds are billed, so trim each clip to the part you want to borrow, 2 seconds or longer.
Frames set the look, clips set the motion
The opening frame sets who and where; the reference video sets how things move. Leave aspect_ratio on auto to follow the references.
API quick start
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "pruna-ai/p-video-2-pro/reference-to-video",
"input": {
"aspect_ratio": "auto",
"duration_seconds": 5,
"generation_mode": "speed",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"prompt_optimization_mode": "off",
"resolution": "768p"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
See the API reference for authentication, the complete schema, polling, and error handling.



