Frontend GUI / Caption Tool
字幕 GUI 简化配置说明
本页只说明后续前端 GUI 的简化配置范围和结构化提交方式。完整字幕能力仍以后端 ASS 生成和烧制为准。
画布入口和提交逻辑
字幕 GUI 应基于现有画布工具链路扩展:视频右键菜单打开字幕表单,提交后复用当前任务提交、Toast、源视频右侧占位符和结果回写逻辑;右侧对话只新增一张字幕任务卡。
1. 画布入口
在视频右键菜单中提供字幕入口;按是否已有 SRT 显示不同名称。
2. 字幕表单
点击后打开字幕表单;表单标题与入口名称保持一致。
3. 结构化提交
提交结构化参数,准确驱动 agent 为当前视频添加或调整字幕。
4. 画布占位
复用 createPlaceholder,在源视频右侧展示处理中占位符。
5. 对话卡片
右侧对话只显示一张任务卡;完成后展示视频结果并可定位到看板。
本期范围
- 先针对特定技能产出的视频开放字幕调整。
- 这类视频资产需要同时包含视频和对应字幕内容。
- 本期默认可判断为已有字幕内容,入口和表单标题使用“调整字幕”。
- 用户点击入口后直接打开字幕调整表单。
后续扩展
- 后续开放到所有画布视频。
- 有 SRT 或字幕内容时显示“调整字幕”。
- 无 SRT 时显示“添加字幕”,打开表单前先进入字幕提取 loading。
- 字幕无法提取时给出错误提示,不进入调整表单。
推荐打开形式
- 桌面端只遮住左侧画布区域,不遮右侧对话。
- 表单居中覆盖在画布工作区内,画布背景降噪变暗。
- 右侧对话保持可见,便于用户理解任务提交后的结果位置。
交互边界
- 表单打开时锁定画布选择、拖拽和右键菜单。
- 右侧对话可保持可读;是否允许继续发送消息由产品侧评估。
- 用户提交后表单关闭,画布出现占位符,右侧对话新增任务卡。
窄屏兜底
- 画布宽度不足时切换为全局弹窗。
- 移动端或小屏可遮住画布和对话,优先保证表单可操作。
- 关闭或提交后回到原画布视口和原选中视频。
处理中
字幕处理任务已提交,正在处理中...
画布右侧对话
字幕调整任务
处理中
已完成
任务完成后将自动出现在画布中,您可继续与 IGNIS 对话进行创作
查看原视频
继续调整
ID: Tiles Survive-captioned.mp4
继续调整
查看原视频
演示中卡片会先显示处理中,再切换为已完成;实际以任务状态回写为准。
提交后交互
- 用户点击提交后,字幕表单关闭。
- 画布出现处理中占位符,表示任务已经开始。
- 页面显示轻提示:字幕处理任务已提交,正在处理中...
- 右侧对话只新增一张字幕任务卡,不再额外发送文字消息。
- 任务完成后,生成视频写回画布,卡片状态同步更新。
任务卡规则
- 卡片标题固定为“字幕调整任务”,状态通过右上角标签展示。
- 处理中只提供“查看原视频”和“继续调整”。
- 已完成后直接展示生成视频,并提供“定位到看板”“继续调整”“查看原视频”。
- 卡片默认不展示提交参数;点击“继续调整”时恢复表单参数。
- 卡片背后保存结构化参数,用于驱动 agent 执行任务和后续“继续调整”。
- 是否需要配套提示词,由开发侧结合 agent 执行方式评估。
- 用户界面只展示任务状态和必要动作,不展示内部参数。
{
"message_type": "canvas_tool_command",
"message_data": {
"payload": {
"commandId": "cmd_caption_01HX",
"title": "字幕调整任务",
"status": "done",
"display": {
"runningTitle": "正在为 Tiles Survive.mp4 处理 ...",
"runningDescription": "任务完成后将自动出现在画布中,您可继续与 IGNIS 对话进行创作",
"result": {
"type": "video",
"title": "带字幕视频已生成",
"assetId": "asset:captioned-video"
},
"actions": {
"running": ["查看原视频", "继续调整"],
"done": ["定位到看板", "继续调整", "查看原视频"],
"failed": ["继续调整", "重新提交"]
}
},
"target": {
"shapeId": "shape:video",
"assetId": "asset:video",
"name": "Tiles Survive.mp4"
},
"params": {
"preset": "purple_highlight_follow",
"textCase": "uppercase",
"sizePercent": 100,
"sizePercentRange": [50, 220],
"verticalOffsetPx": 0,
"verticalOffsetMode": "full_frame",
"maxLines": 2,
"wordsPerLine": "auto",
"intent": "add_or_update_caption"
}
}
}
}
调整表单
GUI 只提供用户常用的简单样式调整;高级字幕参数保留给 agent 多轮对话继续微调。
开放给用户的配置
- 样式预设:紫色高亮跟读、黄字黑描边跟读、蓝绿渐变跟读、逐词跳出。
- 大小写:全大写、保留原文;默认全大写。
- 整体大小:滑杆,50% 到 220%,默认 100%。
- 上下位置:滑杆,按视频真实高度动态计算,支持从画面底部移动到画面顶部,默认 0。
- 最多显示行数:1 行、2 行、3 行,默认 2 行。
- 每行最多单词:自动、2、3、4、5、6,默认自动。
- 字幕文本和时间轴:字幕段编辑、时间码编辑、片段播放、拆分、合并、删除。
预览固定规则
- 字体、字重、行高、PlayRes 等不作为用户配置项。
- 前端预览应使用服务端约定的默认值,确保预览接近最终烧制结果。
- 当前默认:字重 600,整行行高 1.5,高亮词底色行盒 1.16,PlayRes 等于视频真实宽高。