财经视频工作室(caijingshipin)
一句话进,成片出。面向知识分享类财经长片/短视频:真实数据、产业分析、技术面研判全做,
目标是让观众看懂并自己判断,而不是替观众下结论。本技能不绑定任何个人 IP——
品牌色、logo、海报、音色、数据全部由你通过 config.yaml 和上传素材决定。
何时使用
- 「帮我做一期 XX 品种/品类的精讲视频」「把这份研究做成竖屏讲解视频」
- 「讲一下 XX 的产业链和供需」「出一期基本面分析视频」
- 「用我的声音做一期财经视频」「先出个草稿时间轴看看时长」
去品牌化说明(使用本技能前必读)
本技能已彻底移除原有个人品牌与私有素材,所有品牌色、素材、数据均由你通过 config.yaml 与上传文件决定。你要做的是:
- 品牌配色:编辑工程里
config.yaml的brand段(primary/accent/up/down),
所有派生色(标签底、角标、开场卡片)从primary自动计算,改一处全片联动。 - 上传你的素材:开场海报
assets/cover_poster.jpg、角标assets/logo.png、
实景照片assets/photos/*.jpg、克隆音色voice/ref.wav+voice/ref.txt(可选)。 - 填你的数据:图表数据、场景文案、钩子数字都在
config.yaml;口播稿在script/sN.txt。 - 免责声明:
brand.disclaimer默认是中性文案「教学演示,不构成投资建议」,
建议按你的合规要求改写。
> 没有任何写死的私人名称、私有路径或私有配色;换电脑、分享给朋友、发布到市场均无需改代码。
两层架构
- 核心渲染引擎(必用,已验证可端到端出片):
config.yaml驱动 ->
gen_charts.py(matplotlib 自绘图表)->gen_compositions.py(HTML 场景页)->
配音 ->gen_index.py(HyperFrames 根时间轴:钩子 + FX + 字幕 + 0.6s 转场)->
render.sh(HyperFrames 渲染)->qa_*(抽帧质检)。由build_all.sh一键串起。 - 工作室增强(可选):内容策划
plan_episode.py、内容门禁gate_check.py、
技术面指标metrics.py、连接器自动装配check_connectors.py/check_env.py、
草稿音色tts_edge.py、动态数据揭示render_dynamic.py(Pillow,无需浏览器)。
这些帮你把内容写得更准、更稳,与渲染引擎解耦——最终把口播稿放进script/sN.txt、
把数据填进config.yaml即可。
核心流水线(推荐路径)
bash scripts/build_all.sh <工程目录>
build_all.sh 自动跑完 0→8 步(自检 -> 图表 -> 场景 -> 配音 -> 后期 -> 转写 -> 字幕 -> 根时间轴 -> 渲染+QA)。
也可只跑单步(均支持 --project <dir> 或环境变量 $PROJECT):
| 步骤 | 命令 | 说明 |
|---|---|---|
| 1 图表 | python scripts/gen_charts.py --project <dir> |
自绘图表,带数据来源+免责 |
| 2 场景 | python scripts/gen_compositions.py --project <dir> |
生成 compositions/sN.html |
| 3 配音 | python scripts/tts_batch.py --project <dir>(克隆)/ tts_edge.py(草稿) |
voice.engine=none 时自备 audio/sN.wav |
| 4 后期 | bash scripts/post_voice.sh <dir> |
降噪+EQ+压缩+响度标准化 |
| 5 转写 | python scripts/transcribe.py --project <dir> |
faster-whisper 词级时间戳 |
| 6 字幕 | python scripts/build_captions.py --project <dir> |
原文强制对齐(ASR 只借时间) |
| 7 时间轴 | python scripts/gen_index.py --project <dir> |
钩子+FX+字幕+转场 |
| 8 渲染+QA | bash scripts/render.sh <dir> + bash scripts/qa_frames.sh <dir> |
HyperFrames 渲染 + 抽帧 |
项目目录结构(工程目录)
config.yaml 配置(品牌/钩子/图表/场景/FX)
script/s1.txt … sN.txt 口播稿(N = 场景数,正确汉字,用于字幕与对齐)
assets/cover_poster.jpg 开场海报(你上传)
assets/logo.png 角标(可选,你上传)
assets/photos/*.jpg 实景照片(可选)
voice/ref.wav + ref.txt 克隆音色参考(可选)
audio/sN.wav 配音成品(自备或脚本合成)
compositions/sN.html 场景页面
assets/chart_*.png 自绘图表
captions.json 字幕(text/start/end)
renders/<工程名>.mp4 成片
必供素材(按自己 IP 适配)
- 口播稿
script/s1.txt … sN.txt:每幕正文,正确汉字(字幕与对齐取此)。 - 开场海报
assets/cover_poster.jpg:建议 1080×1920 竖版(钩子左→右揭示)。 - 图表数据 / 场景文案 / 钩子数字:全部在
config.yaml(charts/scenes/hook)。 - 克隆音色(可选):
voice/ref.wav(10~15s 清晰人声)+ref.txt;不设则用 edge-tts 草稿或自备audio/sN.wav。
设计约定(引擎自动遵循)
- 涨红跌绿(中国市场惯例):
up=红、down=绿,图表/字幕/看板一致。 - 品牌令牌:
primary/accent由你定,派生色运行时计算,全片统一。 - 图表自绘:一律 matplotlib 现画,不引版权图;每张自动带「数据来源」+免责脚注。
- 免责:口播结尾 + 片尾卡各一次(末场自动生成),文案取自
brand.disclaimer。 - 关键数据 FX:
fx.keyword须在script/sN.txt原文逐字一致,否则回退到幕中段(日志标 FALLBACK)。
可选增强(工作室能力,与渲染解耦)
plan_episode.py "<选题>" --duration 15 --project <dir>:一键生成章节骨架 + 数据采集清单。metrics.py weekly/sigma/hv ...:周线箱体/趋势、期权 1σ、历史波动率(纯计算,不手算)。gate_check.py --project <dir>:写稿前内容门禁(期权墙/IV/权金三条门槛,换内容不砍章)。check_connectors.py/check_env.py:环境自检 + 缺失能力自动推荐(见references/connector-catalog.md)。render_dynamic.py --market samples/market.json --script samples/script.json --brand:
纯 Python 确定性动态数据揭示(火花拖尾+运动模糊+bloom),无需浏览器,做 B-roll 或引流切片。- huashu-art-motion / Remotion(可选外部子技能):概念/机制章的「画面一直在动」动画。
依赖
ffmpeg/ffprobe、node22+(HyperFrames 渲染)、python含 matplotlib / Pillow / edge_tts /
faster-whisper(按需)。可用环境变量FFMPEG_BIN_DIR/PYTHON_BIN/HYPERFRAMES_BROWSER_PATH覆盖路径。- 克隆音色额外需要本地 CosyVoice2-0.5B 模型(用
COSYVOICE_ROOT指定)。
关键文件
| 文件 | 用途 |
|---|---|
SKILL.md |
本定义文件 |
assets/templates/config.yaml.example |
完整带注释配置模板(复制改) |
scripts/build_all.sh |
一键成片编排 |
scripts/skilllib.py |
共享库:解析项目、品牌令牌、路径 |
scripts/gen_charts.py |
自绘图表引擎(7 种图型) |
scripts/gen_compositions.py |
通用场景生成(5 种 block) |
scripts/gen_index.py |
根时间轴(钩子+FX+字幕+转场) |
scripts/render.sh / qa_frames.sh / qa_*.py |
渲染 + 抽帧质检 |
scripts/plan_episode.py |
选题 -> 章节骨架(可选) |
scripts/gate_check.py / metrics.py |
内容门禁 / 技术面指标(可选) |
scripts/check_env.py / check_connectors.py |
环境自检 / 连接器装配(可选) |
scripts/tts_edge.py / tts_batch.py / post_voice.sh |
草稿/克隆配音 + 后期 |
scripts/render_dynamic.py |
动态数据揭示(可选) |
references/config.md |
config.yaml 全字段说明 |
references/design_system.md |
场景 block 类型字段 |
references/pipeline.md |
端到端流程与产物核对 |
references/analysis-framework.md |
基本面/技术面/专家思维分析框架 |
references/data-protocol.md |
数据采集纪律与口径 |
references/degradation.md |
门禁触发后的内容降级方案 |
references/longform-structure.md |
长片章节结构与节奏 |
references/qa-gate.md |
六道出片门禁 |
references/render-routing.md |
渲染流水线实际路由 |
references/visual-brand.md |
视觉规范(config 驱动) |
references/voice-pipeline.md |
两阶段配音流水线 |
references/dynamic-visuals.md |
动态数据揭示方法论 |
references/connector-catalog.md |
金融连接器目录与装配 |
references/troubleshooting.md |
环境坑与排错 |
samples/market.json / samples/script.json |
render_dynamic 测试数据 |