About PixVerse V6
pixverse/v6/image-to-video takes image_url as the first frame and an optional last_image_url as the ending. The clip travels from one picture to the other, so both should show the same subject at a comparable scale.
Call it with the model name pixverse/v6/image-to-video on POST /jobs/createTask, from $0.111.
Introduction
PixVerse V6 Image to video animates a first frame into a clip of 1 to 15 seconds at 360p, 540p, 720p or 1080p. Add last_image_url and the clip moves from the first image to the last one. The prompt is required and describes what happens. The clip keeps the aspect ratio of your first image. Images are JPG, JPEG, PNG or WebP, up to 20 MB each.
Choose a PixVerse V6 mode by starting material
| What you have at the start | Mode |
|---|---|
| a written scene | PixVerse V6 Text to video |
| a first frame, and optionally a last frame | PixVerse V6 Image to video (you are here) |
| photos of people, objects or places to cast from | PixVerse V6 Reference to video |
| a clip you want to continue | PixVerse V6 Video extend |
| a prompt or one image, and you want higher picture quality | PixVerse V6 Max |
| one photo and a ready-made themed template, no prompt to write | PixVerse V6 Effects |
Key features
First frame, optional last frame
image_url sets the opening and last_image_url the ending. In our test a woman in a rust coat at the open slit of a white observatory dome (first frame) and the same woman leaning back on the railing with her arms crossed (last frame) became one move: she turns, walks along the railing, leans back and crosses her arms, and the clip ends on the last frame.
The shape follows your image
There is no aspect-ratio field. A portrait image comes back as a portrait clip, a wide image as a wide clip.
A multi-shot switch
shot_type is single by default. Set multi to let the model cut the clip into several shots. It cannot be combined with a last frame.
Sound when you want it
generate_audio is off by default. On, the model generates ambience, effects, music and any dialogue you write in quotes.
Request parameters
| Parameter | Required | Description |
|---|---|---|
duration_seconds | No | How long the clip runs. You pay per second. ≥ 1 · ≤ 15 · Default: 5 |
generate_audio | No | Adds sound made to match the picture: voices, ambience and effects. Default: false |
image_url | Yes | The picture to start from. |
last_image_url | No | Optional final frame, so the clip ends exactly where you want. |
prompt | Yes | What happens after the first frame, or between the first and last frame. |
resolution | No | Output size. Bigger sizes look sharper and cost more. 360p · 540p · 720p · 1080p · Default: 720p |
seed | No | Reuse the same number to get a repeatable result. ≥ 0 · ≤ 2147483647 |
shot_type | No | single keeps one continuous shot; multi lets the model cut the clip into several shots. single · multi · Default: single |
Pricing
Prices are in USD. The API uses a separate USD balance. Website credits cannot be used or transferred to it, and API funds cannot be transferred to website credits. When a task is accepted, we reserve the maximum quoted amount from your API balance. On completion, we charge for actual usage, never more than the hold, and release the remainder. If the task fails, the hold is released.
| Option | USD per second |
|---|---|
| generate_audio false · resolution 360p | $0.0222 |
| generate_audio false · resolution 540p | $0.0311 |
| generate_audio true · resolution 360p | $0.0311 |
| generate_audio false · resolution 720p | $0.04 |
| generate_audio true · resolution 540p | $0.04 |
| generate_audio true · resolution 720p | $0.0533 |
| generate_audio false · resolution 1080p | $0.08 |
| generate_audio true · resolution 1080p | $0.1022 |
Send the same request body to POST /jobs/quote to see the estimated and maximum USD charge before running. A quote does not run the task or charge your balance.
Use cases
Bring a still to life
A portrait, a street scene or a frame saved from an earlier clip. Describe what happens next and the person, wardrobe and setting come from the image.
Move between two poses
Give a last frame that differs from the first and let the model fill in the move, as in our observatory example.
Keep a character across shots
Save a frame from one clip and use it as the first frame of the next to carry a person and a set from shot to shot.
Prompt guide & pro tips
Describe the motion, not the picture
The image already shows what everything looks like. Spend the prompt on the action, the camera move and, if audio is on, the sound.
Keep both frames consistent
Use the same person and set in the first and the last frame. Frames that disagree leave the model no natural move between them.
Give each beat room
In our gas-station test the prompt listed a lamp, a map, a walk and a passing truck; the man folded the map, tucked it away and walked to the car, and the truck with its headlights on appeared in the last second of the 5-second clip. Ask for fewer beats, or add seconds, if a late beat matters.
Compare with a seed
seed keeps runs comparable while you change one thing at a time. It does not guarantee identical frames.
API quick start
Call the PixVerse V6 API in three steps
- Create an API key. Sign in to PopNow and create a key in the API console. Keys start with sk-popnow-. API calls use your separate USD balance.
- Send the request. POST /jobs/createTask with model pixverse/v6/image-to-video and an input object that follows the parameter table. The response returns a task ID straight away.
- Get the result. Poll GET /jobs/recordInfo with the task ID, or pass a callBackUrl and we post the result to it. Download the output links when the task succeeds.
# 1. Create the task. Keep the Idempotency-Key if you retry after a network error.
export IDEMPOTENCY_KEY="$(uuidgen)"
curl -X POST https://api.popnow.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-d '{
"model": "pixverse/v6/image-to-video",
"input": {
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"image_url": "https://media.popnow.ai/influencer/examples/marco.webp",
"resolution": "720p",
"duration_seconds": 5,
"shot_type": "single"
}
}'
# 2. Copy data.taskId from the response, then poll until state is succeeded, failed, canceled or expired.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $POPNOW_API_KEY"Replace the prompt and any links with your own. The API tab has the response, polling and callback reference.
About the PixVerse V6 Image to Video endpoint
The output shape follows image_url. The endpoint has no aspect_ratio field, so crop the still to the frame you want before upload. JPG, JPEG, PNG and WebP up to 20 MB are accepted.
last_image_url cannot be combined with shot_type multi. Send one or the other; a body with both is rejected as invalid_request.
The prompt describes what happens between the frames, or after the first one when only image_url is sent. With generate_audio on, name the sound and put any dialogue in quotes.
PixVerse V6 API questions
How much does the PixVerse V6 API cost?
PixVerse V6 starts at $0.111 for a 5-second clip with Image to Video, its cheapest task. Prices by option: false · 360p $0.0222 per second, false · 540p $0.0311 per second, true · 360p $0.0311 per second, false · 720p $0.04 per second. The API uses a separate USD balance. Website credits cannot be used or transferred to it, and API funds cannot be transferred to website credits. When a task is accepted, we reserve the maximum quoted amount from your API balance. On completion, we charge for actual usage, never more than the hold, and release the remainder. If the task fails, the hold is released.
What are the limits of the PixVerse V6 · Image to Video API?
Clip length: 1–15 s; Resolutions: 360p · 540p · 720p · 1080p; Prompt length (characters): 5,000; Largest upload: 20 MB. Requests outside these limits are rejected before anything is charged.