PixVerse API v2
REST API for PixVerse.ai — native PixVerse video models plus third-party video, a broad image catalog, music generation, text-to-speech across MiniMax and ElevenLabs voices, extend, upscale, lip sync, modify and 150+ video effects.
REST API for PixVerse.ai — native PixVerse video models plus third-party video, a broad image catalog, music generation, text-to-speech across MiniMax and ElevenLabs voices, extend, upscale, lip sync, modify and 150+ video effects.
# Derived from the first-party useapi.net Postman collection: https://useapi.net/assets/postman/pixverse-v2.json
# method: derived | no operation, path, parameter or example was invented.
openapi: 3.1.0
info:
title: PixVerse API v2 (web) by useapi.net
version: 1.0.0
description: 'Full documentation available at [useapi.net](https://useapi.net/docs/api-pixverse-v2).
**Videos:** native PixVerse v6 (default), v5.6, v5.5, v5, v5-fast, pixverse-c1 with Off-Peak mode; third-party seedance-2.0
/ seedance-2.0-fast / seedance-2.0-mini (omni: + up to 3 reference videos + 3 reference audios), kling-o3, kling-v3, grok-imagine,
veo-3.1-lite, veo-3.1-standard, veo-3.1-fast, sora-2, sora-2-pro, happyhorse-1.0
**Motion Control:** v5.6 character-image-driven-by-video pipeline (POST /videos/motion-control)
**Images:** 10 models including Seedream, Nano Banana, Qwen Image, Kling 3.0 / O3, GPT Image 2.0 (10 aspect ratios at
every quality)
**Music:** music-2.6 (MiniMax, default), music-v1 (ElevenLabs), lyria-3-pro-preview (Google) — songs, instrumentals, custom
or model-written lyrics
---
**Updated:** June 24, 2026'
contact:
name: useapi.net support
email: support@useapi.net
url: https://useapi.net/docs/support
x-derived-from: https://useapi.net/assets/postman/pixverse-v2.json
externalDocs:
description: pixverse documentation
url: https://useapi.net/docs/api-pixverse-v2
servers:
- url: https://api.useapi.net/v2/pixverse
security:
- bearerAuth: []
tags:
- name: pixverse
description: PixVerse API v2 (web) by useapi.net
paths:
/accounts:
get:
operationId: getAccounts
summary: accounts
description: '## [Retrieve PixVerse API accounts configuration.](https://useapi.net/docs/api-pixverse-v2/get-pixverse-accounts)'
tags:
- pixverse
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
/accounts/{email}:
get:
operationId: getAccountsByEmail
summary: accounts/<email>
description: '## [Retrieve PixVerse API account configuration](https://useapi.net/docs/api-pixverse-v2/get-pixverse-accounts-email)'
tags:
- pixverse
parameters:
- name: email
in: path
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
post:
operationId: postAccountsByEmail
summary: accounts/<email>
description: '## [Create or update PixVerse API account configuration](https://useapi.net/docs/api-pixverse-v2/post-pixverse-accounts-email)'
tags:
- pixverse
parameters:
- name: email
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
password:
type: string
maxJobs:
type: string
token:
type: string
example:
email: Please refer to https://useapi.net/docs/start-here/setup-pixverse-v2
password: Please refer to https://useapi.net/docs/start-here/setup-pixverse-v2
maxJobs: 'Required, supported range: 1...8'
token: Optional token to syn websession with API session, refer to https://useapi.net/docs/start-here/setup-pixverse-v2
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
delete:
operationId: deleteAccountsByEmail
summary: accounts/<email>
description: '## [Delete PixVerse API account](https://useapi.net/docs/api-pixverse-v2/del-pixverse-accounts-email)'
tags:
- pixverse
parameters:
- name: email
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties: {}
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
/features/:
get:
operationId: getFeatures
summary: features
description: '## [Retrieve your PixVerse account information (credits etc)](https://useapi.net/docs/api-pixverse-v2/get-pixverse-features)'
tags:
- pixverse
parameters:
- name: email
in: query
required: true
schema:
type: string
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
email:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
/files/:
post:
operationId: postFiles
summary: files • use Body » binary to upload image/video/audio file
description: '## [Upload image/video/audio file](https://useapi.net/docs/api-pixverse-v2/post-pixverse-files)'
tags:
- pixverse
parameters:
- name: email
in: query
required: true
schema:
type: string
description: Required account email
requestBody:
required: true
content:
application/octet-stream:
schema:
type: string
format: binary
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
/videos/:
get:
operationId: getVideos
summary: videos
description: '## [Retrieve videos](https://useapi.net/docs/api-pixverse-v2/get-pixverse-videos)'
tags:
- pixverse
parameters:
- name: limit
in: query
required: false
schema:
type: string
description: Optional, specify the number of videos to return. Default 40
- name: offset
in: query
required: false
schema:
type: string
description: Optional, specify the video id from where to start
- name: email
in: query
required: true
schema:
type: string
description: Optional when only one account configured. However, if you have multiple accounts configured, this parameter
becomes required.
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
account:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
/videos/{videoId}:
get:
operationId: getVideosByVideoid
summary: videos/<videoId>
description: '## [Retrieve video](https://useapi.net/docs/api-pixverse-v2/get-pixverse-videos-video_id)'
tags:
- pixverse
parameters:
- name: videoId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties: {}
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
delete:
operationId: deleteVideosByVideoid
summary: videos/<videoId>
description: '## [Delete video](https://useapi.net/docs/api-pixverse-v2/del-pixverse-videos-video_id)'
tags:
- pixverse
parameters:
- name: videoId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties: {}
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
/videos/create:
post:
operationId: postVideosCreate
summary: videos/create
description: '## [Create video](https://useapi.net/docs/api-pixverse-v2/post-pixverse-videos-create-v4)'
tags:
- pixverse
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
email:
type: string
model:
type: string
prompt:
type: string
template_id:
type: string
first_frame_path:
type: string
last_frame_path:
type: string
frame_1_path:
type: string
frame_2_path:
type: string
frame_3_path:
type: string
frame_4_path:
type: string
frame_5_path:
type: string
seed:
type: string
duration:
type: string
aspect_ratio:
type: string
quality:
type: string
auto_sound:
type: string
sound_effect_prompt:
type: string
lip_sync_tts_prompt:
type: string
lip_sync_tts_speaker_id:
type: string
audio:
type: string
multi_shot:
type: string
preview_mode:
type: string
off_peak_mode:
type: string
maxJobs:
type: string
replyRef:
type: string
replyUrl:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
/videos/create-frames:
post:
operationId: postVideosCreateFrames
summary: videos/create-frames
description: '## [Create video using first and last frames](https://useapi.net/docs/api-pixverse-v2/post-pixverse-videos-create-frames-v4)'
tags:
- pixverse
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
email:
type: string
model:
type: string
first_frame_path:
type: string
last_frame_path:
type: string
prompt:
type: string
quality:
type: string
duration:
type: string
seed:
type: string
audio:
type: string
preview_mode:
type: string
auto_sound:
type: string
sound_effect_prompt:
type: string
lip_sync_tts_prompt:
type: string
lip_sync_tts_speaker_id:
type: string
off_peak_mode:
type: string
replyUrl:
type: string
replyRef:
type: string
maxJobs:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
/videos/create-transition:
post:
operationId: postVideosCreateTransition
summary: videos/create-transition
description: '## [Create transition video](https://useapi.net/docs/api-pixverse-v2/post-pixverse-videos-create-transition)'
tags:
- pixverse
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
email:
type: string
model:
type: string
quality:
type: string
seed:
type: string
audio:
type: string
preview_mode:
type: string
auto_sound:
type: string
sound_effect_prompt:
type: string
lip_sync_tts_prompt:
type: string
lip_sync_tts_speaker_id:
type: string
off_peak_mode:
type: string
replyUrl:
type: string
replyRef:
type: string
maxJobs:
type: string
frame_1_path:
type: string
frame_2_path:
type: string
frame_3_path:
type: string
frame_4_path:
type: string
frame_5_path:
type: string
frame_6_path:
type: string
frame_7_path:
type: string
duration_1_to_2:
type: string
duration_2_to_3:
type: string
duration_3_to_4:
type: string
duration_4_to_5:
type: string
duration_5_to_6:
type: string
duration_6_to_7:
type: string
prompt_1_to_2:
type: string
prompt_2_to_3:
type: string
prompt_3_to_4:
type: string
prompt_4_to_5:
type: string
prompt_5_to_6:
type: string
prompt_6_to_7:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
/videos/create-fusion:
post:
operationId: postVideosCreateFusion
summary: videos/create-fusion
description: '## [Create video using image fusion](https://useapi.net/docs/api-pixverse-v2/post-pixverse-videos-create-fusion)'
tags:
- pixverse
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
email:
type: string
model:
type: string
frame_1_path:
type: string
frame_2_path:
type: string
frame_3_path:
type: string
video_1_path:
type: string
video_2_path:
type: string
video_3_path:
type: string
audio_1_path:
type: string
audio_2_path:
type: string
audio_3_path:
type: string
prompt:
type: string
quality:
type: string
duration:
type: string
aspect_ratio:
type: string
seed:
type: string
off_peak_mode:
type: string
replyUrl:
type: string
replyRef:
type: string
maxJobs:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
/videos/motion-control:
post:
operationId: postVideosMotionControl
summary: videos/motion-control
description: '## [Motion Control](https://useapi.net/docs/api-pixverse-v2/post-pixverse-videos-motion-control)
Drives a character image with motion extracted from a reference video. v5.6 only.'
tags:
- pixverse
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
email:
type: string
model:
type: string
frame_1_path:
type: string
video_1_path:
type: string
quality:
type: string
off_peak_mode:
type: string
replyUrl:
type: string
replyRef:
type: string
maxJobs:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
/videos/extend:
post:
operationId: postVideosExtend
summary: videos/extend
description: '## [Extend video](https://useapi.net/docs/api-pixverse-v2/post-pixverse-videos-extend-v4)'
tags:
- pixverse
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
email:
type: string
model:
type: string
prompt:
type: string
video_id:
type: string
video_path:
type: string
seed:
type: string
duration:
type: string
quality:
type: string
audio:
type: string
off_peak_mode:
type: string
replyUrl:
type: string
replyRef:
type: string
maxJobs:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
/videos/modify:
post:
operationId: postVideosModify
summary: videos/modify
description: '## [Modify video](https://useapi.net/docs/api-pixverse-v2/post-pixverse-videos-modify)'
tags:
- pixverse
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
email:
type: string
model:
type: string
prompt:
type: string
video_id:
type: string
video_path:
type: string
seed:
type: string
quality:
type: string
off_peak_mode:
type: string
replyUrl:
type: string
replyRef:
type: string
maxJobs:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
/videos/restyle:
post:
operationId: postVideosRestyle
summary: videos/restyle
description: '## [Restyle video](https://useapi.net/docs/api-pixverse-v2/post-pixverse-videos-restyle-v4)'
tags:
- pixverse
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
email:
type: string
model:
type: string
prompt:
type: string
video_id:
type: string
video_path:
type: string
seed:
type: string
restyle_id:
type: string
off_peak_mode:
type: string
replyUrl:
type: string
replyRef:
type: string
maxJobs:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
/videos/upscale/:
post:
operationId: postVideosUpscale
summary: videos/upscale
description: '## [Upscale video to 4K](https://useapi.net/docs/api-pixverse-v2/post-pixverse-videos-upscale)'
tags:
- pixverse
parameters:
- name: replyUrl
in: header
required: false
schema:
type: string
- name: replyRef
in: header
required: false
schema:
type: string
- name: maxJobs
in: header
required: false
schema:
type: string
- name: video_id
in: header
required: true
schema:
type: string
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
video_id:
type: string
replyUrl:
type: string
replyRef:
type: string
maxJobs:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
/videos/lipsync/:
post:
operationId: postVideosLipsync
summary: videos/lipsync
description: '## [Lipsync video](https://useapi.net/docs/api-pixverse-v2/post-pixverse-videos-lipsync)'
tags:
- pixverse
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
email:
type: string
prompt:
type: string
video_id:
type: string
video_path:
type: string
audio_path:
type: string
speaker_id:
type: string
original_sound_switch:
type: string
off_peak_mode:
type: string
replyUrl:
type: string
replyRef:
type: string
maxJobs:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
/videos/voices/:
get:
operationId: getVideosVoices
summary: videos/voices
description: '## [Retrieve lipsync voices](https://useapi.net/docs/api-pixverse-v2/get-pixverse-videos-voices)'
tags:
- pixverse
parameters:
- name: email
in: query
required: true
schema:
type: string
description: Optional when only one account configured. However, if you have multiple accounts configured, this parameter
becomes required.
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties: {}
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
/videos/effects/:
get:
operationId: getVideosEffects
summary: videos/effects
description: '## [Retrieve effects](https://useapi.net/docs/api-pixverse-v2/get-pixverse-videos-effects)'
tags:
- pixverse
parameters:
- name: limit
in: query
required: false
schema:
type: string
description: Optional, specify the number of videos to return. Default 40
- name: offset
in: query
required: false
schema:
type: string
description: Optional, specify the video id from where to start
- name: email
in: query
required: true
schema:
type: string
description: Optional when only one account configured. However, if you have multiple accounts configured, this parameter
becomes required.
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties: {}
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
/videos/restyles/:
get:
operationId: getVideosRestyles
summary: videos/restyles
description: '## [Retrieve restyle options](https://useapi.net/docs/api-pixverse-v2/get-pixverse-videos-restyles)'
tags:
- pixverse
parameters:
- name: email
in: query
required: true
schema:
type: string
description: Optional when only one account configured. However, if you have multiple accounts configured, this parameter
becomes required.
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties: {}
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Bad Request — invalid or missing parameter
'401':
description: Unauthorized — invalid useapi.net API token
'429':
description: Too Many Requests — see the Retry-After header
/images:
get:
operationId: getImages
summary: images
description: '## [Retrieve all generated images](https://useap
# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/useapi/refs/heads/main/openapi/useapi-pixverse-v2-openapi.yml