- 移除图片水印、字幕覆盖等视频素材级质量检查,改为 Agent 可自动化验证的检查项
- 将输出目录命名从 `{account}` 改为 `{name}`,与账号体系文档对齐
- 废弃 account.json 中已不再使用的 `pipeline` 字段
- 风格文件命名从英文改为中文,更直观易识别
180 lines
4.6 KiB
Markdown
180 lines
4.6 KiB
Markdown
# 账号系统规范
|
||
|
||
> 每个账号独立管理视觉风格、提示词策略和 CapCut 配置。
|
||
> 一个账号可以有多种视觉风格,每种风格是一个独立的 style 文件。
|
||
|
||
---
|
||
|
||
## 目录结构
|
||
|
||
```
|
||
accounts/
|
||
├── _template/ # 新账号模板(复制此目录创建新账号)
|
||
│ ├── account.json
|
||
│ ├── references/ # 参考图目录
|
||
│ │ └── .gitkeep
|
||
│ └── styles/ # 风格文件目录(可多个)
|
||
│ └── .gitkeep
|
||
└── {account}/ # 用户创建的账号(目录名 = account.json 的 id,输出目录用 name 命名)
|
||
├── account.json
|
||
├── references/ # 参考图(所有风格共用)
|
||
│ ├── ref_001.png
|
||
│ └── ref_002.png
|
||
└── styles/ # 风格文件(一个文件 = 一种视觉风格)
|
||
├── cyberpunk-character.md
|
||
├── dark-archive.md
|
||
└── neon-city.md
|
||
```
|
||
|
||
---
|
||
|
||
## account.json 字段说明
|
||
|
||
```json
|
||
{
|
||
"id": "tech-talk",
|
||
"name": "科技解说",
|
||
"description": "科技类短视频账号,深色背景,赛博朋克风格",
|
||
"imageModel": "gemini",
|
||
"videoModel": "kling",
|
||
"batchSize": 30,
|
||
"capcut": {
|
||
"effects": ["录制边框 III"],
|
||
"filter": "电影感:40",
|
||
"subtitleStyle": {
|
||
"fontSize": 36,
|
||
"color": "#FFFFFF",
|
||
"highlightColor": "#FF6B35",
|
||
"bold": true
|
||
},
|
||
"defaultBGM": "https://example.com/bgm_tech.mp3"
|
||
}
|
||
}
|
||
```
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
|------|------|------|
|
||
| `id` | string | 账号唯一标识(与目录名一致) |
|
||
| `name` | string | 账号显示名 |
|
||
| `description` | string | 一句话描述 |
|
||
| `defaultFormat` | string | 默认画幅(9:16 / 16:9 / 1:1 / 4:3) |
|
||
| `imageModel` | string | 默认图片模型 |
|
||
| `videoModel` | string | 默认视频模型 |
|
||
| `batchSize` | number | 默认批量生成数量 |
|
||
| `capcut.effects` | string[] | CapCut 特效名称列表 |
|
||
| `capcut.filter` | string | CapCut 滤镜,格式 "名称:强度" |
|
||
| `capcut.subtitleStyle` | object | 字幕样式(字号、颜色、高亮色、加粗) |
|
||
| `capcut.defaultBGM` | string | 默认背景音乐 URL |
|
||
|
||
---
|
||
|
||
## 风格文件(styles/)
|
||
|
||
每种视觉风格一个文件,文件名即风格名。文件内同时包含图片和视频的提示词策略。
|
||
|
||
### 风格文件结构
|
||
|
||
```markdown
|
||
# 风格名称(英文短横线命名)
|
||
|
||
一句话描述风格。
|
||
|
||
---
|
||
|
||
## 图片提示词
|
||
|
||
### 核心视觉要素
|
||
<!-- 必选的视觉元素 -->
|
||
|
||
### 场景/背景规则
|
||
<!-- 背景要求 -->
|
||
|
||
### 色调方案
|
||
<!-- 可选的色彩组合 -->
|
||
|
||
### 构图模式
|
||
<!-- 支持的构图类型 -->
|
||
|
||
### 图片 Prompt 模板
|
||
<!-- 生成 prompt 时的固定结构 -->
|
||
|
||
### 示例
|
||
<!-- 2-3 个完整示例 -->
|
||
|
||
### MJ/Gemini 参数
|
||
<!-- 模型专用后缀参数 -->
|
||
|
||
### 图片禁止项
|
||
<!-- 不得出现的元素 -->
|
||
|
||
---
|
||
|
||
## 视频提示词
|
||
|
||
### 运镜规则
|
||
<!-- 运镜方式、节奏 -->
|
||
|
||
### 动态元素要求
|
||
<!-- 光影、角色动作、环境氛围 -->
|
||
|
||
### 视频 Prompt 模板
|
||
<!-- VEO/Grok prompt 结构 -->
|
||
|
||
### 示例
|
||
<!-- 2-3 个完整示例 -->
|
||
|
||
### VEO/Grok 后缀
|
||
<!-- 模型专用后缀 -->
|
||
|
||
### 视频禁止项
|
||
<!-- 不得出现的元素 -->
|
||
```
|
||
|
||
### 风格文件命名
|
||
|
||
使用中文命名,直观识别:
|
||
- `赛博东方角色.md`
|
||
- `暗黑禁书档案.md`
|
||
- `霓虹城市.md`
|
||
- `水墨山水.md`
|
||
|
||
---
|
||
|
||
## 创建新账号
|
||
|
||
### 一键创建(推荐)
|
||
|
||
```bash
|
||
node scripts/pipeline.js create-account \
|
||
--id military \
|
||
--name "军事账号" \
|
||
--desc "军事主题短视频,暗黑漫画风格" \
|
||
--video-model veo3-fast-frames \
|
||
--references ./ref1.png,./ref2.png
|
||
```
|
||
|
||
自动完成:创建目录 → 生成 account.json → 复制参考图 → 上传 OSS → 回写 URL → 生成风格骨架。
|
||
|
||
### 手动创建
|
||
|
||
1. 复制 `_template/` 目录,重命名为账号 ID
|
||
2. 编辑 `account.json` 填写账号信息
|
||
3. 在 `references/` 中放入参考图(所有风格共用)
|
||
4. 上传参考图到 OSS,URL 写入 account.json:
|
||
- `node scripts/oss-upload.js accounts/{id}/references/{图片文件}`
|
||
- 将返回的 URL 写入 `styles.{styleName}.references[].url`
|
||
5. 在 `styles/` 中创建风格文件(至少一个)
|
||
|
||
### 校验账号
|
||
|
||
```bash
|
||
node scripts/pipeline.js validate-account --account military
|
||
```
|
||
|
||
检查:id 匹配、必填字段、参考图完整性、风格文件存在、OSS URL 有效。
|
||
|
||
## 添加新风格
|
||
|
||
在账号的 `styles/` 目录下新建 `.md` 文件即可,文件名即风格 ID。
|
||
Claude 调用时指定风格名,如 "用 cyberpunk-eastern-character 风格"。
|