黑板粉笔
16:9 横屏黑板课程模板。木框 + 墨绿板面 + 粉笔字,版式与知识看板完全同名,多了课程名页眉、章节号和标题两色分词,适合成系列的课程讲解。
· Markdown
直接这样说
- 用 html-slide-blackboard 做一节课,课程名写「Python 入门」,这是第 1.2 节
- 做一条黑板风格的讲解视频,横屏,把这个知识点拆成 4 个要点
什么时候选它
要做一门课或一个系列讲解:每集都是同一个课程名、有章节号、画面风格统一。板书的视觉语言让「上课」的感觉更强。
它和 知识看板(html-slide) 是同一套骨架,只是换成了板书风格。已经会用知识看板,这里只需要看下面「特有的参数」。
规格
| 项 | 值 |
|---|---|
| 画幅 | 16:9(只有横屏,1920×1080) |
| 时长 | 15–600 秒 |
| 内容语言 | 中文 |
| 场景类型 | opening / point / cta / ending |
| 旁白 | 需要(音频) |
| 字幕 | 描边字幕 |
| 数字人 | 可选 |
主题变体 3 套:green-board 墨绿黑板(默认)、black-board 深灰黑板、light-board 牛皮纸浅板。字体默认霞鹜文楷。
版面
- 木框 + 板面:默认背景就是木框黑板,不用写。
- 页眉:左上课程名、右上章节号(暖黄粗体),全片常驻。
- 板书主体:26 种版式,
slideId与知识看板完全同名(hero-title、feature-grid、timeline-axis、compare-table、formula-steps、quiz-reveal 等),每屏在customPayload.slideId里选一个。各版式的字段、数组上限见 知识看板,两个模板的 DSL 可以互换。 - 标题两色:命中的关键词用暖黄,其余用淡蓝。
关键参数
以下是本模板特有或与知识看板取值不同的参数。版式本身的 templateData 字段与知识看板一致。
| 参数 | 位置 | 类型 / 取值 | 默认 | 说明 |
|---|---|---|---|---|
slideId | customPayload.slideId | 26 种版式 id,与 html-slide 同名 | — | 每屏必须显式写。不写或写错会静默回落到只有一行标题的默认版式 |
watermarkText | customPayload.watermarkText(场景顶层) | 字符串 | 不显示 | 页眉左上的课程名,整门课写同一个 |
pageNo | customPayload.templateData.pageNo | 字符串,如 "1.1" | 不显示 | 页眉右上的章节号 |
highlight | customPayload.templateData.highlight | 字符串,须是 title 的子串 | 不给则整句米白 | 标题两色分词:命中部分暖黄,其余淡蓝 |
background.preset | customPayload.background | board / solid / gradient / image / video / noise / none | board | 木框黑板是默认值,通常不用写。从知识看板迁 DSL 时把 grid 改成 board |
background.woodFrame | customPayload.background | 布尔 | true | 最外圈木框。只有整屏图片 / 视频出镜时才值得关 |
background.boardOverlay | customPayload.background | 布尔 | false | 在图片 / 视频上叠一层板面质感,让照片像「贴在黑板上」 |
background.motion | customPayload.background | static / kenburns-in / kenburns-out / pan-left / pan-right | kenburns-in | 图片背景运镜 |
background.overlayOpacity | customPayload.background | 0–1 | 0.55 | 图片 / 视频上的蒙版,设 0 关闭 |
background.overlayColor | customPayload.background | 颜色 | rgba(24,32,26,1) | 蒙版颜色,默认取板面深绿调 |
background.blurPx | customPayload.background | 0–40 | 0 | 图片 / 视频模糊,让粉笔字更清楚 |
highlightMap | customPayload.templateData.highlightMap | 对象:字幕行下标 → 卡片下标 | 自动推导 | 旁白带 outro 行时手写,把 outro 也映射到最后一张卡 |
digitalHuman.position | customPayload.digitalHuman | 九宫格 top-left … bottom-right / custom | 右下角 | 老师出镜位置。避开 top-left / top-right,那里是页眉 |
digitalHuman.size | customPayload.digitalHuman | small / medium / large / full,或 0.1–1 | medium | 小窗高度,档位分别占画面短边 0.28 / 0.42 / 0.62 / 0.92 |
digitalHuman.shape | customPayload.digitalHuman | rect / rounded / circle | 圆角 | 不支持抠像 |
digitalHuman.layout | customPayload.digitalHuman | overlay / reserve | overlay | reserve 会把板书等比缩小让出一侧 |
数字人只在场景写了 visuals.avatar.assetRef 时出现;相邻几屏引用同一个 assetRef 就是一段连续视频。
什么时候别选它
常见坑
- 没写
slideId。渲染成功、零报错,画面只剩一行居中标题,看起来像「模板本来就长这样」。整片也不要只用一种版式。 highlight不是标题的子串。不会报错,只会静默退回整句米白。- 课程名写进了
templateData。课程名走场景顶层的watermarkText,章节号才走templateData.pageNo。 - 字段名凭直觉写。例如 feature-grid 的卡片标题叫
name不叫title。写错不报错,那一块静默空掉,照着版式的字段写。 - 卡片数 ≠ 旁白条数。逐项高亮的版式要求
narration.items与卡片数组等长。 - 数组超上限。超出部分会被静默裁掉,内容多就拆成多个场景。
- 图片只写了 URL。slide 内的图要先在 DSL 的
assets[]声明,再用assetRef引用,否则静默不显示。
下一步
- 脚本生成(gen-script) — 输入一个主题,产出结构化的视频 DSL:分几个场景、每个场景讲什么、要哪些素材。这是整条流水线的第一步,出稿后会停下来等你确认。
- 配音(gen-voice) — 文字转语音(Minimax)。返回可直接播放的音频 URL,JSON 输出时附带音频时长和字幕时间轴,不需要下载。
- 数字人口播(gen-digital-human) — 选一个数字人形象(或用自己的视频 / 照片克隆一个),给它一段文字或一段现成音频,产出一条口播视频。
- 知识看板 — 16:9 横屏概念讲解模板。26 种内置幻灯片版式、7 种背景预设,卡片随旁白逐项点亮,适合科普、白板风格的讲解。
- 数学解题思路讲解 — 3:4 竖屏小学数学讲解模板。一块板子讲完一道题:题面彩色标注、方程 / 条形图 / 线段图 / 表格四选一,红色虚线框随旁白圈选,答案最后落进图形里。