Files
video-create/.claude/skills/video-from-script/references/account-creation.md
sion123 6097a809bf refactor(video-pipeline): 移除 segments 机制,改为整段音频合成
移除 TTS 阶段逐句切分及 segments 数组逻辑,统一为整段音频合成。
CapCut 字幕切分由组装阶段按字符比例分配,简化音频上传、
时间线构建和字幕生成流程,减少冗余处理分支。
2026-05-02 02:31:55 +08:00

15 KiB
Raw Blame History

账号创建流程

Agent 通过结构化问答收集信息,基于通用 prompt 模板 + 风格注入,生成完整的账号配置。

10 维度账号画像:账号定位 → 目标受众 → 内容气质 → 视觉基调 → 画风质感 → 色彩体系 → 镜头运动 → 声音身份 → 文字呈现 → 节奏律动


创建流程

digraph creation_flow {
    rankdir=TB
    node [shape=box style=rounded fontsize=11]
    edge [arrowsize=0.7]

    start   [label="\"创建账号\"/\"新账号\"" shape=ellipse style=filled fillcolor="#E3F2FD"]
    p1      [label="Phase 1\n账号定位必须"]
    p2      [label="Phase 2\n内容DNA必须"]
    p3      [label="Phase 3\n视觉身份必须"]
    p4      [label="Phase 4\n成片风格可跳过" style=filled fillcolor="#E8F5E9"]
    check   [label="爆款自检" shape=diamond style=filled fillcolor="#FFF3E0"]
    confirm [label="汇总确认"]
    gen     [label="生成文件"]
    val     [label="校验"]

    start -> p1 -> p2 -> p3 -> p4
    p4 -> check -> confirm -> gen -> val
}

Phase 1账号定位

# 问题 必填 说明
1 账号名称? 用作目录名和显示名(中文即可,如"军事账号"
2 一句话描述? 写入 account.json 的 description

输出:确定目录名(= id和 account.json 的 id/name/description。


Phase 2内容 DNA

# 问题 必填 注入位置
3 核心内容方向?如:历史权谋、科技解说、情感故事、美食文化 分镜.md → 角色定义 + 账号内容理解.核心方向
4 目标受众30岁男性、18-25岁女性 分镜.md → 账号内容理解.目标受众
5 内容气质?用 2-3 个关键词描述,如:冷峻洞察、温暖治愈、犀利反讽 分镜.md → 账号内容理解.内容气质
5.6 目标情绪回路?(选填)如:好奇→震惊→领悟,或平静→压迫→释放 分镜.md → 账号内容理解.情绪回路

注入规则

  • 角色定义改为"专精{Q3}类口播文案转化为{Q6}画面的分镜导演"
  • 新增「账号内容理解」节Q3+Q4+Q5+Q5.6,仅供子 Agent 理解上下文,不输出到分镜表)

Phase 3视觉身份

# 问题 必填 注入位置
6 整体视觉基调?如:暗黑压迫、明亮温暖、冷冽极简、赛博霓虹 分镜.md → 宏观视觉风格方向.整体基调
7 画风写实摄影、漫画、水墨、水彩、油画、赛博朋克、3D渲染 图片.md → 画风与质感 + 固定风格词尾
8 色彩倾向?(三选一) 图片.md → 色彩体系 + 固定风格词尾
A. 拖入参考图 → AI 分析提取色彩/质感
B. 文字描述(如"深蓝为主,金色点缀"
C. 直接给色值(如"主色 #0A0A0A"
9 质感/纹理?如:丝网印刷做旧、颗粒胶片、光滑数字、纸张纹理 图片.md → 画风与质感

色彩提取规则Q8 选 A 时)

  1. 分析参考图的 dominant colors提取 3-4 个核心色
  2. 分配角色:主色(大面积) / 辅色(中间调) / 点缀色(高光焦点) / 禁止色(与风格冲突的色系)
  3. 输出色值 + 使用规则

固定风格词尾生成规则

  • 根据 Q7+Q8+Q9 生成 3 个模型版本的风格词尾
  • MJ 版:英文逗号短语 + --ar + --style raw --q 2 --v 6.1
  • Gemini 版:英文自然语言句子
  • Kling 版:中文描述

分镜.md 宏观视觉风格方向

  • 整体基调Q6
  • 风格大类Q7
  • 人物气质:从 Q5 + Q6 推导
  • 场景基调:从 Q6 推导
  • 禁止出现Q6 + Q7 的反面(如暗黑风 → 禁止明亮轻快)

Phase 4成片风格有默认值

维度 7镜头运动

# 问题 默认值 说明
10 视频运动偏好? 克制慢速 注入视频.md → 运动风格基调
选项:克制慢速 / 流畅中速 / 快速激烈
11 Ken Burns 镜头动画? 开启(按导演风格) 图片成片时为每张图添加慢速缩放/平移,消除幻灯片感。选项:关闭 / 默认 / 自定义

Ken Burns 推荐表(未配置时自动按导演风格匹配):

内容气质 缩放速率 平移 效果
沉稳/克制/叙事 0.4-0.6 %/秒 几乎无感的缓慢推进(类似纪录片)
均衡/节奏/科普 0.6-0.8 %/秒 微弱 稳定匀速推进,适合中长片段
冲击/激烈/权谋 0.8-1.0 %/秒 轻微 明显的推镜头,强化压迫感
唯美/治愈/风景 0.3-0.5 %/秒 强烈0.3-0.6 /秒) 缓慢平移+微缩放,展示画面纵深

Q11 选"自定义"时Agent 应询问缩放速率偏好(快/中/慢)和平移方向偏好(固定/左右/上下),生成对应的 kenBurns 配置。 选"默认"时根据 Q5 内容气质 + Q10 运动偏好自动匹配上表。 视频模式自动跳过 Ken Burns视频本身已有运动

维度 8声音身份

# 问题 默认值 说明
12 TTS 音色? config.json 全局 ttsVoice account.json 的 ttsVoice留空用全局默认
13 TTS 语气指令? account.json 的 ttsInstruction描述期望的语气风格
14 背景音乐偏好? account.json 的 capcut.defaultBGM。提供 URL 或描述风格Agent 辅助查找

TTS 语气指令示例

  • 军事/权谋:"用沉稳有力的男性声音朗读,语速偏慢,带历史厚重感"
  • 科技/科普:"用清晰理性的男性声音朗读,语速适中,专业但亲和"
  • 情感/治愈:"用温柔柔和的女性声音朗读,语速偏慢,有感染力"

维度 9文字呈现

# 问题 默认值 说明
15 关键字氛围词? 开启(默认样式) 画面中央大字叠加,增强冲击力。选项:关闭 / 默认样式 / 描述期望效果
期望的花字风格?(选填) 按账号风格推荐 根据视觉基调推荐,见下方花字推荐表
16 字幕风格偏好? 默认白字 底部口播字幕。选项:默认白字 / 高亮关键词 / 描述期望

字幕风格推荐表

账号风格 推荐配色 字号 特效
暗黑/军事 白色 + 橙红高亮 24 淡入淡出
科技/赛博 白色 + 青蓝高亮 22 淡入淡出
情感/治愈 白色 + 暖黄高亮 24 淡入淡出
简约/知识 白色 + 无高亮 22 淡入淡出

维度 10节奏律动

# 问题 默认值 说明
17 滤镜? account.json 的 capcut.filter格式 滤镜名:强度(如 质感电影:40)。见下方滤镜推荐表
18 转场偏好? 默认闪白 account.json 的 capcut.transitions。见下方转场推荐表
19 画幅? 9:16 account.json 的 defaultFormat
20 生图模型? gemini account.json 的 imageModel
21 视频模型? veo3-fast account.json 的 videoModel
22 参考图文件? 用户稍后放入 references/ 目录Agent 上传 OSS 回写 URL

花字效果推荐表92 种免费效果,按风格分类):

账号风格 推荐花字 备选
暗黑/军事/权谋 暗黑潮酷黑色花字 潮酷 黑色紫光、简约白色黑边花字
潮酷/街头/潮流 潮酷 白色橙边 超酷发光镂空花字、潮酷橙色
科技/赛博 赛博朋克未来科技感立体发光花字 蓝色镂空发光花字、炫彩发光花字
简约/商务/知识 简约白色黑边花字 简约白色花字、简约黑色描边立体花字
清新/生活/治愈 小清新 白色 清新蓝色发光花字、梦幻粉色发光立体花字
复古/港风 复古 红色 红色朦胧港风复古花字、书法墨环图案花字
综艺/娱乐 综艺 白色黑边 立体综艺花字、综艺 橙色

Agent 可调用 get_text_effects API 获取完整列表92 种免费 + 更多 VIP。 Q17 选"默认样式"时Agent 根据账号风格从上表自动匹配。

滤镜推荐表(免费滤镜,格式 滤镜名:强度,强度 0-100

账号风格 推荐滤镜 备选
暗黑/军事/权谋 暗调氛围:40 暗夜:50、质感暗调:35
电影/叙事 质感电影:40 情感电影:35、情绪电影:30
复古/怀旧 暗调复古电影:40 复古工业:45
科技/赛博 质感暗调:30
清新/生活 质感电影:25 情感电影:20
纪录/人文 质感电影:30 情绪电影:25

留空则不加滤镜。Agent 可调用 CapCut Mate API 获取完整滤镜列表。

转场推荐表(免费转场,duration 单位微秒,推荐 100000-300000

转场名 效果 适用场景
闪白 明闪过渡,节奏强 暗黑/军事/冲击类(默认推荐)
闪白 II 明闪变体,稍柔和 潮酷/街头
闪黑 暗闪过渡,压抑感 沉重/悬疑/结尾
溶解 画面缓慢交融 唯美/叙事/情感
叠化 经典淡入淡出 通用/纪录片
色彩溶解 带色彩过渡的溶解 艺术/创意

默认配置使用「闪白」+ 按位置变体hook 闪白、body 溶解、closing 闪黑),可直接采用默认。 Agent 可调用 CapCut Mate API 获取完整转场列表。

运动偏好 → 视频提示词映射

用户选择 运动风格基调
克制慢速 克制优于激烈,慢优于快,张力优于美感,隐忍优于爆发
流畅中速 流畅自然,节奏跟随文案情绪,张弛有度,不刻意制造压迫
快速激烈 快节奏推进,冲击力优先,镜头运动幅度大,情绪外放

爆款潜力自检(生成前必检)

Agent 在汇总确认前,先做以下快速自检。任何一项为 时建议用户补充:

检查项 通过标准
差异化定位 Q2 描述能让用户说清"为什么看这个号而不是别的"
情绪价值 Q5.6 有明确的情绪回路,不是"好看"而是"看完有感觉"
视觉记忆点 Q7+Q8 色彩/画风能在信息流中一眼认出

自检结果展示给用户:全部 → 进入汇总确认;有 → 建议补充后再继续(用户可强制跳过)。


汇总确认

问答结束后Agent 按 10 维度输出汇总表让用户确认:

## 账号创建确认10 维度)

### 维度 1-2定位 + 受众
- 名称:{name}
- 描述:{description}
- 目录accounts/{id}/
- 目标受众:{Q4}

### 维度 3内容气质
- 核心方向:{Q3}
- 内容气质:{Q5}
- 情绪回路:{Q5.6 或"未指定"}

### 维度 4-6视觉基调 + 画风 + 色彩
- 基调:{Q6}
- 画风:{Q7}
- 色彩:{Q8 摘要}
- 质感:{Q9}

### 维度 7镜头运动
- 视频运动:{Q10}
- Ken Burns{Q11 开启/关闭,速率}

### 维度 8声音身份
- TTS音色{Q12}
- TTS语气{Q13}
- BGM{Q14}

### 维度 9文字呈现
- 关键字氛围词:{Q15 开启/关闭,花字风格}
- 字幕风格:{Q16}

### 维度 10节奏律动
- 滤镜:{Q17}
- 转场:{Q18}
- 画幅:{Q19}
- 生图模型:{Q20}
- 视频模型:{Q21}

确认 "开始" → 创建账号
修改 → 调整后重新输出

生成规则

文件创建

确认后Agent 按以下顺序生成。

数据注入全景图

digraph injection {
    rankdir=LR
    node [shape=box fontsize=10]

    subgraph cluster_qa {
        label="Q&A 收集"
        style=dashed
        q12    [label="Q1-Q2\n定位"]
        q3_56  [label="Q3-Q5.6\n内容DNA"]
        q6_9   [label="Q6-Q9\n视觉身份"]
        q10_11 [label="Q10-Q11\n镜头运动"]
        q12_14 [label="Q12-Q14\n声音"]
        q15_16 [label="Q15-Q16\n文字"]
        q17_22 [label="Q17-Q22\n节奏"]
    }

    subgraph cluster_out {
        label="输出文件"
        style=dashed
        account    [label="account.json"]
        storyboard [label="分镜.md"]
        image      [label="图片提示词.md"]
        video      [label="视频提示词.md"]
    }

    q12    -> account
    q3_56  -> storyboard
    q6_9   -> storyboard
    q6_9   -> image
    q10_11 -> video
    q10_11 -> account [label="kenBurns" style=dashed]
    q12_14 -> account
    q15_16 -> account
    q17_22 -> account
}

每个 Q 答案都有明确的消费者文件,无死数据。

生成步骤

  1. 创建目录结构

    accounts/{id}/
    ├── account.json
    ├── prompts/
    │   ├── 分镜.md
    │   ├── 图片提示词.md
    │   └── 视频提示词.md
    └── references/        # 参考图目录(用户稍后放入)
    
  2. 生成 account.json

    • _template/account.json 复制骨架
    • 填入 id、name、description、模型、画幅等
    • Q15 选关闭时删除 keywordStyle 节;选自定义花字时更新 textEffect 字段
    • Q16 选自定义时更新 subtitleStyle 的 color/highlightColor/fontSize
    • Q17 填入 capcut.filter(格式 滤镜名:强度
    • Q18 填入 capcut.transitions 配置
    • Q11 选关闭时设 kenBurns.enabled=false;选自定义时按推荐表生成 byDirector 配置
    • Q14 填入 capcut.defaultBGMURL
  3. 生成分镜.md

    • 读取 _template/prompts/通用分镜.md
    • 在角色定义中注入 Q3 内容方向
    • 新增「账号内容理解」节Q3+Q4+Q5+Q5.6 情绪回路)
    • 新增「宏观视觉风格方向」节Q6+Q7+推导)
    • 保留通用骨架切割规则、导演构图词库、shotDesc 写法规范、输入输出格式、质量自检
  4. 生成图片提示词.md

    • 读取 _template/prompts/通用图片.md
    • 新增「账号视觉基础风格」节Q7+Q8+Q9
    • 替换「固定风格词尾」占位内容为具体风格词MJ/Gemini/Kling 三版)
    • 保留通用骨架角色定义、入参权重、导演光影词库、imagePrompt 结构、构图原则、输入输出、质量自检
  5. 生成视频提示词.md

    • 读取 _template/prompts/通用视频.md
    • 新增「账号运动风格基调」节Q10 映射)
    • 保留通用骨架:角色定义、入参权重、导演运动词库、三层运动设计、模型语法规范、输入输出、质量自检

Prompt 生成原则

  • 骨架不动:切割规则、导演词库、写法规范、输出格式、质量自检等通用方法论完整保留,不做修改
  • 只注入风格:在通用骨架的固定位置插入账号专属内容
  • 三个 prompt 风格一致:分镜定义的视觉方向 → 图片提示词执行光影 → 视频提示词执行运动,三者必须对齐
  • 词尾必须具体MJ/Gemini/Kling 三个版本的固定风格词尾必须替换为具体内容,不允许保留占位文本

校验

生成完成后:

  1. 检查 3 个 prompt 文件都存在且非空
  2. 检查 account.json 的 prompt 路径指向正确
  3. 检查固定风格词尾无占位文本残留
  4. 运行 pipeline.js validate-account --account {id}