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.

OpenAPI Specification

useapi-pixverse-v2-openapi.yml Raw ↑
# 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