本文へ移動
cccskills
無料GitHub で公開

hand-drawn-explainer-video-nikola

制作、修改和验收中文手绘知识讲解视频,交付配音、字幕、时间轴、可编辑工程和真实 MP4。支持两条不可混淆的制作路线:同一画布持续落墨的逐笔故事动画,以及用 SVG/HTML/GSAP 编排流程卡片、关系图和知识图形的程序动画。逐笔路线可选择自然肤色 Q 版人物、小黑风格或其他手绘风格,并可采用单场景、多幕故事、左右双语义岛等画面结构。

用户说“边讲边画”“一笔一笔画出来”“白板手绘”“先画左边再画右边”“知识讲解动画”或希望把文稿、SRT、人物故事做成手绘视频时使用。也支持只输出生图/图生视频提示词。不用于写实数字人或假装已经完成无法验证的成片。

インストール方法を見る

含まれるファイル(86)

  • SKILL.md7.6 KB
  • .env.example101 B
  • .gitattributes177 B
  • .gitignore296 B
  • agents/openai.yaml446 B
  • config/runtime.example.json380 B
  • CONTRIBUTING.md887 B
  • docs/ARCHITECTURE.md833 B
  • docs/assets/volcengine-seed-tts-2-setup.png475.7 KB
  • docs/CONFIGURATION.md1.5 KB
  • docs/INSTALL.md4.2 KB
  • docs/STYLES.md2.5 KB
  • docs/TROUBLESHOOTING.md2.5 KB
  • evals/evals.json4.5 KB
  • examples/program-animation/skill-demo/assets/narration.wav1.6 MB
  • examples/program-animation/skill-demo/DESIGN.md1.2 KB
  • examples/program-animation/skill-demo/hyperframes.json318 B
  • examples/program-animation/skill-demo/index.html36.8 KB
  • examples/program-animation/skill-demo/package-lock.json557 B
  • examples/program-animation/skill-demo/package.json513 B
  • examples/program-animation/skill-demo/preview.png475.7 KB
  • examples/program-animation/skill-demo/README.md1.1 KB
  • examples/program-animation/skill-demo/script.txt567 B
  • examples/program-animation/skill-demo/timeline.json2.1 KB
  • examples/program-animation/skill-demo/what-is-skill-sample.mp43.5 MB
  • examples/program-animation/skill-demo/使用说明.txt834 B
  • examples/stroke-story/steve-jobs/annotation.json1.3 KB
  • examples/stroke-story/steve-jobs/README.md981 B
  • examples/stroke-story/steve-jobs/regions-preview.png1.2 MB
  • examples/stroke-story/steve-jobs/semantic-island-sample.mp41.2 MB
  • examples/stroke-story/steve-jobs/source.png1.3 MB
  • examples/stroke-story/steve-jobs/steve-jobs-biography.mp412.9 MB
  • examples/stroke-story/steve-jobs/transition-contact.jpg192.4 KB
  • examples/stroke-story/yuefa-sanzhang/editable-project.zip19.1 MB
  • examples/stroke-story/yuefa-sanzhang/hand-speed-contact-sheet.jpg1.4 MB
  • examples/stroke-story/yuefa-sanzhang/README.md2.3 KB
  • examples/stroke-story/yuefa-sanzhang/seven-scenes-final-frames.jpg1.0 MB
  • examples/stroke-story/yuefa-sanzhang/timeline.json2.0 KB
  • examples/stroke-story/yuefa-sanzhang/verification.json1.8 KB
  • examples/stroke-story/yuefa-sanzhang/yuefa-sanzhang-16x9-stroke-story.mp427.9 MB
  • LICENSE11.1 KB
  • LICENSE-MEDIA.md728 B
  • preferences.json744 B
  • README.md10.8 KB
  • references/automation-workflow.md6.0 KB
  • references/hand-drawn-video-prompts-LICENSE.txt1.0 KB
  • references/output-example.md8.4 KB
  • references/preflight-and-recovery.md5.4 KB
  • references/prompt-workflow.md1.8 KB
  • references/q-human-story-style.md1.5 KB
  • references/quality-and-delivery.md4.6 KB
  • references/semantic-island-storytelling.md5.6 KB
  • references/stroke-story-workflow.md13.0 KB
  • references/style-guide.md6.7 KB
  • references/style-selection-and-updates.md4.9 KB
  • references/upstream-whiteboard-review.md2.1 KB
  • references/voiceover.md4.4 KB
  • references/xiaohei-style.md2.4 KB
  • requirements-media.txt70 B
  • scripts/animation-map.mjs20.3 KB
  • scripts/asr-requirements-tested.txt418 B
  • scripts/boundary_contact_sheet.py3.5 KB
  • scripts/check_drawable_regions.py5.2 KB
  • scripts/finalize_stroke_video.py5.8 KB
  • scripts/install.ps1919 B
  • scripts/media_check.py11.5 KB
  • scripts/preflight.py5.9 KB
  • scripts/quick_validate.py4.0 KB
  • scripts/setup_check.py3.6 KB
  • scripts/stroke_story_preflight.py6.1 KB
  • scripts/volcengine_tts.ps16.3 KB
  • SECURITY.md589 B
  • SKILL.zh-CN.md1.4 KB
  • THIRD_PARTY_NOTICES.md2.9 KB
  • vendor/srt-whiteboard-animation/assets/drawing-hand.png784.0 KB
  • vendor/srt-whiteboard-animation/assets/preview.html27.7 KB
  • vendor/srt-whiteboard-animation/LICENSE1.0 KB
  • vendor/srt-whiteboard-animation/scripts/annotation_schema.py5.0 KB
  • vendor/srt-whiteboard-animation/scripts/merge_scenes.py3.8 KB
  • vendor/srt-whiteboard-animation/scripts/parse_srt.py4.9 KB
  • vendor/srt-whiteboard-animation/scripts/prepare_env.py3.3 KB
  • vendor/srt-whiteboard-animation/scripts/render_annotation_preview.py2.6 KB
  • vendor/srt-whiteboard-animation/scripts/render_stream_whiteboard.py26.5 KB
  • vendor/srt-whiteboard-animation/scripts/stream_render.py75.4 KB
  • vendor/srt-whiteboard-animation/tests/test_annotation_schema.py2.0 KB
  • vendor/srt-whiteboard-animation/UPSTREAM.md867 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Nikola 手绘讲解视频

把中文主题、文稿或 SRT 变成真正可播放、可检查、可继续编辑的手绘讲解视频。先识别用户要的是“画面被逐笔画出来”,还是“手绘风独立元素运动”;不能为了方便把一种效果冒充另一种效果。

提示词模式无本地依赖;逐笔渲染器已随仓库打包,首次使用需创建隔离 Python 环境;程序动画模式需 Node.js、HyperFrames、浏览器和 FFmpeg。成片配音默认使用火山引擎刘飞音色,需用户自己的已授权账号或复用已有音轨;图像生成和视频模型为可选能力,可能产生费用。

先选择交付范围

  • 只要提示词:读 prompt-workflow.md,输出自包含提示词,不调用收费接口。
  • 样片:制作用户指定片段;未指定时用 10–15 秒代表镜头验证人物、笔迹、字幕和节奏。
  • 完整视频:先读 安装与预检 和 完整流程。先内部验证代表镜头,再继续全片;只有用户要求逐步确认或存在关键选择时才暂停。
  • 修改已有视频:保留未被要求修改的音轨、时间轴和素材,只重做受影响阶段。

先选两条制作路线之一

用户真正想要的效果制作路线必读
“画面被画出来”“边讲边画”“逐笔落墨”“笔尖跟着线走”逐笔故事动画stroke-story-workflow.md
流程卡片、概念关系、独立元素组合、确定性文字程序动画HyperFrames + SVG/HTML + GSAP,读 automation-workflow.md

逐笔故事动画选定后,再分别选择画面结构与视觉风格:

  • 画面结构:单场景、多幕连续故事,或“先左后右并保留前文”的左右双语义岛。双语义岛只是逐笔故事的一种画面组织方法,参考 semantic-island-storytelling.md。
  • 视觉风格:自然肤色 Q 版人物、小黑风格,或用户指定的其他手绘风格。Q 版适合人物传记与历史;小黑适合抽象观点、方法论和隐喻。两种风格都能采用双语义岛,也都能采用其他画面结构。

场景视频与“只输出 Flow/Nano Banana 提示词”是可选交付方式,不是本 Skill 的第三条手绘制作路线。自然连续人物动作或复杂运镜需要先核实视频模型、成本和一致性限制;只要提示词时读 prompt-workflow.md。

逐笔路线使用 vendor/srt-whiteboard-animation/ 中随仓库发布的 MIT 后端快照。它不包含第二份 SKILL.md,不会单独触发或要求重复确认;主 Skill 统一负责路由、配音、字幕、渲染和验收。运行环境不可用时保存已完成资产并报告缺口;除非用户明确同意,不以 SVG 动画冒充真实逐笔绘制。

可选视觉风格

  • Q 版人物故事:自然肤色、人物身体、年龄和服装锚点清楚,适合传记、历史和人物观点。参考 q-human-story-style.md 与 乔布斯案例。
  • 小黑风格:纯白、稀疏黑线、少量红橙蓝、留白和冷幽默动作主体,适合方法、系统、状态和隐喻。它是本仓库内置、可直接点选的公开预设;使用时必须读取 完整视觉 DNA、来源说明与提示词骨架。该风格借鉴 Ian 的开源项目,应始终称为“小黑风格”。

程序化知识图形是制作路线,不是视觉风格。参考 “什么是 Skill”程序动画案例。逐笔案例见 《约法三章》 与 《乔布斯的一生》。

参考图只影响当前项目,除非用户明确要求保存为新预设。人物、画风、动效和声音分别记录,不把换画风等同于换音色或重做旁白。

公开默认与本地配置

仓库中的 preferences.json 只含无密钥默认值。用户指令和项目 DESIGN.md 优先。成片默认使用火山引擎 seed-tts-2.0 的刘飞音色 zh_male_liufei_uranus_bigtts;用户明确要求时可选择火山引擎其他已授权音色,已有与文稿一致的合格音轨优先复用。不要自动改用电脑系统朗读、edge-tts 或其他低质量本地 TTS;缺少授权音轨时可以继续提示词、画面和无配音阶段,但必须把配音列为未完成项。

首次使用先读 安装说明 和 配置说明,再运行:

python scripts/setup_check.py

完整视频在首次配音或长渲染前还要运行路线对应的预检。预检失败只阻止依赖该能力的阶段,不重做已经通过的音频、插画或字幕。

核心制作规则

  1. 保留内容:分别保存原稿、合成读音稿和字幕;未经授权不删观点、数字和限定词。
  2. 声音先行:优先复用内容一致的完整音轨;新音轨尽量整段或按自然章节合成。
  3. 时间来自真实音频:使用有效时间戳、强制对齐或复核后的句级停顿;不能把平均分配说成逐字对齐。
  4. 动画服务于解释:逐笔路线按语义区域持续落墨;程序路线拆成可控元素。整图平移、缩放或淡入淡出只能辅助。
  5. 控制可画性:真实笔迹速度取决于区域时间和源图复杂度;hand-follow 只平滑手部,不能让线条真正减速。
  6. 精确文字后期生成:日期、专名、Logo、长中文和关键数字使用字幕或确定性文字层,不交给图片模型猜写。
  7. 先验证代表镜头:检查人物一致性、抬笔、补色、遮挡、关键词和字幕,再批量渲染。
  8. 成片必须真实验收:完整解码 MP4,检查全部场景、语义边界、切点、音轨和最后 0.3–0.5 秒。

安全、费用和准确性

  • 不把 API Key、Token、Cookie、请求头、本机绝对路径或私有模型目录写入仓库、命令参数、报告或工程 ZIP。
  • 账号型配音、生图和视频服务可能收费;先复用缓存,不盲目重试状态不明的请求。
  • 真实人物、公司、Logo、日期和数字需要可靠来源或确定性资产。风格参考不能保证实体准确。
  • 用户要求完整视频时,最少交付真实 MP4;工具支持时同时保留 SRT、旁白、时间轴、源图、标注和可编辑工程。

质量与交付细节见 quality-and-delivery.md。仓库结构、贡献和许可见 README。

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

このスキルの問題を報告する