1. 解决方案
拍我AI 开放平台
  • 开始使用
    • API介绍
    • 模型能力地图
    • 了解计费和用量
    • 快速开始
    • 联系我们
    • 服务条款
    • 隐私政策
  • API
    • 前置准备
      • 开始使用
      • 并发规则
      • 查询任务状态说明
      • 错误码
      • FAQ
      • Webhook 回调
      • 上传图片
      • 上传资源(视频/音频)
      • 获取特效模板列表
      • 获取 TTS 音色列表
      • 获取视频重绘列表
      • 获取用量扣减情况
      • 查询任务状态
    • 基础能力
      • 文生视频
      • 图生视频 / 视频模板
      • 图片模版生成
      • 首尾帧生成视频
      • 多主体多参考图 / 视频参考
      • 智能多帧 / 多帧过渡视频
      • 视频延长 Extend
    • 解决方案
      • 超清视频
        POST
      • 视频重绘 Restyle
        POST
      • 对口型 Lipsync
        POST
      • 音效生成 Sound Effect
        POST
      • Mask 生成
        POST
      • 主体替换 Swap
        POST
      • 视频编辑 Modify
        POST
      • 动作模仿 Motion Control
        POST
      • 图片数字人 Avatar
        POST
      • 爆款复刻 Agent
        POST
      • 房产视频一键成片Agent
        POST
      • 一键音乐MV(Music Video)
        POST
  • 计费
    • PixVerse API 计费规则
  • 更新日志
    • 更新日志
  1. 解决方案

视频编辑 Modify

POST
/openapi/v2/video/modify/generate

视频编辑 Modify#

视频编辑用于基于提示词修改已有视频内容。既支持仅使用普通 prompt 进行整体编辑,也支持结合参考图或 Mask 进行局部替换。

接入流程#

准备源视频 -> 可选上传参考图 / 获取 Mask -> 编写编辑 prompt -> 发起 Modify 任务 -> 查询任务状态

接口地址#

POST /openapi/v2/video/modify/generate

请求参数#

参数类型是否必填枚举值 / 限制说明
source_video_idinteger条件必填PixVerse 视频 ID与 video_media_id 必须且只能填写一个
video_media_idinteger条件必填上传视频 media ID与 source_video_id 必须且只能填写一个
promptstring是最长 5000 characters普通文本可直接编辑;使用参考图或 Mask 时可引用 @imgN、@selectionN
img_idsinteger[]条件必填0-3 个仅当 prompt 使用 @imgN 时填写;按占位符顺序传入上传图片 ID
mask_idsstring[]条件必填0-3 个仅当 prompt 使用 @selectionN 时填写;传入 Mask 接口返回的 ID
keyframe_idinteger条件必填与 Mask 请求保持一致使用 mask_ids 时必填;字段为单数
qualitystring是360p、540p、720p输出分辨率;不支持 1080p

最小请求示例:仅 Prompt#

仅进行整体编辑时,不需要填写 img_ids、mask_ids 或 keyframe_id。
{
  "video_media_id": 123456,
  "prompt": "Change the background to a sunny beach while keeping the person unchanged",
  "quality": "540p"
}

组合请求示例:Mask + 参考图#

{
  "video_media_id": 123456,
  "prompt": "Replace @selection0 with @img0, keep lighting consistent and natural",
  "img_ids": [987654],
  "mask_ids": ["3847593904"],
  "keyframe_id": 1,
  "quality": "540p"
}

功能示例#

序号基础功能细分功能名称适用场景
1Swap单人替换替换视频中的 1 个主体 / 人物
2Swap多人替换同时替换 2–3 个主体 / 人物
3Add智能添加自动检测最佳位置,添加饰品、道具、角色等
4Edit物体消除(Remove)移除指定物体,并智能补全背景;可用于去除视频中的水印、Logo 等
5Edit自由输入(Type Anything)通过一段 Prompt,改变光线、季节、天气等场景效果
6Edit文字替换识别并替换视频中的嵌入文字
7Restyle场景风格迁移一键转换为 3D、2D、漫画、水墨等不同风格

1. 单人替换#

{
  "video_media_id": 1234,
  "prompt": "@selection0 subject is swapped with @img0",
  "img_ids": [
    123
  ],
  "mask_ids": [
    "3847593904"
  ],
  "keyframe_id": 1,
  "quality": "540p"
}

2. 多人替换#

{
  "video_media_id": 1234,
  "prompt": "@selection0 subject is swapped with @img0\n@selection1 subject is swapped with @img1\n@selection2 subject is swapped with @img2",
  "img_ids": [
    123,
    124,
    125
  ],
  "mask_ids": [
    "3847593904",
    "3847593905",
    "3847593906"
  ],
  "keyframe_id": 1,
  "quality": "540p"
}

3. 智能添加#

{
  "video_media_id": 1234,
  "prompt": "add @img0, @img1",
  "img_ids": [
    123,
    124
  ],
  "quality": "540p"
}
图片可选,主要用于识别你希望添加的内容。

4. 物体消除(Remove)#

{
  "video_media_id": 1234,
  "prompt": "remove @selection0",
  "mask_ids": [
    "3847593904"
  ],
  "keyframe_id": 1,
  "quality": "540p"
}
Mask(选区)可选,主要用于帮助识别你希望删除的内容。

5. 自由输入(Type Anything)#

{
  "video_media_id": 1234,
  "prompt": "把天气变成冬天白天",
  "quality": "540p"
}

6. 文字替换#

{
  "video_media_id": 1234,
  "prompt": "change the text to \"Happy Birthday\"",
  "quality": "540p"
}

7. 场景风格迁移#

{
  "video_media_id": 1234,
  "prompt": "the video is restyled with @img0",
  "img_ids": [
    123
  ],
  "quality": "540p"
}
可上传参考图片,也可直接使用文字描述风格。

参数组合与占位符规则#

规则说明
视频来源source_video_id 与 video_media_id 必须且只能填写一个。
图片占位符@img0 对应 img_ids[0],@img1 对应 img_ids[1],按数组顺序从 0 开始;Prompt 引用的下标必须存在。
Mask 占位符@selection0 对应 mask_ids[0],@selection1 对应 mask_ids[1];不要自行构造 mask_id。
Mask 对应关系使用 mask_ids 时,视频来源、keyframe_id 和 Mask ID 必须与 Mask 接口调用保持一致。
数组数量img_ids 和 mask_ids 当前均最多填写 3 个;只填写 Prompt 实际引用的项目。

响应字段#

字段类型说明
ErrCodeinteger错误码,0 表示成功
ErrMsgstring错误信息,成功时通常为 Success
Resp.video_idinteger视频任务 ID,用于查询任务状态
Resp.creditsinteger创建响应返回的任务积分值,用于展示和对账;不应单独视为账户最终扣费凭证

响应示例#

{
  "ErrCode": 0,
  "ErrMsg": "Success",
  "Resp": {
    "video_id": 123456,
    "credits": 60
  }
}
示例中的 credits 仅展示字段结构,不代表固定价格。

积分与计费#

Modify 按源视频时长和输出分辨率计费:360p 为 8 Credits/秒,540p 为 10 Credits/秒,720p 为 12 Credits/秒。最终扣费和失败后的返还以账户用量明细、任务最终状态及「PixVerse 计费规则」为准。

下一步#

调用「查询任务状态」接口,通过 video_id 获取生成进度和最终视频 URL。

注意事项#

仅做整体编辑时可直接填写普通 prompt,无需参考图或 Mask。
使用 Mask 时,用 @selection0、@selection1 引用,并传入对应 mask_ids 和单数 keyframe_id。
使用参考图时,用 @img0、@img1 引用,并传入对应 img_ids。
Modify 更适合明确编辑目标,不建议一次提出过多互相冲突的修改。

请求参数

Header 参数

Body 参数application/json必填

示例

返回响应

🟢200
application/json
任务创建响应;ErrCode=0 时从 Resp.video_id 获取任务 ID。
Bodyapplication/json

请求示例请求示例
Shell
curl --location 'https://app-api.pixverseai.cn/openapi/v2/video/modify/generate' \
--header 'API-KEY: your-api-key' \
--header 'Ai-trace-id: 550e8400-e29b-41d4-a716-446655440000' \
--header 'Content-Type: application/json' \
--data '{
    "source_video_id": 123456789,
    "video_media_id": 987654321,
    "prompt": "A cinematic scene with natural motion",
    "quality": "720p",
    "img_ids": [
        123456789
    ],
    "mask_ids": [
        "mask-id-from-response"
    ],
    "keyframe_id": 1,
    "webhook_id": "your-webhook-id"
}'
响应示例响应示例
{
    "ErrCode": 0,
    "ErrMsg": "Success",
    "Resp": {
        "video_id": 123456789
    }
}
修改于 2026-09-08 04:02:03
上一页
主体替换 Swap
下一页
动作模仿 Motion Control
Built with