Skip to main content

longform-documentary-producer

让 Codex 制作 60 分钟以上的长篇纪录片、科普、课程、历史叙事、调查解释或专题视频。负责批量读取 PDF、DOCX、PPTX、网页、字幕和本地资料,建立可检索语料库,逐来源摘要,生成多章大纲和数万字文案,批量规划数百镜头,搜索并审核图片/视频/音频素材,逐章配音、字幕、渲染并最终拼接。适用于“一小时以上视频”“超长文案和大量素材”“多章节系列合成长片”“失败后只重跑一章”等任务。必须保留事实来源和素材许可证,不允许用一个超长提示词或一次性渲染整片。

跳到安装

来源信息

仓库
yniantongtian-oss/ai-video-creation-collection
最近来源活动
2026年7月29日 09:39
检测到的 SKILL.md 语言
中文
星标
0
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
longform-documentary-producer
description
让 Codex 制作 60 分钟以上的长篇纪录片、科普、课程、历史叙事、调查解释或专题视频。负责批量读取 PDF、DOCX、PPTX、网页、字幕和本地资料,建立可检索语料库,逐来源摘要,生成多章大纲和数万字文案,批量规划数百镜头,搜索并审核图片/视频/音频素材,逐章配音、字幕、渲染并最终拼接。适用于“一小时以上视频”“超长文案和大量素材”“多章节系列合成长片”“失败后只重跑一章”等任务。必须保留事实来源和素材许可证,不允许用一个超长提示词或一次性渲染整片。
metadata
{"version":"1.0.0","language":"zh-CN","orchestrates":["web-media-producer","moneyprinterturbo-video","ai-video-editing","NarratoAI","VideoLingo","Edge-TTS","FFmpeg"]}
# Codex 长篇视频制作 本 Skill 面向 60–360 分钟视频。长视频必须采用章节化流水线: ```text 项目规格 → 研究资料入库 → 逐来源摘要 → 全片章节大纲 → 逐章检索和写稿 → 逐章镜头规划 → 批量搜索开放授权素材 → 人工/Codex 相关性与版权审核 → 逐章配音和字幕 → 逐章素材匹配与渲染 → 最终拼接、章节元数据和质量报告 ``` 不得把短视频生成器简单设置成 60 分钟。不得一次把所有资料塞进一个模型请求。不得一次渲染整片。 ## 一、默认设计 用户只说明“一个多小时”而没有给具体规格时,采用: - 目标时长:90 分钟; - 画幅:16:9,1920×1080,30 fps; - 章节:约 13 章,每章约 7 分钟; - 中文旁白:每分钟约 260 字符,总计约 23,400 字符; - 视觉节奏:约每 10 秒更换主要画面,总计约 540 个镜头段; - 编码:H.264 + AAC; - 视频码率:8 Mbps; - 字幕:独立 SRT,并在 MP4 中附加字幕轨; - 自动下载素材全部先作为候选,默认 `selected=false`; - 每章独立配音和渲染,支持断点续跑。 用户明确要求的时长、画幅、语言、风格、平台和受众优先。 ## 二、安装 仓库根目录执行: ```bash python scripts/install_web_media_stack.py --profile full python scripts/install_longform_stack.py python scripts/install_auto_editor.py ``` 先预览而不安装: ```bash python scripts/install_longform_stack.py --dry-run ``` 长视频环境变量位于: ```text tools/longform/.env ``` 至少配置: ```text LONGFORM_LLM_BASE_URL LONGFORM_LLM_API_KEY LONGFORM_LLM_MODEL ``` 不得打印、提交或复述密钥。 ## 三、创建项目 ```bash python scripts/scaffold_longform_project.py \ --name "项目名称" \ --topic "视频主题" \ --duration 90 \ --chapter-minutes 7 \ --aspect-ratio 16:9 \ --audience "目标观众" \ --style "纪录片式科普,信息密度高但表达自然" ``` 项目目录: ```text projects/<name>/ ├── brief.md ├── project.json ├── research/ │ ├── inbox/ │ ├── extracted/ │ ├── summaries/ │ ├── sources.jsonl │ ├── chunks.jsonl │ └── index.sqlite ├── outline/ ├── manifests/ ├── chapters/ │ ├── 01/ │ ├── 02/ │ └── ... ├── state/ ├── logs/ └── outputs/ ``` 所有资料、素材、中间文件和成片都放在项目目录中。 ## 四、资料入库 把资料放进: ```text projects/<name>/research/inbox/ ``` 支持: ```text PDF DOCX PPTX TXT Markdown HTML CSV / TSV JSON SRT / VTT ``` 然后运行: ```bash python scripts/ingest_longform_corpus.py \ --project "projects/<name>" ``` 也可直接指定多个文件或目录: ```bash python scripts/ingest_longform_corpus.py \ --project "projects/<name>" \ --input "/path/to/documents" \ --input "/path/to/subtitles" ``` 脚本会: 1. 复制外部文档到项目; 2. 计算 SHA-256; 3. PDF 按页、PPTX 按幻灯片保留定位; 4. 提取正文; 5. 切成重叠语料块; 6. 写入 JSONL 和 SQLite 检索索引; 7. 跳过已经入库的相同文件。 扫描版 PDF 无文本时不能伪造读取结果,应先使用可靠 OCR 或要求提供可复制文本版本。 ## 五、研究、大纲、文案和镜头 一条命令完成: ```bash python scripts/run_longform_project.py \ --project "projects/<name>" \ research ``` 它会按以下顺序执行: ```text 逐来源摘要 → 全片大纲 → 逐章检索资料 → 逐章撰写文案 → 逐章生成镜头表 ``` 单独运行: ```bash python scripts/longform_pipeline.py --project "projects/<name>" summarize python scripts/longform_pipeline.py --project "projects/<name>" plan python scripts/longform_pipeline.py --project "projects/<name>" write python scripts/longform_pipeline.py --project "projects/<name>" shots ``` 只重做第 4 章: ```bash python scripts/longform_pipeline.py \ --project "projects/<name>" \ write \ --chapter 4 \ --force python scripts/longform_pipeline.py \ --project "projects/<name>" \ shots \ --chapter 4 \ --force ``` 每章必须输出: ```text brief.md script.md narration.txt claims.json open-questions.json shots.json ``` `script.md` 保留 `[S:source_id#locator]` 来源标记;`narration.txt` 是不朗读来源标记的配音稿。资料不足处必须写 `NEEDS_SOURCE`。 ## 六、长视频素材策略 不要为每个镜头进行一次独立网络搜索。先把镜头查询去重为每章 8–15 个查询组: ```bash python scripts/build_longform_asset_plan.py \ --project "projects/<name>" ``` 执行 Wikimedia Commons、Openverse、Pexels 和 Pixabay 搜索,并为每个平台下载一个候选: ```bash python scripts/run_longform_project.py \ --project "projects/<name>" \ assets \ --execute-search \ --download-first 1 ``` 候选进入: ```text assets/global/images/ assets/global/videos/ manifests/assets.jsonl ``` 自动下载的素材始终为候选,不得直接进入成片。 ### 素材不足时的优先级 1. Wikimedia Commons 的公共领域、CC BY、CC BY-SA 档案; 2. Openverse 中许可证明确的图片和音频; 3. Pexels、Pixabay 的平台授权 B-roll; 4. 官方机构、博物馆、大学和政府公开资料; 5. 用户自有素材; 6. 用 ComfyUI 自制缺失的概念画面; 7. 自制地图、时间线、流程图和数据图; 8. 仅在合法合理引用范围内使用必要短片,并保留单独法律审核,不自动认定可发布。 不得用来源不明的影视、音乐、图库或社交平台搬运内容填满一小时。 ## 七、素材审核和批准 列出候选: ```bash python scripts/media_asset_manifest.py list \ --manifest "projects/<name>/manifests/assets.jsonl" \ --candidates ``` Codex 应逐项查看: - 画面是否与旁白匹配; - 是否有水印、低清、错误人物或错误地点; - 来源页是否存在; - 许可证是否允许当前用途; - 是否需要作者署名; - 是否包含隐私、人像、商标、未成年人或敏感内容风险。 批准一个素材: ```bash python scripts/media_asset_manifest.py set-selected \ --manifest "projects/<name>/manifests/assets.jsonl" \ --id "asset-id" \ --value true \ --note "已核对画面相关性、来源页和许可证" ``` 批量批准: ```bash python scripts/media_asset_manifest.py set-selected \ --manifest "projects/<name>/manifests/assets.jsonl" \ --ids-file approved-assets.txt \ --value true ``` 取消批准: ```bash python scripts/media_asset_manifest.py set-selected \ --manifest "projects/<name>/manifests/assets.jsonl" \ --id "asset-id" \ --value false ``` 批准时会重新验证文件哈希、来源、许可证、作者署名和许可说明。 ## 八、配音、时间线和章节渲染 一条命令: ```bash python scripts/run_longform_project.py \ --project "projects/<name>" \ produce ``` 它会执行: ```text 版权预检 → 逐章分段配音 → 合并逐章字幕 → 素材自动匹配 → 逐镜头缓存 → 逐章渲染 → 最终拼接 → 全片字幕与章节时间戳 ``` 如果没有足够的已批准素材,命令必须停止并输出: ```text LONGFORM_NEEDS_ASSET_REVIEW ``` 不得绕过该闸门。 ### 单独运行 ```bash python scripts/render_longform_narration.py \ --project "projects/<name>" python scripts/build_longform_timeline.py \ --project "projects/<name>" python scripts/render_longform_chapters.py \ --project "projects/<name>" python scripts/assemble_longform_video.py \ --project "projects/<name>" ``` 只重做一章: ```bash python scripts/render_longform_narration.py \ --project "projects/<name>" \ --chapter 4 \ --force python scripts/build_longform_timeline.py \ --project "projects/<name>" \ --chapter 4 python scripts/render_longform_chapters.py \ --project "projects/<name>" \ --chapter 4 \ --force ``` 重做单章后,再运行最终拼接。 ## 九、现有视频分析 用户提供长视频、采访、课程、纪录片或大量视频素材时: 1. 使用 yt-dlp 或用户本地文件取得合法素材; 2. 使用 VideoLingo、NarratoAI 或 Auto-Editor 转录音频; 3. 按固定间隔和场景切换抽帧; 4. 让视觉模型分析抽帧,而不是声称一次看完数小时原视频; 5. 将字幕、时间码、人物、地点、镜头类型和主题标签写入项目; 6. 再参与章节检索和素材匹配。 不得未经运行视频理解或抽帧步骤就声称已经看完所有素材。 ## 十、质量预检 任何阶段均可运行: ```bash python scripts/longform_preflight.py \ --project "projects/<name>" \ --stage setup ``` 可选阶段: ```text setup research writing assets narration render final ``` 预检内容包括: - 长视频虚拟环境; - LLM 配置; - Edge TTS; - FFmpeg; - 可用磁盘空间; - 资料来源和语料块; - 来源摘要和章节大纲; - 文案长度和章节完整度; - 镜头数量; - 已批准素材和许可证; - 时间线黑屏占位; - 配音章数和时长; - 已渲染章节和时长。 渲染前预检失败时不得继续。 ## 十一、断点和状态 查看状态: ```bash python scripts/run_longform_project.py \ --project "projects/<name>" \ status ``` 状态文件: ```text state/pipeline.json chapters/<id>/status.json ``` 已有摘要、文案、语音片段、镜头视频和章节视频默认跳过。只有用户明确要求或产物损坏时使用 `--force`。 ## 十二、最终交付 最终目录至少包括: ```text outputs/final/<project>.mp4 outputs/final/full.srt outputs/final/youtube-chapters.txt outputs/final/chapters.ffmetadata outputs/final/assembly-report.json outline/outline.json outline/chapter-map.csv manifests/assets.jsonl research/sources.jsonl chapters/*/script.md chapters/*/claims.json ``` 交付前检查: 1. `assembly-report.json` 的时长检查通过; 2. 总时长符合用户要求; 3. 无 `NEEDS_SOURCE` 遗留,或已明确列为待核查; 4. 无占位镜头; 5. 无丢失素材和哈希变化; 6. 字幕、旁白和画面同步; 7. 音量一致,无明显爆音和长时间静音; 8. 开头、章节转场和结尾完整; 9. 署名清单满足许可证; 10. 没有实际生成 MP4 时,不得声称视频已完成。 ## 十三、禁止事项 - 不用一个超长提示词生成整部一小时文案; - 不把所有原始资料无筛选塞入上下文; - 不一次渲染完整长片; - 不自动批准下载的素材; - 不绕过登录、付费墙、验证码、地区限制、robots 或 DRM; - 不因为来源很多就省略事实核查; - 不覆盖原始素材; - 不在仓库提交 API Key、模型、原视频、音频、成片或大型缓存; - 不在缺少实际运行结果时声称已经完成。
在 GitHub 查看