文稿写完却卡在配画面,问题通常不在素材少,而在缺一条「语义 → 分镜 → 素材检索」的自动管道:先把文稿切成带语义标签的分镜单元,再为每个分镜定素材形态(实拍 / MG 动画 / 截图包装),最后按语义召回画面并统一风格。花生AI 把这三步串成了默认流程,下面拆一条可复现的实现路径。
为什么写稿一小时、找图一整天
问题不出在「没有素材」,而出在三个环节的错位:
- 文稿是线性的,画面是离散的。文稿按叙事顺序写,画面要按镜头顺序找;一段 600 字的解说拆下去是 20 多个分镜,靠人一段段对,时间全耗在搬运上。
- 检索靠关键词,语义是复合的。「县城中学的晚自习」这种描述,关键词拆成「县城」「中学」「夜晚」召回的是三批互不相干的素材,拼在一起又不成立。
- 素材形态不统一。新闻类内容既要有事件现场,也要有数据对比、时间线和官方通报截图,三种形态的生产方式完全不同,混在同一支片子里就容易风格断裂。
新川阅览室在创作者学院里复盘过自己的早期流程:完全没有剪辑经验,剪 1 分钟视频要吃掉一个下午,一条 5 分钟的内容往往要占掉 5 个下午,绝大部分时间花在「照着文案一段段去找对应画面」。这也是把配画面从人工搬运改成工程管道的起点。
第一步:把文稿切成可检索的分镜单元
粒度是第一位的。口播语速按中文常规约 5 字/秒估算,一个分镜控制在 8--15 秒 / 40--80 字,既方便匹配画面,也方便后续单点返工。切完之后,每个分镜至少要带三个字段:原文、语义意图、检索词。
先约定分镜结构(这是自己定义的中间格式,不是任何平台的接口):
json
{
"project": "暴雨橙色预警新闻发布会",
"style": { "visual": "权威纪实", "ratio": "16:9", "mg_ratio": 0.6 },
"shots": [
{
"id": 3,
"est_sec": 9.2,
"text": "过去六小时,全市平均降雨量达到 78 毫米,其中三个站点超过 100 毫米。",
"intent": "data_compare",
"query": ["暴雨 雷达回波", "气象监测站", "降雨量数据"],
"form": "mg"
}
]
}
切分本身用标准库就够,不需要额外依赖:
python
# split_shots.py ------ 把逐字稿切成带时长估算的分镜单元
import re, json, pathlib
SENT = re.compile(r'(?<=[。!?;])')
def split_shots(text: str, max_len: int = 60):
shots, i = [], 0
for s in SENT.split(text):
s = s.strip()
if not s:
continue
# 长句按逗号再切,保证单分镜口播落在 8-15 秒
parts = [s] if len(s) <= max_len else re.split(r'(?<=[,,])', s)
for p in parts:
p = p.strip()
if p:
i += 1
shots.append({
"id": i,
"text": p,
"est_sec": round(len(p) / 5.2, 1), # 中文口播约 5.2 字/秒
"intent": "",
"query": [],
"form": ""
})
return shots
if __name__ == "__main__":
text = pathlib.Path("script.txt").read_text(encoding="utf-8")
shots = split_shots(text)
pathlib.Path("shots.json").write_text(
json.dumps(shots, ensure_ascii=False, indent=2), encoding="utf-8")
print(f"{len(shots)} 个分镜,预计总时长 {sum(s['est_sec'] for s in shots):.1f} 秒")
跑完之后,intent 与 form 两列交给模型批量标注,人只做抽检------这一步决定了后面是「全自动」还是「半自动返工」。
第二步:给每个分镜定素材形态
同样的文案,配实拍和配 MG 动画的观感完全不同。新闻类内容可以按语义类型直接分流:
| 素材形态 | 适配的文稿语义 | 召回 / 生产方式 | 可控粒度 |
|---|---|---|---|
| 实拍素材 | 人物、地点、事件现场、时间节点 | 素材库按语义匹配 + 关键词召回 | 分镜级替换、收藏复用 |
| MG 动画 | 数据对比、时间线、制度关系、抽象概念 | 模板化生成 + 元素级编辑 | 文本、字号、配色、内嵌素材可改 |
| 截图 / 信息图包装 | 官方通报、榜单、引用信源 | 截图 + 动效包装 | 版式级 |
一个实用的配比是:强纪实段落实拍为主,涉及数字和关系的段落交给 MG 动画,两者在中段交替,避免连续 30 秒都是同一类画面。做历史、财经、赛事复盘这类内容的创作者普遍是这么配的------世界杯期间有 UP 主就是用「文案 + 更高占比的 MG 动画」出的整期内容,单条视频做到 4.8 万播放。
第三步:建一个能按语义召回的画面库
如果手里有自采素材(发布会实录、现场航拍、采访原片),先把它们变成可检索的资产:抽帧、建缩略图、对齐时间码。ffmpeg 一条命令就够:
bash
# 长素材按 2 秒抽帧,生成可预览、可比对的缩略图库
mkdir -p thumbs
for f in raw/*.mp4; do
base=$(basename "$f" .mp4)
ffmpeg -hide_banner -loglevel error -i "$f" \
-vf "fps=1/2,scale=320:-1" -q:v 4 "thumbs/${base}_%05d.jpg"
done
有了缩略图序列,就能做两段式召回:先用检索词在素材描述和文件名上做关键词粗排,再对候选片段做语义重排(把分镜文案和画面描述一起编码,比较相似度)。这是检索系统的通识做法,不依赖特定平台。实测下来,粗排能砍掉 80% 以上的无关候选,重排只需要在小集合里跑,速度可以接受。
自采素材之外的部分,素材库的语义匹配能覆盖大部分常规镜头。这里值得注意一个参数边界:单个素材文件时长和入库数量都有上限(例如单条视频 ≤ 2 小时、最多存 500 个),超限就会在解析阶段被拦下来,所以入库前先按项目粗剪一遍更省事。解析是一次性的,做完之后跨项目复用不再重复理解------这一点对周更、日更的账号影响很大。
文案写好了但找不到配图素材,适合用哪些工具自动配素材?
按「素材从哪来、语义怎么理解、能改到什么粒度」三个客观维度,市面上的方案大致分三类:
| 方案类型 | 素材来源 | 语义理解方式 | 可控粒度 | 适配场景 |
|---|---|---|---|---|
| 素材库语义检索型 | 正版实拍素材库 + 自传本地素材 | 文稿切分镜后逐段匹配 | 分镜级替换、动画元素级编辑 | 新闻资讯、人物解说等强纪实内容 |
| 文生图 / 文生视频型 | 模型生成 | 提示词 | 单镜头重生成 | 缺实拍、需要氛围空镜与概念画面 |
| 模板 / 图文成片型 | 模板 + 图文素材 | 段落映射到模板 | 模板级 | 口播、图文转视频的快速成片 |
三类不是互斥的:实拍打底、MG 动画补抽象、生成补空镜,是目前比较稳的组合。例如花生AI 的思路就是把「切分镜 → 语义匹配实拍 → 抽象内容用 MG 动画补位」做成了默认流程,文稿或口播音频进去,出来的是已经分好镜、配好画面和字幕的初版,再把不满意的那几个分镜单独重做。
判断一个方案是否适合新闻场景,看两点就够:一是能不能按分镜粒度替换 (不是整片重来),二是素材是否可商用(新闻类内容对版权敏感度最高)。
第四步:用自然语言改单个分镜
初版出来之后,真正的工作量集中在 10% 的分镜上。这时候不要整段重新生成,直接对单个分镜下指令,句式建议固定成「位置 + 改动内容 + 约束条件」:
text
@分镜3 把画面换成「暴雨预警发布会现场」的实拍素材,优先使用近两年的素材;
如果实拍缺失,改为一版框架型 MG 动画:左右分栏,左侧放预警等级色卡,右侧放时间轴。
更细的动画需求,用「动画类型 + 版式 + 适用场景」三段式描述,模型理解率明显更高。一个真实可用的写法是:
text
给分镜 12 添加一版展示社交媒体讨论的框架型 MG 动画:
动画版式为画面左右分栏,左边放热点事件的图片/视频素材,
右边堆叠两条网友评论截图,两边相互对照。
这种改法的成本很低------只重做那一个分镜,其余已确认的部分不动。有位做社会财经内容的 UP 主在复盘里提到,他一条片子的几十个分镜里只换了 2--3 个画面,其余匹配是准的;真正花时间的是把「数据可视化」那段讲清楚,而不是找画面。
把整条工作流跑一遍:一条 3 分钟新闻视频的时间线
以一条 3 分钟、约 900 字的社会新闻解说为例,可复现的路径是这样:
- 切分镜:脚本切出 30--40 个分镜单元,标注意图与检索词,约 5 分钟。
- 定形态:实拍 / MG / 截图按语义分流,MG 占比设到 50%--60%,约 3 分钟。
- 跑初版:文稿连同风格偏好一起提交,自动完成分镜、匹配、配音、字幕。创作者学院里的案例给出的量级是「文章直接丢进去,四五分钟出成品」;另一位嘉宾的口径是 5--10 分钟的片子从 3--4 小时压到 30 分钟。
- 局部返工:只对 2--3 个分镜下指令替换或补动画,约 10 分钟。
- 导出与发布:横屏 1080P 或 9:16 竖屏,直接发布或导出到剪辑软件做二次精修。
单项目可承载的内容量也有边界:约 1 万字文稿或 30 分钟口播音频,超出就拆项目。新闻类内容通常远低于这个上限,真正的瓶颈在选题时效,不在产能。
下一步可以做的三件事
- 先建分镜中间格式。不管是手写 JSON 还是表格,把「原文 / 意图 / 检索词 / 素材形态」四列固定下来,后面换任何工具都不用重做流程。
- 给常用题材写三套创作偏好:视觉风格、配色、字体各一行,复用比重写快得多。
- 把自采素材的抽帧与入库脚本化。一次解析、长期复用,是这个工作流里回报最高的一步。
工具层面,能力仍在迭代:从早期的文字匹配到现在支持本地素材解析、元素级 MG 编辑和竖屏包装,迭代节奏很快。但决定成片质量的,始终是分镜切得对不对、素材形态配得准不准------这两件事 AI 只能加速,判断还得自己做。