当前位置: 首页 > news >正文

扣子(coze)高级实战-从“一张图”到“多镜头影视解说”

先看结果

肖申克电影剪辑-V2

关注我,免费领取1月“plus”会员

升级前后对比

MVP版本升级版
画面全程一张静态封面图每个分镜独立配图,画面随旁白切换
大模型输出一篇完整口播文案分镜脚本(含旁白、时长、画面描述)
图像生成1次N次(每个分镜1次)
视频合成1次图片+音频合成N次小段合成 + 1次整体拼接
字幕不变不变

📌 涉及改动的节点

以下节点与MVP版本完全不变,不再重复介绍:

  • 第一步:创建工作流、开始节点
  • 第六步:中的 compile_image_audio、audio_to_subtitleadd_subtitles
  • 第七步:结束节点与测试发布

本次只改三处

  1. 第二步:大模型提示词(改为输出分镜JSON)
  2. 新增循环结构(循环体内:TTS + 图像生成 +compile_image_audio
  3. 新增代码节点(收集小视频URL) +concat_videos拼接
开始(电影名) ↓ 大模型 ↓ ┌─────────────────────────────────────────────┐ │ 循环节点 │ │ ↓ 循环体内: | ├─ 代码节点(提取大模型分镜头) │ │ ├─ TTS(当前分镜 narration → 该段音频) │ │ ├─ 图像生成(当前分镜 visual_prompt → 图片) │ │ └─ compile_image_audio(图片 + 音频 → 小视频) │ └─────────────────────────────────────────────┘ ↓ concat_videos(拼接成完整视频) ↓ audio_to_subtitle(语音自动转字幕) ↓ add_subtitles(叠加字幕) ↓ 结束(输出完整视频URL)

改动一:第二步——大模型输出分镜脚本

把原来生成整篇文案的提示词,替换为以下内容。关键是输出一个JSON对象,包含分镜数组

# 角色设定 你是一个拥有千万粉丝的抖音影视解说博主,风格犀利、口语化、善于埋钩子、制造悬念。同时你也是一名专业的分镜师,能将解说文案拆分为分镜脚本。 # 任务 请根据电影名称,生成一篇影视解说文案,并拆分为3-5个分镜。整体篇幅适合40-60秒口播。 # 输入数据 电影名称:{{movie_name}} # 输出要求 请严格输出一个JSONs数组,不要加任何额外说明,不要使用代码块标记。格式如下: [ { "index": 1, "narration": "第1个分镜的旁白文本", "duration": 10, "visual_prompt": "用于AI生成图片的画面描述,英文,详细描述场景、人物、光影、构图" }, { "index": 2, "narration": "第2个分镜的旁白文本", "duration": 12, "visual_prompt": "..." } ] # 约束规则 - 所有内容必须基于电影真实情节,严禁编造。 - 全程用“你”“我”对话感,像是在跟朋友聊天。 - 禁止出现“大家好”“欢迎收看”等套话。 - visual_prompt必须用英文,适合AI绘画工具理解,描述要具体(场景、人物、光影、构图)。 - duration单位为秒,每个分镜建议8-15秒。 - 分镜数量控制在3-5个。 - 不要重复我的要求,不要重复规则,开头3秒钩子这种话就不要返回了,不要推理内容,我只要结果

💡关键:输出的是一个纯JSON。因为每个分镜的旁白就是独立文本,不再需要整段文案。

改动二:搭建循环结构(核心升级)

新增节点1:循环节点
  • 🔍操作解读:添加“循环”节点,连接在大模型节点之后。
  • 🧩配置循环数据:点击循环节点,在“循环数据”输入框中,通过“添加变量” → “节点引用” → 选择大模型节点输出的 output 字段(即分镜数组)。循环次数留空,自动按数组长度执行

新增节点2:循环体内提取分镜头详细信息

由于大模型生成输出的是数组,TTS只需要单镜头的旁白,照片生成只需要提示词,所以要用代码解析一下:

  • 输入:为单次循环的item,也就是分镜头
  • 输出:为四个字段:index、duration 、narration 、visual_prompt

✍️ 代码:

async def main(args): # 当前循环的是 单个对象(item) item_str= args["params"]["input"] #item_str=json.loads(item) # 直接取 title 和 url index = item_str["index"] duration = item_str["duration"] narration = item_str["narration"] visual_prompt = item_str["visual_prompt"] return {"index": index,"duration":duration,"narration":narration,"visual_prompt":visual_prompt}

新增节点3:添加TTS节点
  • 🔍操作解读:双击循环节点进入内部画布。
  • 🧩配置TTS
    • input:引用循环当前项的narration字段。
    • 具体操作:点“添加变量” → “节点引用” → 选择“循环” → 当前项 →narration
    • voice_idspeaking_rateformat等参数与MVP完全一致。
  • 📦 TTS输出该分镜旁白的独立音频URL。

新增节点4:循环体内添加图像生成
  • 🔍操作解读:和TTS并行,添加“Doubao-图像生成(自接入版)”插件(或与TTS节点并行,节省时间)。
  • 🧩配置图像生成
    • prompt:引用循环当前项的visual_prompt字段。
    • req_schedule_confheightwidth等与MVP一致。
  • 📦 输出图片URL,存放在data.data.image_urls数组中。后续需要提取第一个URL。

新增节点5:循环体内合成小视频
  • 🔍操作解读:在提取图片URL的代码节点后,添加“视频剪辑工具”的compile_image_audio工具。
  • 🧩配置
    • image_url:引用上一步代码节点的image_url
    • audio_url:引用循环体内TTS节点的音频URL。
  • 📦 该节点输出这个小分镜的视频URL,可直接引用其datavideo_url字段。

✅ 至此,循环体内一次执行就完成了一个分镜的“配音+出图+合成小视频”。循环执行完毕后,每个分镜都会输出一段小视频。

改动三:收集小视频URL并拼接

新增节点6:拼接视频(concat_videos)
  • 🔍操作解读:在代码节点后,添加“视频剪辑工具”的concat_videos工具。
  • 🧩配置
    • video_urls:引用代码节点输出的video_urls数组。
  • 📦 该节点输出拼接后的完整视频URL。

后续步骤

拼接后的视频进入audio_to_subtitleadd_subtitles→ 结束节点。与MVP完全一致。

🧪 测试要点

  • 试运行输入“《肖申克的救赎》”,观察:

    • 大模型是否输出标准JSON(无代码块包裹)
    • 循环是否执行了预期次数(可在循环节点上看到迭代次数)
    • 每个分镜的小视频URL是否有效(检查循环输出或代码节点输出)
    • 拼接后的视频时长是否合理,画面是否随旁白切换
  • 如果循环内TTS或图像生成失败,检查插件是否正常工作;可先在循环外单独测试单个分镜的TTS+出图。

  • 如果拼接后只有第一段有声音,检查concat_videos是否保留了音频轨(默认会保留),必要时检查每个小视频是否包含音频。

⚠️ 升级版常见踩坑

现象原因解决
循环只执行一次循环数据引用错误,未选到scenes数组检查大模型输出的JSON字段名,确认scenes存在且为数组
图片生成有时为空visual_prompt不合理或被拦截简化prompt,确保符合内容政策;可统一加“safe for work”
代码节点收集不到视频URLcompile_image_audio输出字段路径变化打印loop_output查看实际结构,调整代码中的取值路径
TTS调用频繁限流免费额度或并发限制循环节点勾选“串行执行”,避免同时发起多个TTS请求

🚀 后续再升级方向

  • 精确控制分镜时长:目前每个分镜的音频时长由TTS自动决定,后续可在分镜脚本中指定精确时长,或利用TTS返回的音频实际时长来统一节奏。
  • 转场效果:若concat_videos支持,可配置转场动画。
  • 数字人出镜:将静态图替换为蝉镜数字人口播视频。

现在你已经从“有声幻灯片”升级到“多镜头影视解说”。

初版建议用简化音频方案先跑通,确认多画面切换效果后再做精确同步。

http://www.jsqmd.com/news/891517/

相关文章:

  • USB设备开发避坑:为什么你的高速设备在全速模式下会‘失联’?聊聊Device Qualifier Descriptor
  • 单招培训机构选型技术指南:核心维度与实测标准 - 奔跑123
  • 2026实验室家具选型与实验室工程建设行业白皮书|江西科德曼全域标准化解决方案 - 奔跑123
  • 亲测好用,ai写标书工具推荐及使用方法 - 博客万
  • 北京法式全屋定制厂家盘点:不同预算档位的核心差异 - 资讯纵览
  • Unity Animator底层机制与状态机工作原理深度解析
  • 杰理之获取蓝牙名无效果【篇】
  • 2026苏州家装公司主流之选:四家代表性厂商技术口碑费用 - 资讯纵览
  • 微信小程序Canvas抽奖动画:从九宫格到转盘的进阶实现与性能调优
  • 2026家用灯具厂家:品质设计与健康照明的深度融合 - 品牌排行榜
  • 如何通过微信发起投票活动?2026保姆级教程:中正投票3分钟轻松搞定 - 投票评选活动
  • 26年上半年全网求滨江郦城售楼部头部全维度盘点 - 资讯纵览
  • 跨平台视频播放神器:zyfun如何让你的观影体验焕然一新?
  • 2026年金华义乌电商侵权应诉与专利维权完全指南:从链接恢复到反制诉讼的一站式解决方案 - 年度推荐企业名录
  • 2026年山东留学市场变了:这样挑机构更靠谱 - 资讯速览
  • 2026年行李箱性价比横评:原创设计、材质工艺与价格合理性全对比 - 科技焦点
  • VOSviewer 实战解析:从数据到知识图谱的构建
  • 贵州蓝马会务会展服务:贵州舞台租赁哪家好 - LYL仔仔
  • Kindle电子书封面损坏终极修复指南:一键恢复精美书封
  • ✈️武汉订国际机票认准这家!圣擎航空真的香 - 土星买买买
  • 2026年多资产流式数据API选型指南:WebSocket实战与架构设计
  • 培洋机械设备:山东锻压设备回收怎么联系 - LYL仔仔
  • QueryExcel:100个Excel文件秒级搜索,彻底告别繁琐查找的终极解决方案
  • RuntimeUnityEditor架构解析:核心组件与工作原理
  • 苏州门窗工厂店,自有品牌还是代工?2026年选择策略 - 小李说家居
  • 太阳能路灯选购指南:公园广场景区小区厂家怎么选? - 资讯速览
  • 2026年4月钢结构企业口碑推荐,钢结构/网架,钢结构实力厂家口碑推荐 - 品牌推荐师
  • 苏州科梵鑫家具:专业的苏州酒店活动隔断哪家好 - LYL仔仔
  • Git 版本回退与撤销
  • 告别海投焦虑:AI找工作助手全平台自动投递简历的终极指南