curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "pixverse-v6-max",
"prompt": "A blue glass marble rolls across a clean white table in morning light",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"audio": true
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/videos/generations",
headers={"Authorization": "Bearer <token>"},
json={
"model": "pixverse-v6-max",
"prompt": "A blue glass marble rolls across a clean white table in morning light",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"audio": True
}
)
response.raise_for_status()
print(response.json())
const response = await fetch("https://api.apimart.ai/v1/videos/generations", {
method: "POST",
headers: {
Authorization: "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "pixverse-v6-max",
prompt: "A blue glass marble rolls across a clean white table in morning light",
duration: 5,
resolution: "720p",
aspect_ratio: "16:9",
audio: true
})
});
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());
PixVerse V6 Max
PixVerse V6 Max Video Generation
Text-to-video and single-image-to-video at 360p / 540p / 720p / 1080p, with durations of 1–15 seconds and optional native audio.
POST
/
v1
/
videos
/
generations
curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "pixverse-v6-max",
"prompt": "A blue glass marble rolls across a clean white table in morning light",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"audio": true
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/videos/generations",
headers={"Authorization": "Bearer <token>"},
json={
"model": "pixverse-v6-max",
"prompt": "A blue glass marble rolls across a clean white table in morning light",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"audio": True
}
)
response.raise_for_status()
print(response.json())
const response = await fetch("https://api.apimart.ai/v1/videos/generations", {
method: "POST",
headers: {
Authorization: "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "pixverse-v6-max",
prompt: "A blue glass marble rolls across a clean white table in morning light",
duration: 5,
resolution: "720p",
aspect_ratio: "16:9",
audio: true
})
});
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());
This endpoint is asynchronous. After submission, use the returned
task_id with GET /v1/videos/generations/{task_id} to query the task status and result.curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "pixverse-v6-max",
"prompt": "A blue glass marble rolls across a clean white table in morning light",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"audio": true
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/videos/generations",
headers={"Authorization": "Bearer <token>"},
json={
"model": "pixverse-v6-max",
"prompt": "A blue glass marble rolls across a clean white table in morning light",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"audio": True
}
)
response.raise_for_status()
print(response.json())
const response = await fetch("https://api.apimart.ai/v1/videos/generations", {
method: "POST",
headers: {
Authorization: "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "pixverse-v6-max",
prompt: "A blue glass marble rolls across a clean white table in morning light",
duration: 5,
resolution: "720p",
aspect_ratio: "16:9",
audio: true
})
});
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());
Model capabilities
PixVerse V6 Max is the higher-quality version of PixVerse V6. It supports only text-to-video and single-image-to-video, using the same model name,pixverse-v6-max.
| Mode | Input | Aspect ratio |
|---|---|---|
| Text-to-video | Omit image_urls; prompt is required | Uses aspect_ratio, defaulting to 16:9 |
| Image-to-video | Supply 1 image in image_urls; prompt is optional | Follows the input image; aspect_ratio has no effect |
Request headers
string
required
Bearer authentication:
Bearer <token>, where <token> is your APIMart API Key.Request parameters
string
required
Must be
pixverse-v6-max.string
Describe the content to generate. Required for text-to-video, up to 5000 characters; optional for image-to-video, up to 2048 characters.
string[]
Input image URL list. Image-to-video accepts exactly 1 image; supplying 2 or more returns HTTP 400 synchronously. Omit this field for text-to-video.Images must be publicly accessible over HTTP(S), in JPEG, PNG, or WebP format, under 20 MB, with each side no longer than 10000 pixels.
integer
default:"5"
Output duration in seconds, from
1 to 15; default: 5.string
default:"540p"
Output resolution:
360p, 540p, 720p, or 1080p; default: 540p.Output uses the upstream model’s native dimensions; the actual returned dimensions are authoritative. Representative observed sizes include 640×360 and 1108×832 (width × height, in pixels).The quality field is also accepted. When both are supplied, resolution takes precedence.string
Compatibility field for resolution, with the same values as
resolution. Used only when resolution is omitted; if both fields are omitted, 540p is used.string
default:"16:9"
Applies only to text-to-video. Supports
16:9, 9:16, 4:3, 3:4, 1:1, 2:3, 3:2, and 21:9; default: 16:9.Image-to-video always follows the input image’s aspect ratio; this field has no effect.boolean
default:"false"
Set to
true to generate native audio; the default is silent. Generation with audio has a higher per-second rate.Only the top-level audio field in the request body is recognized. metadata.generate_audio_switch does not enable audio or trigger audio-tier billing.integer
Random seed, from
0 to 2147483647.Image-to-video example
{
"model": "pixverse-v6-max",
"prompt": "Make the subject walk forward slowly",
"image_urls": ["https://example.com/start.png"],
"duration": 5,
"resolution": "1080p"
}
Query a task
Replace the task ID in the following request with thetask_id returned on submission:
curl --request GET \
--url 'https://api.apimart.ai/v1/videos/generations/<task_id>' \
--header 'Authorization: Bearer <token>'
Billing
Cost is the output duration in seconds multiplied by the per-second rate for the selected resolution and audio tier. Audio and silent generation use separate rates; audio costs more per second. If neitherresolution nor quality is specified, both output and billing use 540p.
Current rates are provided by the model pricing endpoint:
| Audio tier | Price field |
|---|---|
| Silent | The matching resolution price in resolution_paid_prices |
| With audio | The matching <resolution>-audio tier in billing_tier_paid_prices |
Unsupported features and parameter errors
The following requests return HTTP 400 synchronously, without creating a task or charging:| Request | Error message |
|---|---|
Includes extend_from_task_id | pixverse-v6-max does not support video extend …; use pixverse-v6 instead |
Includes img_references | pixverse-v6-max does not support multi-image reference … |
Includes first_frame_image or last_frame_image | pixverse-v6-max does not support first/last frame transition … |
Supplies 2 or more images in image_urls | pixverse-v6-max image-to-video takes exactly 1 image in image_urls (got N) |
resolution is not one of the 4 supported tiers | invalid resolution … |
duration exceeds 15 seconds | invalid duration … |
Text-to-video aspect_ratio is not one of the 8 supported ratios | invalid aspect_ratio … |