Skip to content

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.

Request Parameters ​

Body (application/json) ​

ParameterTypeRequiredDescription
modelstringYesThe 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。
callBackUrlstringNoThe 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。
inputobjectYesInput parameters for the image-to-video task
  input.promptstringYesGeneration 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_urlsarray&lt;string&gt;YesRequired. 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.qualitystringYesRequired. Output video resolution. Supports 360p, 540p, 720p, and 1080p. Case-insensitive. Allowed values:360p / 540p / 720p / 1080p。 Example:720p。
  input.durationintegerYesRequired. Output video duration in seconds. PixVerse V6 Max supports 1–15 seconds. minimum: 1. maximum: 15. Example:5。
  input.generate_audio_switchbooleanNoWhether to generate native audio synchronized with the video. Default is false. Default:false。 Example:false。
  input.seedintegerNoRandom 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 ​

bash
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"
}'
python
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())
javascript
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());
go
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))
}
java
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
<?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);
csharp
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());
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"
}

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

参数类型必填说明
codeinteger是Callback business code: 200 for success, 501 for failure. Allowed values:200 / 501。 Example:200。
dataobject是—
  data.completeTimeinteger是Task completion time, Unix timestamp in milliseconds.
  data.costTimeinteger是Processing duration in seconds.
  data.createTimeinteger是Task creation time, Unix timestamp in milliseconds.
  data.modelstring是The model used for the task. Allowed values:pixverse-v6-max/image-to-video。 Example:pixverse-v6-max/image-to-video。
  data.paramstring是JSON string of the submitted task. input inside it is itself a JSON string.
  data.resultJsonstring否JSON string with resultUrls when successful. Present only when state is success.
  data.statestring是Terminal task state. Allowed values:success / fail。 Example:success。
  data.taskIdstring是The unique task identifier.
  data.updateTimeinteger是Last update time, Unix timestamp in milliseconds. May equal createTime; use completeTime as the completion time.
  data.failCodestring否Failure code, a numeric string such as "400" or "500". Present only when state is fail.
  data.failMsgstring否Failure reason. Present only when state is fail.
msgstring是Callback message. Allowed values:Playground task completed successfully. / Playground task failed.。 Example:Playground task completed successfully.。

Task completed successfully

json
{
  "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

json
{
  "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."
}

ModelFold — one API for all the best AI models.