--- name: transcript-to-video description: 逐字稿全自动视频生成工作流:输入逐字稿文本,AI拆分镜脚本,批量生成视频素材,输出视频片段URL列表+SRT字幕文件。 version: 1.0.0 author: nkkj-BrainHack --- # 逐字稿 → AI视频生成工作流 (Transcript to Video) ## 功能用途 将一份逐字稿(文字脚本)全自动转化为AI视频素材。覆盖从文本拆分、分镜脚本生成、AI视频/图片批量生成、到结果汇总的完整链路。 **核心业务场景:** - 自媒体内容创作:逐字稿 → 分镜 → AI视频素材 → 剪映成片 - 批量短视频生产:一份长脚本 → N个视频片段 - 知识付费/教程:讲稿 → 配图/配视频素材 ## 调用链(Workflow) ``` 输入: 逐字稿文本(中文) ↓ Stage 1: AI 分镜脚本生成 Agent 将逐字稿拆分为分镜 JSON + SRT 字幕文件 每段包含: id, narration(中文旁白), prompt(英文视频提示词), duration(秒) ↓ Stage 2: 批量生成视频素材(并行) 对每个分镜段,调用 jimeng-video-v3-720p(文生视频) 或先调用 jimeng-img-v4(文生图)再调用 jimeng-video-v3-720p method=2(图生视频) ↓ Stage 3: 轮询获取结果(并行) 对每个任务调用 jimeng-task-query 轮询 完成后调用 jimeng-work-result 获取视频URL ↓ Stage 4: 结果汇总 输出: 视频片段URL列表 + SRT字幕文件 + 分镜脚本JSON ↓ 可选 Stage 5: 一键成片 将部分素材传入 quickly-video-create 生成短视频(最长30秒) 或用户导入剪映/CapCut手动按SRT时间轴对齐 ``` ## 输入参数 | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | transcript | string | ✅ | 逐字稿全文(中文) | | segmentDuration | number | ❌ | 每段目标时长(秒),默认15 | | videoModel | string | ❌ | 视频生成模型:`720p`(默认) / `1080p` / `pro` | | videoMethod | string | ❌ | 生成方式:`text2video`(默认,纯文生视频) / `img2video`(先生图再图生视频,效果更可控) | | aspectRatio | string | ❌ | 视频比例,默认 `16:9`,可选 `9:16` / `1:1` / `4:3` | | frames | number | ❌ | 帧数:121(5秒,默认) 或 241(10秒) | ## 执行流程 ### Stage 1: AI 分镜脚本生成(Agent 执行) Agent 根据逐字稿,按每 `segmentDuration` 秒拆分为分镜段,输出: **分镜 JSON 格式:** ```json [ { "id": "S-01", "act": "开场", "narration": "回到开头那个数字,500美元。这个数字之所以让人震撼...", "type": "ai-gen", "prompt": "Extreme wide shot: a single desk with a glowing monitor floating in an infinite dark void...", "duration": "15s" }, { "id": "S-02", "act": "正文", "narration": "然后他——或者说他——用这套工具在这个几乎不可能赚到钱的...", "type": "ai-gen", "prompt": "Final shot callback: the massive fortress wall from the opening...", "duration": "15s" } ] ``` **SRT 字幕文件格式:** ```srt 1 00:00:00,000 --> 00:00:15,000 回到开头那个数字,500美元。这个数字之所以让人震撼... 2 00:00:15,000 --> 00:00:30,000 然后他——或者说他——用这套工具在这个几乎不可能赚到钱的... ``` **分镜拆分规则:** - 每段约40~45个中文字(约15秒语速) - narration 用中文(原始逐字稿文本) - prompt 用英文(翻译+扩写为画面描述,适合AI视频生成) - prompt 应包含:镜头类型、场景、动作、氛围、画质关键词 ### Stage 2: 批量生成视频素材 **方式A: text2video(文生视频,快速)** 对每个分镜段,调用: ``` jimeng-video-v3-720p: prompt: segment.prompt method: "1" (文生视频) frames: 121 (5秒) 或 241 (10秒) config: aspect_ratio: "16:9" ``` **方式B: img2video(先图后视频,效果更可控)** Step 1: 对每个分镜段,先生成图片: ``` jimeng-img-v4: prompt: segment.prompt sizeDate: { width: 2560, height: 1440 } (16:9) ``` Step 2: 图片生成完成后,用图片作为首帧生成视频: ``` jimeng-video-v3-720p: prompt: segment.prompt method: "2" (首帧图生视频) frames: 121 config: image_urls: [图片URL] ``` **并行策略:** - 最多 5 个分镜段并行生成 - 每段生成间隔 1 秒(避免频率限制) - 单段超时 5 分钟 ### Stage 3: 轮询获取结果 对每个生成任务: ``` jimeng-task-query: workId: <上一步返回的workId> routerName: "getVideoV3_720p" (或对应的routerName) ``` 轮询直到 `isFinish: true`,然后: ``` jimeng-work-result: workId: → 获取 videos[0] 作为该分镜段的视频URL ``` ### Stage 4: 结果汇总 输出完整的视频素材包: ```json { "storyboard": [...], // 分镜JSON "srt": "...", // SRT字幕内容 "segments": [ { "id": "S-01", "videoUrl": "https://...", // 视频URL(永久有效) "duration": 5, // 实际视频时长 "prompt": "..." } ], "totalSegments": 71, "successCount": 70, "failedCount": 1, "failedIds": ["S-45"] } ``` ### 可选 Stage 5: 一键成片(quickly-video-create) 将生成的视频素材传入 quickly-video-create: ``` quickly-video-create: material_list: segments.map(s => ({ type: "video", value: s.videoUrl })) tags: "从逐字稿提取的关键词" proportion: "16:9" 或 "9:16" video_duration: { min: 15, max: 30 } ai_voice: 1 ai_bgm: 1 ``` **注意:** quickly-video-create 最长 30 秒,适合将少量片段合成短视频预览。完整长视频需用户在剪映/CapCut中手动拼接。 ## 调用的底层 Skill | Skill | 阶段 | 用途 | |-------|------|------| | `jimeng-video-v3-720p` | Stage 2 | 文生视频 / 图生视频 | | `jimeng-video-v3-1080p` | Stage 2 | 1080p视频(可选) | | `jimeng-video-v3-pro` | Stage 2 | Pro质量视频(可选) | | `jimeng-img-v4` | Stage 2 | 文生图(img2video模式首帧) | | `jimeng-task-query` | Stage 3 | 轮询任务状态 | | `jimeng-work-result` | Stage 3 | 获取最终视频URL | | `quickly-video-create` | Stage 5 | 可选,素材合成短视频 | | `quickly-video-query` | Stage 5 | 可选,轮询成片结果 | ## 费用估算 以71个分镜段为例(按5秒/段计算): | 项目 | 单价 | 数量 | 费用 | |------|------|------|------| | jimeng-video-v3-720p | 0.28元/秒 × 5秒 = 1.4元/段 | 71段 | ≈99.4元 | | jimeng-img-v4(img2video模式) | 0.22元/张 | 71张 | ≈15.6元 | | **text2video 模式总计** | | | **≈99元** | | **img2video 模式总计** | | | **≈115元** | ## 当前限制 | 限制 | 说明 | 解决方案 | |------|------|---------| | 视频时长固定 | jimeng 只支持 5秒(121帧) 或 10秒(241帧),无法精确匹配SRT时间戳 | 用户在剪映中裁剪/变速对齐 | | 无TTS配音 | 无法按逐字稿自动生成语音 | 用户在剪映中录音/AI配音 | | 无自动拼接 | 无法将N个片段自动拼接成长视频 | 用户在剪映中拼接,或用quickly(≤30秒) | | 并行数限制 | 即梦API频率限制,建议≤5并行 | 分批执行,每批5个 | ## 后续扩展(待新增Skill) 1. **TTS配音 Skill** — 按逐字稿生成语音音频,实现自动配音 2. **视频拼接 Skill** — FFmpeg服务端拼接,按SRT时间轴精确对齐 3. **seeddance2.0 Skill** — 接入新一代视频生成模型,支持更长时长和更高质量 ## 依赖 - 即梦AI视频生成接口(已有,通过 `server.fmode.cn` 代理) - 即梦AI Token(通过 APIG 充值获取) - Agent AI能力(用于分镜脚本生成)