PixVerse Video Generation Setup in OpenClaw

This page covers how to install and configure the official PixVerse plugin for hosted video generation in OpenClaw. It is intended for developers integrating PixVerse into their OpenClaw workflows.

Read this when

  • You want to use PixVerse video generation in OpenClaw
  • You need the PixVerse API key/env setup
  • You want to make PixVerse the default video provider

OpenClaw ships pixverse as an official external plugin for hosted PixVerse video generation. The plugin registers the pixverse provider against the videoGenerationProviders contract.

PropertyValue
Provider idpixverse
Plugin package@openclaw/pixverse-provider
Auth env varPIXVERSE_API_KEY
Onboarding flag--auth-choice pixverse-api-key
Direct CLI flag--pixverse-api-key <key>
APIPixVerse Platform API v2 (video_id submission plus result polling)
Default modelpixverse/v6
Default API regionInternational

Getting started

Install the plugin

openclaw plugins install @openclaw/pixverse-provider
openclaw gateway restart

Set the API key

openclaw onboard --auth-choice pixverse-api-key

The wizard asks for either the International or CN endpoint (see API region below) before writing region and baseUrl into the provider config. Non-interactive runs (key from --pixverse-api-key or PIXVERSE_API_KEY) default to International.

Onboarding also sets agents.defaults.mediaModels.video.primary to pixverse/v6 when no default video model is configured yet.

Switch an existing default video provider (optional)

openclaw config set agents.defaults.mediaModels.video.primary "pixverse/v6"

Generate a video

Tell the agent to generate a video. PixVerse will be used automatically.

Supported modes and models

The provider exposes PixVerse generation models through OpenClaw's shared video tool.

ModeModelsReference input
Text-to-videov6 (default), c1None
Image-to-videov6 (default), c11 local or remote image

Local image references are uploaded to PixVerse before the image-to-video request. Remote image URLs go through the PixVerse image upload endpoint as image_url.

OptionSupported values
Duration1-15 seconds (default 5)
Resolution360P, 540P, 720P, 1080P (default 540P; 480P requests map to 540P)
Aspect ratio16:9 (default), 4:3, 1:1, 3:4, 9:16, 2:3, 3:2, 21:9; text-to-video only, image-to-video follows the source image
Generated audioaudio: true

Note

PixVerse image template generation is not exposed through image_generate yet. That API is template-id driven, while OpenClaw's shared image-generation contract does not currently have a PixVerse-specific typed option bag.

Provider options

The video provider accepts these optional provider-specific keys:

OptionTypeEffect
seednumberDeterministic seed, 0 to 2147483647
negativePrompt / negative_promptstringNegative prompt
qualitystringPixVerse quality such as 720p
motionMode / motion_modestringImage-to-video motion mode (default normal)
cameraMovement / camera_movementstringPixVerse camera movement preset
templateId / template_idnumberActivated PixVerse template id

Configuration

{
  agents: {
    defaults: {
      videoGenerationModel: {
        primary: "pixverse/v6",
      },
    },
  },
}

Advanced configuration

API region

Region valuePixVerse API base URL
internationalhttps://app-api.pixverse.ai/openapi/v2
cnhttps://app-api.pixverseai.cn/openapi/v2

Set models.providers.pixverse.region manually when your key belongs to a specific PixVerse platform region, or run openclaw onboard --auth-choice pixverse-api-key to choose one in the setup wizard:

{
  models: {
    providers: {
      pixverse: {
        region: "cn", // "international" or "cn"
        baseUrl: "https://app-api.pixverseai.cn/openapi/v2",
        models: [],
      },
    },
  },
}

Custom base URL

Set models.providers.pixverse.baseUrl only when routing through a trusted compatible proxy. baseUrl takes precedence over region.

{
  models: {
    providers: {
      pixverse: {
        baseUrl: "https://app-api.pixverse.ai/openapi/v2",
      },
    },
  },
}

Task polling

PixVerse returns a video_id from the generation request. OpenClaw polls /openapi/v2/video/result/{video_id} every 5 seconds until the task succeeds, fails, or hits the timeout (default 5 minutes; override with agents.defaults.mediaModels.video.timeoutMs).