PixVerse V5 converts images to short, smooth, natural-looking videos. 5s video: $0.15 (360p/540p), $0.20 (720p), $0.40 (1080p). Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
대기 중
$0.15실행당·~66 / $10
A teenage girl sitting on a rooftop at sunset, holding a guitar on her lap, golden light reflecting on her face, cinematic medium shot, soft wind moving her hair, ultra realistic details, atmosphere of youth, creativity, and inspiration.
A teenage boy standing on a school track field, sunlight casting a warm glow on his face, gentle breeze moving his hair slightly, cinematic medium shot, ultra realistic details, atmosphere of hope, determination, and growth.
A young girl holding a vintage camera in her hands, standing in a park under golden evening light, cinematic medium shot with lens flare, ultra realistic rendering, atmosphere of memory, youth, and joy.
A young woman standing with a backpack on a countryside road, looking ahead into the distance, cinematic drone pullback shot, soft sunlight illuminating her silhouette, ultra realistic details, atmosphere of freedom, curiosity, and youthful adventure.
A young man sitting by a classroom window, sunlight streaming through, open notebook in front of him, cinematic side-angle close-up, ultra realistic skin and fabric textures, atmosphere of focus, ambition, and quiet determination.
A young woman walking gracefully on a fashion runway, wearing a modern elegant outfit, cinematic spotlight shining on her, blurred audience in the background, ultra realistic fabric and lighting details, confident smile, atmosphere of youth, confidence, and positivity.
a realistic and beautiful close-up of a young woman with long, curly brown hair. she is smiling happily, with a look of surprise on her face. she is standing in a lush green garden with flowers in the background. natural lighting, sharp focus on her face, realistic, cinematic, dynamic motion. shot on a Arri Alexa mini LF, 8K.
A young write girl with curly hair eating ice cream, colorful city background, realistic lighting, street-style photography look, lifelike details
A young man standing on a rooftop overlooking a city skyline at dusk, neon lights beginning to glow, cinematic wide shot, ultra realistic textures, wind gently moving his clothes, atmosphere of freedom, exploration, and modern youth spirit.
A glowing jellyfish floating through an endless galaxy, stars twinkling in the background, camera rotates gently around, ethereal ambiance, surreal beauty.
Cinematic realistic photo of Rev. Martin Luther King smiling with his hand on Charlie Kirk's shoulder standing with three multi-ethnic angels holding glowing golden Scepters at Heaven's Gate. Glowing golden sign above says: "HEAVEN'S GATE"
Transform your images into cinematic videos with PixVerse V5 — the latest generation image-to-video model. With multiple resolution options from 360p to 1080p and flexible duration settings, create stunning motion content with ultra-realistic details and smooth, natural movement.
| Parameter | Required | Description |
|---|---|---|
| prompt | Yes | Text description of the motion, action, and cinematography you want. |
| image | Yes | Source image to animate (upload or public URL). |
| resolution | No | Output quality: 360p, 540p, 720p, or 1080p. Default: 540p. |
| duration | No | Video length: 5 or 8 seconds. Default: 5. |
| negative_prompt | No | Elements to avoid in the generated video. |
| seed | No | Random seed for reproducibility. Leave empty for random. |
| Enable Safety Checker | No | Toggle content safety filtering. |
Pricing varies by resolution and duration.
| Resolution | Cost |
|---|---|
| 360p | $0.15 |
| 540p | $0.15 |
| 720p | $0.20 |
| 1080p | $0.40 |
| Resolution | Cost |
|---|---|
| 360p | $0.30 |
| 540p | $0.30 |
| 720p | $0.40 |
| 1080p | $0.80 |
| Duration | 360p | 540p | 720p | 1080p |
|---|---|---|---|---|
| 5s | $0.15 | $0.15 | $0.20 | $0.40 |
| 8s | $0.30 | $0.30 | $0.40 | $0.80 |
| Resolution | Best For |
|---|---|
| 360p | Quick previews, testing concepts, budget-conscious projects |
| 540p | Social media, general use, good quality/cost balance |
| 720p | Higher quality social content, presentations |
| 1080p | Professional content, large displays, final deliverables |
Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/pixverse/pixverse-v5-i2v with your input as JSON. The endpoint returns a prediction id. Start polling the result endpoint around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. On completed, read output values from data.outputs. Examples for Pixverse v5 I2v below.
set -euo pipefail
: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"
REQUEST_BODY=$(cat <<'JSON'
{
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
"resolution": "540p",
"duration": 5,
"sound_effect_switch": false
}
JSON
)
# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
-X POST "https://api.wavespeed.ai/api/v3/pixverse/pixverse-v5-i2v" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $WAVESPEED_API_KEY" \
-d "$REQUEST_BODY")
TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
printf 'Submission response did not contain a prediction id
' >&2
exit 1
fi
RESULT_URL=$(printf '%s' "$TASK" | jq -r '.urls.get // empty')
if [ -z "$RESULT_URL" ]; then
RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
fi
# 2. Poll until the prediction finishes.
while true; do
RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
-H "Authorization: Bearer $WAVESPEED_API_KEY")
RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
case "$STATUS" in
completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
failed|cancelled|timeout) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
created|processing) sleep 2 ;;
*) printf 'Unexpected status: %s
' "$STATUS" >&2; exit 1 ;;
esac
doneconst submitUrl = "https://api.wavespeed.ai/api/v3/pixverse/pixverse-v5-i2v";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');
async function requestJson(url, options = {}) {
const response = await fetch(url, options);
if (!response.ok) throw new Error(await response.text());
return response.json();
}
// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
"resolution": "540p",
"duration": 5,
"sound_effect_switch": false
}),
});
const task = body.data ?? body;
if (!task.id) throw new Error("Submission response did not contain a prediction id");
const resultUrl = task.urls?.get ||
`https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;
// 2. Poll until the prediction finishes.
while (true) {
const resultBody = await requestJson(resultUrl, {
headers: { "Authorization": `Bearer ${apiKey}` },
});
const result = resultBody.data ?? resultBody;
if (result.status === "completed") {
console.log(result.outputs);
break;
}
if (["failed", "cancelled", "timeout"].includes(result.status)) throw new Error(JSON.stringify(result));
if (!["created", "processing"].includes(result.status)) throw new Error("Unexpected status: " + result.status);
await new Promise(resolve => setTimeout(resolve, 2000));
}import json
import os
import time
from urllib.request import Request, urlopen
api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
"resolution": "540p",
"duration": 5,
"sound_effect_switch": False
}
def request_json(url, data=None):
request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
with urlopen(request) as response:
return json.load(response)
# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/pixverse/pixverse-v5-i2v", json.dumps(payload).encode())
task = body.get("data", body)
if not task.get("id"):
raise RuntimeError("Submission response did not contain a prediction id")
result_url = task.get("urls", {}).get("get") or f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"
# 2. Poll until the prediction finishes.
while True:
result_body = request_json(result_url)
result = result_body.get("data", result_body)
status = result.get("status")
if status == "completed":
print(result.get("outputs", []))
break
if status in {"failed", "cancelled", "timeout"}:
raise RuntimeError(result)
if status not in {"created", "processing"}:
raise RuntimeError(f"Unexpected status: {status}")
time.sleep(2)Pixverse v5 I2v is a Pixverse model for video generation from images, exposed as a REST API on WaveSpeedAI. PixVerse V5 converts images to short, smooth, natural-looking videos. 5s video: $0.15 (360p/540p), $0.20 (720p), $0.40 (1080p). Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing. You can call it programmatically or try it from the playground above.
POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. The playground generates production-oriented Python, JavaScript, and cURL examples with timeouts, transient-error handling, and safe GET retries. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/pixverse/pixverse-pixverse-v5-i2v.
Pixverse v5 I2v starts at $0.15 per run. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.
Key inputs: `prompt`, `image`, `resolution`, `duration`, `seed`, `negative_prompt`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/pixverse/pixverse-pixverse-v5-i2v.
Median end-to-end generation time on WaveSpeedAI is around 50 seconds per request, based on recent successful runs. Queue time varies with global demand; live status is visible in the prediction record.
Commercial usage rights depend on the model's license, set by its provider (Pixverse). The license summary appears on the model card above; see WaveSpeedAI's Terms of Service for platform-level conditions.