Pixazo APIModelsPixverse
Pixazo APIModelsPixverse

PixVerse V6 API, PixVerse V5.6 API - AI Video Generation APIs

by Pixverse

PixVerse V6 API, developers can generate videos from text and images with focus on visual appeal and motion quality. The API is optimized for social media and marketing use cases, producing videos that capture attention and drive engagement across digital platforms.

Get API Key
Pixverse Video API
View in Playground

Models Version

LIMITED TIME OFFER

Get $5 Free Credit on First Payment

No strings attached — add funds and get $5 bonus instantly

Claim Your $5 →

Pixverse v6 Image to Video API Documentation

https://gateway.pixazo.ai/pixverse-v6-image-to-video/v1

Authentication

All requests require an API key passed via header.

Header Type Required Description
Ocp-Apim-Subscription-Key string Yes Your API subscription key

PixVerse V6 Image to Video generate request - PixVerse V6 Image to Video

Request Code

POST /pixverse-v6-image-to-video-request HTTP/1.1
Host: gateway.pixazo.ai
Content-Type: application/json
Cache-Control: no-cache
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY

{
  "prompt": "A gentle snowfall begins around the snow-covered tree, with soft flakes drifting down while the branches sway slightly in the winter breeze. The camera slowly orbits the tree, cinematic, peaceful winter atmosphere.",
  "resolution": "720p",
  "duration": 5,
  "image_url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/f1.png"
}
import requests

url = "https://gateway.pixazo.ai/pixverse-v6-image-to-video/v1/pixverse-v6-image-to-video-request"
headers = {
    "Content-Type": "application/json",
    "Cache-Control": "no-cache",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}
data = {
    "prompt": "A gentle snowfall begins around the snow-covered tree, with soft flakes drifting down while the branches sway slightly in the winter breeze. The camera slowly orbits the tree, cinematic, peaceful winter atmosphere.",
    "resolution": "720p",
    "duration": 5,
    "image_url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/f1.png"
}

response = requests.post(url, json=data, headers=headers)
print(response.json())
const url = 'https://gateway.pixazo.ai/pixverse-v6-image-to-video/v1/pixverse-v6-image-to-video-request';

const data = {
  prompt: 'A gentle snowfall begins around the snow-covered tree, with soft flakes drifting down while the branches sway slightly in the winter breeze. The camera slowly orbits the tree, cinematic, peaceful winter atmosphere.',
  resolution: '720p',
  duration: 5,
  image_url: 'https://pub-582b7213209642b9b995c96c95a30381.r2.dev/f1.png'
};

fetch(url, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Cache-Control': 'no-cache',
    'Ocp-Apim-Subscription-Key': 'YOUR_SUBSCRIPTION_KEY'
  },
  body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
curl -X POST "https://gateway.pixazo.ai/pixverse-v6-image-to-video/v1/pixverse-v6-image-to-video-request" \
  -H "Content-Type: application/json" \
  -H "Cache-Control: no-cache" \
  -H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY" \
  --data-raw '{
    "prompt": "A gentle snowfall begins around the snow-covered tree, with soft flakes drifting down while the branches sway slightly in the winter breeze. The camera slowly orbits the tree, cinematic, peaceful winter atmosphere.",
    "resolution": "720p",
    "duration": 5,
    "image_url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/f1.png"
  }'

Output

{
  "request_id": "pixverse-v6-image-to-video_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/pixverse-v6-image-to-video_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Webhook (Optional)

Add the X-Webhook-URL header to your generate request to receive a POST callback instead of polling.

X-Webhook-URL: https://your-server.com/webhook/callback

Request Parameters - PixVerse V6 Image to Video generate request

Field Type Required Default Description
prompt string Yes A detailed text description of the desired video motion and atmosphere. Include camera movement, lighting, and mood.
resolution string No 720p Output video resolution. Supported values: `360p`, `480p`, `720p`, `1080p`.
duration integer No 5 Duration of the generated video in seconds. Must be between 1 and 15 inclusive.
negative_prompt string No Describes undesired elements to exclude from the output. Helps refine quality and avoid artifacts.
image_url string Yes Publicly accessible URL of the input image. Must be a valid HTTP/HTTPS link to a JPEG, PNG, or WebP image.
style string No The style of the generated video. Supported values: anime, 3d_animation, clay, comic, cyberpunk
seed integer No Random seed for reproducible generation. Same seed + same prompt = same output
generate_audio_switch boolean No false Enable audio generation (BGM, SFX, dialogue). Increases cost per second
generate_multi_clip_switch boolean No false Enable multi-clip generation with dynamic camera changes
thinking_type string No auto Prompt optimization mode. Supported values: enabled (optimize), disabled (turn off), auto (model decision)

Minimum Request

{
  "prompt": "A gentle snowfall begins around the snow-covered tree, with soft flakes drifting down while the branches sway slightly in the winter breeze. The camera slowly orbits the tree, cinematic, peaceful winter atmosphere.",
  "resolution": "720p",
  "duration": 5,
  "image_url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/f1.png"
}

Full Request (all options)

{
  "prompt": "A gentle snowfall begins around the snow-covered tree, with soft flakes drifting down while the branches sway slightly in the winter breeze. The camera slowly orbits the tree, cinematic, peaceful winter atmosphere.",
  "resolution": "720p",
  "duration": 5,
  "negative_prompt": "blurry, low quality, low resolution, pixelated, noisy, grainy, out of focus, poorly lit, poorly exposed, poorly composed, poorly framed, poorly cropped, poorly color corrected, poorly color graded",
  "image_url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/f1.png"
}

Response

{
  "request_id": "pixverse-v6-image-to-video_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/pixverse-v6-image-to-video_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Request Headers

Header Value
Content-Type application/json
Cache-Control no-cache
Ocp-Apim-Subscription-Key YOUR_SUBSCRIPTION_KEY

Response Handling

Common status codes for PixVerse V6 Image to Video generate request.

Code Meaning
202 Accepted — Request queued
Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
Too Many Requests
500 Internal Server Error

Response Handling

Common status codes.

CodeMeaning
202Accepted — Request queued
Bad Request
401Unauthorized
402Insufficient Balance
403Forbidden
Too Many Requests
500Internal Server Error

Error Responses

Queue system errors and model validation errors.

Queue System Errors

// 402 — Insufficient balance
{
  "error": "Insufficient Balance",
  "message": "Your wallet does not have enough balance."
}
// 400 — Model not found
{
  "error": "Model not found",
  "message": "Model 'pixverse-v6-image-to-video' not found or is disabled"
}

Error via Status/Webhook

{
  "request_id": "pixverse-v6-image-to-video_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "ERROR",
  "model_id": "pixverse-v6-image-to-video",
  "error": "Description of the error",
  "output": null
}

Retrieving Results

Poll the universal status endpoint to check progress and retrieve results.

Endpoint

GET https://gateway.pixazo.ai/v2/requests/status/{request_id}
Ocp-Apim-Subscription-Key: YOUR_API_KEY

cURL Example

curl -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
  "https://gateway.pixazo.ai/v2/requests/status/pixverse-v6-image-to-video_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

Response (Completed)

{
  "request_id": "pixverse-v6-image-to-video_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "pixverse-v6-image-to-video",
  "error": null,
  "output": {
    "media_url": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/pixverse-v6-image-to-video_019dxxxx-xxxx/output.ext"
    ],
    "media_type": "application/octet-stream"
  },
  "created_at": "2026-03-31T10:00:00.000Z",
  "updated_at": "2026-03-31T10:00:15.000Z",
  "completed_at": "2026-03-31T10:00:15.000Z"
}

Response Fields

FieldTypeDescription
request_idstringUnique request identifier
statusstringQUEUED, PROCESSING, COMPLETED, FAILED, or ERROR
model_idstringModel that processed the request
errorstring|nullError message if failed
output.media_urlarrayURLs to generated media (R2 CDN)
output.media_typestringMIME type of the output
created_atstringWhen request was created
completed_atstring|nullWhen request completed
polling_urlstringStatus URL (initial response only)

Status Values

StatusDescription
QUEUEDRequest accepted, waiting to be processed
PROCESSINGBeing processed by the model
COMPLETEDDone — output contains the result
FAILEDFailed — check error field
ERRORSystem error — not charged

Status Flow

QUEUED → PROCESSING → COMPLETED
                    → FAILED
                    → ERROR

Typical Workflow

  1. Send a generate request to the API endpoint
  2. Save the request_id from the response
  3. Poll every 5-10 seconds: GET /v2/requests/status/{request_id}
  4. When status is "COMPLETED", download from output.media_url

Tip: Use X-Webhook-URL header to get a callback instead of polling.

Pixverse v6 Image to Video API Pricing

ResolutionPrice (USD)
360p$0.025 per second
360p$0.035 per second
540p$0.035 per second
540p$0.045 per second
720p$0.045 per second
720p$0.06 per second
1080p$0.09 per second
1080p$0.115 per second
2. Pixverse v5.6

Pixverse v5.6 Text to Video API Documentation

https://gateway.pixazo.ai/pixverse/v1

Authentication

All requests require an API key passed via header.

Header Type Required Description
Ocp-Apim-Subscription-Key string Yes Your API subscription key

Pixverse generate request - Pixverse

Request Code

POST /pixverse-request HTTP/1.1
Host: gateway.pixazo.ai
Content-Type: application/json
Cache-Control: no-cache
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY

{
  "prompt": "A golden sunset timelapse over a coastal city, waves crashing against the pier, seagulls flying, warm cinematic lighting, aerial drone perspective",
  "aspect_ratio": "16:9",
  "resolution": "720p",
  "duration": 5
}
import requests

url = "https://gateway.pixazo.ai/pixverse/v1/pixverse-request"
headers = {
    "Content-Type": "application/json",
    "Cache-Control": "no-cache",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}
data = {
    "prompt": "A golden sunset timelapse over a coastal city, waves crashing against the pier, seagulls flying, warm cinematic lighting, aerial drone perspective",
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "duration": 5
}

response = requests.post(url, json=data, headers=headers)
print(response.json())
const url = 'https://gateway.pixazo.ai/pixverse/v1/pixverse-request';
const headers = {
  'Content-Type': 'application/json',
  'Cache-Control': 'no-cache',
  'Ocp-Apim-Subscription-Key': 'YOUR_SUBSCRIPTION_KEY'
};
const body = {
  prompt: 'A golden sunset timelapse over a coastal city, waves crashing against the pier, seagulls flying, warm cinematic lighting, aerial drone perspective',
  aspect_ratio: '16:9',
  resolution: '720p',
  duration: 5
};

fetch(url, {
  method: 'POST',
  headers: headers,
  body: JSON.stringify(body)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
curl -X POST "https://gateway.pixazo.ai/pixverse/v1/pixverse-request" \
  -H "Content-Type: application/json" \
  -H "Cache-Control: no-cache" \
  -H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY" \
  --data-raw '{
    "prompt": "A golden sunset timelapse over a coastal city, waves crashing against the pier, seagulls flying, warm cinematic lighting, aerial drone perspective",
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "duration": 5
  }'

Output

{
  "request_id": "pixverse_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/pixverse_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Webhook (Optional)

Add the X-Webhook-URL header to your generate request to receive a POST callback instead of polling.

X-Webhook-URL: https://your-server.com/webhook/callback

Request Parameters - Pixverse generate request

Field Type Required Default Description
prompt string Yes Detailed text description of the desired video scene, including motion, lighting, and style
aspect_ratio string Yes Aspect ratio of the output video. Supported values: "16:9", "9:16", "1:1", "4:3", "3:4"
resolution string Yes Output video resolution. Supported values: "720p", "1080p", "2160p"
duration integer Yes Duration of the video in seconds. Supported values: 3, 5, 7, 10
negative_prompt string No Descriptions of elements to avoid in the generated video. Helps refine output quality

Minimum Request

{
  "prompt": "A golden sunset timelapse over a coastal city, waves crashing against the pier, seagulls flying, warm cinematic lighting, aerial drone perspective",
  "aspect_ratio": "16:9",
  "resolution": "720p",
  "duration": 5
}

Full Request (all options)

{
  "prompt": "A golden sunset timelapse over a coastal city, waves crashing against the pier, seagulls flying, warm cinematic lighting, aerial drone perspective",
  "aspect_ratio": "16:9",
  "resolution": "720p",
  "duration": 5,
  "negative_prompt": "blurry, low quality, low resolution, pixelated, noisy, grainy, out of focus, poorly lit, poorly exposed, poorly composed, poorly framed, poorly cropped, poorly color corrected, poorly color graded"
}

Response

{
  "request_id": "pixverse_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/pixverse_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Request Headers

Header Value
Content-Type application/json
Cache-Control no-cache
Ocp-Apim-Subscription-Key Your API subscription key

Response Handling

Common status codes for Pixverse generate request.

Code Meaning
202 Accepted — Request queued
Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
Too Many Requests
500 Internal Server Error

Response Handling

Common status codes.

CodeMeaning
202Accepted — Request queued
Bad Request
401Unauthorized
402Insufficient Balance
403Forbidden
Too Many Requests
500Internal Server Error

Error Responses

Queue system errors and model validation errors.

Queue System Errors

// 402 — Insufficient balance
{
  "error": "Insufficient Balance",
  "message": "Your wallet does not have enough balance."
}
// 400 — Model not found
{
  "error": "Model not found",
  "message": "Model 'pixverse' not found or is disabled"
}

Error via Status/Webhook

{
  "request_id": "pixverse_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "ERROR",
  "model_id": "pixverse",
  "error": "Description of the error",
  "output": null
}

Retrieving Results

Poll the universal status endpoint to check progress and retrieve results.

Endpoint

GET https://gateway.pixazo.ai/v2/requests/status/{request_id}
Ocp-Apim-Subscription-Key: YOUR_API_KEY

cURL Example

curl -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
  "https://gateway.pixazo.ai/v2/requests/status/pixverse_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

Response (Completed)

{
  "request_id": "pixverse_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "pixverse",
  "error": null,
  "output": {
    "media_url": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/pixverse_019dxxxx-xxxx/output.ext"
    ],
    "media_type": "application/octet-stream"
  },
  "created_at": "2026-03-31T10:00:00.000Z",
  "updated_at": "2026-03-31T10:00:15.000Z",
  "completed_at": "2026-03-31T10:00:15.000Z"
}

Response Fields

FieldTypeDescription
request_idstringUnique request identifier
statusstringQUEUED, PROCESSING, COMPLETED, FAILED, or ERROR
model_idstringModel that processed the request
errorstring|nullError message if failed
output.media_urlarrayURLs to generated media (R2 CDN)
output.media_typestringMIME type of the output
created_atstringWhen request was created
completed_atstring|nullWhen request completed
polling_urlstringStatus URL (initial response only)

Status Values

StatusDescription
QUEUEDRequest accepted, waiting to be processed
PROCESSINGBeing processed by the model
COMPLETEDDone — output contains the result
FAILEDFailed — check error field
ERRORSystem error — not charged

Status Flow

QUEUED → PROCESSING → COMPLETED
                    → FAILED
                    → ERROR

Typical Workflow

  1. Send a generate request to the API endpoint
  2. Save the request_id from the response
  3. Poll every 5-10 seconds: GET /v2/requests/status/{request_id}
  4. When status is "COMPLETED", download from output.media_url

Tip: Use X-Webhook-URL header to get a callback instead of polling.

Pixverse v5.6 Text to Video API Pricing

No data available

Pixverse v5.6 Image to Video API Documentation

https://gateway.pixazo.ai/pixverse-i2v/v1

Authentication

All requests require an API key passed via header.

Header Type Required Description
Ocp-Apim-Subscription-Key string Yes Your API subscription key

Pixverse i2v generate request - Pixverse i2v

Request Code

POST https://gateway.pixazo.ai/pixverse-i2v/v1/pixverse-i2v-request
Content-Type: application/json
Cache-Control: no-cache
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY

{
  "prompt": "A fierce dragon breathing fire across a stormy night sky, lightning flashing in the background, cinematic dark fantasy",
  "resolution": "720p",
  "duration": "5",
  "image_url": "https://imagesai.appypie.com/7686410/ZU2sxXLmgRF6dgSktn9o_017731475651251.png"
}
import requests

url = "https://gateway.pixazo.ai/pixverse-i2v/v1/pixverse-i2v-request"
headers = {
    "Content-Type": "application/json",
    "Cache-Control": "no-cache",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}
data = {
    "prompt": "A fierce dragon breathing fire across a stormy night sky, lightning flashing in the background, cinematic dark fantasy",
    "resolution": "720p",
    "duration": "5",
    "image_url": "https://imagesai.appypie.com/7686410/ZU2sxXLmgRF6dgSktn9o_017731475651251.png"
}

response = requests.post(url, json=data, headers=headers)
print(response.json())
const url = 'https://gateway.pixazo.ai/pixverse-i2v/v1/pixverse-i2v-request';

const data = {
  prompt: 'A fierce dragon breathing fire across a stormy night sky, lightning flashing in the background, cinematic dark fantasy',
  resolution: '720p',
  duration: '5',
  image_url: 'https://imagesai.appypie.com/7686410/ZU2sxXLmgRF6dgSktn9o_017731475651251.png'
};

fetch(url, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Cache-Control': 'no-cache',
    'Ocp-Apim-Subscription-Key': 'YOUR_SUBSCRIPTION_KEY'
  },
  body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
curl -X POST "https://gateway.pixazo.ai/pixverse-i2v/v1/pixverse-i2v-request" \
  -H "Content-Type: application/json" \
  -H "Cache-Control: no-cache" \
  -H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY" \
  --data-raw '{
    "prompt": "A fierce dragon breathing fire across a stormy night sky, lightning flashing in the background, cinematic dark fantasy",
    "resolution": "720p",
    "duration": "5",
    "image_url": "https://imagesai.appypie.com/7686410/ZU2sxXLmgRF6dgSktn9o_017731475651251.png"
  }'

Output

{
  "request_id": "pixverse-i2v_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/pixverse-i2v_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Webhook (Optional)

Add the X-Webhook-URL header to your generate request to receive a POST callback instead of polling.

X-Webhook-URL: https://your-server.com/webhook/callback

Request Parameters - Pixverse i2v generate request

Field Type Required Default Description
prompt string Yes Text description describing the desired video motion and scene. Be detailed for best results.
resolution string Yes Target video resolution. Supported values: "720p", "1080p".
duration string Yes Duration of the generated video in seconds. Supported values: "5", "10".
negative_prompt string No Describes undesired elements to exclude from the video. Helps refine output quality.
image_url string Yes Publicly accessible URL of the input image to animate. Must be a valid HTTP/HTTPS link.

Minimum Request

{
  "prompt": "A fierce dragon breathing fire across a stormy night sky, lightning flashing in the background, cinematic dark fantasy",
  "resolution": "720p",
  "duration": "5",
  "image_url": "https://imagesai.appypie.com/7686410/ZU2sxXLmgRF6dgSktn9o_017731475651251.png"
}

Full Request (all options)

{
  "prompt": "A fierce dragon breathing fire across a stormy night sky, lightning flashing in the background, cinematic dark fantasy",
  "resolution": "720p",
  "duration": "5",
  "negative_prompt": "blurry, low quality, low resolution, pixelated, noisy, grainy",
  "image_url": "https://imagesai.appypie.com/7686410/ZU2sxXLmgRF6dgSktn9o_017731475651251.png"
}

Response

{
  "request_id": "pixverse-i2v_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/pixverse-i2v_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Request Headers

Header Value
Content-Type application/json
Cache-Control no-cache
Ocp-Apim-Subscription-Key Your API subscription key

Response Handling

Common status codes for Pixverse i2v generate request.

Code Meaning
202 Accepted — Request queued
Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
Too Many Requests
500 Internal Server Error

Response Handling

Common status codes.

CodeMeaning
202Accepted — Request queued
Bad Request
401Unauthorized
402Insufficient Balance
403Forbidden
Too Many Requests
500Internal Server Error

Error Responses

Queue system errors and model validation errors.

Queue System Errors

// 402 — Insufficient balance
{
  "error": "Insufficient Balance",
  "message": "Your wallet does not have enough balance."
}
// 400 — Model not found
{
  "error": "Model not found",
  "message": "Model 'pixverse-i2v' not found or is disabled"
}

Error via Status/Webhook

{
  "request_id": "pixverse-i2v_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "ERROR",
  "model_id": "pixverse-i2v",
  "error": "Description of the error",
  "output": null
}

Retrieving Results

Poll the universal status endpoint to check progress and retrieve results.

Endpoint

GET https://gateway.pixazo.ai/v2/requests/status/{request_id}
Ocp-Apim-Subscription-Key: YOUR_API_KEY

cURL Example

curl -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
  "https://gateway.pixazo.ai/v2/requests/status/pixverse-i2v_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

Response (Completed)

{
  "request_id": "pixverse-i2v_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "pixverse-i2v",
  "error": null,
  "output": {
    "media_url": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/pixverse-i2v_019dxxxx-xxxx/output.ext"
    ],
    "media_type": "application/octet-stream"
  },
  "created_at": "2026-03-31T10:00:00.000Z",
  "updated_at": "2026-03-31T10:00:15.000Z",
  "completed_at": "2026-03-31T10:00:15.000Z"
}

Response Fields

FieldTypeDescription
request_idstringUnique request identifier
statusstringQUEUED, PROCESSING, COMPLETED, FAILED, or ERROR
model_idstringModel that processed the request
errorstring|nullError message if failed
output.media_urlarrayURLs to generated media (R2 CDN)
output.media_typestringMIME type of the output
created_atstringWhen request was created
completed_atstring|nullWhen request completed
polling_urlstringStatus URL (initial response only)

Status Values

StatusDescription
QUEUEDRequest accepted, waiting to be processed
PROCESSINGBeing processed by the model
COMPLETEDDone — output contains the result
FAILEDFailed — check error field
ERRORSystem error — not charged

Status Flow

QUEUED → PROCESSING → COMPLETED
                    → FAILED
                    → ERROR

Typical Workflow

  1. Send a generate request to the API endpoint
  2. Save the request_id from the response
  3. Poll every 5-10 seconds: GET /v2/requests/status/{request_id}
  4. When status is "COMPLETED", download from output.media_url

Tip: Use X-Webhook-URL header to get a callback instead of polling.

Pixverse v5.6 Image to Video API Pricing

No data available