ListenHubOpenAPI
API 参考AI 视频

PixVerse 视频

调用 PixVerse 的九种能力生成 AI 视频——文生视频、图生视频、转场、融合、风格化、模仿、对口型,以及营销 Agent。

PixVerse 支持九种能力的异步视频生成。提交生成请求后,轮询任务直到状态变为 successfailed。这里创建的任务,复用与 AI 视频 相同的任务详情、列表、分享、删除接口查询。

本页所有接口都使用 OpenAPI 基础地址 https://api.marswave.ai/openapi,并通过请求头 Authorization: Bearer $LISTENHUB_API_KEY 携带 API Key 鉴权。

接口

方法路径作用
POST/v1/video-generation/pixverse/generate创建 PixVerse 生成任务。
POST/v1/video-generation/pixverse/estimate-credits生成前预估积分。

服务区域由 language 决定:默认 en 走 PixVerse 国际站,zh 走国内站。PixVerse 的 provider key、内部素材 ID、trace id 和原始 provider 响应都不会返回给客户端。

能力一览

capability 必填,决定生成模式,也决定了需要哪些素材和嵌套字段。

能力作用所需输入
text_to_video仅凭文本提示词生成prompt,不传素材
image_to_video由一张或多张图片生成动态视频prompt + 1-10 张 images
transition在两张图片之间做转场恰好 2 张 images + prompt
multi_transition多段图片转场序列pixverse.multiTransition(2-7 段),不传顶层素材
fusion按引用合成主体/背景pixverse.imageReferences(1-8 个)+ 提示词包含每个 @refName
restyle对已有 PixVerse 视频做风格化sourceTaskId(或 pixverse.sourceVideoId)+ pixverse.restyleId,不传素材
mimic把动作视频套用到主体图片上恰好 1 张 image + 1 段 video
lip_sync让视频与音频或 TTS 对口型1 段 video(或 sourceTaskId)+ 1 段 audio pixverse.tts
agent营销 Agent(ad_master / promo_mixpixverse.agentType + 商品图

请求参数

POST /v1/video-generation/pixverse/generate

参数类型必填默认值说明
capabilitystring-上述九种能力之一。
modelstringpixversePixVerse 模型版本:pixversev6v5v4.5
languagestringen服务区域:en(国际站)或 zh(国内站)。
promptstring-最长 2048 字符。text_to_videoimage_to_videotransitionfusionagent 必填。
qualitystring720p360p540p720p1080pmulti_transition 默认 360p
aspectRatiostring16:99:1616:91:14:33:4agent 默认 9:16
durationinteger5输出秒数,1-60。agent 只接受 203060(默认 30)。
sourceTaskIdstring-复用此前成功的 PixVerse 任务(restyle / lip_sync 的源视频)。
imagesarray[]最多 10 项,每项 { url, duration? }
videosarray[]最多 2 项,每项 { url, duration? }
audiosarray[]最多 1 项,{ url, duration? }
pixverseobject{}各能力专属选项,见 嵌套 pixverse 对象

每项素材的 url 必填;可选的 duration 以秒计(0-180)。

嵌套 pixverse 对象

字段类型适用能力说明
agentTypestringagentad_masterpromo_mix
motionModestring可选运动模式预设。
cameraMovementstring可选运镜预设。
templateIdstring/number可选模板标识。
sourceVideoIdstring/numberrestyle/lip_syncprovider 源视频 id(sourceTaskId 的替代写法)。
restyleIdstring/numberrestyle风格化样式 id,必填。
multiTransitionarraymulti_transition2-7 段,每段 { imageUrl, duration(0-30), prompt }
imageReferencesarrayfusion1-8 个引用,每个 { type: subject|background, imageUrl, refName }
ttsobjectlip_sync{ speakerId, content },用合成语音驱动对口型。
soundEffectSwitchboolean可选开启音效生成。
soundEffectContentstring可选音效描述。
lipSyncTtsSwitchboolean可选开启 TTS 对口型。
lipSyncTtsSpeakerIdstring可选TTS 对口型的音色 id。
lipSyncTtsContentstring可选TTS 对口型的口播文本。
brandStickerobjectagent{ imageUrl, position },position 取 updownleftrightupper_leftlower_leftupper_rightlower_right 之一。
introOutroClipobjectagent{ videoUrl, position },position 取 startend

refName 格式

refName 必须匹配 ^[A-Za-z][A-Za-z0-9_]{0,31}$——以字母开头,只能包含字母、数字和下划线。

各能力约束

生成请求会按能力分别校验,常见规则如下:

能力约束
mimicquality 锁定 720p。需要恰好 1 张图 + 1 段视频。若传视频时长,需在 5-30 秒之间。
agentquality 只能是 720p1080pduration 只能是 203060
agent promo_mix至少 4 张商品图。
agent ad_master至少 1 张商品图,且不传视频。
multi_transition默认 quality360p。用 pixverse.multiTransition,不传顶层 images/videos/audios
fusionprompt 必须为 pixverse.imageReferences 里的每个引用都带上对应的 @refName
transition恰好 2 张图。
restyle需要源(sourceTaskIdpixverse.sourceVideoId)加 pixverse.restyleId
lip_sync需要源视频(1 段 videosourceTaskId),再加恰好一路音源——要么 1 段 audio(5-60 秒),要么 pixverse.tts,二者不能同时传。

计费

PixVerse 走 provider 积分计费:ListenHub 的积分由 provider 报价折算而来。由于成本取决于能力、清晰度、时长和素材组合,生成前请务必调用 estimate-credits,向用户展示准确的积分消耗。积分在创建任务时预扣,生成失败会自动退回。

创建 PixVerse 任务

POST /v1/video-generation/pixverse/generate

返回 taskIdepisodeId。轮询 GET /v1/video-generation/tasks/{taskId},直到任务状态为 successfailed

文生视频

curl -X POST "https://api.marswave.ai/openapi/v1/video-generation/pixverse/generate" \
  -H "Authorization: Bearer $LISTENHUB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "capability": "text_to_video",
    "model": "pixverse",
    "language": "en",
    "prompt": "雨夜霓虹街道,电影感缓慢推镜",
    "quality": "720p",
    "aspectRatio": "16:9",
    "duration": 5
  }'
const response = await fetch(
  'https://api.marswave.ai/openapi/v1/video-generation/pixverse/generate',
  {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${process.env.LISTENHUB_API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      capability: 'text_to_video',
      model: 'pixverse',
      language: 'en',
      prompt: '雨夜霓虹街道,电影感缓慢推镜',
      quality: '720p',
      aspectRatio: '16:9',
      duration: 5,
    }),
  },
)
const data = await response.json()
console.log('Task ID:', data.data.taskId)
import os
import requests

response = requests.post(
    'https://api.marswave.ai/openapi/v1/video-generation/pixverse/generate',
    headers={'Authorization': f'Bearer {os.environ["LISTENHUB_API_KEY"]}'},
    json={
        'capability': 'text_to_video',
        'model': 'pixverse',
        'language': 'en',
        'prompt': '雨夜霓虹街道,电影感缓慢推镜',
        'quality': '720p',
        'aspectRatio': '16:9',
        'duration': 5,
    },
)
data = response.json()
print('Task ID:', data['data']['taskId'])

对口型

传一段源视频(或 sourceTaskId),再加恰好一路音源:要么一项 audios,要么 pixverse.tts

curl -X POST "https://api.marswave.ai/openapi/v1/video-generation/pixverse/generate" \
  -H "Authorization: Bearer $LISTENHUB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "capability": "lip_sync",
    "quality": "720p",
    "videos": [
      { "url": "https://example.com/talking-head.mp4", "duration": 12 }
    ],
    "pixverse": {
      "tts": {
        "speakerId": "zh_female_001",
        "content": "欢迎回到频道,今天我们上线了一个新功能。"
      }
    }
  }'
const response = await fetch(
  'https://api.marswave.ai/openapi/v1/video-generation/pixverse/generate',
  {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${process.env.LISTENHUB_API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      capability: 'lip_sync',
      quality: '720p',
      videos: [
        { url: 'https://example.com/talking-head.mp4', duration: 12 },
      ],
      pixverse: {
        tts: {
          speakerId: 'zh_female_001',
          content: '欢迎回到频道,今天我们上线了一个新功能。',
        },
      },
    }),
  },
)
const data = await response.json()
console.log('Task ID:', data.data.taskId)
import os
import requests

response = requests.post(
    'https://api.marswave.ai/openapi/v1/video-generation/pixverse/generate',
    headers={'Authorization': f'Bearer {os.environ["LISTENHUB_API_KEY"]}'},
    json={
        'capability': 'lip_sync',
        'quality': '720p',
        'videos': [
            {'url': 'https://example.com/talking-head.mp4', 'duration': 12}
        ],
        'pixverse': {
            'tts': {
                'speakerId': 'zh_female_001',
                'content': '欢迎回到频道,今天我们上线了一个新功能。',
            }
        },
    },
)
data = response.json()
print('Task ID:', data['data']['taskId'])

返回

{
  "code": 0,
  "message": "",
  "data": {
    "taskId": "665f1d4e8b3a3f001234abcd",
    "episodeId": "665f1d4e8b3a3f001234abce",
    "status": "generating"
  }
}

预估积分

POST /v1/video-generation/pixverse/estimate-credits

创建任务前预估积分消耗。

参数类型必填默认值说明
capabilitystring-九种能力之一。
modelstringpixversepixversev6v5v4.5
languagestringenen(国际站)或 zh(国内站)。
durationinteger51-60 秒(agent203060)。
qualitystring720p360p540p720p1080pmulti_transition360p)。
pixverse.agentTypestring-ad_masterpromo_mixagent 必填)。
curl -X POST "https://api.marswave.ai/openapi/v1/video-generation/pixverse/estimate-credits" \
  -H "Authorization: Bearer $LISTENHUB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "capability": "text_to_video",
    "model": "pixverse",
    "quality": "720p",
    "duration": 5
  }'

返回

{
  "code": 0,
  "message": "",
  "data": {
    "tokens": 155520,
    "credits": 12
  }
}

频率限制

PixVerse 生成与 AI 视频生成共用每用户 5 RPM 的限流,作用在 generate 接口上。超限返回错误码 29998429),重试请配合指数退避。

错误码

错误码HTTP含义
32001404任务不存在。
32002402积分不足。
32003500生成过程中 provider 报错。
32004400参数无效或能力组合不被支持。
32005403任务存在但不属于当前 API 用户。
32006400音频输入需要至少一张图片或一段视频配合。
32007429上游 provider 限流或视频并发槽位耗尽(区别于每用户请求速率限制 29998)。
32008400内容被审核拦截。

On this page