当前位置: 首页 > 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.zskr.cn/news/1394264.html

相关文章:

  • 北京法式全屋定制厂家盘点:不同预算档位的核心差异 - 资讯纵览
  • 12-用例中心设计:如何把文档、快照与验证资产真正关联起来
  • JMeter分布式压测实战:突破单机性能瓶颈的架构与落地
  • 如何通过微信发起投票活动?2026保姆级教程:中正投票3分钟轻松搞定 - 投票评选活动
  • STM32CubeMX配置USART避坑指南:从printf重定向到DMA发送,让你的串口调试又快又稳
  • 告别91卫图!用QGIS+Python脚本免费批量下载Google/Bing高清卫星图(附完整代码)
  • 8个问题搞定Agent技术栈选型!收藏这份保姆级指南,小白也能轻松上手大模型开发
  • 基于NE555的舵机测试仪DIY:从PWM原理到功率控制实战
  • 别再让ICG拖垮你的芯片时序:手把手教你搞定Clock Gating Check的Setup/Hold约束
  • UE5专用服务器打包与联机部署实战指南
  • 如何用5分钟快速上手XPlaneConnect:飞行模拟开源工具终极指南
  • Taotoken模型广场功能详解如何为你的项目选择合适模型
  • 构建支持多模型降级策略的客服机器人后端实践
  • 个人开发者如何利用 Taotoken 低成本体验最新的旗舰大模型
  • 使用Nodejs快速构建接入Taotoken多模型API的聊天服务
  • 细胞迁移、侵袭与粘附的分子机制及分析技术研究进展
  • PCR Array 应用指南
  • 利用 TaoToken 为内部知识库构建低成本问答 Agent
  • Vue电商商城开发实战:从零构建完整电商平台的最佳实践
  • 浏览器资源嗅探利器Cat-Catch:让网页媒体资源轻松触手可及
  • 使用Taotoken后我们团队的API调用成本与用量一目了然
  • 华为路由器、交换机 Console 口登录密码的网络教学实验室重置方法
  • 苏州科梵鑫家具:专业的苏州酒店活动隔断哪家好 - LYL仔仔
  • 玻色因精华平价推荐 这5款玻色因精华实测好用 - 全网最美
  • 绍兴昱泽吊装:绍兴登高车租赁公司 - LYL仔仔
  • cGAN与VAE融合:AI驱动的摄影艺术风格迁移技术详解
  • 医疗图像安全:基于DQFrFT与3D-CLM的混合加密与水印技术
  • 终极指南:如何用Player库在5分钟内构建iOS视频播放应用
  • 基于模运算与预测误差扩展的插值图像可逆数据隐藏方法详解
  • Maya ADV插件绑定翻车实录:从脊椎错位到肩膀穿帮,我是如何边踩坑边拯救工程的