Skill: x-jihua/video-film-maker-pro (version 1.0.1)

--- name: video-film-maker-pro description: "AI视频成片制作流水线。从参考图+提示词生成完整视频成片。特点：画风统一、叙事连贯、节奏紧凑（每镜头2-4秒）。流程：剧情大纲 → 关键帧提示词 → 关键帧图片 → 分镜提示词 → 视频生成，每步用户确认。触发：生成视频、制作成片、视频故事、短片制作等请求。" --- # Video Film Maker Pro - AI视频成片制作 一键生成完整视频成片，从创意到成品全流程自动化。 ## 核心特点 - **画风统一**：基于参考图保持全片视觉一致 - **叙事连贯**：自动构建完整故事线 - **节奏紧凑**：每个镜头2-4秒，适合短视频平台 - **逐步确认**：每个中间结果都需用户确认才继续 ## 输入参数 | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | reference_image | file/url | 否 | 参考图，用于统一画风 | | prompt | string | 是 | 故事/场景描述 | | style | string | 否 | 画风描述（动漫、写实、3D卡通等），默认"写实风格" | | duration | int | 否 | 总时长（秒），默认30秒 | | subject | string | 否 | 主体描述（人物/角色） | | mood | string | 否 | 整体氛围（紧张、温馨、悬疑等） | ## 工作流程 ``` Step 1: 剧情大纲生成 ↓ ⏸️ 等待用户确认 Step 2: 关键帧提示词生成 ↓ ⏸️ 等待用户确认 Step 3: 关键帧图片生成（逐张展示） ↓ ⏸️ 等待用户确认每张图片 Step 4: 分镜提示词生成 ↓ ⏸️ 等待用户确认 Step 5: 视频生成与合并 ↓ 📹 输出最终视频 ``` --- ## Step 1: 剧情大纲生成 ### 任务 分析用户输入，构建完整故事线，划分场景和镜头。 ### 输出格式 ```json { "title": "片名", "total_duration": 30, "style": "画风", "mood": "氛围", "scenes": [ { "id": 1, "duration": 3, "description": "场景描述", "action": "主要动作", "camera": "镜头运动" } ] } ``` ### 场景时长规则 - 总时长 ÷ 场景数 = 平均时长 - 每个场景 **2-4秒** - 高潮场景可延长至4秒 - 过渡场景控制在2秒 ### 大纲模板 | 类型 | 结构 | 节奏 | |------|------|------| | 追逐戏 | 出场→追逐→高潮→逃脱 | 加速 | | 悬疑片 | 线索→发现→危机→揭秘 | 渐强 | | 情感片 | 相遇→相识→冲突→和解 | 舒缓 | | 动作片 | 铺垫→战斗→转折→胜利 | 起伏 | ### ⚠️ 用户确认 输出大纲后，**必须等待用户确认**才能进入下一步。 用户可回复： - "确认" / "好的" / "继续" → 进入 Step 2 - "修改：xxx" → 修改大纲后重新展示 - "重新生成" → 重新生成大纲 --- ## Step 2: 关键帧提示词生成 ### 任务 根据大纲生成适配 **Vidu nano2/q3-fast 模型** 的图片生成提示词。 ### 图片来源处理 ``` 用户上传参考图? ├── 是 → 直接使用，作为 image 参数输入 └── 否 → 主体/角色已知? ├── 是 → 搜索图片 → 作为参考图 └── 否 → 纯文字生成（不传 image 参数） ``` ### 搜索未知角色/场景 当用户提到不认识的角色或场景时： 1. 使用 `web_search` 搜索 "[角色名] 官方图片" 或 "[场景名] 参考" 2. 选择合适的图片作为参考图 3. 告知用户使用的是哪张参考图 ### 提示词模板 ```python payload = { "model": "q3-fast", "image": "data:image/jpeg;base64,{base64_image}", # 参考图（可选） "prompt": "{角色描述}, {动作描述}, {环境描述}, {画风关键词}", "aspect_ratio": "9:16" # 或 16:9 } ``` 完整模板见 [references/prompt_templates.md](references/prompt_templates.md) ### 输出格式 ```json [ { "scene_id": 1, "prompt": "完整提示词", "reference_image": "来源说明（用户上传/搜索/无）", "aspect_ratio": "9:16" } ] ``` ### ⚠️ 用户确认 输出所有提示词后，**必须等待用户确认**才能进入下一步。 --- ## Step 3: 关键帧图片生成 ### 任务 调用 Vidu API 生成关键帧图片，**逐张展示给用户确认**。 ### 执行流程 ``` for each 场景: 1. 提交生成任务 2. 等待生成完成 3. 展示图片给用户 4. ⏸️ 等待用户确认 5. 用户满意 → 保存，继续下一张 用户不满意 → 调整提示词，重新生成 ``` ### 展示格式 ``` 【场景 1/6】 提示词：xxx 图片：[展示图片] 满意吗？（确认/重新生成/修改提示词） ``` ### ⚠️ 用户确认 **每张图片都需要用户确认**： - "确认" / "好的" → 保存，生成下一张 - "重新生成" → 使用相同提示词重新生成 - "修改提示词：xxx" → 修改后重新生成 - "跳过" → 跳过此场景，继续下一张 ### 模型选择 | 场景 | 推荐模型 | |------|----------| | 默认 | q3-fast | | 追求画质 | q2-pro | | 追求速度 | q2-fast | --- ## Step 4: 分镜提示词生成 ### 任务 根据已确认的关键帧图片，生成视频分镜提示词。 ### 视频提示词规范 ``` {主体动作}, {镜头运动}, {氛围描述} ``` 示例： - "Character walking forward, camera following, energetic mood" - "Fast action sequence, quick cuts, dramatic lighting" ### 模型推荐 | 场景类型 | 推荐模型 | 理由 | |----------|----------|------| | 人物动作 | viduq3-pro | 人物动态好，支持音频 | | 风景/场景 | viduq2-pro | 画面细腻 | | 快速动作 | viduq3-turbo | 速度快 | | 3D卡通 | viduq3-pro | 色彩鲜艳，动态流畅 | 完整推荐见 [references/model_recommendations.md](references/model_recommendations.md) ### 输出格式 ```json [ { "scene_id": 1, "image_url": "关键帧图片URL", "video_prompt": "视频提示词", "model": "viduq3-pro", "duration": 4 } ] ``` ### ⚠️ 用户确认 输出所有分镜提示词后，**必须等待用户确认**才能进入视频生成。 --- ## Step 5: 视频生成与合并 ### 任务 调用 Vidu API 生成视频片段，合并成最终成片。 ### API 调用 ```python payload = { "model": "viduq3-pro", "images": ["关键帧图片URL"], "prompt": "视频提示词", "duration": 4, "resolution": "720p", "audio": true } ``` ### 合并成片 ```bash ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4 ``` ### 输出 ``` ✅ 视频生成完成！ 文件：~/Desktop/xxx.mp4 时长：30秒 大小：25MB ``` --- ## 完整交互示例 ``` 用户：帮我生成一个海绵宝宝在厨房做饭的视频，20秒，3D卡通风格 AI：收到！开始制作... 【Step 1: 剧情大纲】 ━━━━━━━━━━━━━━━━━━━━ 片名：海绵宝宝厨房大冒险 时长：20秒 场景数：6个 | 场景 | 时长 | 描述 | |------|------|------| | 1 | 3s | 海绵宝宝走进厨房 | | 2 | 4s | 开始准备食材 | | 3 | 4s | 烹饪过程，火焰四起 | | 4 | 3s | 端出完美菜肴 | | 5 | 3s | 开心比耶 | | 6 | 3s | 定格画面 | ━━━━━━━━━━━━━━━━━━━━ 确认大纲？（确认/修改/重新生成） 用户：确认 AI：【Step 2: 关键帧提示词】 ━━━━━━━━━━━━━━━━━━━━ 场景1：SpongeBob SquarePants walking into kitchen... 场景2：SpongeBob preparing ingredients... ... ━━━━━━━━━━━━━━━━━━━━ 确认提示词？（确认/修改） 用户：确认 AI：【Step 3: 关键帧图片生成】 ━━━━━━━━━━━━━━━━━━━━ 生成场景1图片... [展示图片] 满意吗？（确认/重新生成/修改） 用户：确认 AI：生成场景2图片... [展示图片] 满意吗？ 用户：重新生成 AI：重新生成场景2... [展示新图片] 满意吗？ 用户：确认 ...（继续生成剩余场景） AI：【Step 4: 分镜提示词】 ━━━━━━━━━━━━━━━━━━━━ 场景1：walking forward, camera following, energetic 场景2：preparing food, close-up shots, busy atmosphere ... ━━━━━━━━━━━━━━━━━━━━ 确认分镜提示词？ 用户：确认 AI：【Step 5: 视频生成】 生成中... ✅ 完成！ 文件：~/Desktop/海绵宝宝厨房大冒险.mp4 ``` --- ## 注意事项 1. **每步必确认**：大纲、提示词、图片、分镜提示词，每步都要等待用户确认 2. **图片逐张确认**：每张关键帧图片单独确认，不满意可重新生成 3. **搜索未知角色**：不认识的角色先搜索，告知用户使用的参考图 4. **时长控制**：每个镜头严格控制在2-4秒 5. **画风一致**：所有提示词使用相同的画风关键词


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector:  ()