PixVerse V6 Max Image-to-Video
Endpoint
POST /jobs/createTask
Full URL: https://modelfold.ai/v1/jobs/createTask
Authentication: every request must include the
Authorization: Bearer <API_KEY>header.
PixVerse V6 Max image-to-video. Animate a single reference image as the first frame into cinematic video up to 15 seconds at up to 1080p, with optional native audio synchronized to the picture. The output aspect ratio follows the input image; do not send aspect_ratio.
V6 Max is tuned for film, short drama, and advertising: stronger prompt following and camera control, more realistic lighting and materials, more stable subject consistency across shots, tighter music-beat sync, more accurate multi-character dialogue and lip-sync, and more reliable product appearance and on-screen text.
Query Task Status
After submitting a task, you can check its progress and retrieve the result through the unified query endpoint:
- Get Task Details — Learn how to check task status and retrieve the generated result
TIP
In production, we recommend using the callBackUrl parameter to receive an automatic notification when generation is complete instead of polling the status endpoint.
Related Resources
- Market Overview — Browse all available models
Request Parameters
Body (application/json)
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | Yes | The name of the model used for the generation task. Required field. Used for PixVerse V6 Max image-to-video. Default:"pixverse-v6-max/image-to-video"。 Allowed values:pixverse-v6-max/image-to-video。 Example:pixverse-v6-max/image-to-video。 |
callBackUrl | string | No | The callback URL to receive the completion notification of the generation task. Optional configuration, recommended for production environments. - After the task generation is completed, the system will push the task status and results to this URL via POST - The callback content includes the URL of the generated content and task-related information - Your callback interface must support receiving POST requests and JSON-formatted request bodies - You can also actively poll the task status by calling the task details interface Example: https://your-domain.com/api/callback。 |
input | object | Yes | Input parameters for the image-to-video task |
input.prompt | string | Yes | Generation prompt. Required. Cannot be empty. Maximum 5000 characters. minLength: 1. maxLength: 5000. Example:Use the supplied image as the exact first frame. The subject slowly walks toward the camera in one continuous shot, natural performance, subtle handheld breathing, no cuts。 |
input.image_urls | array<string> | Yes | Required. Input image used as the first frame. The array must contain exactly 1 URL. HTTP, HTTPS, and OSS addresses are supported. Formats: JPG, JPEG, PNG, and WebP. Each side must be ≤ 10,000 px and the file size must be ≤ 20 MB. The output aspect ratio follows this image; do not send aspect_ratio. minItems: 1. maxItems: 1. |
input.quality | string | Yes | Required. Output video resolution. Supports 360p, 540p, 720p, and 1080p. Case-insensitive. Allowed values:360p / 540p / 720p / 1080p。 Example:720p。 |
input.duration | integer | Yes | Required. Output video duration in seconds. PixVerse V6 Max supports 1–15 seconds. minimum: 1. maximum: 15. Example:5。 |
input.generate_audio_switch | boolean | No | Whether to generate native audio synchronized with the video. Default is false. Default:false。 Example:false。 |
input.seed | integer | No | Random seed, range 0–2147483647. Using the same parameters and seed improves reproducibility. If omitted, a random seed is used. minimum: 0. maximum: 2147483647. Example:123456789。 |
Request Example
curl -X POST "https://modelfold.ai/v1/jobs/createTask" \
-H "Authorization: Bearer $MODELFOLD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "pixverse-v6-max/image-to-video",
"input": {
"prompt": "Use the supplied image as the exact first frame. The subject slowly walks toward the camera in one continuous shot, natural performance, subtle handheld breathing, no cuts",
"image_urls": [
"https://example.com/first-frame.png"
],
"quality": "720p",
"duration": 5,
"generate_audio_switch": false,
"seed": 123456
},
"callBackUrl": "https://example.com/ModelFold/callback"
}'import os
import requests
resp = requests.post(
"https://modelfold.ai/v1/jobs/createTask",
headers={
"Authorization": "Bearer " + os.environ["MODELFOLD_API_KEY"],
"Content-Type": "application/json",
},
json={
"model": "pixverse-v6-max/image-to-video",
"input": {
"prompt": "Use the supplied image as the exact first frame. The subject slowly walks toward the camera in one continuous shot, natural performance, subtle handheld breathing, no cuts",
"image_urls": [
"https://example.com/first-frame.png",
],
"quality": "720p",
"duration": 5,
"generate_audio_switch": False,
"seed": 123456,
},
"callBackUrl": "https://example.com/ModelFold/callback",
},
)
print(resp.json())const resp = await fetch("https://modelfold.ai/v1/jobs/createTask", {
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.MODELFOLD_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "pixverse-v6-max/image-to-video",
"input": {
"prompt": "Use the supplied image as the exact first frame. The subject slowly walks toward the camera in one continuous shot, natural performance, subtle handheld breathing, no cuts",
"image_urls": [
"https://example.com/first-frame.png"
],
"quality": "720p",
"duration": 5,
"generate_audio_switch": false,
"seed": 123456
},
"callBackUrl": "https://example.com/ModelFold/callback"
}),
});
console.log(await resp.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{"model":"pixverse-v6-max/image-to-video","input":{"prompt":"Use the supplied image as the exact first frame. The subject slowly walks toward the camera in one continuous shot, natural performance, subtle handheld breathing, no cuts","image_urls":["https://example.com/first-frame.png"],"quality":"720p","duration":5,"generate_audio_switch":false,"seed":123456},"callBackUrl":"https://example.com/ModelFold/callback"}`)
req, _ := http.NewRequest("POST", "https://modelfold.ai/v1/jobs/createTask", body)
req.Header.Set("Authorization", "Bearer " + os.Getenv("MODELFOLD_API_KEY"))
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
out, _ := io.ReadAll(resp.Body)
fmt.Println(string(out))
}import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
String body = "{\"model\":\"pixverse-v6-max/image-to-video\",\"input\":{\"prompt\":\"Use the supplied image as the exact first frame. The subject slowly walks toward the camera in one continuous shot, natural performance, subtle handheld breathing, no cuts\",\"image_urls\":[\"https://example.com/first-frame.png\"],\"quality\":\"720p\",\"duration\":5,\"generate_audio_switch\":false,\"seed\":123456},\"callBackUrl\":\"https://example.com/ModelFold/callback\"}";
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://modelfold.ai/v1/jobs/createTask"))
.header("Authorization", "Bearer " + System.getenv("MODELFOLD_API_KEY"))
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> resp = HttpClient.newHttpClient().send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.body());
}
}<?php
$ch = curl_init('https://modelfold.ai/v1/jobs/createTask');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv("MODELFOLD_API_KEY"),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => '{"model":"pixverse-v6-max/image-to-video","input":{"prompt":"Use the supplied image as the exact first frame. The subject slowly walks toward the camera in one continuous shot, natural performance, subtle handheld breathing, no cuts","image_urls":["https://example.com/first-frame.png"],"quality":"720p","duration":5,"generate_audio_switch":false,"seed":123456},"callBackUrl":"https://example.com/ModelFold/callback"}',
]);
echo curl_exec($ch);
curl_close($ch);using System;
using System.Net.Http;
using System.Text;
var client = new HttpClient();
var req = new HttpRequestMessage(new HttpMethod("POST"), "https://modelfold.ai/v1/jobs/createTask");
req.Headers.TryAddWithoutValidation("Authorization", "Bearer " + Environment.GetEnvironmentVariable("MODELFOLD_API_KEY"));
req.Content = new StringContent("{\"model\":\"pixverse-v6-max/image-to-video\",\"input\":{\"prompt\":\"Use the supplied image as the exact first frame. The subject slowly walks toward the camera in one continuous shot, natural performance, subtle handheld breathing, no cuts\",\"image_urls\":[\"https://example.com/first-frame.png\"],\"quality\":\"720p\",\"duration\":5,\"generate_audio_switch\":false,\"seed\":123456},\"callBackUrl\":\"https://example.com/ModelFold/callback\"}", Encoding.UTF8, "application/json");
var resp = await client.SendAsync(req);
Console.WriteLine(await resp.Content.ReadAsStringAsync());{
"model": "pixverse-v6-max/image-to-video",
"input": {
"prompt": "Use the supplied image as the exact first frame. The subject slowly walks toward the camera in one continuous shot, natural performance, subtle handheld breathing, no cuts",
"image_urls": [
"https://example.com/first-frame.png"
],
"quality": "720p",
"duration": 5,
"generate_audio_switch": false,
"seed": 123456
},
"callBackUrl": "https://example.com/ModelFold/callback"
}Response
200 — Request successful.
Callback
videoTaskCompleted
Callback URL: {request.body#/callBackUrl} (the callBackUrl in the request body).
The system sends this callback when the pixverse-v6-max/image-to-video task succeeds or fails.
Callback body parameters
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
code | integer | 是 | Callback business code: 200 for success, 501 for failure. Allowed values:200 / 501。 Example:200。 |
data | object | 是 | — |
data.completeTime | integer | 是 | Task completion time, Unix timestamp in milliseconds. |
data.costTime | integer | 是 | Processing duration in seconds. |
data.createTime | integer | 是 | Task creation time, Unix timestamp in milliseconds. |
data.model | string | 是 | The model used for the task. Allowed values:pixverse-v6-max/image-to-video。 Example:pixverse-v6-max/image-to-video。 |
data.param | string | 是 | JSON string of the submitted task. input inside it is itself a JSON string. |
data.resultJson | string | 否 | JSON string with resultUrls when successful. Present only when state is success. |
data.state | string | 是 | Terminal task state. Allowed values:success / fail。 Example:success。 |
data.taskId | string | 是 | The unique task identifier. |
data.updateTime | integer | 是 | Last update time, Unix timestamp in milliseconds. May equal createTime; use completeTime as the completion time. |
data.failCode | string | 否 | Failure code, a numeric string such as "400" or "500". Present only when state is fail. |
data.failMsg | string | 否 | Failure reason. Present only when state is fail. |
msg | string | 是 | Callback message. Allowed values:Playground task completed successfully. / Playground task failed.。 Example:Playground task completed successfully.。 |
Task completed successfully
{
"code": 200,
"data": {
"completeTime": 1792749587321,
"costTime": 112,
"createTime": 1792749475000,
"model": "pixverse-v6-max/image-to-video",
"param": "{\"input\":\"{\\\"duration\\\":5,\\\"generate_audio_switch\\\":false,\\\"seed\\\":123456,\\\"image_urls\\\":[\\\"https://static.aiquickdraw.com/tools/example/1792430759523_Fbq69dva.jpg\\\"],\\\"prompt\\\":\\\"Use the supplied image as the exact first frame. The subject slowly walks toward the camera in one continuous shot, natural performance, subtle handheld breathing, no cuts\\\",\\\"quality\\\":\\\"720p\\\"}\",\"callBackUrl\":\"https://example.com/callback\",\"model\":\"pixverse-v6-max/image-to-video\"}",
"resultJson": "{\"resultUrls\":[\"https://tempfile.aiquickdraw.com/pixverse-v6/1792749586652-2tw5t2l0k4o.mp4\"]}",
"state": "success",
"taskId": "412f345309a8a3b784bb906fbb56d5c7",
"updateTime": 1792749475000
},
"msg": "Playground task completed successfully."
}Task failed
{
"code": 501,
"data": {
"completeTime": 1792749587321,
"costTime": 112,
"createTime": 1792749475000,
"model": "pixverse-v6-max/image-to-video",
"param": "{\"input\":\"{\\\"duration\\\":5,\\\"generate_audio_switch\\\":false,\\\"seed\\\":123456,\\\"image_urls\\\":[\\\"https://static.aiquickdraw.com/tools/example/1792430759523_Fbq69dva.jpg\\\"],\\\"prompt\\\":\\\"Use the supplied image as the exact first frame. The subject slowly walks toward the camera in one continuous shot, natural performance, subtle handheld breathing, no cuts\\\",\\\"quality\\\":\\\"720p\\\"}\",\"callBackUrl\":\"https://example.com/callback\",\"model\":\"pixverse-v6-max/image-to-video\"}",
"state": "fail",
"taskId": "412f345309a8a3b784bb906fbb56d5c7",
"updateTime": 1792749475000,
"failCode": "400",
"failMsg": "<error detail>"
},
"msg": "Playground task failed."
}