Files
video-create/.claude/skills/video-from-script/references/account-creation.md
sion123 e4723d9ce3 feat(video-pipeline): 添加关键字氛围词花字叠加和Oss URL回写功能
- 新增 Q17 关键字氛围词问答项,支持关闭/默认/自定义花字效果
- 在 manifest 和 account.json 中添加 keyword 和 keywordStyle 字段
- 实现关键字氛围词在画面中央的叠加逻辑,支持动画、阴影、文字效果等配置
- 在 assemble 流程中增加 `keywords` 步骤,自动读取账号配置生成花字
- 修复音频上传后未回写 OSS URL 到 manifest 的问题,避免重复上传
2026-05-01 15:21:59 +08:00

8.4 KiB
Raw Blame History

账号创建流程

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


创建流程

用户说"创建账号"/"新账号"
       ↓
Phase 1: 账号身份(必须)
       ↓
Phase 2: 内容 DNA必须
       ↓
Phase 3: 视觉身份必须3种输入方式
       ↓
Phase 4: 技术配置(有默认值,可跳过)
       ↓
汇总确认 → 生成文件 → 校验

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 → 账号内容理解.内容气质

注入规则

  • 角色定义改为"专精{Q3}类口播文案转化为{Q6}画面的分镜导演"
  • 新增「账号内容理解」节(仅供子 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技术配置有默认值

# 问题 默认值 说明
10 视频运动偏好? 克制慢速 注入视频.md → 运动风格基调
选项:克制慢速 / 流畅中速 / 快速激烈
11 画幅? 9:16 account.json 的 defaultFormat
12 生图模型? gemini account.json 的 imageModel
13 视频模型? veo3-fast account.json 的 videoModel
14 参考图文件? 用户稍后放入 references/ 目录Agent 上传 OSS 回写 URL
15 TTS 音色? config.json 全局 ttsVoice account.json 的 ttsVoice留空用全局默认
16 TTS 语气指令? account.json 的 ttsInstruction描述期望的语气风格
17 关键字氛围词? 开启(默认样式) 画面中央大字叠加,增强冲击力。选项:关闭 / 默认样式 / 描述期望效果
期望的花字风格?(选填) 按账号风格推荐 根据视觉基调推荐,见下方花字推荐表

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

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

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

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

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

汇总确认

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

## 账号创建确认

### 基本信息
- 名称:{name}
- 描述:{description}
- 目录accounts/{id}/

### 内容方向
- 核心方向:{Q3}
- 目标受众:{Q4}
- 内容气质:{Q5}

### 视觉风格
- 基调:{Q6}
- 画风:{Q7}
- 色彩:{Q8 摘要}
- 质感:{Q9}

### 技术配置
- 运动:{Q10}
- 画幅:{Q11}
- 生图模型:{Q12}
- 视频模型:{Q13}
- TTS音色{Q15}
- TTS语气{Q16}
- 关键字氛围词:{Q17 开启/关闭,花字风格}

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

生成规则

文件创建

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

  1. 创建目录结构

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

    • _template/account.json 复制骨架
    • 填入 id、name、description、模型、画幅等
    • Q17 选关闭时删除 keywordStyle 节;选自定义花字时更新 textEffect 字段
  3. 生成分镜.md

    • 读取 _template/prompts/通用分镜.md
    • 在角色定义中注入 Q3 内容方向
    • 新增「账号内容理解」节Q3+Q4+Q5
    • 新增「宏观视觉风格方向」节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}