--- name: documentary display-name-zh: 纪录片 summary-cn: 输入主题,全流程生成纪录片或科普视频 summary-en: Generate narrated documentary videos description: | 纪录片/科普片视频生成工作流。适用于用户要求生成一段较长的叙事类视频时, 如"帮我生成一个关于XX的1分钟视频"、"做一个关于XX的科普视频"等。 涵盖分析策划、分镜脚本、图片生成、旁白配音、视频片段生成、后期合成的完整流程。 触发词包括:纪录片、科普片、documentary、explainer video、 生成一个X分钟的视频、长视频、叙事视频、科普视频。 version: 0.1.6 tags: [Video, Explainer] tags-cn: [视频, 科普] exported-by: MiniMax-hub --- # Documentary / Explainer Video - 纪录片与科普片生成工作流 本工作流适用于生成有旁白、多场景的叙事类长视频(如纪录片、科普视频、品牌介绍片等)。 ## 适用场景 - "帮我生成一个关于XX的1分钟/3分钟视频" - 科普视频、知识讲解视频 - 纪录片风格的叙事视频 - 带旁白和字幕的多场景视频 ## 完整工作流 ### Step 1: 分析与策划 - 识别关键信息:创意需求、语言、风格(写实/卡通/动漫)、目标受众、主题、基调。 - 全片保持风格一致 -- 不要混搭风格。在所有 prompt 中强调确定的风格。 - 判断视频是否有主角(需要在多个场景中保持一致的主要角色/主体): - **有主角**(如产品评测、角色故事):需要参考图保持一致性 - **无主角**(如风景游览、抽象主题):不需要参考图 - **主角处理流程(CRITICAL)**: 1. 如果用户提供了参考图 -> 用 `read_media` 分析其视觉特征(外貌、服装、发型、体型、显著特征),保存描述。 2. 如果没有参考图但需要主角 -> 先通过 image agent 生成一张,再用 `read_media` 分析。 3. **在发给 image agent 的每个 task_description 中,必须同时包含主角描述 AND 参考图路径。** image agent 是无状态的 -- 不告诉它主角长什么样,它会生成随机人物。 4. task_description 示例: "Generate 5 scene images. The protagonist is a young woman with long black hair, wearing a red dress, slim build (reference image: /path/to/ref.png). Use this as image_paths reference for all images. ..." ### Step 2: 创建分镜脚本 - 根据需求生成主线故事,按需调整长度。 - **从目标时长计算场景数**: 1. 总目标时长(如 "3 minutes" = 180s) 2. 减去片头(6s)+ 片尾(6s)= 主体场景可用秒数 3. 假设每个主体场景平均约 8s(6s 和 10s 混合),计算:`main_scene_count = ceil(remaining / 8)` 4. 3 分钟视频:至少 **21 个主体场景**(168s / 8 = 21) 5. 1 分钟视频:至少 **6 个主体场景**(48s / 8 = 6) - 创建连贯、有逻辑的分镜脚本: - **片头场景**:主题文字居中画面,无旁白。6 秒。 - **主体场景**:首帧描述 + 视频运动描述。包含旁白或对话。每个场景 6s 或 10s(单个场景最长 10s)。旁白文本要控制长度 -- 确保能在 10 秒内说完。 - **片尾场景**:主题文字居中画面,无旁白。6 秒。 - 每个主体场景的精确时长(6s 还是 10s)在 Step 4 音频生成后根据实际音频长度确定。不要在分镜阶段把所有场景都预设为 6s。 - **重要**: 分镜总时长(所有场景时长之和)必须接近用户请求的时长。如果用户要 3 分钟,分镜必须有足够场景填满约 180 秒。不要给 3 分钟视频只创建 8-10 个场景。 ### Step 3: 生成场景图片(image agent) - 为所有场景生成首帧图。 - 为了场景转场:为 N 个场景生成 N+1 张图(最后一个场景需要额外的末帧图)。 - 禁止:不得出现真实名人、版权角色、品牌作品、血腥或暴力内容。 - **task_description 必须包含(CRITICAL)**: - 需要生成的图片精确数量 - 每张图的详细英文 prompt(画面内容、构图、光线、风格) - 片头/片尾场景:描述文字内容及其在画面中的位置 - **如果有主角**:同时包含参考图路径 AND 主角外貌描述(来自 Step 1 的 `read_media` 分析)。image agent 是无状态的 -- 缺少这些信息它会生成随机人物。 - 宽高比 -- 同一批次所有图片必须使用相同宽高比(竖版视频默认 9:16,横版视频 16:9)。不要混用方向。 - 风格要求(如 "photorealistic cinematic travel photography") ### Step 4: 生成旁白音频(audio agent) - 为每个场景单独生成一个音频文件(不是整个视频一个音频)。 - 片头和片尾场景没有旁白。 - **task_description 必须包含(CRITICAL)**: - 每个场景的精确旁白文本(使用目标语言) - 语言和声音风格要求 - 提醒返回每个场景的 audio_path ### Step 5: 生成视频片段(video agent) - 无旁白的场景(片头/片尾):6 秒视频。 - 有旁白的场景:必须检查 Step 4 返回的音频时长,据此设置视频时长: - 音频 >= 5.1s -> 使用 10s 视频时长 - 音频 < 5.1s -> 使用 6s 视频时长 - **不要把所有视频都默认设为 6s。** 大多数旁白场景需要 10s 视频。 - **task_description 必须包含(CRITICAL)**: - 用作 first_frame_images 的图片文件路径(来自 Step 3) - **last_frame_images 规则**:只有第一个视频和最后一个视频使用 last_frame_images 做场景转场。所有中间视频的 last_frame_images 设为 null。具体: - 第一个视频:last_frame_image = image[1](第二个场景的首帧) - 最后一个视频:last_frame_image = image[N](额外的转场图) - 所有其他视频:last_frame_image = null(不要设置) - 每个视频片段的运动/动作 prompt(视频中应该发生什么) - 每个片段的时长 ### Step 6: 后期合成(editing agent) - **task_description 必须包含所有文件路径(CRITICAL)**: - 需要处理的视频文件列表 - 哪个音频文件嵌入到哪个视频中 - 拼接顺序 - 是否生成并添加背景音乐 ### Step 7: 展示结果 - 向用户展示最终视频文件路径。