更新:memory日志、账号分析报告、内容创作产品规划及知识库文件调整
This commit is contained in:
1 parent
daf160447c
commit
e76d785eb1
197 files changed
+4150
-1352
No files matched your search
@@ -1,857 +0,0 @@
|
||||
# AI 短视频创作平台 — 工程骨架方案
|
||||
|
||||
> 本方案由 WorkBuddy 产出,交付给 Trae 执行。
|
||||
> 定位:toC 产品,Python 后端 + React 前端,独立部署。
|
||||
|
||||
---
|
||||
|
||||
## 一、技术栈总览
|
||||
|
||||
| 层 | 技术 | 版本 | 角色 |
|
||||
|---|---|---|---|
|
||||
| **前端框架** | React | 19.x | UI 层 |
|
||||
| **构建工具** | Vite | 6.x | 开发/打包 |
|
||||
| **语言** | TypeScript | 5.x | 前端类型安全 |
|
||||
| **UI 组件** | shadcn/ui | latest | 原子组件库 |
|
||||
| **样式** | Tailwind CSS | 4.x | 原子化样式 |
|
||||
| **拖拽** | @dnd-kit | latest | 时间轴/素材拖拽 |
|
||||
| **画布** | react-konva | latest | 预览画布/文字贴纸 |
|
||||
| **状态管理** | zustand | 5.x | 编辑器状态 + 撤销重做 |
|
||||
| **数据请求** | @tanstack/react-query | 5.x | 服务端状态/缓存 |
|
||||
| **动画** | framer-motion | 11.x | 过渡动效 |
|
||||
| **路由** | react-router | 7.x | 页面路由 |
|
||||
| **表单** | react-hook-form + zod | latest | 表单校验 |
|
||||
| **后端框架** | FastAPI | 0.115+ | REST API + WebSocket |
|
||||
| **ASGI 服务器** | uvicorn | latest | 生产级运行 |
|
||||
| **数据库** | PostgreSQL + Redis | 16 / 7 | 持久化 + 缓存/队列 |
|
||||
| **ORM** | SQLAlchemy 2.0 | 2.x | 数据库映射 |
|
||||
| **任务队列** | Celery + Redis | 5.x | AI 异步生成 |
|
||||
| **文件存储** | MinIO / S3 | — | 视频/素材存储 |
|
||||
| **AI 集成** | OpenAI SDK / 本地模型 | — | 脚本生成/视频处理 |
|
||||
|
||||
---
|
||||
|
||||
## 二、目录结构
|
||||
|
||||
```
|
||||
ai-video-platform/
|
||||
├── frontend/ # React 前端
|
||||
│ ├── index.html
|
||||
│ ├── package.json
|
||||
│ ├── tsconfig.json
|
||||
│ ├── vite.config.ts
|
||||
│ ├── tailwind.config.ts
|
||||
│ ├── components.json # shadcn/ui 配置
|
||||
│ ├── public/
|
||||
│ │ └── favicon.svg
|
||||
│ └── src/
|
||||
│ ├── main.tsx # 入口
|
||||
│ ├── App.tsx # 根组件 + 路由
|
||||
│ ├── index.css # Tailwind 入口
|
||||
│ ├── lib/
|
||||
│ │ └── utils.ts # cn() 工具函数
|
||||
│ ├── components/
|
||||
│ │ ├── ui/ # shadcn/ui 组件(自动生成)
|
||||
│ │ │ ├── button.tsx
|
||||
│ │ │ ├── card.tsx
|
||||
│ │ │ ├── dialog.tsx
|
||||
│ │ │ ├── slider.tsx
|
||||
│ │ │ ├── tabs.tsx
|
||||
│ │ │ ├── dropdown-menu.tsx
|
||||
│ │ │ ├─�� input.tsx
|
||||
│ │ │ ├── textarea.tsx
|
||||
│ │ │ ├── select.tsx
|
||||
│ │ │ ├── toast.tsx
|
||||
│ │ │ ├── tooltip.tsx
|
||||
│ │ │ ├── sheet.tsx # 侧边栏
|
||||
│ │ │ └── skeleton.tsx # 加载骨架
|
||||
│ │ ├── layout/
|
||||
│ │ │ ├── AppShell.tsx # 整体布局壳
|
||||
│ │ │ ├── Sidebar.tsx # 左侧导航
|
||||
│ │ │ └── Header.tsx # 顶部栏
|
||||
│ │ ├── editor/ # 🔥 视频编辑器核心
|
||||
│ │ │ ├── Timeline/
|
||||
│ │ │ │ ├── Timeline.tsx # 时间轴容器
|
||||
│ │ │ │ ├── Track.tsx # 单条轨道
|
||||
│ �� │ │ ├── TrackItem.tsx # 轨道上的片段
|
||||
│ │ │ │ ├── TimelineRuler.tsx # 时间标尺
|
||||
│ │ │ │ └── TimelineControls.tsx # 缩放/播放控制
|
||||
│ │ │ ├── Canvas/
|
||||
│ │ │ │ ├── PreviewCanvas.tsx # 预览画布(react-konva)
|
||||
│ │ │ │ ├── TextOverlay.tsx # 文字叠层
|
||||
│ │ │ │ ├── StickerLayer.tsx # 贴纸层
|
||||
│ │ │ │ └── VideoLayer.tsx # 视频画面层
|
||||
│ │ │ ├── Toolbar/
|
||||
│ │ │ │ ├── EditorToolbar.tsx # 编辑工具栏
|
||||
│ │ │ │ ├── CropTool.tsx # 裁剪工具
|
||||
│ │ │ │ └── TextTool.tsx # 文字工具
|
||||
│ │ │ └── AssetPanel/
|
||||
│ │ │ ├── AssetLibrary.tsx # 素材库面板
|
||||
│ │ │ ├── MediaUploader.tsx # 上传组件
|
||||
│ │ │ └── AIGenerator.tsx # AI 生成入口
|
||||
│ │ ├── ai/ # AI 功能面板
|
||||
│ │ │ ├── ScriptGenerator.tsx # 脚本生成
|
||||
│ │ │ ├── VoiceGenerator.tsx # AI 配音
|
||||
│ │ │ ├── SubtitleGenerator.tsx # 字幕生成
|
||||
│ │ │ └── GenerationProgress.tsx # 生成进度(WebSocket)
|
||||
│ │ └── common/
|
||||
│ │ ├── LoadingSpinner.tsx
|
||||
│ │ ├── ErrorBoundary.tsx
|
||||
│ │ ├── EmptyState.tsx
|
||||
│ │ └── ConfirmDialog.tsx
|
||||
│ ├── pages/
|
||||
│ │ ├── Home.tsx # 首页/项目列表
|
||||
│ │ ├── Editor.tsx # 🔥 编辑器主页面
|
||||
│ │ ├── Projects.tsx # 我的项目
|
||||
│ │ ├── Templates.tsx # 模板市场
|
||||
│ │ ├── Assets.tsx # 素材管理
|
||||
│ │ └── Settings.tsx # 用户设置
|
||||
│ ├── stores/ # zustand 状态
|
||||
│ │ ├── editorStore.ts # 🔥 编辑器核心状态 + 撤销重做
|
||||
│ │ ├── projectStore.ts # 项目元信息
|
||||
│ │ ├── uiStore.ts # UI 状态(面板显隐等)
|
||||
│ │ └── authStore.ts # 用户认证
|
||||
│ ├── hooks/ # 自定义 hooks
|
||||
│ │ ├── useEditor.ts # 编辑器逻辑入口
|
||||
│ │ ├── useUndoRedo.ts # 撤销重做封装
|
||||
│ │ ├── useWebSocket.ts # WebSocket 连接
|
||||
│ │ ├── useMediaUpload.ts # 上传逻辑
|
||||
│ �� └── useAIGeneration.ts # AI 生成调用
|
||||
│ ├── api/ # API 层
|
||||
│ │ ├── client.ts # axios/fetch 实例
|
||||
│ │ ├── projects.ts # 项目 CRUD
|
||||
│ │ ├── media.ts # 素材上传/管理
|
||||
│ │ ├── generation.ts # AI 生成接口
|
||||
│ │ └── auth.ts # 认证接口
|
||||
│ ├── types/ # TypeScript 类型
|
||||
│ │ ├── project.ts
|
||||
│ │ ├── timeline.ts # 时间轴轨道类型
|
||||
│ │ ├── media.ts
|
||||
│ │ └── api.ts # API 响应类型
|
||||
│ └── utils/
|
||||
│ ├── time.ts # 时间格式化
|
||||
│ └── file.ts # 文件工具
|
||||
│
|
||||
├── backend/ # Python 后端
|
||||
│ ├── pyproject.toml # 项目管理(uv/poetry)
|
||||
│ ├── alembic.ini # 数据库迁移配置
|
||||
│ ├── Dockerfile
|
||||
│ ├── docker-compose.yml # 本地开发环境
|
||||
│ ├── app/
|
||||
│ │ ├── __init__.py
|
||||
│ │ ├── main.py # FastAPI 入口
|
||||
│ │ ├── config.py # 配置管理(pydantic-settings)
|
||||
│ │ ├── dependencies.py # 依赖注入
|
||||
│ │ ├── api/
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ ├── v1/
|
||||
│ │ │ │ ├── __init__.py
|
||||
│ │ │ │ ├── router.py # 路由聚合
|
||||
│ │ │ │ ├── auth.py # 认证
|
||||
│ │ │ │ ├── projects.py # 项目 CRUD
|
||||
│ │ │ │ ├── media.py # 素材上传
|
||||
│ │ │ │ ├── generation.py # AI 生成
|
||||
│ │ │ │ ├─�� templates.py # 模板
|
||||
│ │ │ │ └── websocket.py # WebSocket 进度推送
|
||||
│ │ ├── models/
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ ├── user.py
|
||||
│ │ │ ├── project.py
|
||||
│ │ │ ├── media.py
|
||||
│ │ │ └── template.py
|
||||
│ │ ├── schemas/
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ ├── user.py
|
||||
│ │ │ ├── project.py
|
||||
│ │ │ ├── media.py
|
||||
│ │ │ └── generation.py
|
||||
│ │ ├── services/
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ ├── project_service.py
|
||||
│ │ │ ├── media_service.py
|
||||
│ │ │ ├── script_generator.py # 🔥 AI 脚本生成
|
||||
│ │ │ ├── voice_service.py # 🔥 AI 配音
|
||||
│ │ │ ├── subtitle_service.py # 🔥 AI 字幕
|
||||
│ │ │ ├── video_renderer.py # 🔥 视频合成
|
||||
│ │ │ └── storage_service.py # 文件存储(MinIO/S3)
|
||||
│ │ ├── tasks/ # Celery 异步任务
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ ├── celery_app.py
|
||||
│ │ │ ├── generation_tasks.py # AI 生成任务
|
||||
│ │ │ └── media_tasks.py # 媒体处理任务
|
||||
│ │ ├── core/
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ ├── security.py # JWT / OAuth
|
||||
│ │ │ ├── database.py # SQLAlchemy 引擎
|
||||
│ │ │ └── exceptions.py
|
||||
│ │ └── utils/
|
||||
│ │ ├── __init__.py
|
||||
│ │ └── helpers.py
|
||||
│ ├── alembic/
|
||||
│ │ ├── env.py
|
||||
│ │ └── versions/
|
||||
│ ├── tests/
|
||||
│ │ ├── conftest.py
|
||||
│ │ ├── test_projects.py
|
||||
│ │ └── test_generation.py
|
||||
│ └── requirements/
|
||||
│ ├── base.txt
|
||||
│ ├── dev.txt
|
||||
│ └── prod.txt
|
||||
│
|
||||
└── docs/ # 文档
|
||||
├── api-spec.md # API 接口说明
|
||||
└── editor-architecture.md # 编辑器架构设计
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 三、前端核心依赖
|
||||
|
||||
```jsonc
|
||||
// frontend/package.json (关键字段)
|
||||
{
|
||||
"name": "ai-video-platform",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "tsc -b && vite build",
|
||||
"preview": "vite preview",
|
||||
"lint": "eslint ."
|
||||
},
|
||||
"dependencies": {
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"react-router": "^7.0.0",
|
||||
"@tanstack/react-query": "^5.0.0",
|
||||
"zustand": "^5.0.0",
|
||||
"@dnd-kit/core": "^6.1.0",
|
||||
"@dnd-kit/sortable": "^8.0.0",
|
||||
"@dnd-kit/utilities": "^3.2.0",
|
||||
"react-konva": "^18.2.0",
|
||||
"konva": "^9.3.0",
|
||||
"framer-motion": "^11.0.0",
|
||||
"react-hook-form": "^7.53.0",
|
||||
"@hookform/resolvers": "^3.9.0",
|
||||
"zod": "^3.23.0",
|
||||
"axios": "^1.7.0",
|
||||
"clsx": "^2.1.0",
|
||||
"tailwind-merge": "^2.5.0",
|
||||
"class-variance-authority": "^0.7.0",
|
||||
"lucide-react": "^0.460.0",
|
||||
"sonner": "^1.7.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react": "^19.0.0",
|
||||
"@types/react-dom": "^19.0.0",
|
||||
"@vitejs/plugin-react": "^4.3.0",
|
||||
"vite": "^6.0.0",
|
||||
"typescript": "^5.6.0",
|
||||
"tailwindcss": "^4.0.0",
|
||||
"@tailwindcss/vite": "^4.0.0",
|
||||
"eslint": "^9.0.0"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 四、后端核心依赖
|
||||
|
||||
```
|
||||
# backend/requirements/base.txt
|
||||
|
||||
# Web 框架
|
||||
fastapi>=0.115,<1.0
|
||||
uvicorn[standard]>=0.32,<1.0
|
||||
python-multipart>=0.0.18 # 文件上传
|
||||
|
||||
# 数据库
|
||||
sqlalchemy>=2.0,<3.0
|
||||
asyncpg>=0.30,<1.0 # PostgreSQL 异步驱动
|
||||
alembic>=1.14,<2.0 # 数据库迁移
|
||||
pydantic>=2.10,<3.0
|
||||
pydantic-settings>=2.6,<3.0
|
||||
|
||||
# 缓存 & 队列
|
||||
redis>=5.2,<6.0
|
||||
celery>=5.4,<6.0
|
||||
|
||||
# 认证
|
||||
python-jose[cryptography]>=3.3,<4.0
|
||||
passlib[bcrypt]>=1.7,<2.0
|
||||
|
||||
# 文件存储
|
||||
boto3>=1.35,<2.0 # S3/MinIO
|
||||
minio>=7.2,<8.0
|
||||
|
||||
# AI SDK
|
||||
openai>=1.55,<2.0
|
||||
|
||||
# 工具
|
||||
httpx>=0.28,<1.0
|
||||
loguru>=0.7,<1.0
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 五、初始化步骤(逐条命令)
|
||||
|
||||
### 5.1 创建项目目录
|
||||
|
||||
```bash
|
||||
mkdir ai-video-platform && cd ai-video-platform
|
||||
```
|
||||
|
||||
### 5.2 前端初始化
|
||||
|
||||
```bash
|
||||
# 1. Vite + React + TypeScript
|
||||
npm create vite@latest frontend -- --template react-ts
|
||||
cd frontend
|
||||
npm install
|
||||
|
||||
# 2. 安装运行时依赖
|
||||
npm install react-router @tanstack/react-query zustand @dnd-kit/core @dnd-kit/sortable @dnd-kit/utilities react-konva konva framer-motion react-hook-form @hookform/resolvers zod axios clsx tailwind-merge class-variance-authority lucide-react sonner
|
||||
|
||||
# 3. 安装开发依赖
|
||||
npm install -D tailwindcss @tailwindcss/vite
|
||||
|
||||
# 4. 初始化 shadcn/ui
|
||||
npx shadcn@latest init
|
||||
# 选择:TypeScript / Neutral / CSS variables / Yes to all
|
||||
|
||||
# 5. 添加 shadcn 组件
|
||||
npx shadcn@latest add button card dialog slider tabs dropdown-menu input textarea select toast tooltip sheet skeleton
|
||||
```
|
||||
|
||||
### 5.3 Tailwind CSS v4 配置
|
||||
|
||||
```ts
|
||||
// frontend/vite.config.ts
|
||||
import { defineConfig } from 'vite'
|
||||
import react from '@vitejs/plugin-react'
|
||||
import tailwindcss from '@tailwindcss/vite'
|
||||
import path from 'path'
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [react(), tailwindcss()],
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': path.resolve(__dirname, './src'),
|
||||
},
|
||||
},
|
||||
server: {
|
||||
port: 3000,
|
||||
proxy: {
|
||||
'/api': {
|
||||
target: 'http://localhost:8000',
|
||||
changeOrigin: true,
|
||||
},
|
||||
'/ws': {
|
||||
target: 'ws://localhost:8000',
|
||||
ws: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
```css
|
||||
/* frontend/src/index.css */
|
||||
@import "tailwindcss";
|
||||
@import "tw-animate-css";
|
||||
|
||||
@custom-variant dark (&:is(.dark *));
|
||||
|
||||
:root {
|
||||
--radius: 0.625rem;
|
||||
--background: oklch(1 0 0);
|
||||
--foreground: oklch(0.145 0 0);
|
||||
--card: oklch(1 0 0);
|
||||
--card-foreground: oklch(0.145 0 0);
|
||||
--popover: oklch(1 0 0);
|
||||
--popover-foreground: oklch(0.145 0 0);
|
||||
--primary: oklch(0.205 0 0);
|
||||
--primary-foreground: oklch(0.985 0 0);
|
||||
--secondary: oklch(0.97 0 0);
|
||||
--secondary-foreground: oklch(0.205 0 0);
|
||||
--muted: oklch(0.97 0 0);
|
||||
--muted-foreground: oklch(0.556 0 0);
|
||||
--accent: oklch(0.97 0 0);
|
||||
--accent-foreground: oklch(0.205 0 0);
|
||||
--destructive: oklch(0.577 0.245 27.325);
|
||||
--border: oklch(0.922 0 0);
|
||||
--input: oklch(0.922 0 0);
|
||||
--ring: oklch(0.708 0 0);
|
||||
--chart-1: oklch(0.646 0.222 41.116);
|
||||
--chart-2: oklch(0.6 0.118 184.704);
|
||||
--chart-3: oklch(0.398 0.07 227.392);
|
||||
--chart-4: oklch(0.828 0.189 84.429);
|
||||
--chart-5: oklch(0.769 0.188 70.08);
|
||||
--sidebar: oklch(0.985 0 0);
|
||||
--sidebar-foreground: oklch(0.145 0 0);
|
||||
--sidebar-primary: oklch(0.205 0 0);
|
||||
--sidebar-primary-foreground: oklch(0.985 0 0);
|
||||
--sidebar-accent: oklch(0.97 0 0);
|
||||
--sidebar-accent-foreground: oklch(0.205 0 0);
|
||||
--sidebar-border: oklch(0.922 0 0);
|
||||
--sidebar-ring: oklch(0.708 0 0);
|
||||
}
|
||||
|
||||
.dark {
|
||||
--background: oklch(0.145 0 0);
|
||||
--foreground: oklch(0.985 0 0);
|
||||
/* ... 暗色主题变量 ... */
|
||||
}
|
||||
|
||||
@theme inline {
|
||||
--radius-sm: calc(var(--radius) - 4px);
|
||||
--radius-md: calc(var(--radius) - 2px);
|
||||
--radius-lg: var(--radius);
|
||||
--radius-xl: calc(var(--radius) + 4px);
|
||||
--color-background: var(--background);
|
||||
--color-foreground: var(--foreground);
|
||||
--color-card: var(--card);
|
||||
--color-card-foreground: var(--card-foreground);
|
||||
--color-popover: var(--popover);
|
||||
--color-popover-foreground: var(--popover-foreground);
|
||||
--color-primary: var(--primary);
|
||||
--color-primary-foreground: var(--primary-foreground);
|
||||
--color-secondary: var(--secondary);
|
||||
--color-secondary-foreground: var(--secondary-foreground);
|
||||
--color-muted: var(--muted);
|
||||
--color-muted-foreground: var(--muted-foreground);
|
||||
--color-accent: var(--accent);
|
||||
--color-accent-foreground: var(--accent-foreground);
|
||||
--color-destructive: var(--destructive);
|
||||
--color-border: var(--border);
|
||||
--color-input: var(--input);
|
||||
--color-ring: var(--ring);
|
||||
--color-chart-1: var(--chart-1);
|
||||
--color-chart-2: var(--chart-2);
|
||||
--color-chart-3: var(--chart-3);
|
||||
--color-chart-4: var(--chart-4);
|
||||
--color-chart-5: var(--chart-5);
|
||||
--color-sidebar: var(--sidebar);
|
||||
--color-sidebar-foreground: var(--sidebar-foreground);
|
||||
--color-sidebar-primary: var(--sidebar-primary);
|
||||
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
||||
--color-sidebar-accent: var(--sidebar-accent);
|
||||
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
||||
--color-sidebar-border: var(--sidebar-border);
|
||||
--color-sidebar-ring: var(--sidebar-ring);
|
||||
}
|
||||
|
||||
@layer base {
|
||||
* {
|
||||
@apply border-border;
|
||||
}
|
||||
body {
|
||||
@apply bg-background text-foreground;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 5.4 后端初始化
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
|
||||
# 1. 创建虚拟环境
|
||||
python -m venv .venv
|
||||
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
||||
|
||||
# 2. 安装依赖
|
||||
pip install -r requirements/base.txt
|
||||
|
||||
# 3. 初始化 Alembic
|
||||
alembic init alembic
|
||||
# 修改 alembic/env.py 指向你的数据库
|
||||
|
||||
# 4. 创建初始迁移
|
||||
alembic revision --autogenerate -m "init"
|
||||
alembic upgrade head
|
||||
|
||||
# 5. 启动开发服务器
|
||||
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
|
||||
```
|
||||
|
||||
### 5.5 本地基础设施
|
||||
|
||||
```bash
|
||||
# docker-compose.yml — 一键启动 PostgreSQL + Redis + MinIO
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
```yaml
|
||||
# backend/docker-compose.yml
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:16-alpine
|
||||
environment:
|
||||
POSTGRES_USER: video_dev
|
||||
POSTGRES_PASSWORD: video_dev
|
||||
POSTGRES_DB: ai_video_platform
|
||||
ports:
|
||||
- "5432:5432"
|
||||
volumes:
|
||||
- pgdata:/var/lib/postgresql/data
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
ports:
|
||||
- "6379:6379"
|
||||
|
||||
minio:
|
||||
image: minio/minio:latest
|
||||
command: server /data --console-address ":9001"
|
||||
environment:
|
||||
MINIO_ROOT_USER: minioadmin
|
||||
MINIO_ROOT_PASSWORD: minioadmin
|
||||
ports:
|
||||
- "9000:9000"
|
||||
- "9001:9001"
|
||||
volumes:
|
||||
- miniodata:/data
|
||||
|
||||
volumes:
|
||||
pgdata:
|
||||
miniodata:
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 六、编辑器核心状态设计(zustand store)
|
||||
|
||||
这是整个前端的灵魂。交给 Trae 后,它是编码优先级最高的模块。
|
||||
|
||||
```ts
|
||||
// frontend/src/stores/editorStore.ts
|
||||
import { create } from 'zustand';
|
||||
import { temporal } from 'zundo'; // zustand 撤销重做中间件
|
||||
|
||||
interface TrackItem {
|
||||
id: string;
|
||||
type: 'video' | 'image' | 'audio' | 'text' | 'sticker';
|
||||
trackId: string;
|
||||
startTime: number; // 毫秒
|
||||
duration: number; // 毫秒
|
||||
properties: {
|
||||
x?: number;
|
||||
y?: number;
|
||||
width?: number;
|
||||
height?: number;
|
||||
rotation?: number;
|
||||
opacity?: number;
|
||||
text?: string;
|
||||
fontSize?: number;
|
||||
fontColor?: string;
|
||||
// ... 其他属性
|
||||
};
|
||||
source: {
|
||||
url?: string; // 媒体文件 URL
|
||||
fileId?: string; // 后端文件 ID
|
||||
};
|
||||
}
|
||||
|
||||
interface EditorState {
|
||||
// 项目元信息
|
||||
projectId: string | null;
|
||||
projectName: string;
|
||||
|
||||
// 轨道数据
|
||||
tracks: TrackItem[];
|
||||
|
||||
// 播放状态
|
||||
currentTime: number;
|
||||
isPlaying: boolean;
|
||||
duration: number;
|
||||
|
||||
// 选中状态
|
||||
selectedItemIds: string[];
|
||||
|
||||
// 缩放
|
||||
zoom: number; // 0.25 ~ 4.0
|
||||
|
||||
// 操作
|
||||
addTrackItem: (item: TrackItem) => void;
|
||||
removeTrackItem: (id: string) => void;
|
||||
updateTrackItem: (id: string, updates: Partial<TrackItem>) => void;
|
||||
moveTrackItem: (id: string, newStartTime: number, newTrackId?: string) => void;
|
||||
setCurrentTime: (time: number) => void;
|
||||
togglePlay: () => void;
|
||||
selectItems: (ids: string[]) => void;
|
||||
setZoom: (zoom: number) => void;
|
||||
}
|
||||
|
||||
export const useEditorStore = create<EditorState>()(
|
||||
temporal(
|
||||
(set) => ({
|
||||
projectId: null,
|
||||
projectName: '未命名项目',
|
||||
tracks: [],
|
||||
currentTime: 0,
|
||||
isPlaying: false,
|
||||
duration: 60000,
|
||||
selectedItemIds: [],
|
||||
zoom: 1,
|
||||
|
||||
addTrackItem: (item) =>
|
||||
set((s) => ({ tracks: [...s.tracks, item] })),
|
||||
|
||||
removeTrackItem: (id) =>
|
||||
set((s) => ({
|
||||
tracks: s.tracks.filter((t) => t.id !== id),
|
||||
selectedItemIds: s.selectedItemIds.filter((sid) => sid !== id),
|
||||
})),
|
||||
|
||||
updateTrackItem: (id, updates) =>
|
||||
set((s) => ({
|
||||
tracks: s.tracks.map((t) =>
|
||||
t.id === id ? { ...t, ...updates } : t
|
||||
),
|
||||
})),
|
||||
|
||||
moveTrackItem: (id, newStartTime, newTrackId) =>
|
||||
set((s) => ({
|
||||
tracks: s.tracks.map((t) =>
|
||||
t.id === id
|
||||
? { ...t, startTime: newStartTime, trackId: newTrackId ?? t.trackId }
|
||||
: t
|
||||
),
|
||||
})),
|
||||
|
||||
setCurrentTime: (time) => set({ currentTime: time }),
|
||||
togglePlay: () => set((s) => ({ isPlaying: !s.isPlaying })),
|
||||
selectItems: (ids) => set({ selectedItemIds: ids }),
|
||||
setZoom: (zoom) => set({ zoom }),
|
||||
}),
|
||||
{ limit: 50 } // 保留 50 步撤销历史
|
||||
)
|
||||
);
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 七、后端 FastAPI 入口骨架
|
||||
|
||||
```python
|
||||
# backend/app/main.py
|
||||
from contextlib import asynccontextmanager
|
||||
from fastapi import FastAPI
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
|
||||
from app.api.v1.router import api_router
|
||||
from app.core.database import engine, Base
|
||||
from app.config import settings
|
||||
|
||||
|
||||
@asynccontextmanager
|
||||
async def lifespan(app: FastAPI):
|
||||
# 启动时:创建表(开发环境)
|
||||
# async with engine.begin() as conn:
|
||||
# await conn.run_sync(Base.metadata.create_all)
|
||||
yield
|
||||
# 关闭时清理
|
||||
await engine.dispose()
|
||||
|
||||
|
||||
app = FastAPI(
|
||||
title="AI 短视频创作平台",
|
||||
version="0.1.0",
|
||||
lifespan=lifespan,
|
||||
)
|
||||
|
||||
# CORS
|
||||
app.add_middleware(
|
||||
CORSMiddleware,
|
||||
allow_origins=settings.CORS_ORIGINS,
|
||||
allow_credentials=True,
|
||||
allow_methods=["*"],
|
||||
allow_headers=["*"],
|
||||
)
|
||||
|
||||
# 注册路由
|
||||
app.include_router(api_router, prefix="/api/v1")
|
||||
|
||||
@app.get("/health")
|
||||
async def health_check():
|
||||
return {"status": "ok"}
|
||||
```
|
||||
|
||||
### WebSocket 进度推送
|
||||
|
||||
```python
|
||||
# backend/app/api/v1/websocket.py
|
||||
from fastapi import APIRouter, WebSocket, WebSocketDisconnect
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
class ConnectionManager:
|
||||
def __init__(self):
|
||||
self.active_connections: dict[str, WebSocket] = {}
|
||||
|
||||
async def connect(self, task_id: str, websocket: WebSocket):
|
||||
await websocket.accept()
|
||||
self.active_connections[task_id] = websocket
|
||||
|
||||
def disconnect(self, task_id: str):
|
||||
self.active_connections.pop(task_id, None)
|
||||
|
||||
async def send_progress(self, task_id: str, data: dict):
|
||||
ws = self.active_connections.get(task_id)
|
||||
if ws:
|
||||
await ws.send_json(data)
|
||||
|
||||
manager = ConnectionManager()
|
||||
|
||||
@router.websocket("/ws/generation/{task_id}")
|
||||
async def generation_progress(websocket: WebSocket, task_id: str):
|
||||
await manager.connect(task_id, websocket)
|
||||
try:
|
||||
while True:
|
||||
# 保持连接,等待 Celery 任务推送进度
|
||||
await websocket.receive_text()
|
||||
except WebSocketDisconnect:
|
||||
manager.disconnect(task_id)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 八、前后端联调约定
|
||||
|
||||
### API 规范
|
||||
|
||||
| 事项 | 约定 |
|
||||
|---|---|
|
||||
| 接口前缀 | `/api/v1/` |
|
||||
| 请求格式 | `application/json`,上传用 `multipart/form-data` |
|
||||
| 响应格式 | `{ "code": 0, "data": {...}, "message": "ok" }` |
|
||||
| 分页格式 | `{ "code": 0, "data": { "items": [...], "total": 100, "page": 1, "page_size": 20 } }` |
|
||||
| 错误码 | 0=成功,4xxx=客户端错误,5xxx=服务端错误 |
|
||||
| WebSocket | `/ws/generation/{task_id}` — AI 生成进度实时推送 |
|
||||
| 认证 | Bearer Token(JWT),Header: `Authorization: Bearer <token>` |
|
||||
|
||||
### 统一响应模型
|
||||
|
||||
```python
|
||||
# backend/app/schemas/common.py
|
||||
from pydantic import BaseModel
|
||||
from typing import Generic, TypeVar
|
||||
|
||||
T = TypeVar("T")
|
||||
|
||||
class ApiResponse(BaseModel, Generic[T]):
|
||||
code: int = 0
|
||||
message: str = "ok"
|
||||
data: T | None = None
|
||||
|
||||
class PageResponse(BaseModel, Generic[T]):
|
||||
items: list[T]
|
||||
total: int
|
||||
page: int
|
||||
page_size: int
|
||||
```
|
||||
|
||||
### 前端请求封装
|
||||
|
||||
```ts
|
||||
// frontend/src/api/client.ts
|
||||
import axios from 'axios';
|
||||
|
||||
const client = axios.create({
|
||||
baseURL: '/api/v1',
|
||||
timeout: 30000,
|
||||
});
|
||||
|
||||
// 请求拦截:自动带 Token
|
||||
client.interceptors.request.use((config) => {
|
||||
const token = localStorage.getItem('token');
|
||||
if (token) {
|
||||
config.headers.Authorization = `Bearer ${token}`;
|
||||
}
|
||||
return config;
|
||||
});
|
||||
|
||||
// 响应拦截:统一错误处理
|
||||
client.interceptors.response.use(
|
||||
(res) => res.data,
|
||||
(err) => {
|
||||
if (err.response?.status === 401) {
|
||||
// 跳转登录
|
||||
}
|
||||
return Promise.reject(err);
|
||||
}
|
||||
);
|
||||
|
||||
export default client;
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 九、AI 生成核心功能拆解
|
||||
|
||||
按优先级排列,建议 Trae 按此顺序实现:
|
||||
|
||||
| 优先级 | 功能 | 前端关键组件 | 后端关键服务 | 复杂度 |
|
||||
|---|---|---|---|---|
|
||||
| P0 | **AI 脚本生成** | `ScriptGenerator.tsx`(输入主题/关键词 → 流式显示脚本) | `script_generator.py`(调用 LLM API,SSE 流式返回) | ⭐⭐ |
|
||||
| P0 | **视频编辑器基础** | `Timeline/` + `Canvas/` + `editorStore` | 项目 CRUD、素材上传 | ⭐⭐⭐⭐⭐ |
|
||||
| P1 | **AI 配音** | `VoiceGenerator.tsx`(选择音色 → 试听 → 插入时间轴) | `voice_service.py`(TTS API) | ⭐⭐⭐ |
|
||||
| P1 | **AI 字幕** | `SubtitleGenerator.tsx`(语音识别 → 字幕轨道展示) | `subtitle_service.py`(ASR) | ⭐⭐⭐ |
|
||||
| P2 | **模板市场** | `Templates.tsx`(模板浏览 → 一键套用) | `templates.py`(模板 CRUD) | ⭐⭐ |
|
||||
| P2 | **视频合成导出** | 导出进度条 | `video_renderer.py`(FFmpeg 合成 + Celery 异步) | ⭐⭐⭐⭐ |
|
||||
|
||||
---
|
||||
|
||||
## 十、开发工作流
|
||||
|
||||
```
|
||||
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
|
||||
│ WorkBuddy │────▶│ Trae │────▶│ Git Commit │
|
||||
│ 方案 & 架构 │ │ 编码 & 调试 │ │ 版本管理 │
|
||||
└──────────────┘ └──────────────┘ └──────────────┘
|
||||
▲ │
|
||||
└────────────────────────────────────────┘
|
||||
遇到架构问题回 WorkBuddy 讨论
|
||||
```
|
||||
|
||||
1. WorkBuddy 产出本方案 → Trae 读者直接执行
|
||||
2. Trae 按 P0 → P1 → P2 顺序编码
|
||||
3. 每完成一个模块,前端 `npm run dev` 即时验证
|
||||
4. 后端 `pytest` + `uvicorn --reload` 同步验证
|
||||
5. 遇到技术选型/架构疑问 → 回 WorkBuddy 讨论
|
||||
6. 确定方案后继续在 Trae 编码
|
||||
|
||||
---
|
||||
|
||||
## 十一、交付清单
|
||||
|
||||
给 Trae 的第一阶段任务(建议一次不要超过 5 个文件):
|
||||
|
||||
- [ ] `frontend/package.json` — 按第四节配置
|
||||
- [ ] `frontend/vite.config.ts` — 按 5.3 节配置
|
||||
- [ ] `frontend/tailwind.config.ts` — 按 5.3 节配置
|
||||
- [ ] `frontend/src/index.css` — 按 5.3 节配置
|
||||
- [ ] `frontend/src/main.tsx` — React 入口
|
||||
- [ ] `frontend/src/App.tsx` — 路由 + 布局壳
|
||||
- [ ] `frontend/src/components/layout/AppShell.tsx` — shadcn/ui 侧边栏 + 顶栏
|
||||
- [ ] `frontend/src/stores/editorStore.ts` — 编辑器核心状态(第六节)
|
||||
- [ ] `frontend/src/pages/Home.tsx` — 首页占位
|
||||
- [ ] `frontend/src/pages/Editor.tsx` — 编辑器主��面占位
|
||||
- [ ] `backend/pyproject.toml` — 项目配置
|
||||
- [ ] `backend/requirements/base.txt` — 按第四节配置
|
||||
- [ ] `backend/app/main.py` — 第七节完整代码
|
||||
- [ ] `backend/app/config.py` — pydantic-settings 配置
|
||||
- [ ] `backend/app/core/database.py` — SQLAlchemy 引擎
|
||||
- [ ] `backend/app/api/v1/router.py` — 路由聚合
|
||||
- [ ] `backend/app/api/v1/websocket.py` — WebSocket 进度推送
|
||||
- [ ] `backend/app/schemas/common.py` — 统一响应模型
|
||||
- [ ] `backend/docker-compose.yml` — 本地基础设施
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
_方案版本:v1.0 | 产出日期:2026-07-31 | 产出工具:WorkBuddy | 执行工具:Trae_
|
||||
File renamed without changes.
+1
-1
@@ -284,7 +284,7 @@
|
||||
|
||||
| 子步骤 | 处理内容 |
|
||||
|:---:|---------|
|
||||
| 1 | 维度一:爆款要素命中率(25分)— 前3秒钩子/标题点击/爆款公式/情绪曲线/CTA自然度各5分 |
|
||||
| 1 | 维度一:爆款要素命中率(25分)— 前3秒钩子/标题点击/爆款公式/情绪曲线/行动号召自然度各5分 |
|
||||
| 2 | 维度二:人设匹配度(15分)— 口播语言/视觉形象/情绪表达各5分+无不匹配内容 |
|
||||
| 3 | 维度三:可拍摄性(15分)— 画面可执行/台词可朗读/字幕规范各5分+无不可实现镜头 |
|
||||
| 4 | 维度四:合规性(一票否决)— 内容安全/平台规范/版权/价值观/广告合规 |
|
||||
File renamed without changes.
+1
-1
@@ -443,7 +443,7 @@
|
||||
|
||||
| 维度 | 满分 | 评分项 |
|
||||
|------|:---:|---------|
|
||||
| 爆款要素命中率 | 25 | 前3秒钩子(5)+标题点击(5)+爆款公式(5)+情绪曲线(5)+CTA自然度(5) |
|
||||
| 爆款要素命中率 | 25 | 前3秒钩子(5)+标题点击(5)+爆款公式(5)+情绪曲线(5)+行动号召自然度(5) |
|
||||
| 人设匹配度 | 15 | 口播语言(5)+视觉形象(5)+情绪表达(5)+无不匹配内容 |
|
||||
| 可拍摄性 | 15 | 画面可执行(5)+台词可朗读(5)+字幕规范(5)+无不可实现镜头 |
|
||||
| 合规性 | 一票否决 | 内容安全/平台规范/版权/价值观/广告合规 |
|
||||
File renamed without changes.
+2
-2
@@ -364,7 +364,7 @@
|
||||
<div><span class="out-name">开场钩子</span> <span class="out-desc">钩子类型/前3秒台词/画面描述/开篇任务</span></div>
|
||||
<div><span class="out-name">中段主体</span> <span class="out-desc">叙事模型+3段(时间/信息点/看点/<span style="color:#8A2BE2">情绪</span>)</span></div>
|
||||
<div><span class="out-name"><span style="color:#8A2BE2">情绪设计卡</span></span> <span class="out-desc">弧线类型+四类情绪标注+蓄力释放(蓄力→释放)+缺口自检5项</span></div>
|
||||
<div><span class="out-name">结尾收束</span> <span class="out-desc">收尾类型/CTA设计/结尾台词</span></div>
|
||||
<div><span class="out-name">结尾收束</span> <span class="out-desc">收尾类型/行动号召设计/结尾台词</span></div>
|
||||
<div><span class="out-name">广告植入占位表</span> <span class="out-desc">位置/时间/段落/植入形式/预留台词</span></div>
|
||||
</div>
|
||||
|
||||
@@ -523,7 +523,7 @@
|
||||
④ 确认门规则:共创模式下7个Gate严格执行用户确认,快速模式下全部自动通过;Gate-2为选择式确认,不可仅回复"通过"<br>
|
||||
⑤ 贯穿约束:账号设定(S4) → 全流程约束(S5~S11);场次结构(S6) → 大纲/脚本/分镜约束;<span style="color:#8A2BE2">目标体感(S5) → 情绪基线约束(S6~S11)</span><br>
|
||||
⑥ 知识库符号:★核心依赖 / ●间接参考 / △补充引用;<span style="background:#e6f7ed;color:#0F6E56;padding:1px 4px;border-radius:3px;font-size:10px">🆕</span>新增分类(07情绪共鸣6文件 + 12拆解评估8文件)<br>
|
||||
⑦ 产出路径:<code>shortvideo_sample/{账号名}/脚本{编号}/</code>,达人设定.md 写入账号根目录跨脚本复用<br>
|
||||
⑦ 产出路径:<code>case/{账号名}/脚本{编号}/</code>,达人设定.md 写入账号根目录跨脚本复用<br>
|
||||
⑧ 双模式:⚡快速模式(默认)AI自动通过所有Gate / 🤝共创模式每个Gate需用户确认,可启动时选择或中途切换<br>
|
||||
⑨ <span style="color:#8A2BE2">情绪共鸣全链路</span>:S5网感坐标→S6四类情绪→S7情绪设计卡→S9多维度表达/蓄力释放/留白→S11情感专项检查,五步骤串联闭环
|
||||
</div>
|
||||
@@ -1,4 +1,4 @@
|
||||
# 内容创作知识库 — 项目章程
|
||||
# 内容创作产品规划 · 内容知识库设计 — 项目章程
|
||||
|
||||
> 版本:V5.0 | 日期:2026-07-29(增加商业表现数据层 + 创作-评估-商业验证闭环)
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
|
||||
| 字段 | 内容 |
|
||||
|------|------|
|
||||
| 项目名称 | 内容创作知识库 |
|
||||
| 项目名称 | 内容创作产品规划 |
|
||||
| 包含子项目 | 1_短剧创作知识库 + 2_短视频创作知识库 |
|
||||
| 项目版本 | case_1 |
|
||||
| 项目版本 | 内容知识库设计 |
|
||||
| 项目目标 | 为短剧与短视频 AI 创作/评估系统提供按「地域×性别×题材×流派×变现模式」五维分类 + 三层标签(世界观/核心设定/风格)+ 13创作维度 + 商业表现数据层 + 三检索模式(分类/标签/向量)的结构化知识基础设施,形成创作→评估→商业验证→反馈优化的闭环体系 |
|
||||
|
||||
## 二、核心问题驱动
|
||||
@@ -116,7 +116,7 @@
|
||||
## 七、项目目录结构(V5.0)
|
||||
|
||||
```
|
||||
case_1/
|
||||
内容知识库设计/
|
||||
├── 00_项目章程.md ← 本文档
|
||||
├── 1_短剧创作知识库/
|
||||
│ ├── 产品规划/
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,442 @@
|
||||
# 短视频素材库 — 产品规划
|
||||
|
||||
> 版本:V1.0 | 日期:2026-08-11 | 状态:极致化设计规范对齐,两层架构+5素材类型+12极致维度
|
||||
|
||||
---
|
||||
|
||||
## 一、项目背景与核心问题
|
||||
|
||||
### 1.1 行业现状
|
||||
|
||||
短视频内容创作中,"有方法论但没有弹药"是 AI 创作系统的普遍瓶颈:
|
||||
|
||||
- **AI 编出来的菜都是"西红柿炒鸡蛋"** — 知道"美食赛道要用感官性极致",但没有具体菜品可选,从零推理的结果是泛化的
|
||||
- **AI 写的行为都是"做饭、收拾房间"** — 知道"行为要有步骤链",但没有具名行为链可调取,结果是模糊动词堆砌
|
||||
- **AI 写的台词都是"你辛苦了"** — 知道"金句要有传播力",但没有已验证的金句库参考,结果是大白话
|
||||
- **同一账号不同脚本画面不连贯** — 知道"环境要一致",但没有固定的空间布局/灯光/机位参考,每条脚本从零设计场景
|
||||
|
||||
### 1.2 AI 创作系统的核心痛点
|
||||
|
||||
| 痛点 | 表现 | 根因 |
|
||||
|------|------|------|
|
||||
| **内容空洞** | AI 写出的事件有框架无细节,"做饭"没有菜名、"收拾"没有步骤 | 缺少具名素材可直接调用 |
|
||||
| **极致感缺失** | 知识库定义了"感官性极致/戏剧性极致",但 AI 不知道具体到画面上怎么体现 | 缺少极致触点级别的素材 |
|
||||
| **账号风格漂移** | 同一账号不同脚本的道具/环境/台词风格不一致 | 缺少账号级固定的素材基线 |
|
||||
| **赛道素材混用** | 美食赛道用了居家的道具描述,或剧情赛道用了Vlog的环境描述 | 缺少赛道通用素材层 |
|
||||
| **素材与知识库脱节** | 知识库有"05_极致事件"方法论,但素材库没有连接极致维度的字段 | 素材库设计未对齐知识库 |
|
||||
| **无法质检素材密度** | S11 诊断只能检查"有没有提到素材",无法检查"极致触点够不够" | 素材库缺少极致维度标注 |
|
||||
|
||||
### 1.3 素材库是根因中的根因
|
||||
|
||||
知识库解决了"怎么想、怎么判断"的问题,但没有解决"用什么填进去"的问题。AI 有了方法论,但每次创作时仍要从零推理具体内容——菜品名、道具品牌、行为步骤链、金句、环境机位。缺少按赛道组织、按极致维度标注、按账号固定的结构化素材库,AI 的输出永远是"看起来对但不够极致"。
|
||||
|
||||
---
|
||||
|
||||
## 二、素材库定位与核心价值
|
||||
|
||||
### 2.1 定位
|
||||
|
||||
短视频素材库是 **面向短视频创作流程(S5 选题 → S7 大纲 → S9 台词 → S11 诊断)的实践层素材基础设施**,按 **赛道通用层 × 账号专属层** 两层架构组织,以 **5 个素材类型**(菜品/道具/场景服务/金句/环境)为内容分区,每条素材标注 **极致维度 + 极致触点**,为 S7 大纲提供可直接调用的极致触点零件,是知识库 `05_极致事件` 的实践落地层。
|
||||
|
||||
### 2.2 核心价值主张
|
||||
|
||||
| 价值维度 | 具体交付 |
|
||||
|----------|----------|
|
||||
| **两层分离架构** | 赛道通用层(跨账号共享事实知识)+ 账号专属层(单账号具名素材) |
|
||||
| **5个素材类型** | 极致菜品库 / 极致道具库 / 极致场景服务库 / 极致金句库 / 极致环境库 |
|
||||
| **12个极致维度标签** | 视觉冲击/品质对比/细节专业/难度极限/食材极致/反差价值/反差服务/反常识/价值观冲击/自嘲反差/氛围沉浸/预见式服务 |
|
||||
| **极致触点可拍摄** | 每条素材标注1-2个具体可拍摄/可录音的极致瞬间,不是抽象形容 |
|
||||
| **与知识库极致事件打通** | 感官性极致→菜品/道具/环境/场景服务;戏剧性极致→金句/反差服务 |
|
||||
| **账号风格锁定** | 账号专属层固定菜品名/道具品牌/行为链/金句/环境,确保跨脚本一致性 |
|
||||
| **S7/S11流程对接** | S7调用极致触点填充大纲,S11检查极致触点密度 |
|
||||
| **赛道差异化素材** | 美食赛道有菜品库,居家赛道有道具库,不同赛道素材类型权重不同 |
|
||||
|
||||
### 2.3 与知识库的关系
|
||||
|
||||
| 层级 | 知识库 | 素材库 |
|
||||
|------|--------|--------|
|
||||
| **定位** | 方法论层 | 实践层 |
|
||||
| **回答的问题** | 怎么做(方法/标准/判断框架) | 用什么(具体内容零件) |
|
||||
| **内容性质** | 抽象规则、创作方法论、评估标准 | 具名实体:这道菜、这个道具、这套动作链 |
|
||||
| **类比** | 菜谱教你怎么炒(火候/顺序/调味原理) | 冰箱里的食材(番茄、鸡蛋、葱) |
|
||||
| **组织维度** | 13创作维度 | 5素材类型 |
|
||||
| **分类体系** | 三级分类(赛道×叙事形态×细分垂类) | 两层架构(赛道通用层×账号专属层) |
|
||||
| **调用时机** | S5选题策略/S6情绪规划/S7结构设计/S11诊断 | S7大纲填充具体内容/S9台词/S11密度检查 |
|
||||
| **共享范围** | 全局共享 | 账号专属层不共享 |
|
||||
|
||||
**连接点**:知识库 `05_极致事件` 定义了极致事件双重类型 → 素材库每条素材标注极致维度 + 极致触点 → S7 调用时按情绪功能匹配极致维度 → 填入大纲事件序列。
|
||||
|
||||
---
|
||||
|
||||
## 三、素材库架构设计
|
||||
|
||||
### 3.1 总体架构:两层分离 + 5素材类型 + 12极致维度 + 知识库关联
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ 短视频素材库 总体架构(V1.0) │
|
||||
├─────────────────────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ ┌──────── 第1层:两层分离架构 ──────────────────────┐ │
|
||||
│ │ │ │
|
||||
│ │ ┌─ 赛道通用层 ──────────────────────────────┐ │ │
|
||||
│ │ │ 位置:references/素材库/{赛道}/ │ │ │
|
||||
│ │ │ 定位:跨账号共享的事实性知识 │ │ │
|
||||
│ │ │ 内容:食材特性/家居标准/通用话术模板 │ │ │
|
||||
│ │ │ 特点:不包含具名角色/具体品牌/专属行为 │ │ │
|
||||
│ │ └────────────────────────────────────────────┘ │ │
|
||||
│ │ │ │
|
||||
│ │ ┌─ 账号专属层 ──────────────────────────────┐ │ │
|
||||
│ │ │ 位置:case/{账号名}/01-05_素材库_*.md │ │ │
|
||||
│ │ │ 定位:单账号私有,创作流程直接调用 │ │ │
|
||||
│ │ │ 内容:具名菜品/具体品牌道具/专属行为链 │ │ │
|
||||
│ │ │ 特点:跨脚本共享,确保风格一致性 │ │ │
|
||||
│ │ └────────────────────────────────────────────┘ │ │
|
||||
│ └───────────────────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌──────── 第2层:5个素材类型(内容分区)──────────┐ │
|
||||
│ │ │ │
|
||||
│ │ 01 极致菜品库 → 填充"做饭"场景 │ │
|
||||
│ │ 02 极致道具库 → 填充"准备/场景"细节 │ │
|
||||
│ │ 03 极致场景服务库 → 填充"角色日常行为" │ │
|
||||
│ │ 04 极致金句库 → 填充"台词/标题/封面" │ │
|
||||
│ │ 05 极致环境库 → 填充"空间布局/灯光/机位" │ │
|
||||
│ │ │ │
|
||||
│ │ 赛道素材类型权重: │ │
|
||||
│ │ 美食赛道:菜品>场景服务>环境>道具>金句 │ │
|
||||
│ │ 居家赛道:道具>环境>场景服务>金句 │ │
|
||||
│ │ 剧情赛道:金句>场景服务>环境>道具 │ │
|
||||
│ └───────────────────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌──────── 第3层:12极致维度(标注层)──────────────┐ │
|
||||
│ │ │ │
|
||||
│ │ 感官性极致(超出预期): │ │
|
||||
│ │ 视觉冲击 | 品质对比 | 细节专业 | 难度极限 │ │
|
||||
│ │ 食材极致 | 氛围沉浸 | 预见式服务 │ │
|
||||
│ │ │ │
|
||||
│ │ 戏剧性极致(打破预期): │ │
|
||||
│ │ 反差价值 | 反差服务 | 反常识 │ │
|
||||
│ │ 价值观冲击 | 自嘲反差 │ │
|
||||
│ │ │ │
|
||||
│ │ 每条素材必须标注 ≥1 个极致维度 │ │
|
||||
│ │ 每条素材必须写明极致触点(可拍摄的具体瞬间) │ │
|
||||
│ └───────────────────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌──────── 第4层:知识库关联(方法论→实践映射)─────┐ │
|
||||
│ │ │ │
|
||||
│ │ 知识库 05_极致事件 │ │
|
||||
│ │ ├─ 戏剧性极致(打破预期) │ │
|
||||
│ │ │ → 素材库:金句库 + 场景服务库(反差服务) │ │
|
||||
│ │ └─ 感官性极致(超出预期) │ │
|
||||
│ │ → 素材库:菜品库 + 道具库 + 环境库 │ │
|
||||
│ │ + 场景服务库(预见式服务) │ │
|
||||
│ │ │ │
|
||||
│ │ 知识库 07_情绪共鸣 │ │
|
||||
│ │ → 素材库:S7调用时按情绪功能位匹配极致维度 │ │
|
||||
│ │ │ │
|
||||
│ │ 知识库 12_拆解评估 │ │
|
||||
│ │ → 素材库:S11诊断的极致触点密度参照 │ │
|
||||
│ └───────────────────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌──────── 第5层:创作流程调用引擎 ─────────────────┐ │
|
||||
│ │ │ │
|
||||
│ │ S5 选题:极致触点组合创作法 │ │
|
||||
│ │ → 从素材库选2-3个极致触点 → 反推选题方向 │ │
|
||||
│ │ │ │
|
||||
│ │ S7 大纲:极致触点调用 + 展开 │ │
|
||||
│ │ → 从素材库选带极致维度的素材填充事件序列 │ │
|
||||
│ │ → 每场至少调用1个极致触点 │ │
|
||||
│ │ → 极致触点展开为具体画面方向 │ │
|
||||
│ │ │ │
|
||||
│ │ S9 台词:金句库调用 │ │
|
||||
│ │ → 从金句库选匹配场景的台词素材 │ │
|
||||
│ │ │ │
|
||||
│ │ S11 诊断:极致触点密度检查 │ │
|
||||
│ │ → 每15-20秒至少1个极致触点 │ │
|
||||
│ │ → 感官性+戏剧性极致是否均覆盖 │ │
|
||||
│ │ → 极致触点可拍摄性检查 │ │
|
||||
│ └───────────────────────────────────────────────────┘ │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 3.2 第1层:两层分离架构详解
|
||||
|
||||
#### 赛道通用层
|
||||
|
||||
| 属性 | 说明 |
|
||||
|------|------|
|
||||
| 位置 | `references/素材库/{赛道}/` + `references/素材库/通用/` |
|
||||
| 定位 | 跨账号共享的事实性知识,不含具名角色 |
|
||||
| 内容 | 食材特性、家居标准、通用话术模板、行为暗示示例 |
|
||||
| 调用方 | S7 从赛道通用层获取专业术语/标准参考,再从账号专属层获取具名内容 |
|
||||
| 更新频率 | 低频更新,赛道标准相对稳定 |
|
||||
|
||||
#### 账号专属层
|
||||
|
||||
| 属性 | 说明 |
|
||||
|------|------|
|
||||
| 位置 | `case/{账号名}/01-05_素材库_*.md` |
|
||||
| 定位 | 单账号私有,创作流程直接调用的素材 |
|
||||
| 内容 | 具名菜品(含菜名)、具体品牌道具、角色专属行为链、角色金句、固定环境 |
|
||||
| 调用方 | S7/S9 直接从账号专属层选择素材填充大纲和台词 |
|
||||
| 更新频率 | 随脚本创作迭代,每条新视频可补充新素材 |
|
||||
| 共享规则 | 不跨账号共享,新账号从零建设 |
|
||||
|
||||
**两层关系**:赛道通用层提供"标准参考"(如:粤菜煲仔饭的标准做法),账号专属层提供"具名实例"(如:做梦的和牛窝蛋煲仔饭)。S7 先查账号专属层,找不到时从赛道通用层获取参考再具名化。
|
||||
|
||||
### 3.3 第2层:5个素材类型详解
|
||||
|
||||
| 编号 | 素材类型 | 原名称 | 核心功能 | 极致类型偏向 | 最低数量 |
|
||||
|------|---------|--------|---------|-------------|---------|
|
||||
| 01 | 极致菜品库 | 菜品库 | S7 填充"做饭"场景的具名菜品 | 感官性极致 | ≥15道/账号 |
|
||||
| 02 | 极致道具库 | 道具库 | S7 填充"准备/场景"细节的具名道具 | 感官性极致 | ≥20个/账号 |
|
||||
| 03 | 极致场景服务库 | 行为模式库 | S7 调取连贯行为链,对标酒店级/米其林级服务标准 | 感官性+戏剧性 | ≥10条/账号 |
|
||||
| 04 | 极致金句库 | 金句口头禅库 | S7/S9 调用台词素材,确保风格一致有传播力 | 戏剧性极致 | ≥15条/账号 |
|
||||
| 05 | 极致环境库 | 环境设定 | S7 调用空间布局/灯光/机位,确保画面一致 | 感官性极致 | ≥5个空间/账号 |
|
||||
|
||||
#### 赛道素材类型权重
|
||||
|
||||
不同赛道对5个素材类型的依赖程度不同:
|
||||
|
||||
| 赛道 | 主要素材类型 | 次要素材类型 | 说明 |
|
||||
|------|------------|------------|------|
|
||||
| 泛生活(美食) | 菜品 > 场景服务 | 环境 > 道具 > 金句 | 菜品是核心极致载体 |
|
||||
| 泛生活(居家) | 道具 > 环境 | 场景服务 > 金句 | 道具品质对比是核心 |
|
||||
| 剧情娱乐 | 金句 > 场景服务 | 环境 > 道具 | 戏剧性极致为主 |
|
||||
| 时尚美妆穿搭 | 道具 > 环境 | 金句 > 场景服务 | 产品展示是核心 |
|
||||
| 知识科普 | 金句 > 环境 | 道具 | 观点输出为主 |
|
||||
| 健康健身 | 场景服务 > 环境 | 道具 | 动作示范是核心 |
|
||||
| 汽车 | 道具 > 环境 | 金句 | 车辆/配件是核心 |
|
||||
| 商业服务 | 道具 > 金句 | 场景服务 | 产品/服务展示是核心 |
|
||||
|
||||
### 3.4 第3层:12极致维度详解
|
||||
|
||||
#### 感官性极致(超出预期)
|
||||
|
||||
| 极致维度 | 说明 | 典型素材库 | 极致触点设计要点 |
|
||||
|---------|------|-----------|----------------|
|
||||
| 视觉冲击 | 画面第一眼就超出预期(色泽/体积/动态) | 菜品、环境 | 找"动态瞬间"——揭盖、浇汁、戳蛋、冒泡 |
|
||||
| 品质对比 | 同类物品的高低落差(专业 vs 普通) | 道具、菜品 | 找"专业 vs 普通"的对比瞬间——按压回弹、材质特写 |
|
||||
| 细节专业 | 操作细节体现远超常人的专业度 | 场景服务、道具 | 找"使用场景中的专业判断"——为什么选无香型 |
|
||||
| 难度极限 | 技能/工艺的难度上限 | 菜品、场景服务 | 找"专业级操作"的瞬间——三灶同运、逆纹切肉 |
|
||||
| 食材极致 | 食材本身的极致品质(产地/等级/稀缺) | 菜品 | 找"品质展示"——A5雪花纹理、活虾跳动 |
|
||||
| 氛围沉浸 | 光影/声音/色彩营造沉浸体感 | 环境 | 找"光影+声音+色彩"共同制造沉浸的瞬间 |
|
||||
| 预见式服务 | 对方还没开口就已经做好 | 场景服务 | 找"对方还没开口就已经做好"的瞬间 |
|
||||
|
||||
#### 戏剧性极致(打破预期)
|
||||
|
||||
| 极致维度 | 说明 | 典型素材库 | 极致触点设计要点 |
|
||||
|---------|------|-----------|----------------|
|
||||
| 反差价值 | 外观与真实价值严重不符 | 道具 | 找"外观朴素但价值高"——老砂锅养出油膜 |
|
||||
| 反差服务 | 角色身份与服务水准的反差 | 场景服务 | 找"角色身份 vs 服务水准"的反差 |
|
||||
| 反常识 | 打破用户"理所当然"的认知 | 金句、场景服务 | 找"常识被颠覆"的瞬间——"不是越香越干净" |
|
||||
| 价值观冲击 | 一句话颠覆用户的价值判断 | 金句 | 找"一句话改变判断"的瞬间 |
|
||||
| 自嘲反差 | 用自嘲消解炫耀感 | 金句 | 找"炫耀被自嘲消解"的瞬间 |
|
||||
|
||||
### 3.5 第4层:知识库关联映射
|
||||
|
||||
| 知识库维度 | 关联方式 | 素材库对接点 |
|
||||
|-----------|---------|------------|
|
||||
| `05_极致事件` | 极致事件双重类型 → 素材库极致维度 | 感官性→菜品/道具/环境/场景服务;戏剧性→金句/反差服务 |
|
||||
| `07_情绪共鸣` | 情绪功能位 → 极致维度匹配 | 蓄力阶段→预见式服务/氛围沉浸;释放阶段→视觉冲击/价值观冲击 |
|
||||
| `12_拆解评估` | 脚本质量检查 → 极致触点密度检查 | S11 每15-20秒至少1个极致触点 |
|
||||
| `03_选题策略` | 素材库组合创作法 → 极致触点组合 | S5 从素材库选2-3个极致触点反推选题 |
|
||||
| `06_叙事节奏` | 节奏分配 → 极致触点分布 | 极致触点应分布在节奏高点,不均匀分布 |
|
||||
|
||||
### 3.6 第5层:创作流程调用引擎
|
||||
|
||||
| 调用步骤 | 调用方式 | 素材库角色 |
|
||||
|---------|---------|-----------|
|
||||
| **S5 选题** | 极致触点组合创作法:从素材库选2-3个极致触点 → 反推选题方向 | 选题弹药库 |
|
||||
| **S7 大纲** | 极致触点调用:从素材库选带极致维度的素材 → 填充事件序列 → 每场至少1个极致触点 → 极致触点展开为具体画面方向 | 核心消费方 |
|
||||
| **S9 台词** | 金句库调用:从金句库选匹配场景的台词素材 → 确保风格一致 | 台词素材源 |
|
||||
| **S11 诊断** | 极致触点密度检查:每15-20秒至少1个极致触点 + 感官性/戏剧性覆盖 + 可拍摄性检查 | 质检参照 |
|
||||
|
||||
---
|
||||
|
||||
## 四、素材分块规范
|
||||
|
||||
### 4.1 标准素材分块模板
|
||||
|
||||
每条素材以标准结构入库,包含三个必填区块:
|
||||
|
||||
```markdown
|
||||
### [素材名称]
|
||||
- **极致维度**:[12个极致维度中的1-N个](必填)
|
||||
- **极致触点**:这个素材在视频画面中制造极致感的具体瞬间,1-2句,必须可拍摄/可录音(必填)
|
||||
- **[素材类型专属字段]**:见下方各类型字段规范
|
||||
```
|
||||
|
||||
### 4.2 各素材类型字段规范
|
||||
|
||||
#### 01 极致菜品库
|
||||
|
||||
| 字段 | 必填 | 说明 |
|
||||
|------|------|------|
|
||||
| 极致维度 | 是 | 视觉冲击/品质对比/难度极限/食材极致(可多选) |
|
||||
| 极致触点 | 是 | 这道菜制造极致感的具体瞬间(1-2句,可拍摄) |
|
||||
| 菜系/类型 | 是 | 川菜/粤菜/日料/西餐/甜品/饮品 |
|
||||
| 视觉特征 | 是 | 颜色/摆盘形式/特殊容器/烟雾气泡效果 |
|
||||
| 做法关键词 | 是 | 核心烹饪动作(刀工/火候/收汁/摆盘) |
|
||||
| 食材组合 | 是 | 主料 + 辅料清单 |
|
||||
| 适用场景 | 是 | 夜宵/加班餐/纪念日/日常/生病照顾 |
|
||||
| 难度等级 | 是 | 基础/进阶/日料级/米其林级 |
|
||||
| 菜品故事/来源 | 否 | 为什么学会这道菜(关联人设记忆点) |
|
||||
|
||||
#### 02 极致道具库
|
||||
|
||||
| 字段 | 必填 | 说明 |
|
||||
|------|------|------|
|
||||
| 极致维度 | 是 | 品质对比/细节专业/反差价值(可多选) |
|
||||
| 极致触点 | 是 | 这件道具制造极致感的具体方式(1-2句,可拍摄) |
|
||||
| 品类 | 是 | 床上用品/个人护理/家居收纳/清洁用品/装饰品/厨具 |
|
||||
| 品牌 | 是 | 具体品牌名/无品牌标注 |
|
||||
| 材质/规格 | 是 | 具体材质描述 |
|
||||
| 摆放位置 | 是 | 在场景中的具体位置 |
|
||||
| 使用频率 | 是 | 每日/每周/特殊场合 |
|
||||
| 使用理由 | 是 | 为什么选这个品牌/材质(关联角色习惯) |
|
||||
| 更换/补充规则 | 否 | 何时更换、更换标准 |
|
||||
|
||||
#### 03 极致场景服务库
|
||||
|
||||
| 字段 | 必填 | 说明 |
|
||||
|------|------|------|
|
||||
| 极致维度 | 是 | 预见式服务/反差服务/反常识/难度极限/品质对比(可多选) |
|
||||
| 极致类型 | 是 | 感官性极致/戏剧性极致/混合 |
|
||||
| 极致触点 | 是 | 这个场景制造极致感的核心瞬间(1-2句,用户看到时的体感) |
|
||||
| 锚定场景 | 是 | 什么时间+什么地点+什么情境(具体到空间和触发条件) |
|
||||
| 服务步骤 | 是 | 按时间顺序列出每一步(≥3步),每步含执行标准+极致点标注 |
|
||||
| 角色 | 是 | 谁执行 |
|
||||
| 极致标准 | 是 | 这个场景的"满分"是什么样(对标酒店级/专业级/米其林级) |
|
||||
| 常见错误 | 是 | 新手可能犯的错误(AI参考避免,反面衬托极致) |
|
||||
|
||||
#### 04 极致金句库
|
||||
|
||||
| 字段 | 必填 | 说明 |
|
||||
|------|------|------|
|
||||
| 极致维度 | 是 | 反常识/价值观冲击/自嘲反差/细节洞察(可多选) |
|
||||
| 极致类型 | 是 | 戏剧性极致 |
|
||||
| 极致触点 | 是 | 这句话制造极致感的具体方式(为什么"打破预期") |
|
||||
| 角色 | 是 | 角色名 |
|
||||
| 类型 | 是 | 口头禅/价值观金句/幽默讽刺/情感表白/冲突对话 |
|
||||
| 使用场景 | 是 | 什么时候说(开场/中段/结尾/特定情境) |
|
||||
| 传播性评估 | 是 | 1-5星(是否适合做标题/封面文案) |
|
||||
| 来源 | 是 | 已播视频/人设卡片推导/编导创作 |
|
||||
| 使用频率建议 | 是 | 每期必说/偶尔用/很久没用该复刻了 |
|
||||
|
||||
#### 05 极致环境库
|
||||
|
||||
| 字段 | 必填 | 说明 |
|
||||
|------|------|------|
|
||||
| 极致维度 | 是 | 氛围沉浸/品质对比/视觉冲击(可多选) |
|
||||
| 极致类型 | 是 | 感官性极致 |
|
||||
| 极致触点 | 是 | 这个空间制造极致感的核心方式(1-2句,可拍摄) |
|
||||
| 功能 | 是 | 厨房/卧室/客厅/玄关/餐厅 |
|
||||
| 空间布局 | 是 | 关键物品位置 |
|
||||
| 灯光方案 | 是 | 主灯类型+亮度+色温+辅助光源 |
|
||||
| 色彩基调 | 是 | 墙面颜色/地板材质/主色调 |
|
||||
| 常用机位 | 是 | 固定机位1-2个+手持角度1-2个 |
|
||||
| 极致机位 | 是 | 最能制造极致感的拍摄角度(区别于常规机位) |
|
||||
| 空间使用规则 | 否 | 谁经常在这个空间做什么/注意事项 |
|
||||
| 时间差异 | 否 | 白天 vs 深夜的灯光/氛围差异 |
|
||||
|
||||
---
|
||||
|
||||
## 五、核心规则
|
||||
|
||||
1. **每条素材必须有极致维度** — 标注这条素材制造了哪种极致感,禁止只写"菜名+做法"但不说明极致在哪
|
||||
2. **每条素材必须锚定场景** — 写明在什么场景下触发、用户看到时的体感,禁止宽泛写"做饭时的行为"
|
||||
3. **极致触点必须可拍摄** — 极致感体现在具体画面/声音/动作上,禁止写"体现了极致的用心"但没有画面
|
||||
4. **赛道通用层不含具名角色** — 赛道通用层只放事实性知识,具名菜品/品牌/行为链只放账号专属层
|
||||
5. **账号专属层不跨账号共享** — 新账号从零建设,不从其他账号复制具名素材
|
||||
6. **S7 每场至少调用1个极致触点** — 从素材库选择带极致维度的素材填充,不得只写笼统事件
|
||||
7. **极致触点必须展开为画面** — 在大纲事件序列中展开为【画面方向】+动作+声音/光影描述,不得只写极致维度标签
|
||||
8. **感官性+戏剧性极致必须均覆盖** — S11 诊断检查两种极致类型是否均有覆盖
|
||||
9. **新账号首次创作前必须完成素材库建设** — 5个文件全部创建并达到最低数量要求
|
||||
10. **素材库随脚本创作持续迭代** — 每条新视频完成后,将验证有效的素材补充进素材库
|
||||
|
||||
---
|
||||
|
||||
## 六、建设计划
|
||||
|
||||
| 阶段 | 内容 | 优先级 | 目标 |
|
||||
|------|------|--------|------|
|
||||
| Phase 1 | 模板指南升级:按极致化设计规范重构创建指南模板 | P0 | 模板对齐新字段结构 |
|
||||
| Phase 2 | 做梦账号迁移:5个素材库文件按新规范重构,补齐未达标项 | P1 | 达到最低数量要求+极致维度全覆盖 |
|
||||
| Phase 3 | 赛道通用层升级:美食赛道菜品库/居家赛道道具库补充极致维度 | P2 | 赛道通用层对齐极致化标准 |
|
||||
| Phase 4 | 新账号建设:旧梦留声机账号素材库从零创建 | P2 | 5个文件达标 |
|
||||
| Phase 5 | 赛道扩展:知识科普/时尚美妆/健康健身等赛道通用素材库建设 | P3 | 覆盖核心赛道 |
|
||||
| Phase 6 | 流程对接:S5/S7/S9/S11 创作流程文件更新极致触点调用规则 | P2 | 流程层对齐 |
|
||||
| Phase 7 | 持续运营:每条新视频完成后补充验证有效的素材 | 持续 | 素材库持续增长 |
|
||||
|
||||
### 现状盘点
|
||||
|
||||
| 账号 | 菜品库 | 道具库 | 场景服务库 | 金句库 | 环境库 | 极致维度标注 |
|
||||
|------|--------|--------|-----------|--------|--------|------------|
|
||||
| 做梦 | 11道(差4) | ~20个(达标) | 5条(差5) | 12条+5模板(差3) | 5个(达标) | 未标注 |
|
||||
| 旧梦留声机 | 未创建 | 未创建 | 未创建 | 未创建 | 未创建 | — |
|
||||
|
||||
| 赛道通用层 | 现有文件 | 极致维度标注 |
|
||||
|-----------|---------|------------|
|
||||
| 通用 | 行为暗示示例集 + 产品植入话术模板 | 未标注 |
|
||||
| 美食赛道 | 菜品库(23道) | 未标注 |
|
||||
| 居家赛道 | 道具库(27项) | 未标注 |
|
||||
| 其他赛道 | 无 | — |
|
||||
|
||||
---
|
||||
|
||||
## 七、附录
|
||||
|
||||
### 附录 A:素材库目录结构
|
||||
|
||||
```
|
||||
references/素材库/
|
||||
├── 模板_账号素材库创建指南.md ← P0 升级目标
|
||||
├── 通用/
|
||||
│ ├── 行为暗示_示例集.md ← 保留,作为极致触点表达层参考
|
||||
│ ├── 产品植入话术模板.md ← 补充极致维度标注
|
||||
│ └── 极致维度标签库.md ← 新建(P2)
|
||||
├── 美食赛道/
|
||||
│ └── 01_菜品库.md ← 补充极致维度(P2)
|
||||
├── 居家赛道/
|
||||
│ └── 01_道具库.md ← 补充极致维度(P2)
|
||||
├── 知识科普赛道/ ← 待建(P3)
|
||||
├── 时尚美妆穿搭赛道/ ← 待建(P3)
|
||||
├── 健康健身赛道/ ← 待建(P3)
|
||||
├── 汽车赛道/ ← 待建(P3)
|
||||
├── 游戏二次元赛道/ ← 待建(P3)
|
||||
└── 商业服务赛道/ ← 待建(P3)
|
||||
|
||||
case/{账号名}/
|
||||
├── 00_{账号名}人设卡片.md
|
||||
├── 01_素材库_菜品.md ← 极致菜品库
|
||||
├── 02_素材库_道具.md ← 极致道具库
|
||||
├── 03_素材库_极致场景服务.md ← 原"行为模式",重命名
|
||||
├── 04_素材库_金句口头禅.md ← 极致金句库
|
||||
└── 05_素材库_环境设定.md ← 极致环境库
|
||||
```
|
||||
|
||||
### 附录 B:与知识库产品规划对照
|
||||
|
||||
| 规划维度 | 知识库 | 素材库 |
|
||||
|---------|--------|--------|
|
||||
| 版本 | V2.0 | V1.0 |
|
||||
| 组织方式 | 三级分类(赛道×叙事形态×细分垂类) | 两层架构(赛道通用层×账号专属层) |
|
||||
| 内容分区 | 13创作维度 | 5素材类型 |
|
||||
| 标注层 | 三层基础标签+五组附加标签 | 12极致维度标签 |
|
||||
| 检索模式 | 分类+标签+向量三检索 | 类型+赛道+极致维度过滤 |
|
||||
| 数据层 | 商业表现数据层(真实市场数据) | 无独立数据层(依赖知识库商业数据校验) |
|
||||
| 共享范围 | 全局共享 | 赛道通用层共享+账号专属层不共享 |
|
||||
| 对接流程 | S5/S6/S7/S11 | S5/S7/S9/S11 |
|
||||
| 关联文件 | `素材库极致化设计规范.md` | `短视频创作知识库产品规划.md` |
|
||||
|
||||
### 附录 C:相关文档索引
|
||||
|
||||
| 文档 | 位置 | 关系 |
|
||||
|------|------|------|
|
||||
| 素材库极致化设计规范 | `references/素材库/素材库极致化设计规范.md` | 素材库创建时的设计参考规范 |
|
||||
| 账号素材库创建指南 | `references/素材库/模板_账号素材库创建指南.md` | 账号级素材库创建模板 |
|
||||
| 短视频创作知识库产品规划 | `内容创作产品规划/内容知识库设计/2_短视频创作知识库/产品规划/` | 方法论层规划,与本规划互为表里 |
|
||||
| SKILL.md | `1_脚本创作方法/SKILL.md` | 技能主文件,定义素材库与知识库同级关系 |
|
||||
| S7 大纲创作流程 | `references/创作流程/7_生成短视频大纲.md` | 素材库核心消费方 |
|
||||
| S11 脚本诊断流程 | `references/创作流程/11_脚本检查和诊断.md` | 极致触点密度检查方 |
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -1,137 +0,0 @@
|
||||
# 提示词模板库 — 短视频台词接地气专项
|
||||
|
||||
> 经验验证:以下模板均经过真实脚本执行 + 业务专家评审(综合评分 8.7-8.9),并根据踩坑问题修订后沉淀。直接复制使用,仅需填写【题材】。
|
||||
|
||||
---
|
||||
|
||||
## 模板 T-00:通用基础约束片段(三类均适用,可拼接)
|
||||
|
||||
> 当你不确定用哪个模板时,至少把这段约束加进去:
|
||||
|
||||
```
|
||||
【通用接地气约束(必须遵守)】
|
||||
1. 单句台词不超过20字,超过必须拆成两句
|
||||
2. 开头3秒内必须出现:痛点/结果/反常识之一
|
||||
3. 全篇至少3处具体数字或行为细节
|
||||
4. 禁止:被动句、"你应该/你需要/你必须"、专业术语(无解释)、书面词
|
||||
5. 禁止书面词替换口语的情况,例:「感受到」→「觉得」,「展示」→「给你看」,「获取」→「拿到」
|
||||
6. 写完后先列出所有超过20字的句子逐一拆短,再输出完整脚本
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 模板 T-01:生活技巧类(评分 8.7,亮点:入睡脚本)
|
||||
|
||||
**适用场景**:实操类生活技巧、习惯改善、效率提升
|
||||
**核心设计**:痛点开场 → 编号结构 → 具体动作 → 互动收尾
|
||||
|
||||
```
|
||||
你是一位有10年经验的短视频脚本创作者,专门给抖音、快手创作生活类内容。你的台词风格是:
|
||||
- 说话像在和朋友分享,不像在讲课
|
||||
- 开头第一句话就让人想继续听
|
||||
- 每个建议都用具体场景或数字说清楚
|
||||
|
||||
请根据以下要求,写一篇完整的短视频口播脚本:
|
||||
|
||||
【题材】[填写选题,例:三个被很多人忽略的快速入睡方法]
|
||||
【目标受众】抖音/快手 18-35岁大众用户
|
||||
【视频时长】60-90秒(对应约200-280字台词)
|
||||
【格式要求】三列表格,列名:镜头说明 | 台词 | 时间轴(精确到秒)
|
||||
|
||||
【创作规则(必须遵守)】
|
||||
1. 开头3秒内必须出现:痛点场景("你有没有…")/ 具体结果 / 反常识悬念 之一
|
||||
2. 台词单句不超过20字,超过必须拆成两句,不能合并
|
||||
3. 全篇至少出现3处具体数字或行为细节(数字比概念可信)
|
||||
4. 所有专业术语必须替换为动作描述,例如"4-7-8呼吸法"→"吸4秒、停7秒、呼8秒"
|
||||
5. 不得出现:被动句、"你应该/你需要/你必须"、书面词、专业名词
|
||||
6. 结尾必须是互动引导("评论告诉我…/收藏备用/今晚试试"),不用情感落点
|
||||
|
||||
【两步执行,不可跳过】
|
||||
第一步:先列出稿件中所有超过20字的台词句,逐一拆短
|
||||
第二步:修改后输出完整脚本
|
||||
```
|
||||
|
||||
**验证要点**:
|
||||
- "躺了半小时还睡不着"比"很多人有睡眠困难"精准10倍
|
||||
- "脚伸出去、呼吸三次、手机翻过去"——用动作列清单,用户记得住
|
||||
- 互动收尾"明天来评论告诉我几分钟睡着的"——比"点赞收藏"转化率更高
|
||||
- 专业名称"4-7-8呼吸法"已修正为动作描述(已固化进规则第4条)
|
||||
|
||||
---
|
||||
|
||||
## 模板 T-02:情感共鸣类(评分 8.9,最高分,亮点:独居脚本)
|
||||
|
||||
**适用场景**:独居/职场/家庭/成长类情感内容,目标是引发"说的就是我"共鸣
|
||||
**核心设计**:具体小场景开场 → 三段情绪走向 → 情感落点收尾
|
||||
|
||||
```
|
||||
你是一位专注于情感共鸣内容的短视频脚本创作者,你最擅长的是:
|
||||
- 用普通人的经历,说出那些大家想说却没说出来的话
|
||||
- 不煽情,不说大道理,只说真实的感受
|
||||
- 让看到的人觉得"这说的就是我"
|
||||
|
||||
请根据以下要求,写一篇完整的短视频口播脚本:
|
||||
|
||||
【题材】[填写选题,例:那些独自租房住的人,最难熬的不是钱,是这件事]
|
||||
【目标受众】抖音/快手 18-35岁,有独立生活经历的年轻人
|
||||
【视频时长】60-90秒(对应约200-280字台词)
|
||||
【格式要求】三列表格,列名:镜头说明 | 台词 | 时间轴(精确到秒)
|
||||
|
||||
【创作规则(必须遵守)】
|
||||
1. 开头必须用所有人经历过的小场景/小细节开篇,不直接说主题(比"我今天讲孤独"有效十倍)
|
||||
2. 场景细节必须精确到动作+数字(例:"发烧38度,自己骑车去买药"不能写成"生病了一个人撑着")
|
||||
3. 台词单句不超过20字,节奏像说话,不像写文章
|
||||
4. 全篇情绪走向严格遵守:共鸣(我也是)→ 理解(这很正常)→ 温暖(你没关系),不可打乱
|
||||
5. 禁止:卖惨描写、说教、"你应该"、焦虑词汇(内卷/躺平不解释不用)、行动召唤型收尾
|
||||
6. 结尾是情感落点:让人感受到被理解,可以用"转发"但不用"点赞关注"式的指令
|
||||
|
||||
【两步执行,不可跳过】
|
||||
第一步:设想你是目标受众,读完后会不会想转发给某个朋友?不会就修改
|
||||
第二步:确认结尾是情感落点(不是"快去行动")后再输出
|
||||
```
|
||||
|
||||
**验证要点**:
|
||||
- "发烧38度,自己骑车去买药"——L1颗粒度,比"生病了没人陪"共鸣强3倍
|
||||
- 三段情绪走向完整执行,无强行说教
|
||||
- 收尾"转给你认识的独居人"——情感类最适合的传播动作,不是点赞而是分享
|
||||
- 情感类禁止用行动召唤型收尾("去做什么"),已固化进规则第6条
|
||||
|
||||
---
|
||||
|
||||
## 模板 T-03:知识科普类(评分 8.7,亮点:喝水皮肤脚本)
|
||||
|
||||
**适用场景**:健康、营养、心理、生活常识等科普类,利用"我以为对的其实是错的"结构
|
||||
**核心设计**:反常识钩子 → 类比解释 → 知识落点 → 下期预告
|
||||
|
||||
```
|
||||
你是一位擅长把专业知识变成大白话的短视频脚本创作者。你的标准是:
|
||||
- 让初中生也能听懂,但内容本身是有价值的干货
|
||||
- 每个知识点都用生活中的类比来解释,不直接说定义
|
||||
- 开头必须有一个"咦,真的假的?"的反常识钩子
|
||||
|
||||
请根据以下要求,写一篇完整的短视频口播脚本:
|
||||
|
||||
【题材】[填写选题,例:你以为多喝水对皮肤好?医生说你理解反了]
|
||||
【目标受众】抖音/快手 18-35岁大众,对健康/生活常识感兴趣
|
||||
【视频时长】60-90秒(对应约200-280字台词)
|
||||
【格式要求】三列表格,列名:镜头说明 | 台词 | 时间轴(精确到秒)
|
||||
|
||||
【创作规则(必须遵守)】
|
||||
1. 开场必须用"你是不是以为…但实际上…"结构,前9秒建立反常识悬念
|
||||
2. 每个核心知识点必须用生活类比解释,禁止直接输出科学定义(例:"给整栋楼浇水想让顶层的花喝到")
|
||||
3. 所有专业术语必须动作化或类比化,不加解释不得保留
|
||||
4. 台词单句不超过20字,全篇最长句不超过25字(超标必须拆)
|
||||
5. 全篇至少2个具体数字(时间/比例/次数),增加可信度
|
||||
6. 禁止:专业黑话(无解释)、被动句、说教腔
|
||||
7. 结尾必须同时包含:行动引导(收藏/评论)+ 下期预告("下次聊第二个误区")
|
||||
|
||||
【两步执行,不可跳过】
|
||||
第一步:找出全篇所有超过20字的台词句,逐句拆短后列清单
|
||||
第二步:对照清单修改完整脚本后再输出
|
||||
```
|
||||
|
||||
**验证要点**:
|
||||
- "给整栋楼浇水,想让顶层的花喝到"——自发出现的类比,无需强行设计
|
||||
- "锁水不是补水"——对比句式,知识落点清晰,易记
|
||||
- 下期预告"下次再聊护肤的第二个误区"——关注动机比"点赞"强
|
||||
- 两步执行规则(先列超长句再输出)已固化,防止AI不拆句就直接输出
|
||||
@@ -1,48 +0,0 @@
|
||||
# 方法论库 — 短视频台词接地气专项
|
||||
|
||||
> 来源:版本01实际案例验证,跨项目/跨版本可复用。
|
||||
|
||||
---
|
||||
|
||||
## 卡片 01:颗粒度三级降法
|
||||
|
||||
**适用**:写出来的台词"太飘"、不够具体时
|
||||
|
||||
| 级别 | 例子 |
|
||||
|------|------|
|
||||
| L3 抽象(少用) | 睡眠质量差影响健康 |
|
||||
| L2 生活场景(骨架) | 每天睡6小时,第二天人是懵的 |
|
||||
| L1 具体动作/数字/感受(主体) | 中午开会,盯着PPT眼皮就往下掉 |
|
||||
|
||||
**规则**:最终台词至少70%在 L1-L2,L3 只用在点题句。
|
||||
|
||||
---
|
||||
|
||||
## 卡片 02:三种开场公式(按强度排序)
|
||||
|
||||
| 公式 | 强度 | 适用题材 | 验证案例 |
|
||||
|------|------|----------|---------|
|
||||
| 痛点场景("你有没有躺了半小时还睡不着") | ⭐⭐⭐ | 生活技巧/情感共鸣 | 脚本1 0-3s |
|
||||
| 结果前置("用这个方法,我存了三个月工资") | ⭐⭐⭐ | 干货/测评 | — |
|
||||
| 反常识悬念("你以为多喝水皮肤好?医生说你理解反了") | ⭐⭐⭐⭐ | 知识科普/健康 | 脚本3 0-4s |
|
||||
|
||||
---
|
||||
|
||||
## 卡片 03:收尾三选一原则
|
||||
|
||||
| 内容类型 | 推荐收尾 | 禁止收尾 | 理由 |
|
||||
|----------|----------|----------|------|
|
||||
| 生活技巧 | 互动引导("评论告诉我…") | 情感落点 | 技巧类用户需要动作出口 |
|
||||
| 情感共鸣 | 情感落点("你已经很厉害了")+ 转发 | 行动召唤("快去做") | 行动指令会降低情感质感 |
|
||||
| 知识科普 | 收藏引导 + 下期预告 | 单纯点赞引导 | 预告能提升关注转化 |
|
||||
|
||||
---
|
||||
|
||||
## 卡片 04:类比设计三步法
|
||||
|
||||
当需要解释专业概念时:
|
||||
1. 找受众日常熟悉的领域(家、食物、身体、钱)
|
||||
2. 建立相同的结构关系
|
||||
3. 用"就好像"引出
|
||||
|
||||
**最佳案例**:"给整栋楼浇水,想让顶层的花喝到水"——解释水分子传输路径,初中生能懂。
|
||||
@@ -27,7 +27,7 @@ agent_created: true
|
||||
- 展开完整短视频大纲(含钩子/主体/结尾/情绪曲线)
|
||||
- 广告植入精细化设计(可选步骤)
|
||||
- 段落格式脚本 + 导演分镜(可选)+ 详细执行分镜(可选)
|
||||
- 四维度质量诊断
|
||||
- 五维度质量诊断(含信息密度检查)
|
||||
|
||||
**支持赛道:** 知识科普 / 剧情情感 / 带货测评 / 美食探店 / Vlog日常 / 观点输出 / 美妆 / 更多…
|
||||
|
||||
@@ -115,7 +115,7 @@ AI 自动判断并执行全部创作流程,所有确认门(Gate-0~6)自动
|
||||
│
|
||||
├─ 步骤6: 生成短视频框架 ──────→ [Gate-3 框架确认] ← 情绪规划层:场次结构+情绪设计卡
|
||||
│
|
||||
├─ 步骤7: 生成短视频大纲 ──┐ ← 结构搭建层:模板选择+分段展开+钩子匹配
|
||||
├─ 步骤7: 生成短视频大纲 ──┐ ← 结构搭建层:模板选择+分段展开+钩子匹配+素材库填充+密度自检
|
||||
│ ├──→ [Gate-4 大纲确认]
|
||||
├─ 步骤8: 植入广告内容 ──┘ ← 可选步骤
|
||||
│
|
||||
@@ -214,9 +214,9 @@ AI 自动判断并执行全部创作流程,所有确认门(Gate-0~6)自动
|
||||
|
||||
### 步骤 7:生成短视频大纲(结构搭建层)
|
||||
|
||||
**目的:** 基于 S6 框架+场次结构表+情绪设计卡,选择最优结构模板(三段式/五段式),展开分段结构、匹配钩子类型,生成 2 版标题。情绪维度只引用 S6 不重做。
|
||||
**目的:** 基于 S6 框架+场次结构表+情绪设计卡,选择最优结构模板(三段式/五段式),调取账号素材库+赛道知识库填充可拍摄细节,按 L2 编导深度标准展开分段结构,完成密度自检。情绪维度只引用 S6 不重做。
|
||||
|
||||
**输出:** 结构模板选择 + 短视频大纲(分段结构/钩子/主体/结尾)+ 2 版标题 + 广告植入占位 + 合规自检。
|
||||
**输出:** 结构模板选择 + 短视频大纲(分段结构/钩子/主体/结尾,按 L2 编导标准展开)+ 2 版标题 + 广告植入占位 + 合规自检 + 密度自检。
|
||||
|
||||
**用户确认:** 有无广告Brief分两条路 — 有则先进步骤 8,再合并 Gate-4;无则直接 Gate-4 确认后进步骤 9。
|
||||
|
||||
@@ -387,19 +387,25 @@ AI 自动判断并执行全部创作流程,所有确认门(Gate-0~6)自动
|
||||
│ ├── MCN_CYLG_python.md Dify 创意灵感接口(search联网搜索 + recall查询事件库)
|
||||
│ └── Douyin_Video_Analysis.md 抖音短视频解析接口(analyze/upload/detail三子命令)
|
||||
│
|
||||
└── 知识库/ ← 创作知识参考库(68个独立方法文件,命名:方法名称_赛道_用途.md)
|
||||
├── 01_账号设定/ (4个) 人设设计参考 / IP线索流体系 / IP记忆点与人设沉淀 / 真实IP打造体系
|
||||
├── 02_故事选题/ (8个) 跨界重组体系 / 元素并置体系 / 元素置换体系 / 元素叠加体系 / 10大新鲜度创作维度 / 4层落地路径 / 选题三环模型(共鸣切入点设计)/ 共鸣本质论(6种共鸣类型+创作公式+自检+验证)
|
||||
├── 03_框架节奏/ (8个) 框架节奏全量覆盖分析 / 标准爆款结构模板 / 冲突叙事套路 / 反转叙事套路 / 节奏控时叙事套路 / 剪辑&收尾叙事套路 / 编导终审验收标准 / 脚本格式选择指南
|
||||
├── 04_爆款开场/ (11个) 10种开场方式(传统强刺激/猫式低压/嘴替共情/反常识颠覆/高潮前置倒叙/数字结果/痛点提问/示弱复盘IP/行业轻揭秘/承诺收益)+ 全量覆盖分析
|
||||
├── 05_极致事件/ (5个) 预期反转创作体系 / 荒诞化创作体系 / 抽象化创作体系 / 无厘头创作体系 / 错位化-反常化创作体系
|
||||
├── 06_剧情钩子/ (2个) 情绪价值设计方法论 / 切换关系法
|
||||
├── 07_情绪共鸣/ (6个) 三层模型(识别→投射→释放)/ 案例复盘 / 设计卡模板 / 网感坐标(赛道×叙事形态→体感映射)/ 情绪递进设计(四类情绪·递进缺口判断)/ 情感铺垫设计(Show don't tell·蓄力释放·留白法则)
|
||||
├── 08_对话风格/ (9个) 口播交流感四阶进阶法 / 口播横纵二维系统化方法 / 素人泛生活Vlog / 高信息密度Vlog / 职业体验IP_Vlog / 反差叙事Vlog / 兴趣元素叠加Vlog / 赛道交融跨界法 / 期待感建立法
|
||||
├── 09_脚本诊断/ (4个) AI自动检查 / AI提醒人工检查 / 各意图流程 / 四种意图
|
||||
├── 10_分镜拍摄/ (3个) 景别情绪与运镜组合 / 节奏与转场设计 / 音画配套设计
|
||||
├── 11_广告植入方法论/ (1个) 广告植入方法论
|
||||
└── 12_拆解评估/ (8个) 脚本质量自动检查清单(八类32项)/ 编导意图解析规则 / 复刻迁移 / 反推13字段 / 母提示词 / 案例分析 / 选题评估 / 脚本评估
|
||||
├── 知识库/ ← 创作知识参考库(68个独立方法文件,命名:方法名称_赛道_用途.md)
|
||||
│ ├── 01_账号设定/ (4个) 人设设计参考 / IP线索流体系 / IP记忆点与人设沉淀 / 真实IP打造体系
|
||||
│ ├── 02_故事选题/ (8个) 跨界重组体系 / 元素并置体系 / 元素置换体系 / 元素叠加体系 / 10大新鲜度创作维度 / 4层落地路径 / 选题三环模型(共鸣切入点设计)/ 共鸣本质论(6种共鸣类型+创作公式+自检+验证)
|
||||
│ ├── 03_框架节奏/ (8个) 框架节奏全量覆盖分析 / 标准爆款结构模板 / 冲突叙事套路 / 反转叙事套路 / 节奏控时叙事套路 / 剪辑&收尾叙事套路 / 编导终审验收标准 / 脚本格式选择指南
|
||||
│ ├── 04_爆款开场/ (11个) 10种开场方式(传统强刺激/猫式低压/嘴替共情/反常识颠覆/高潮前置倒叙/数字结果/痛点提问/示弱复盘IP/行业轻揭秘/承诺收益)+ 全量覆盖分析
|
||||
│ ├── 05_极致事件/ (5个) 预期反转创作体系 / 荒诞化创作体系 / 抽象化创作体系 / 无厘头创作体系 / 错位化-反常化创作体系
|
||||
│ ├── 06_剧情钩子/ (2个) 情绪价值设计方法论 / 切换关系法
|
||||
│ ├── 07_情绪共鸣/ (6个) 三层模型(识别→投射→释放)/ 案例复盘 / 设计卡模板 / 网感坐标(赛道×叙事形态→体感映射)/ 情绪递进设计(四类情绪·递进缺口判断)/ 情感铺垫设计(行为暗示·蓄力释放·留白法则)
|
||||
│ ├── 08_对话风格/ (9个) 口播交流感四阶进阶法 / 口播横纵二维系统化方法 / 素人泛生活Vlog / 高信息密度Vlog / 职业体验IP_Vlog / 反差叙事Vlog / 兴趣元素叠加Vlog / 赛道交融跨界法 / 期待感建立法
|
||||
│ ├── 09_脚本诊断/ (4个) AI自动检查 / AI提醒人工检查 / 各意图流程 / 四种意图
|
||||
│ ├── 10_分镜拍摄/ (3个) 景别情绪与运镜组合 / 节奏与转场设计 / 音画配套设计
|
||||
│ ├── 11_广告植入方法论/ (1个) 广告植入方法论
|
||||
│ └── 12_拆解评估/ (8个) 脚本质量自动检查清单(八类32项)/ 编导意图解析规则 / 复刻迁移 / 反推13字段 / 母提示词 / 案例分析 / 选题评估 / 脚本评估
|
||||
│
|
||||
└── 素材库/ ← 创作素材库(与知识库同级,提供「可直接使用的零件」——菜品/道具/行为链/金句/垂直知识)
|
||||
├── 通用/ 行为暗示示例集 / 产品植入话术模板
|
||||
├── 美食赛道/ 食材与烹饪知识
|
||||
├── 居家赛道/ 家居与卧室知识
|
||||
└── 模板_账号素材库创建指南.md 新账号素材库标准化创建模板
|
||||
|
||||
```
|
||||
|
||||
@@ -465,7 +471,7 @@ references-add/ ← 🔴 与 references/ 平级,
|
||||
| 04_爆款开场 | 11 | 传统强刺激黄金3秒 / 猫式低压开场 / 嘴替共情开场 / 反常识颠覆开场 / 高潮前置倒叙开场 / 数字结果开场 / 痛点提问互动开场 / 示弱复盘IP开场 / 行业轻揭秘开场 / 承诺收益开场 / 开场方式全量覆盖分析 |
|
||||
| 05_极致事件 | 5 | 预期反转创作体系 / 荒诞化创作体系 / 抽象化创作体系 / 无厘头创作体系 / 错位化-反常化创作体系 |
|
||||
| 06_剧情钩子 | 2 | 情绪价值设计方法论 / 切换关系法 |
|
||||
| 07_情绪共鸣 | 6 | 三层模型(识别→投射→释放)/ 案例复盘 / 设计卡模板 / 网感坐标(赛道×叙事形态→体感映射)/ 情绪递进设计(四类情绪·递进缺口判断)/ 情感铺垫设计(Show don't tell·蓄力释放·留白法则) |
|
||||
| 07_情绪共鸣 | 6 | 三层模型(识别→投射→释放)/ 案例复盘 / 设计卡模板 / 网感坐标(赛道×叙事形态→体感映射)/ 情绪递进设计(四类情绪·递进缺口判断)/ 情感铺垫设计(行为暗示·蓄力释放·留白法则) |
|
||||
| 08_对话风格 | 9 | 口播交流感四阶进阶法 / 口播横纵二维系统化方法 / 素人泛生活Vlog / 高信息密度Vlog / 职业体验IP_Vlog / 反差叙事Vlog / 兴趣元素叠加Vlog / 赛道交融跨界法 / 期待感建立法 |
|
||||
| 09_脚本诊断 | 4 | AI自动检查 / AI提醒人工检查 / 各意图流程 / 四种意图 |
|
||||
| 10_分镜拍摄 | 3 | 景别情绪与运镜组合 / 节奏与转场设计 / 音画配套设计 |
|
||||
@@ -476,12 +482,12 @@ references-add/ ← 🔴 与 references/ 平级,
|
||||
|
||||
---
|
||||
|
||||
### 二、过程产物目录(`shortvideo_sample/`)
|
||||
### 二、过程产物目录(`case/`)
|
||||
|
||||
执行 11 步创作流程时,各步骤产出的过程文件存放于此目录,按 **账号 → 脚本编号** 两级组织:
|
||||
|
||||
```
|
||||
shortvideo_sample/
|
||||
case/
|
||||
├── 账号XXXXX/ ← 按账号名组织(每个账号一个文件夹)
|
||||
│ ├── 达人设定.md ← 账号级共享文件(步骤4人设卡片,跨脚本复用)
|
||||
│ ├── 脚本01_标题_创作回顾.html ← 🔴 每条脚本完成后自动生成的回顾页
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+2
-2
@@ -5,7 +5,7 @@
|
||||
> 日期:2026-08-05
|
||||
>
|
||||
> ⚠️ **本文件仅定义「情感铺垫分级」体系。**
|
||||
> 情绪共鸣的完整方法论(三层模型/网感坐标/情绪递进四类情绪/Show don't tell 多维度/蓄力释放/留白法则)见 `知识库/07_情绪共鸣/` 分块1/分块4/分块5/分块6。AI 自检清单完整版见 `知识库/12_拆解评估/分块7`。
|
||||
> 情绪共鸣的完整方法论(三层模型/网感坐标/情绪递进四类情绪/行为暗示多维度/蓄力释放/留白法则)见 `知识库/07_情绪共鸣/` 分块1/分块4/分块5/分块6。AI 自检清单完整版见 `知识库/12_拆解评估/分块7`。
|
||||
>
|
||||
> 🆕 **2026-08-06 新增联动**:选题阶段新增「选题创作三环模型」(行为层/情感层/共鸣层),其中**情感铺垫分级直接对应三环模型的情感层和共鸣层**——情感铺垫等级决定情绪设计的深度,三环模型确保底层情感锚点不丢。详见 `知识库/02_故事选题/选题三环模型_共鸣切入点设计.md`。
|
||||
>
|
||||
@@ -40,7 +40,7 @@
|
||||
| 情绪起伏 | ✅ 必须建立映射,释放量≥蓄力量 | ⚠️ 可选,有自然情感线时做轻量设计 | ❌ 不需要 |
|
||||
| 多维度表达 | ✅ 全场覆盖,每个情感场景≥2通道 | ⚠️ 关键场景(释放场)≥2通道 | ⚠️ 关键信息点≥2通道即可 |
|
||||
| 情绪留白 | ✅ 每场结束前1-2s | ⚠️ 释放场1-2s,其他场可选 | ❌ 不强制,信息密集型留白会打断节奏 |
|
||||
| Show don't tell | ✅ 全部使用行为暗示 | ✅ 情感场景行为暗示 | ⚠️ 关键信息点行为暗示即可 |
|
||||
| 行为暗示 | ✅ 全部使用行为暗示 | ✅ 情感场景行为暗示 | ⚠️ 关键信息点行为暗示即可 |
|
||||
| 缺口自检 | 七问(蓄力/转折/释放/弧线/蓄力释放/体感/断裂点) | 三问(体验递进/收束/节奏) | 三问(信息密度/视觉节奏/收尾实用) |
|
||||
| 结尾处理 | 情感升华/价值点题/情绪释放 | 体验收束/感悟收尾(不强制升华) | 实用收尾(配方/建议/引导/总结),不强行升华 |
|
||||
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
+68
-40
@@ -63,7 +63,36 @@
|
||||
|
||||
**审核通过标准:** 总分 ≥ 75/100,且合规维度 ≥ 14/20。
|
||||
|
||||
### 三、情感表达专项检查 🆕
|
||||
### 二、信息密度检查
|
||||
|
||||
> 检查脚本/大纲的信息单元密度是否达到编导标准。密度不足 = 画面空洞、缺乏可拍摄内容。
|
||||
> 密度标准对标 S7「第二步半」L2 编导标准。不同赛道/时长可调整阈值。
|
||||
|
||||
#### 密度指标
|
||||
|
||||
| 检查项 | L2 编导标准(默认) | L1 基础 | L3 电影级 | 不通过处理 |
|
||||
|--------|:---:|:---:|:---:|------|
|
||||
| 具名物品数 | ≥ 12 个 | ≥ 5 个 | ≥ 18 个 | 标注缺失:哪些场景需要补充具名菜品/道具/品牌 |
|
||||
| 完整对话组数 | ≥ 4 组 | ≥ 2 组 | ≥ 6 组 | 标注缺失:哪些场景需要补充完整对话(非概要) |
|
||||
| 行为步骤链 | ≥ 1 条(≥ 3 步) | 可选 | ≥ 2 条(≥ 5 步) | 标注缺失:哪些行为需要拆解为步骤链 |
|
||||
| 环境细节 | ≥ 5 条 | 可选 | ≥ 10 条 | 标注缺失:灯光/材质/空间位置/物品陈列/声音氛围 |
|
||||
| 产品植入深度 | ≥ 二维(原理+场景) | 一维即可 | 三维全覆盖(原理+场景+品牌) | 标注缺失维度及建议补充方式 |
|
||||
| 可拍摄单元总数 | ≥ 50 个 | ≥ 25 个 | ≥ 80 个 | 统计实际数量并标注距离目标差距 |
|
||||
| 金句/传播句 | ≥ 1 句 | 可选 | ≥ 3 句 | 标注:是否有可独立传播的金句/价值观落点 |
|
||||
|
||||
#### 密度不足的典型表现(AI 常见问题)
|
||||
|
||||
| 表现 | 说明 | 示例 |
|
||||
|------|------|------|
|
||||
| 菜品泛称 | 「四菜一汤」「做了几个菜」无具名 | 应改为「松茸花胶炖土鸡汤、和牛窝蛋煲仔饭……」 |
|
||||
| 道具匿名 | 「一个枕头」「一瓶喷雾」无品牌/材质 | 应改为「亚朵星球深睡稳压枕 Pro 4.0(气囊绵)」 |
|
||||
| 对话概要 | 「她说他很贴心」代替完整台词 | 应展开为完整对话:「你今天这个照顾方式,我是舒服的。」 |
|
||||
| 行为概括 | 「收拾房间」代替步骤链 | 应拆解为「西装挂起→电脑包放凳→报价单分三叠→……」 |
|
||||
| 环境空白 | 无灯光/材质/空间位置描述 | 应补充「床头暖黄灯最低档」「无香喷雾只喷靠背不喷枕头正面」 |
|
||||
|
||||
> **注意**:信息密度检查结果为「不通过」项,必须在修改后重新诊断,通过后方可进入 Gate-6 确认。密度不达标的脚本 ≈ 编导拿到无法拍。
|
||||
|
||||
### 三、情感表达专项检查
|
||||
|
||||
> 依据:`知识库/07_情绪共鸣/` 分块5(情绪递进设计)+ 分块6(情感铺垫设计)+ `知识库/12_拆解评估/` 分块7(脚本质量自动检查清单)
|
||||
>
|
||||
@@ -73,8 +102,8 @@
|
||||
|
||||
| 检查项 | 适用等级 | 检查要点 | 判定标准 | 不通过处理 |
|
||||
|--------|:---:|---------|---------|-----------|
|
||||
| Show don't tell | 全部 | 是否用行为暗示代替旁白直述传达角色内心 | 出现"他很生气""他感到委屈"等概括词→不通过 | 替换为具体身体语言 |
|
||||
| 叙事驱动模式一致性🆕 | 全部 | 台词体裁标注是否对齐 S6 框架确定的叙事驱动模式;剧情类是否出现旁白体裁 | 剧情类出现旁白体裁→不通过;驱动模式与体裁不匹配→提醒 | 移除违规旁白,改为行为/对话演绎;或返回 S6 重新确认驱动模式 |
|
||||
| 行为暗示 | 全部 | 是否用行为暗示代替旁白直述传达角色内心 | 出现"他很生气""他感到委屈"等概括词→不通过 | 替换为具体身体语言 |
|
||||
| 叙事驱动模式一致性 | 全部 | 台词体裁标注是否对齐 S6 框架确定的叙事驱动模式;剧情类是否出现旁白体裁 | 剧情类出现旁白体裁→不通过;驱动模式与体裁不匹配→提醒 | 移除违规旁白,改为行为/对话演绎;或返回 S6 重新确认驱动模式 |
|
||||
| 体感兑现 | 全部 | 首屏承诺体感→内容兑现体感→结尾强化体感是否闭环 | 脱节或不一致→不通过 | 返回 S5/S6 对齐体感设计 |
|
||||
|
||||
#### 强情感铺垫专项(仅当 S6 情感铺垫=强时检查)
|
||||
@@ -119,6 +148,7 @@
|
||||
| 情绪一致性 | 全片情绪基调是否与情绪倾向匹配 | 调整情绪节奏点 |
|
||||
| 记忆点检查 | 是否包含足够数量的记忆点(记忆点类型和最低数量参见知识库 `03_框架节奏/01_标准爆款结构模板.md` 对应当前赛道的记忆点标准) | 补充记忆点 |
|
||||
| 传播性检查 | 人设是否有让观众记住并传播的钩子 | 提炼传播句/金句/名场面 |
|
||||
| **服务标准一致性** | 所有关怀行为是否符合人设卡片定义的服务标准(金牌型=预见式≥反应式,在需求出现前已准备好;日常型=自然不刻意;成长型=在进步;冲突型=不过度服务) | 标注违反服务标准的场景:反应式改为预见式/过度服务改为收敛 |
|
||||
|
||||
---
|
||||
## 输出
|
||||
@@ -170,7 +200,7 @@ Gate-6 确认通过后,必须生成创作回顾.html。**页面板块顺序严
|
||||
| S10 分镜脚本 | 10_分镜脚本.md | |
|
||||
| S11 诊断报告 | 11_诊断报告.md | |
|
||||
|
||||
命名规则:`脚本{编号}_{脚本标题}_创作回顾.html`,存放于 `shortvideo_sample/{账号名}/` 根目录(相对于技能根目录)。
|
||||
命名规则:`脚本{编号}_{脚本标题}_创作回顾.html`,存放于 `case/{账号名}/` 根目录(相对于技能根目录)。
|
||||
|
||||
---
|
||||
|
||||
@@ -182,13 +212,15 @@ Gate-6 确认通过后,必须生成创作回顾.html。**页面板块顺序严
|
||||
你是一名短视频内容审核官和质量诊断专家。你的任务是:
|
||||
|
||||
1. 对分镜脚本(或场次叙事脚本)进行四维度结构化审核
|
||||
2. 输出评分报告、问题清单、修改建议
|
||||
3. 进行人设稳定性校验和合规校验
|
||||
2. 进行信息密度检查——对标 L2 编导标准,核查具名物品/对话/行为链/环境细节/产品植入深度
|
||||
3. 输出评分报告、问题清单、修改建议
|
||||
4. 进行人设稳定性校验和合规校验
|
||||
|
||||
审核规则:
|
||||
- 四个维度独立评分,不互相影响
|
||||
- **情感铺垫等级从 S6 框架方案继承**(脚本概览行中标注),诊断时按等级调整检查标准,不得对所有内容使用同一把尺子
|
||||
- 新增「情感表达专项检查」为第五个检查模块,与四维度并列独立,按复杂度等级分三组(通用/强/中/弱)执行
|
||||
- 新增「信息密度检查」为独立模块,不纳入四维度评分但必须在 Gate-6 前通过(不通过项须修改后重新诊断)
|
||||
- 合规性逐项评分(总分 20 分),不设一票否决,扣分规则见上方
|
||||
- 若输入为场次叙事格式脚本:按场次定位问题("场X的XX")
|
||||
- 若输入为分镜脚本(简版/详细):按镜头/段落定位问题("场X第Y段"或"镜头XX的XX")
|
||||
@@ -197,33 +229,11 @@ Gate-6 确认通过后,必须生成创作回顾.html。**页面板块顺序严
|
||||
- 各维度诊断知识参考:
|
||||
· 爆款要素维度 → `知识库/04_爆款开场/` 全部文件(钩子强度评分基准)
|
||||
· 结构完整性 → `知识库/03_框架节奏/06_编导终审验收标准.md`(五条硬性标准)
|
||||
· 人设匹配度 → `知识库/08_对话风格/` 全部文件(台词风格一致性校验)
|
||||
· 人设匹配度 → `知识库/08_对话风格/` 全部文件(台词风格一致性校验)+ 关怀行为服务标准校验(从人设卡片读取金牌标准,金牌型=预见式≥反应式)
|
||||
· 质量诊断方法 → `知识库/09_脚本诊断/AI可根据脚本直接检查_通用_质量检查.md` + `知识库/09_脚本诊断/AI提醒编导人工检查_通用_质量检查.md`(AI自动检查清单 + 人工提醒检查清单)
|
||||
· **情感表达专项** → `知识库/07_情绪共鸣/` 分块5(情绪递进设计:四类情绪·递进缺口判断)+ 分块6(情感铺垫设计:多维度表达·蓄力释放·留白法则)+ `知识库/12_拆解评估/` 分块7(脚本质量自动检查清单八类32项)
|
||||
|
||||
评分标准(总分100分,评分锚点见上方业务逻辑一):
|
||||
|
||||
- 爆款要素(35分):钩子(0-8) + 标题(0-7) + 爆款公式(0-7) + 情绪曲线(0-7) + CTA(0-6)
|
||||
- 人设匹配(25分):口播语言(0-9) + 视觉形象(0-8) + 情绪表达(0-8)
|
||||
- 可拍摄性(20分):画面可执行(0-8) + 台词可朗读(0-6) + 字幕规范(0-3) + 镜头可实现(0-3)
|
||||
- 合规性(20分):内容安全(0-5) + 平台规范(0-5) + 版权(0-4) + 价值观(0-3) + 广告合规(0-3)
|
||||
|
||||
评分锚点(严格执行,不允许偏离):
|
||||
- 1-2分:严重缺陷,不可用
|
||||
- 3-4分:有明显问题,影响传播效果
|
||||
- 5-6分:及格水平,基本可用但不出彩
|
||||
- 7-8分:良好,达到行业平均水平
|
||||
- 9-10分:优秀,接近爆款水准(满分仅在可对标爆款案例时给出)
|
||||
- "没有明显问题"不能给高分——高分需要证明"好在哪里",低分需要指出"差在哪里"
|
||||
|
||||
合规扣分规则:
|
||||
- 命中违禁词 → 内容安全扣2分/个
|
||||
- 含敏感话题未规避 → 内容安全扣3-5分
|
||||
- 含竞品贬低/虚假宣传 → 平台规范扣2-5分
|
||||
- 广告未标注 → 广告合规扣2-3分
|
||||
- 同一问题不重复扣分
|
||||
|
||||
通过标准:总分 ≥ 75/100,且合规维度 ≥ 14/20。
|
||||
· **信息密度检查** → `素材库/通用/` + `素材库/{赛道}/`(具名物品/道具/行为链素材库作为密度参照)
|
||||
评分标准、评分锚点、合规扣分、通过标准 → 见上方「处理规则」,不再在 System Prompt 中重复定义。
|
||||
|
||||
禁止行为:
|
||||
- 不得在审核报告中使用模糊表述("整体不错"、"还可以"等)
|
||||
@@ -277,7 +287,25 @@ Gate-6 确认通过后,必须生成创作回顾.html。**页面板块顺序严
|
||||
|
||||
---
|
||||
|
||||
## 二、爆款要素命中率(35分)
|
||||
## 二、信息密度检查
|
||||
|
||||
> 对标 L2 编导标准。不纳入四维度评分,但不通过项必须在 Gate-6 前修复。
|
||||
|
||||
| 检查项 | 标准 | 实际 | 结果 | 说明 |
|
||||
|--------|:---:|:---:|:---:|------|
|
||||
| 具名物品数 | ≥ 12 | [X] | ✅/❌ | [统计清单] |
|
||||
| 完整对话组数 | ≥ 4 | [X] | ✅/❌ | [各组角色标注] |
|
||||
| 行为步骤链 | ≥ 1 条(≥ 3 步) | [X] | ✅/❌ | [步骤链条数] |
|
||||
| 环境细节 | ≥ 5 条 | [X] | ✅/❌ | [灯光/材质/空间/陈列/声音] |
|
||||
| 产品植入深度 | ≥ 二维 | [X] 维 | ✅/❌ | [材质原理+使用场景+品牌名覆盖情况] |
|
||||
| 可拍摄单元总数 | ≥ 50 | [X] | ✅/❌ | [每句动作/画面/台词计 1 单元] |
|
||||
| 金句/传播句 | ≥ 1 | [X] | ✅/❌ | [金句内容+传播性评估] |
|
||||
|
||||
**密度综合判定**:[✅ 全部达标 / ⚠️ 部分不达标,需修改后重新诊断 / ❌ 严重不足]
|
||||
|
||||
---
|
||||
|
||||
## 三、爆款要素命中率(35分)
|
||||
|
||||
| 检查项 | 满分 | 得分 | 评分依据 | 改进建议 |
|
||||
|--------|:---:|:---:|------|------|
|
||||
@@ -289,7 +317,7 @@ Gate-6 确认通过后,必须生成创作回顾.html。**页面板块顺序严
|
||||
|
||||
---
|
||||
|
||||
## 三、人设匹配度(25分)
|
||||
## 四、人设匹配度(25分)
|
||||
|
||||
| 检查项 | 满分 | 得分 | 评分依据 | 改进建议 |
|
||||
|--------|:---:|:---:|------|------|
|
||||
@@ -299,7 +327,7 @@ Gate-6 确认通过后,必须生成创作回顾.html。**页面板块顺序严
|
||||
|
||||
---
|
||||
|
||||
## 四、可拍摄性(20分)
|
||||
## 五、可拍摄性(20分)
|
||||
|
||||
| 检查项 | 满分 | 得分 | 评分依据 | 改进建议 |
|
||||
|--------|:---:|:---:|------|------|
|
||||
@@ -310,7 +338,7 @@ Gate-6 确认通过后,必须生成创作回顾.html。**页面板块顺序严
|
||||
|
||||
---
|
||||
|
||||
## 五、情感表达专项检查
|
||||
## 六、情感表达专项检查
|
||||
|
||||
> 依据:`07_情绪共鸣/` 分块5+6 + `12_拆解评估/` 分块7
|
||||
> 当前情感铺垫等级:[强/中/弱](从 S6 框架方案继承)
|
||||
@@ -319,8 +347,8 @@ Gate-6 确认通过后,必须生成创作回顾.html。**页面板块顺序严
|
||||
|
||||
| 检查项 | 结果 | 评分依据 | 改进建议 |
|
||||
|--------|:---:|------|------|
|
||||
| Show don't tell(行为暗示替代旁白直述) | ✅/❌ | [出现概括词的场次和次数] | [替换为具体身体语言] |
|
||||
| 叙事驱动模式一致性🆕(体裁标注 vs S6驱动模式) | ✅/❌ | [驱动模式→体裁标注匹配度;违规旁白场次列表] | [移除违规旁白,改为行为/对话演绎] |
|
||||
| 行为暗示(行为暗示替代旁白直述) | ✅/❌ | [出现概括词的场次和次数] | [替换为具体身体语言] |
|
||||
| 叙事驱动模式一致性(体裁标注 vs S6驱动模式) | ✅/❌ | [驱动模式→体裁标注匹配度;违规旁白场次列表] | [移除违规旁白,改为行为/对话演绎] |
|
||||
| 体感兑现闭环(首屏承诺→内容兑现→结尾强化) | ✅/❌ | [承诺体感 vs 实际交付体感对比] | [脱节处修正方案] |
|
||||
|
||||
### 强情感铺垫专项(仅当情感铺垫=强时检查)
|
||||
@@ -355,7 +383,7 @@ Gate-6 确认通过后,必须生成创作回顾.html。**页面板块顺序严
|
||||
|
||||
---
|
||||
|
||||
## 六、合规校验(20分,逐项评分)
|
||||
## 七、合规校验(20分,逐项评分)
|
||||
|
||||
| 检查项 | 满分 | 得分 | 问题详情 |
|
||||
|--------|:---:|:---:|------|
|
||||
@@ -367,7 +395,7 @@ Gate-6 确认通过后,必须生成创作回顾.html。**页面板块顺序严
|
||||
|
||||
---
|
||||
|
||||
## 七、人设稳定性校验
|
||||
## 八、人设稳定性校验
|
||||
|
||||
| 校验项 | 结果 | 问题 | 建议 |
|
||||
|--------|:---:|------|------|
|
||||
@@ -380,7 +408,7 @@ Gate-6 确认通过后,必须生成创作回顾.html。**页面板块顺序严
|
||||
| 传播性检查 | ✅/⚠️ | [传播钩子评估] | [提炼建议] |
|
||||
|
||||
|
||||
## 八、问题清单(按严重程度排序)
|
||||
## 九、问题清单(按严重程度排序)
|
||||
|
||||
| 序号 | 严重度 | 对应镜头 | 问题类型 | 问题描述 | 修改建议 |
|
||||
|:---:|:---:|:------:|---------|---------|---------|
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+3
-3
@@ -173,6 +173,8 @@
|
||||
|
||||
---
|
||||
|
||||
> ⚠️ **以下模板A/B仅供知识参考,非执行指令**:结构模板的选择逻辑(三段式/五段式)由 S7 大纲阶段执行。S6 只负责情绪骨架的搭建,不选择模板,也不在 S6 输出中标注模板类型或结构选择依据。
|
||||
|
||||
#### 模板A:三段式通用框架(所有赛道底盘)
|
||||
|
||||
> 适用:知识分享/观点输出/技能展示/15秒以内短视频。三幕式基础底盘,新手必掌握。
|
||||
@@ -395,9 +397,7 @@
|
||||
|
||||
## 四、场次结构展开表(框架确认后输出)
|
||||
|
||||
### [三段式通用 / 五段式爆款] — [方案名称]
|
||||
|
||||
> 结构选择依据:[内容形式/时长/赛道特性 → 选择三段式或五段式的理由]
|
||||
### [框架名称]
|
||||
|
||||
| 段落 | 场次 | 核心作用 | 时长区间 | 叙事节奏 | 情绪 | 本场钩子 | 事件(主线事件) |
|
||||
|------|------|---------|---------|---------|---------|---------|-------------------|
|
||||
@@ -0,0 +1,336 @@
|
||||
# 业务逻辑
|
||||
|
||||
> S7 是**结构搭建层**——基于 S6 已完成的情绪规划(场次结构表+情绪设计卡),选择最优结构模板(三段式/五段式),将 S6 的规划概述展开为具体可执行的事件序列(每段 3-5 条,含动作+画面+口播方向),形成编导拿到就能拍的执行大纲。
|
||||
> 所有情绪维度决策已在 S6 集中完成,S7 只引用不重做。
|
||||
|
||||
---
|
||||
## 输入
|
||||
- 步骤5输出:选题方案(主题/切入角度/爆款逻辑/预设钩子/差异化特征)
|
||||
- 步骤6输出:用户选定的框架方案(核心框架+内容形式+时长+主线)
|
||||
- 步骤6输出:场次结构展开表(场次划分/时长区间/叙事节奏/情绪)
|
||||
- 步骤6输出:情绪设计卡(弧线类型/情绪标注/情绪起伏/缺口自检)— 只引用不重做
|
||||
- 步骤4输出:达人人设卡片(语言风格等约束)
|
||||
- **账号素材库**:`case/{账号名}/01_素材库_菜品.md`、`case/{账号名}/02_素材库_道具.md`、`case/{账号名}/03_素材库_行为模式.md`、`case/{账号名}/04_素材库_金句口头禅.md`、`case/{账号名}/05_素材库_环境设定.md` — 提供具名物品、行为链、台词素材
|
||||
- **赛道知识库**:`references/素材库/{赛道}/` — 提供赛道事实性知识(食材/术语/家居标准等)
|
||||
|
||||
## 处理规则
|
||||
|
||||
### 第一步:结构模板选择(从 S6 移入)
|
||||
|
||||
根据内容形式和时长选择最优结构模板:
|
||||
|
||||
| 内容形式 / 时长 | 推荐结构 | 场次数 | 适用场景 |
|
||||
|----------------|---------|:------:|---------|
|
||||
| 知识分享 / 观点输出 / 技能展示 | **三段式通用** | 3场 | 信息密度高、逻辑线索单一的视频 |
|
||||
| 15秒以内短视频 | **三段式通用**(压缩版) | 3场 | 极短视频,中段不宜再拆分 |
|
||||
| Vlog记录 / 剧情演绎 / 产品测评 | **五段式爆款** | 5场 | 需要任务铺垫+波折推进的中长视频 |
|
||||
| 30秒以上中长视频 | **五段式爆款** | 5场 | 需要多场次承接流量、降低中段流失 |
|
||||
|
||||
> 选择模板后,从 S6 场次结构表中取对应的模板骨架(三段式参考 S6 模板A,五段式参考 S6 模板B),在此基础上展开分段结构。
|
||||
|
||||
### 第二步:事件序列展开
|
||||
|
||||
S6 场次结构表「事件」列是规划概述(如「汤凉了重热 → 精致摆盘 → 她下会揉脖子」),S7 的职责是将每场概述展开为 **3-5 条具体可执行的事件**。
|
||||
|
||||
**事件条目标准格式**:
|
||||
```
|
||||
【画面/镜头方向】具体动作 —— 口播/独白/台词方向
|
||||
```
|
||||
每个条目至少包含画面方向(拍什么)+ 动作(做什么)。口播/台词方向在需要时标注,不强求每条都有。
|
||||
|
||||
**展开原则**:
|
||||
- 每条 = 一个可拍摄单元,编导拿到就能拍
|
||||
- 画面方向用【】,描述「拍什么/什么视角/什么氛围」
|
||||
- 动作描述,需要区分角色时用「角色名(语气):动作/台词方向」
|
||||
- 禁止只写一句抽象概述(如"专业刀工备菜"),必须拆成具体步骤
|
||||
|
||||
**示例对比**:
|
||||
| S6 事件概述 | S7 展开 |
|
||||
|------------|--------|
|
||||
| 汤凉了重热 | 【厨房台面】做梦摸碗壁发现汤已凉,皱眉看时钟 → 【灶台特写】无声开火,火焰窜起又调小 → 做梦(内心独白):「再热一遍,她下会刚好能喝」 |
|
||||
| 精致摆盘 | 【橱柜】白瓷盘从柜子最深处取出 → 【餐桌全景】干冰倒进盘底流雾铺桌 → 【特写】筷子夹起肉块调整角度摆放 → 【特写】猛火收汁浇淋,酱汁冒泡
|
||||
|
||||
### 第二步半:展开深度标准(S7 创作前必须确认)
|
||||
|
||||
> ⚠️ **核心约束**:以下三级标准定义了 S7 事件展开的深度。**默认目标 = L2 编导标准**。未达标的大纲不得通过 Gate-4。
|
||||
|
||||
| 等级 | 名称 | 判定标准 | 适用场景 |
|
||||
|:---:|------|---------|---------|
|
||||
| **L1** | 基础可用 | 每场 2-3 条事件,每条含画面方向+动作;具名物品 ≥ 5 个;完整对话 ≥ 2 组 | 15s 以内短视频 / 紧急出片 |
|
||||
| **L2** | 编导标准 ★默认 | 每场 3-5 条事件,每条含【画面方向】+具体动作+口播/台词方向;具名物品 ≥ 12 个;完整对话 ≥ 4 组;至少 1 条行为步骤链(≥ 3 步);产品植入至少二维覆盖(材质原理+使用场景);环境细节 ≥ 5 条 | 30s-8min 常规视频 |
|
||||
| **L3** | 电影级叙事 | L2 全部要求 + 具名物品 ≥ 18 个;完整对话 ≥ 6 组;行为步骤链 ≥ 2 条(每条 ≥ 5 步);产品植入三维全覆盖(材质原理+使用场景+品牌名);环境细节 ≥ 10 条;包含至少 1 个可传播金句 | 8min+ 重点视频 / 品牌广告 |
|
||||
|
||||
**深度自检(S7 完成大纲后、提交 Gate-4 前)**:
|
||||
- □ 具名物品数是否 ≥ L2 标准(默认 ≥ 12 个)?—— 统计大纲中所有具名菜品/道具/物品
|
||||
- □ 完整对话组数是否 ≥ L2 标准(默认 ≥ 4 组)?—— 每组至少 2 句有来有回
|
||||
- □ 是否至少有 1 条完整行为步骤链(≥ 3 步连贯操作)?—— 不满足则回到第二步重新展开
|
||||
- □ 产品植入是否覆盖材质原理 + 使用场景(L2)或三维全覆盖(L3)?
|
||||
- □ 环境细节是否 ≥ 5 条(L2)?—— 灯光/材质/空间位置/物品陈列
|
||||
|
||||
### 第三步:场景预演(展开前必须完成)
|
||||
|
||||
> ⚠️ **新增步骤**:AI 在展开每场事件序列之前,必须先完成该场关键场景的**文字预演**。目的是让 AI「看到」画面后再写事件——从规则推导改为从场景翻译。
|
||||
|
||||
**预演格式**(每场 1 段,50-100 字):
|
||||
```
|
||||
【场X 场景预演】
|
||||
空间:[具体空间名]。时间:[具体时段]。灯光:[色温+亮度+来源]。
|
||||
她在哪:[位置+姿势]。他在哪:[位置+动作]。
|
||||
此刻画面:[从哪个机位看过去+最显眼的 3 个细节]。
|
||||
```
|
||||
|
||||
**示例**:
|
||||
```
|
||||
【场2 场景预演】
|
||||
空间:卧室。时间:凌晨 1 点。灯光:只开床头暖黄灯最低档,窗外全黑。
|
||||
她在哪:还没回来,床面空着,早上随手丢的西装还在被子上。
|
||||
他在哪:站在床边,手里拿着刚拆的亚朵枕头。
|
||||
此刻画面:从床尾看过去,床头托盘上眼罩/护手霜/护唇膏一字排开,充电线固定在右侧,枕头摆在床中间偏左她的位置。
|
||||
```
|
||||
|
||||
> 场景预演不写入最终大纲——它是 AI 的内部工作步骤,用于确保展开的事件有画面锚点。
|
||||
|
||||
### 第四步:大纲结构搭建
|
||||
|
||||
**大纲结构(必须覆盖):**
|
||||
|
||||
```
|
||||
【核心框架】一句话框架 + 信息增量
|
||||
【内容形式】Vlog/剧情/测评/教程/挑战/沉浸式/知识分享
|
||||
【视频标题】封面文字 + 标题文案(共2版)
|
||||
【时长规划】总时长 + 各段分配
|
||||
|
||||
┌─ 分段结构 ─────────────────────────
|
||||
#### 开场·钩子(Xs-Ys)【钩子类型:反差/悬念/冲突/痛点/氛围/人设 | 开篇任务:引入人物/抛出问题/交代背景/设立目标】
|
||||
【画面方向】具体动作 —— 口播/独白方向
|
||||
【画面方向】具体动作
|
||||
【画面方向】具体动作
|
||||
|
||||
#### 中段·主体([X]s-[X]s)【叙事模型:冲突反转/悬念解谜/情绪递进/困境成长/并列对比/知识分层】
|
||||
|
||||
#### 场1:[标题](Xs-Ys)
|
||||
【画面方向】具体动作 —— 口播/独白方向
|
||||
【画面方向】具体动作
|
||||
【画面方向】具体动作
|
||||
【情绪:蓄力/承接/转折/释放 | 看点:看点描述】
|
||||
|
||||
#### 场2:[标题](Xs-Ys)
|
||||
【画面方向】具体动作 —— 口播/独白方向
|
||||
【画面方向】具体动作
|
||||
【画面方向】具体动作
|
||||
【情绪:蓄力/承接/转折/释放 | 看点:看点描述】
|
||||
|
||||
#### 场3:[标题](Xs-Ys)
|
||||
【画面方向】具体动作 —— 口播/独白方向
|
||||
【画面方向】具体动作
|
||||
【画面方向】具体动作
|
||||
【情绪:蓄力/承接/转折/释放 | 看点:看点描述】
|
||||
|
||||
#### 结尾·收束(Xs-Ys)
|
||||
【画面方向】具体动作 —— 口播/独白方向
|
||||
【画面方向】具体动作
|
||||
行动号召:[具体行动号召] / 结尾台词
|
||||
【情绪:释放/承接/余韵 | 收尾类型:情感升华/留白/行动号召】
|
||||
|
||||
> ⚠️ 情绪设计卡已移至 S6 框架阶段完成,S7 仅引用 S6 输出的情绪和情绪设计卡,不做重复设计。
|
||||
|
||||
【广告植入占位】标注后续广告植入的位置
|
||||
【合规自检】快速扫合规清单(无违禁词 + 无虚假宣传 + 无侵权)
|
||||
```
|
||||
|
||||
**大纲质量校验规则:**
|
||||
- 钩子有效性(满足三项):①3秒抓眼 ②贴合主题(非标题党)③开篇任务至少完成2项(引入人物/抛出问题/交代背景/设立目标)
|
||||
- 钩子类型须有明确选择 + 具体台词,不写模糊描述
|
||||
- ⚠️ 每段必须有 3-5 条可拍摄事件,每条含「【画面方向】动作 —— 口播/独白/台词方向」,禁止只写一句抽象概述
|
||||
- 中段段落数与信息点密度:参见知识库 `03_框架节奏/` 中对应当前赛道的结构模板和节奏控时标准
|
||||
- 看点密度:参见知识库 `03_框架节奏/04_节奏控时叙事套路.md` 中对应当前赛道的信息密度和转折频率标准
|
||||
- 标题须有2个版本,差异化显著
|
||||
- **信息密度检查**(对标 L2 编导标准,参见本步骤「第二步半」深度标准):
|
||||
- □ 具名物品数 ≥ 12 个(菜品+道具+品牌名,统计整个大纲)
|
||||
- □ 完整对话组数 ≥ 4 组(每组至少 2 句有来有回)
|
||||
- □ 行为步骤链 ≥ 1 条(≥ 3 步连贯操作)
|
||||
- □ 环境细节 ≥ 5 条(灯光/材质/空间位置/物品陈列/声音氛围)
|
||||
- □ 产品植入覆盖 ≥ 二维(材质原理 + 使用场景,追求三维覆盖含品牌名)
|
||||
- □ 可拍摄单元总数 ≥ 50 个(每句动作/画面方向/台词为 1 个单元)
|
||||
|
||||
**时长分配:** 参见知识库 `03_框架节奏/01_标准爆款结构模板.md` 中对应赛道和视频时长的分段比例,按实际赛道确定开场/中段/结尾配比。
|
||||
|
||||
---
|
||||
## 输出
|
||||
- 结构模板选择(三段式/五段式 + 选择理由)
|
||||
- 完整短视频大纲(含分段结构、钩子设计、主体、结尾)
|
||||
- 2版视频标题方案
|
||||
- 广告植入占位标注
|
||||
|
||||
## 上下游依赖
|
||||
- 上游:[步骤5:生成短视频选题] / [步骤6:生成短视频框架(场次结构表+情绪设计卡约束引用)] / [步骤4:账号设定解析和确认(约束引用)]
|
||||
- 下游:[步骤8:植入广告内容] / [步骤9:生成短视频脚本] / [步骤10:生成短视频分镜脚本 🔶 可选] / [步骤11:脚本检查和诊断(约束引用)]
|
||||
|
||||
---
|
||||
|
||||
# 提示词
|
||||
|
||||
## System Prompt
|
||||
|
||||
```
|
||||
你是一名短视频脚本大纲创作师。S7 是结构搭建层,你的任务是:
|
||||
|
||||
1. 接收 S6 输出的框架方案、场次结构表(含情绪)和情绪设计卡
|
||||
2. 根据内容形式和时长,选择最优结构模板(三段式/五段式)
|
||||
3. **先做场景预演**:在展开每场事件前,先描述关键场景的画面(空间/灯光/人物位置/显眼细节)
|
||||
4. 基于选定的结构模板展开分段结构,匹配钩子类型
|
||||
5. **调取素材库填充细节**:从账号素材库中选择具名菜品/道具/行为链/金句,从赛道知识库中调用专业术语
|
||||
6. 生成2版差异化视频标题
|
||||
7. 标注广告植入占位
|
||||
8. 完成合规自检+密度自检
|
||||
|
||||
大纲创作规则:
|
||||
- ⚠️ 情绪设计卡已在 S6 完成,S7 只引用不重做。所有情绪/弧线类型/情绪起伏以 S6 输出为准
|
||||
- ⚠️ 事件展开规则:S6 场次结构表的「事件」列为规划概述(每场 3-5 条),S7 必须将其展开为具体可拍摄的事件序列——每条含「【画面方向】具体动作 —— 口播/独白/台词方向」,禁止只写一句抽象概述
|
||||
- **展开深度标准**:默认目标 = L2 编导标准。每条事件必须达到「编导拿到就能拍」的密度——具名菜品/道具、完整对话台词、行为步骤链(≥ 3 步)、环境细节(灯光/材质/位置)、产品植入(材质原理+使用场景)。参见本步骤「第二步半」三级标准
|
||||
- **场景预演**:在展开每场事件序列之前,先在内部完成该场关键场景的文字预演(空间/时间/灯光/人物位置/最显眼的 3 个细节),再基于预演画面写出事件序列。预演内容不写入最终大纲
|
||||
- **素材库使用**:从账号素材库(菜品库/道具库/行为模式库/金句库/环境设定)中选择具名内容填充大纲,而非从零推断。菜品必须有具体菜名,道具必须有品牌+摆放位置,行为必须有步骤链
|
||||
- 结构模板选择规则:知识分享/技能展示/15s内→三段式,Vlog/剧情/测评/30s+→五段式
|
||||
- 钩子类型须回扣 S5 选题方案中的「预设钩子」,不另起炉灶
|
||||
- 叙事模型必须明确选择一种,须与框架方案的爆款逻辑一致
|
||||
- 时长分配须参照 S6 场次结构展开表,不得自行改动
|
||||
- 口播须符合达人人设的语言风格和口头禅
|
||||
- 标题须有2个版本,差异化显著
|
||||
- **产品植入**:从素材库道具库中选择可植入产品,按三维标准展开(材质原理+使用场景+品牌名)
|
||||
|
||||
禁止行为:
|
||||
- 不得重新设计情绪弧线或情绪(S6 已定)
|
||||
- 不得在 S7 输出中复制 S6 的情绪设计卡原文(情绪设计已由 S6 完成,S7 不得重做情绪规划)
|
||||
- ⚠️ S6 场次结构表中的「事件」列是**规划概述**(如"汤凉了重热"),S7 的职责是**展开为具体可拍摄的事件序列**(如"【厨房台面】做梦摸碗壁发现汤已凉 → 【灶台特写】无声开火重热 → 做梦(内心独白):「再热一遍」"),每段 3-5 条【画面方向】+动作+口播/独白方向。这不是"复述",而是"展开"
|
||||
- 不得在未完成场景预演的情况下直接展开事件序列——必须先「看到」画面再写
|
||||
- 不得使用泛称替代具名内容——菜品必须有菜名(禁止"炒了个菜""炖了个汤")、道具必须有品牌或材质描述(禁止"一个枕头""一瓶喷雾")
|
||||
- 不得跳过密度自检直接提交
|
||||
- 不得在已有选题预设钩子的情况下重新设计钩子方向
|
||||
- 不得偏离 S6 场次结构展开表中的时长区间和情绪弧线
|
||||
- 不得使用模糊描述(如"做一个有趣的钩子"),必须具体到台词和画面
|
||||
- 不得跳过合规自检
|
||||
- 不得在广告Brief未提供时编造广告内容
|
||||
```
|
||||
|
||||
## User Prompt 模板
|
||||
|
||||
```
|
||||
请基于以下信息,生成短视频大纲:
|
||||
|
||||
【选题方案】(原始选题设计,大纲钩子须与此对齐)
|
||||
{selected_topic}
|
||||
|
||||
【选定框架】
|
||||
{selected_framework}
|
||||
|
||||
【场次结构展开表 + 情绪设计卡】(来自 S6,情绪维度硬约束,S7 只引用不重做)
|
||||
{scene_structure}
|
||||
{emotion_design_card}
|
||||
|
||||
【达人人设】
|
||||
{persona_card}
|
||||
|
||||
【账号素材库】(具名内容来源——菜品/道具/行为链/金句/环境从此选择,不得从零推断)
|
||||
{material_library}
|
||||
|
||||
【赛道知识库】(专业术语来源——食材特性/烹饪术语/家居标准由此调用)
|
||||
{domain_knowledge}
|
||||
|
||||
【广告Brief】(如有)
|
||||
{ad_brief}
|
||||
|
||||
请输出:
|
||||
1. 完整短视频大纲(分段结构,默认 L2 编导标准密度)
|
||||
2. 2版视频标题
|
||||
3. 广告植入占位
|
||||
4. 合规自检结果
|
||||
5. 密度自检结果(具名物品数/对话组数/行为链/环境细节/产品植入深度)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 输出模板
|
||||
|
||||
```
|
||||
## 视频标题
|
||||
|
||||
### 方案A
|
||||
- 封面文字:[XX]
|
||||
- 标题文案:[XX]
|
||||
|
||||
### 方案B
|
||||
- 封面文字:[XX]
|
||||
- 标题文案:[XX]
|
||||
|
||||
---
|
||||
|
||||
## 大纲结构
|
||||
|
||||
### 核心信息
|
||||
- 核心框架:[一句话框架]
|
||||
- 内容形式:[类型]
|
||||
- 视频时长:[X]s
|
||||
- 目标受众:[XX]
|
||||
|
||||
#### 开场·钩子([X]s-[X]s)【钩子类型:反差/悬念/冲突/痛点/氛围/人设 | 开篇任务:引入人物/抛出问题/交代背景/设立目标】
|
||||
【画面方向】具体动作 —— 口播/独白/台词方向
|
||||
【画面方向】具体动作
|
||||
【画面方向】具体动作
|
||||
|
||||
#### 中段·主体([X]s-[X]s)【叙事模型:冲突反转/悬念解谜/情绪递进/困境成长/并列对比/知识分层】
|
||||
|
||||
#### 场1:[子标题]([X]s-[X]s)
|
||||
【画面方向】具体动作 —— 口播/独白/台词方向
|
||||
【画面方向】具体动作
|
||||
【画面方向】具体动作
|
||||
【情绪:蓄力/承接/转折/释放 | 看点:看点描述】
|
||||
|
||||
#### 场2:[子标题]([X]s-[X]s)
|
||||
【画面方向】具体动作 —— 口播/独白/台词方向
|
||||
【画面方向】具体动作
|
||||
【画面方向】具体动作
|
||||
【情绪:蓄力/承接/转折/释放 | 看点:看点描述】
|
||||
|
||||
#### 场3:[子标题]([X]s-[X]s)
|
||||
【画面方向】具体动作 —— 口播/独白/台词方向
|
||||
【画面方向】具体动作
|
||||
【画面方向】具体动作
|
||||
【情绪:蓄力/承接/转折/释放 | 看点:看点描述】
|
||||
|
||||
#### 结尾·收束([X]s-[X]s)
|
||||
【画面方向】具体动作 —— 口播/独白/台词方向
|
||||
【画面方向】具体动作
|
||||
行动号召:[具体行动号召] / 结尾台词
|
||||
【情绪:释放/承接/余韵 | 收尾类型:情感升华/留白/行动号召】
|
||||
|
||||
### 广告植入占位
|
||||
| 位置 | 时间节点 | 对应段落 | 建议植入形式 | 预留台词空间 |
|
||||
|------|---------|---------|------------|------------|
|
||||
| 植入点1 | XX:XX | 第X段 | 口播/画面/情节 | 参见广告植入方法论文档 |
|
||||
| 植入点2 | XX:XX | 结尾 | 口播/画面/情节 | 参见广告植入方法论文档 |
|
||||
|
||||
### 合规自检
|
||||
- □ 无违禁词和敏感话题
|
||||
- □ 无虚假宣传内容
|
||||
- □ 无侵权素材引用
|
||||
- □ 价值观正常,无不良导向
|
||||
|
||||
---
|
||||
|
||||
📋 【Gate-4 | 大纲确认】确认门
|
||||
|
||||
> ⚡ 快速模式:自动通过 | 🤝 共创模式:需用户确认
|
||||
|
||||
本阶段产出已完成(短视频大纲{{如有广告则含广告植入方案}}),核心内容如上。
|
||||
|
||||
请确认以下几点:
|
||||
① 结构模板选择是否合理(三段式/五段式)
|
||||
② 钩子设计是否符合选题预设,前3秒台词是否有冲击力
|
||||
③ 每段是否充分展开(3-5条/段,每条含【画面方向】动作 —— 口播/台词方向)
|
||||
④ 广告植入占位和植入方式是否接受(如有广告Brief)
|
||||
|
||||
✅ 如果确认通过 → 请回复「确认大纲」进入下一步(生成脚本)
|
||||
✏️ 如果需要修改 → 请指出具体修改意见,本轮修改后重新提交
|
||||
⛔ 不得在用户回复前自动推进到下一阶段
|
||||
---
|
||||
```
|
||||
File renamed without changes.
+3
-3
@@ -241,7 +241,7 @@
|
||||
- 表演动作也标注在括号内:`(比划/指前方/怼脸/闭眼/同声喊出/瞪眼...)``
|
||||
- **情感铺垫继承规则(强制)**:
|
||||
· 情感铺垫等级从 S6 框架方案的「情感铺垫等级」字段原样继承,S9 无权限修改
|
||||
· 强情感铺垫:执行完整情绪工程——四类情绪闭环 + 多维度全场覆盖 + 蓄力释放映射 + 每场留白 + Show don't tell
|
||||
· 强情感铺垫:执行完整情绪工程——四类情绪闭环 + 多维度全场覆盖 + 蓄力释放映射 + 每场留白 + 行为暗示
|
||||
· 中情感铺垫:执行轻情绪管理——体验递进优先 + 关键场景多维度(至少2通道) + 释放场留白 + 不强制蓄力释放
|
||||
· 弱情感铺垫:执行信息/视觉优先——信息密度优先 + 不强制多维度(关键处用2通道即可) + 不强制留白 + 不检查蓄力释放 + 收尾实用不升华
|
||||
- **台词体裁标注规则(强制)**:
|
||||
@@ -260,7 +260,7 @@
|
||||
- **蓄力释放机制**:角色展现脆弱/付出的场景(蓄力期)必须有匹配的回报/反转场景(释放期),释放量必须大于蓄力量。参考 `知识库/07_情绪共鸣/` 分块6
|
||||
- **多维度全场覆盖**:每个情感场景使用多通道协同表达,通道组合和最低通道数参见知识库 `07_情绪共鸣/分块6_` 中对应当前赛道情感铺垫等级的标准,禁止单一通道表达关键情感
|
||||
- **留白法则**:每场结束前保留情绪留白(纯画面+环境音,无台词),让观众有时间消化情感。留白时长参见知识库 `07_情绪共鸣/` 分块6中对应当前赛道情感铺垫等级的标准
|
||||
- **Show don't tell**:禁止旁白直述替代行为暗示,用动作暗示情绪而非台词旁白说出
|
||||
- **行为暗示**:禁止旁白直述替代行为暗示,用动作暗示情绪而非台词旁白说出
|
||||
|
||||
**_中情感铺垫(轻情绪管理):_**
|
||||
- **体验递进优先**:通过场景转换、视角变化、体验层次递进维持节奏
|
||||
@@ -289,7 +289,7 @@
|
||||
- **不得对弱情感铺垫内容强制执行**蓄力释放、每场留白、全场多维度——这些只适用于强情感铺垫
|
||||
- **不得在弱情感铺垫内容的结尾强行"感悟升华"**——美妆/Vlog/知识类结尾以实用信息收尾
|
||||
- **不得在剧情演绎类脚本中使用「旁白」**(剧情类只能用角色对白或事件驱动,故事必须靠角色行为和对话来演绎)
|
||||
- 不得使用旁白直述代替行为暗示(Show don't tell)
|
||||
- 不得使用旁白直述代替行为暗示(行为暗示铁律)
|
||||
- 不得漏掉蓄力释放出口(仅强情感铺垫强制):蓄力期必须有对应的释放期,释放量≥蓄力量
|
||||
- **不得省略语气标注**:每句台词必须标注表演方向和语气
|
||||
- **不得在分行格式中杂糅多条信息**:一行只放一句台词或一个动作段落
|
||||
+1
-1
@@ -394,7 +394,7 @@
|
||||
## 输出根目录
|
||||
|
||||
```
|
||||
shortvideo_sample/{账号名}/
|
||||
case/{账号名}/
|
||||
```
|
||||
|
||||
| 步骤 | 文件名 | 写入路径 | 说明 |
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loaded 100 of 197 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user