1. websocket
多站点验证multiple sites
  • Default module
    • Sample APIs
      • markdown_请检查图片是否访问正常
      • Find pet by ID
      • Add a new pet to the store
      • Update an existing pet
      • Deletes a pet
      • Finds Pets by status
  • module2
    • markdown2
    • markdown1
    • Pet
      • 无 slug
      • 1slug-a
      • slug-multiple modified
      • Update Pet
    • User
      • Create User
      • Get User
    • Webhooks
      • Order Status Changed Event
      • Payment Succeeded Event
    • Websocket, Socket.IO & more
      • gRPC API
      • Other protocol API example
      • WebSocket example
      • Socket.IO example
      • Webhook example
      • GraphQL example
      • SSE example
      • SOAP example
    • Dashboard
      • Get Dashboard Stats
    • User Management
      • List Users
      • Get User Details
      • Update User Status
    • Order Management
      • List All Orders
      • Force Cancel Order
    • Audit Logs
      • Get Audit Log Details
  • 默认模块
    • 项目管理
      • 修改项目
      • 删除项目
      • 提示词列表查询
      • 分类统计
      • 丢弃ai解析结果
      • 音色列表(支持场景/性别/年龄段筛选)
      • 获取模型选项
      • 创建项目
      • 获取项目详情
      • 项目列表/搜索
      • 获取项目统计
      • 导出剧本Word
      • 预览ai解析内容
      • 应用ai解析内容
    • 测试控制器 - 用于验证跨域配置
      • 测试跨域的GET请求
      • 测试跨域的POST请求
      • 测试OPTIONS预检请求
      • 测试XSS防护
      • 测试XSS防护的GET请求
      • 简单GET测试接口(通过参数传递提示词)
      • 生成图片并保存到本地(测试Base64转换功能)
      • 直接测试Base64转图片功能
      • 测试图片生成并上传到指定路径
      • 测试图片生成并上传到指定路径(包含负面提示词)
      • 测试图片编辑功能
      • 测试图片编辑功能(GET简化版)
      • 测试Banana图片生成功能
      • 测试Banana图片生成功能(GET简化版)
      • 测试Banana API响应解析(调试用)
      • 测试Banana图片编辑功能(带图片输入)
      • 测试火山引擎图生图功能
      • 测试火山引擎图生图功能(GET简化版)
      • 测试火山引擎文生图功能
      • 测试火山引擎文生图功能(GET简化版)
      • 测试火山引擎文生图功能(带负面提示词)
      • 测试Banana图生图功能
      • 测试Banana图生图功能(GET简化版)
      • 测试Banana图生图功能(多张参考图)
      • 测试Banana图生图功能(不同尺寸格式)
      • 测试Banana图生图功能(本地文件)
      • Banana图生图功能综合测试接口
      • 测试Banana所有功能的健康检查
    • 分镜模块控制器
      • 分镜参考生图
      • 获取分镜参考生图支持的图片模型列表
      • 获取可用的LLM模型列表
      • AI帮写提示词接口
      • 根据章节ID查询分镜列表
      • 查询剧集关联的资产列表(按类型分类)
      • 创建分镜(通过AI生成)
      • 新增分镜(手动创建)
      • 修改分镜
      • 删除分镜
      • 更新分镜排序
      • 根据分镜ID查询混合图像列表
      • 根据分镜ID查询视频生成列表
      • 根据分镜ID查询TTS语音生成列表
      • 根据分镜ID查询素材列表
      • 上传分镜图片
      • 上传分镜音频
      • 上传分镜视频
      • 保存混合图像生成草稿(每个分镜仅保留一条草稿,重复保存覆盖旧草稿,不触发生成)
      • 查询某个分镜下最近一条混合图像草稿
      • 保存视频生成草稿(每个分镜仅保留一条草稿,重复保存覆盖旧草稿,不触发生成)
      • 查询某个分镜下最近一条视频草稿
      • 新增分镜素材
      • 删除分镜素材
      • 删除分镜图片生成草稿
      • 设置分镜素材选中状态
      • 删除分镜视频生成草稿
      • 删除TTS语音生成记录
      • 抽取分镜尾帧
      • 根据分镜ID查询其所属剧集的资产列表(按类型分类)
      • 根据分镜ID查询分镜详情(含资产及子资产图片)
      • 根据项目ID查询资产列表
      • 查询章节下每个分镜最近选中的视频素材(含关联的视频生成记录)
      • 查询章节下每个分镜最近选中的图片素材(含通过taskId关联的混合图像生成记录)
      • 根据章节ID导出选中素材压缩包
    • websocket
      • 生成章节分镜
      • 生成章节分镜视频
      • 批量生成章节分镜视频
      • 生成章节分镜图片
    • 云空间模块控制器
      • 上传素材
      • 导入云空间
      • 批量上传素材(支持多文件)
      • 云空间素材列表
      • 批量删除素材
      • 重命名素材
    • 场景模块控制器
      • 查询场景列表
      • 查询某个场景下所有选中图片
      • 查询某个场景下所有选中图片
      • 查询某个图片详情
      • 场景图片设置是否选中
      • 删除图片
      • 查询场景明细
      • 新建场景
      • 编辑场景
      • 上传场景图片
      • 从云空间导入场景图片
      • 上传参考图
      • 自动生成
      • 手动生成
      • 一键生成图片
      • 批量删除场景
      • 查询场景角度资产列表
      • 新建场景资产
      • 编辑场景资产
      • 根据角度表ID查询明细
      • 根据角度表ID查询明细
      • 批量删除场景
      • 图片截图上传
      • 截图处理
      • 图片超分处理
      • 图片增强处理
      • 图片关联到场景或角度
    • 提示词模块控制器
      • 新建提示词模版
      • 上传提示词模版封面
      • 编辑提示词模版
      • 提示词模板列表查询
      • 按模版Id查询模块明细
      • 按模版Id删除提示词模板
      • 切换收藏状态
    • 视频分析控制器
      • 上传视频文件
      • 分析视频
      • 查询任务状态
      • 查询任务列表
    • 用户管理
      • 发送短信验证码
      • 登录(短信验证码/密码)
      • 根据ID获取用户信息
      • 获取当前登录用户信息(需JWT)
    • 章节
      • 分集控制器
        • 根据项目ID查询章节列表(无分页)
        • 根据项目ID分页查询章节列表
        • 根据ID查询章节详情
        • 新增章节
        • 修改章节
        • 删除章节
    • 道具
      • 物品模块控制器
        • 查询物品列表
        • 查询某个 项目下所有道具选中图片
        • 查询某个图片详情
        • 物品图片设置是否选中
        • 删除图片
        • 查询物品明细
        • 新建物品
        • 编辑物品
        • 上传物品图片
        • 从云空间导入物品图片
        • 上传参考图
        • 自动生成
        • 手动生成
        • 一键生成图片
        • 批量删除场景
    • 豆包语音合成控制器
      • 根据场景、性别、年龄段查询音色列表
      • 根据场景、性别、年龄段查询音色列表(GET 方法)
      • 语音合成
      • 根据文本获取推荐音色
      • 快速语音合成(使用默认参数)
    • 生物模块控制器
      • 查询生物列表
      • 查询某个项目下所有生物选中图片
      • 查询某个图片详情
      • 生物图片设置是否选中
      • 删除图片
      • 查询生物明细
      • 新建生物
      • 编辑生物
      • 上传生物图片
      • 从云空间导入生物图片
      • 上传参考图
      • 自动生成
      • 手动生成
      • 一键生成图片
      • 批量删除生物
    • 角色管理
      • 查询角色列表
      • 查询角色下所有已选中图片
      • 查询图片明细
      • 设置角色图片选中状态
      • 删除角色图片
      • 查询角色明细
      • 绑定音色
      • 解除绑定音色
      • 新建角色
      • 编辑角色
      • 上传角色图片
      • 从云空间导入角色图片
      • 批量上传参考图
      • 自动生成角色图片(使用角色描述作为提示词)
      • 手动生成角色图片(自定义提示词/参数)
      • 一键批量生成角色图片
      • 批量删除角色
      • 查询角色造型列表
      • 新建角色造型
      • 编辑角色造型
      • 查询角色造型明细
      • 批量删除角色造型
    • websocket生成剧本
  1. websocket

批量生成章节分镜视频

Developing
127.0.0.1:8080/api/b2v/websocket

批量生成分镜视频 WebSocket 接口文档#

概述#

通过 WebSocket 批量生成章节下所有未生成过视频的分镜视频。
生成方式统一为单帧(genWay=0)
提示词使用分镜的 videoPrompt(视频提示词)
参考图使用分镜选中的图片素材(ischecked=1),无选中时取最新一张;无图片素材时不传参考图,仅文生视频
多线程并发生成,最大并发数服务端配置 video.batch.max-concurrent(默认 3)
实时推送整体进度,全部完成后推送汇总结果

1. 消息定义#

后端类#

com.star.b2v.api.message.BatchGenerateVideoMessage(b2v-api 模块,自动注册路由)

请求字段#

字段类型必填说明
episodeIdInteger是章节ID
durationInteger否视频时长(秒)
resolutionString是分辨率,如 720p、1080p
aspectRatioString是画面比例,如 16:9、9:16
hasAudioByte是是否含音频:0-否,1-是
videoModelIdByte否视频模型ID
可选参数不传时使用服务端默认值(720p / 9:16 / doubao-seedance-2-0-260128)。

发送示例#

{
  "messageType": "BatchGenerateVideoMessage",
  "taskId": "1001_clientA",
  "episodeId": 12,
  "duration": 5,
  "resolution": "720p",
  "aspectRatio": "9:16"
}

2. 处理逻辑#

1.
校验 episodeId,查询该章节下全部分镜(按 sequence 排序)
2.
查询 aisp_generate_video 中已存在**成功记录(status=2)**的分镜,过滤出未生成过视频的分镜
3.
查询待生成分镜的图片素材(image 类型),优先取 ischecked=1,否则取最新一张
4.
固定线程池并发提交生视频任务(video.batch.max-concurrent),每个任务到达终态后释放并发槽位
5.
单个分镜生成:
genWay=0(单帧),参考图 = 选中图片的 COS 签名 URL(无图片素材时仅用提示词生成)
提示词 = 分镜 videoPrompt
无视频提示词的分镜计为失败并跳过
6.
全部结束后发布任务成功事件并推送汇总

3. 服务端推送消息#

3.1 批量整体进度(msgType: BatchGenerateVideoMessage)#

每有一个分镜到达终态(成功/失败/跳过)时推送:
{
  "msgType": "BatchGenerateVideoMessage",
  "taskId": "1001_clientA",
  "data": {
    "total": 10,
    "success": 3,
    "failed": 1,
    "processing": 6,
    "progress": 40,
    "storyboardId": 5,
    "message": "视频生成失败"
  }
}
字段说明
total本次待生成分镜总数
success已成功数
failed已失败数(含无提示词跳过)
processing进行中数量
progress整体进度百分比((success+failed)/total*100)
storyboardId刚到达终态的分镜ID
message失败原因(仅失败时返回)

3.2 单视频生成进度(msgType: CreateReferenceVideoMessage)#

子任务内部轮询仍会推送单条视频的排队/生成进度(progress 10/50/100),前端如不需要可按 msgType 忽略:
{
  "msgType": "CreateReferenceVideoMessage",
  "taskId": "1001_clientA",
  "data": {
    "status": "running",
    "taskId": "cgt-2026xxxx",
    "progress": 50,
    "attempt": 3,
    "message": "视频生成中,已尝试 3 次,状态: running"
  }
}
注意:data.taskId 为 Seedance 任务ID,用于区分不同分镜的子任务。

3.3 全部完成(任务成功事件)#

{
  "msgType": "BatchGenerateVideoMessage",
  "taskId": "1001_clientA",
  "data": {
    "total": 10,
    "success": 8,
    "failed": 2
  }
}

3.4 特殊情况#

场景返回
章节下没有分镜成功,data 为提示文案
所有分镜均已生成过视频成功,data 为提示文案
episodeId 为空 / 系统异常任务失败事件 + 错误消息

4. 配置项#

application-aq.yml:

5. 前端对接建议#

1.
发送消息后监听两类 msgType:BatchGenerateVideoMessage(整体进度/汇总)和 CreateReferenceVideoMessage(单视频进度,可选展示)
2.
用 progress 字段渲染进度条,storyboardId 定位对应分镜卡片的状态
3.
收到汇总(total/success/failed)后刷新分镜列表接口 GET /storyboard/list?episodeId=xx&ischecked=1 获取最新视频 URL

6. 相关代码#

文件说明
b2v-api/.../message/BatchGenerateVideoMessage.java消息定义
b2v-web/.../socket/handler/BatchGenerateVideoHandler.java批量生成处理器(并发控制、进度推送)
b2v-core/.../video/SeedanceMultipleImg2VideoImpl.java单视频任务提交与轮询
b2v-web/.../resources/application-aq.yml并发数配置

Request

Query Params

Header Params

Cookie Params

Modified at 2026-10-24 04:39:07
Previous
生成章节分镜视频
Next
生成章节分镜图片
Built with