← 运营文档中心

ContentMatrix 运营手册方案阶段 · 未上线

AI 短视频出片:在对话入口选一个选题类型,Agent 先写好文案脚本给运营看,确认后自动用现有素材拼接成片、配音、配乐;运营在网页上逐段审片。

这一期做什么

第一版(MVP)的范围,2026-10-19 由负责人确定。

做成什么电脑浏览器打开的网页,不是 App
在哪打开网页跑在放素材的那台电脑上,同一局域网的同事用浏览器访问;外网打不开
有哪些模块素材库、音乐库、文案库三个独立模块,各自单独管理;加上出片、审片
出片入口和 Agent 的对话入口,直接列出 5 个默认选题类型(例如「测试产品」)。点一个类型、选产品,Agent 先写好文案脚本给你看;觉得合适,再让 Agent 自动选素材、出片
怎么看片系统出好 MP4,网页里直接播放;换了片段要等重新出片
下载视频生成后就能在审片页点「下载」,MP4 和字幕文件存到自己的电脑,不用等审核通过
素材从哪来用现有的大量素材;没有拍摄团队,不补拍
这期不做发布、排期、账号管理

使用方

谁在用、各自做什么。标「待定」的开发前再定。

由谁担任:待定

库管理

  • 素材库:导入现有素材,填写或确认授权,复核 AI 拿不准的字段
  • 音乐库:人工添加音乐
  • 文案库:维护卖点、参考文案、片尾行动号召模板
用素材库、音乐库、文案库三个页面;三个库可以由不同的人管
tomwork

负责人

  • 挑定品牌口吻
  • 确认音乐授权
  • 看产出
用音乐库、出片、审片页面
由谁担任:待定

运营

  • 在对话入口选选题类型和产品
  • 逐段预览脚本,合适了点「开始出片」
  • 逐段审片:哪段文案、哪个片段不合适就单独指出
  • 下载视频
用出片(对话入口)、审片页面
后台自动

系统里的 Agent

  • 识别片段、给音乐标情绪和节奏
  • 按选题类型策划文案脚本
  • 选片、生成配音、从音乐库选曲、出粗剪
  • 按运营的要求重写某段文案或换某个片段
没有页面,在后台运行
账号待定

外部服务

  • 云端识别模型:看懂每个片段拍的是什么
  • OpenAI TTS:把口播合成配音
由系统里的 Agent 调用

业务全流程

分两段:三个库各自建好、单独管理;之后每条视频走一遍「出片和审片」。

库管理 负责人 运营 系统里的 Agent(括号里是它调用的外部服务) 素材库、音乐库、文案库
%%{init: {"themeVariables": {"fontSize": "18px"}}}%%
flowchart TD
    subgraph PREP["一、三个库:独立模块,各自单独管理(每行一个库)"]
        A1["① 库管理
导入现有素材
填写或确认授权"] --> A2["② Agent
识别片段
(云端模型)"] A2 --> A3["③ 库管理
复核「待确认」"] A3 --> LIB[("素材库")] M1["④ 库管理
人工添加
约 100 首音乐"] --> M2["⑤ 负责人
确认音乐授权"] M2 --> MLIB[("音乐库")] W1["⑥ 库管理
维护卖点、参考文案
行动号召模板"] --> WLIB[("文案库")] end subgraph MAKE["二、出片和审片:每条视频走一遍"] B1(["⑦ 运营
对话入口
选选题类型和产品"]) --> B2["⑧ Agent
查素材库,策划文案脚本
(参考文案库)"] B2 --> B3{"素材够吗?"} B3 -- 不够 --> B4["运营
换选题类型或产品
↩ 回到 ⑦"] B3 -- 够 --> B5{"⑨ 运营
逐段预览脚本"} B5 -- 某段不合适 --> B6["Agent
重写这一段
↩ 回到 ⑨"] B5 -- 合适,开始出片 --> B7["⑩ Agent
自动选片段"] B7 --> B8["⑪ Agent
生成配音,定入点、出点
(OpenAI TTS)"] B8 --> B9["⑫ Agent
从音乐库选曲"] B9 --> B10["⑬ Agent
ffmpeg 出粗剪"] B10 --> D["⑭ 审片页播放
可点「下载」
存到本地电脑"] D --> C1{"⑮ 运营
逐段审片"} C1 -- 都合适 --> C2(["通过
口播、字幕存进文案库"]) C1 -- 某段文案不合适 --> C5["Agent
重写这一段
只重新配这一句
↩ 回到 ⑬"] C1 -- 某个片段不合适 --> C4["Agent
换一个片段
↩ 回到 ⑬"] C1 -- 整条不合适 --> C3["运营
写原因
↩ 回到 ⑧"] end PREP ==> MAKE C2 -.-> P["发布(暂不做)"] style PREP fill:none,stroke:#999999 style MAKE fill:none,stroke:#999999 classDef sc fill:#d9f2e3,stroke:#2e7d4f,color:#0b2e1a classDef boss fill:#fff1c2,stroke:#b38600,color:#3d2e00 classDef op fill:#dbe9ff,stroke:#2f5fb3,color:#0a1f44 classDef ag fill:#ece0ff,stroke:#6b3fb3,color:#24103f classDef lib fill:#eeeeee,stroke:#666666,color:#111111 classDef todo fill:#ffffff,stroke:#999999,stroke-dasharray:5 5,color:#888888 class A1,A3,M1,W1 sc class M2 boss class B1,B4,B5,D,C1,C2,C3 op class A2,B2,B3,B6,B7,B8,B9,B10,C4,C5 ag class LIB,MLIB,WLIB lib class P todo
怎么看:每个框第一行是谁来做,颜色也按使用方区分;「↩ 回到 ⑦」表示回到第 ⑦ 步重做。素材不够时不补拍,由运营换选题类型或产品。

三个库

素材库、音乐库、文案库是三个独立模块,各自单独管理。

素材库:导入、识别、复核

%%{init: {"themeVariables": {"fontSize": "18px"}}}%%
flowchart TD
    U(["① 库管理
导入现有素材
填写或确认授权"]) --> O["素材留在本地
「原片」文件夹,只读"] O --> F1{"有人露脸?"} F1 -- 有 --> F2{"授权包含
AI 处理?"} F2 -- 没有或待确认 --> W["先不传云端
标「等授权」"] F1 -- 没有 --> R F2 -- 包含 --> R["② Agent
识别、切分片段
(云端模型)"] R --> C["写入素材库
导出 CSV 到
assets/clips/"] C --> Q{"有「待确认」
字段?"} Q -- 有 --> M["③ 库管理
复核"] M --> L[("素材库")] Q -- 没有 --> L classDef sc fill:#d9f2e3,stroke:#2e7d4f,color:#0b2e1a classDef ag fill:#ece0ff,stroke:#6b3fb3,color:#24103f classDef lib fill:#eeeeee,stroke:#666666,color:#111111 classDef sys fill:#ffffff,stroke:#999999,color:#333333 class U,M sc class R ag class L lib class O,F1,F2,W,C,Q sys

音乐库:人工添加约 100 首

%%{init: {"themeVariables": {"fontSize": "18px"}}}%%
flowchart TD
    U(["① 库管理
人工添加约 100 首音乐
填写来源"]) --> O["曲子存进本地
「音乐」文件夹"] O --> T["② Agent
给每首标
情绪、节奏、时长"] T --> Q{"③ 负责人
授权已确认?"} Q -- 没有或待确认 --> W["留在库里
选曲时筛掉"] Q -- 已确认 --> L[("音乐库")] classDef sc fill:#d9f2e3,stroke:#2e7d4f,color:#0b2e1a classDef boss fill:#fff1c2,stroke:#b38600,color:#3d2e00 classDef ag fill:#ece0ff,stroke:#6b3fb3,color:#24103f classDef lib fill:#eeeeee,stroke:#666666,color:#111111 classDef sys fill:#ffffff,stroke:#999999,color:#333333 class U sc class Q boss class T ag class L lib class O,W sys

文案库:只做参考

%%{init: {"themeVariables": {"fontSize": "18px"}}}%%
flowchart TD
    H(["① 库管理
人工维护卖点、参考文案
片尾行动号召模板"]) --> L[("文案库")] R(["② 审核通过的成片
口播、字幕自动存入"]) --> L L --> U["③ Agent
写文案时参考
用不用按实际情况定"] classDef sc fill:#d9f2e3,stroke:#2e7d4f,color:#0b2e1a classDef op fill:#dbe9ff,stroke:#2f5fb3,color:#0a1f44 classDef ag fill:#ece0ff,stroke:#6b3fb3,color:#24103f classDef lib fill:#eeeeee,stroke:#666666,color:#111111 class H sc class R op class U ag class L lib

出片和审片

运营在对话入口选一个选题类型,Agent 先写脚本给你看,确认后自动出片。

默认选题类型

选题类型视频怎么排适合
测试产品先给测试结果 → 痛点 → 亮出产品 → 两段测试证明 → 效果 → 行动号召防水、持妆、耐磨等能演示的卖点
教程成品效果 → 若干步骤 → 效果 → 行动号召化妆品、穿搭
卖点清单开头钩子 → 三个卖点 → 行动号召新品介绍
达人推荐达人原声 → 卖点和细节叠在原声上 → 效果 → 行动号召有授权的达人讲解素材时
上身展示上身效果 → 细节 → 多个场景 → 行动号召包包、女装

一条视频从选类型到审核

%%{init: {"themeVariables": {"fontSize": "18px"}}}%%
flowchart TD
    S(["① 运营
在对话入口点选题类型
选产品,可补充要求"]) --> A1["② Agent
查素材库
这个产品有哪些画面"] A1 --> A2{"素材够
这个类型吗?"} A2 -- 不够 --> A3["运营
看缺什么镜头
换类型或产品
↩ 回到 ①"] A2 -- 够 --> A4["③ Agent
按类型策划文案脚本
每个镜头确认有片段
(参考文案库)"] A4 --> A5{"每个卖点都有
画面证明?"} A5 -- 没有 --> A6["Agent
删掉这个卖点
↩ 回到 ③"] A5 -- 有 --> SC{"④ 运营
逐段预览脚本"} SC -- 某段不合适 --> SC1["运营
标出这段,写原因"] SC1 --> SC2["Agent
重写这一段
↩ 回到 ④"] SC -- 合适,开始出片 --> A7["⑤ Agent
自动选片段编号
每个镜头首选 + 备选"] A7 --> A8["⑥ Agent
按句生成配音
(OpenAI TTS)"] A8 --> A9["⑦ Agent
按每句时长定入点、出点"] A9 --> A10["⑧ Agent
从音乐库选曲"] A10 --> A11["⑨ Agent
ffmpeg 出粗剪
MP4 + SRT 字幕"] A11 --> D["⑩ 审片页播放
可点「下载」
存到本地电脑"] D --> H{"⑪ 运营
逐段审片"} H -- 都合适 --> OK(["通过,记下结论
口播、字幕存进文案库"]) H -- 某段文案不合适 --> T1["运营
标出这段,写原因"] T1 --> T2["Agent
重写这一段
只重新配这一句
调这个镜头的入出点
↩ 回到 ⑨"] H -- 某个片段不合适 --> V1["运营
标出这个片段,写原因"] V1 --> V2["Agent
换一个片段
↩ 回到 ⑨"] H -- 整条不合适 --> NG["运营
写原因
↩ 回到 ③"] classDef op fill:#dbe9ff,stroke:#2f5fb3,color:#0a1f44 classDef ag fill:#ece0ff,stroke:#6b3fb3,color:#24103f class S,A3,SC,SC1,D,H,OK,NG,T1,V1 op class A1,A2,A4,A5,A6,A7,A8,A9,A10,A11,SC2,T2,V2 ag

还没定的事

开发前由负责人定,定了再更新本页。