7.9 一键生成数字人口播短视频

2025年10月15日

🛠️准备工作

  1. 获取数字人形象ID

数字人视频的生成用到了一个第三方的插件工具,叫“飞影数字人”,当然也有其他的数字人工具,但是接入coze工作流的方法大同小异,我就以“飞影数字人”为例为大家演示工作流
在搭建工作流之前,需要准备一些“飞影数字人”插件需要的资料,即我们要的数字人的形象和声音 打开网页:飞影数字人 - 官方创作入口
注册登录后,在这个页面选择一个自己喜欢的数字人,点击他的形象图片
鼠标移动到视频素材图上,鼠标悬停在右上角“...”上,点击“复制素材ID”即可获取对应数字人形象的ID,保存下来
当然也可以录制自己的形象,这个就需要飞影自己的会员了
也可以在“数字人市场”上找到更多的免费形象
数字人市场上的形象的ID我们获取要稍微麻烦一些,需要先选择一个形象,然后点击“收藏”
回到“数字人”,选择“我的收藏”
然后点击我们收藏的形象,后面鼠标悬停复制素材ID的操作就一样了
  1. 获取数字人声音ID

点击左侧菜单栏的“声音克隆”,然后选择声音点击
试听一下声音,悬停在我们想要的声音上,点击复制声音ID,然后保存下来

🚀创建工作流

整体工作流如下图,可以看到除了视频生成,用到了一个循环节点,这个循环节点的作用是监控视频生成的进程,不是很复杂
 

语音转文字插件使用说明:

 
近期有同学反映:为什么这个插件的界面和我们的不一样,或者为什么点击进去之后没有音色的选项
因为这个coze官方插件收费了,大家自行点击进去付费购买了音色之后才能使用
 
选择预设音色即可看到原来的免费音色:
 
如果你觉得预设音色不能满足工作需求,可以进一步购买新的音色,按照这个步骤去操作:
之后弹出的界面这里有两个文档
点击上面的可以看到音色列表,点击下面的可以看到计费详情,我们点击下面的这个文档
不熟悉的朋友可以自己浏览一下文档,然后查看一下相关的收费准则
关于如何购买和复制音色,我们就不再提供教程,大家自行点击官方教程进行学习使用:点击前往
 
 
各节点配置如下表格:
节点
说明
示例
开始
 
开始节点需要把我们准备工作的内容都做为输入信息,所以需要配置speaker_id和digital_human_id,还需要配置一个输出口播内容的提示词,可以是关键词,也可以提供更多提示,比如针对人群,风格等
 
 
大模型:口播文案撰写
 
这个大模型主要根据用户提供的提示词或者关键词创作一篇短视频的口播文案,大模型可以选择具备创作能力和理解能力稍强的,deepseekR1,如果有限定的创作内容,可以在“技能”中加入特定的知识库文稿,输入为开始节点中的用户输入提示内容“keyword”
系统提示词为:📄点击此处复制提示词
用户提示词为{{keyword}}
 
 
飞影插件:创作口播短视频
这个插件是这套工作流的核心功能,会根据预设的声音和形象,以及输入的口播文稿生成自然的口播短视频
插件市场搜索“飞影数字人”,选择“create_lipsync_video2”节点,
然后输入在“digital_human_id”和“speaker_id”变量输入对应的开始节点内容,“text”变量就输入大模型输出的口播文案
 
选择器
 
这个选择器是及时对视频创作状态做反馈
如果短视频开始创作,则会在上一个“create_lipsync_video2”输出的“code”变量中为“0”
反之则创作失败,需要重新检查问题
所以条件变量是上一个节点的输出的“code”,条件是“=”,“0”
 
 
文字处理:创作失败回复
 
先配置选择器节点“否则”的分支,这个文字处理节点是反馈给用户视频未开始创作的信息,并提示用户检查配置 所以输入一串提示文字内容即可,比如“口播视频生成失败,请重新检查配置输入id”
 
循环
 
因为视频的生成最终需要获取一个短视频的下载链接,所以我们需要一个视频制作状态查询的插件,但是视频制作又需要时间,所以需要设立一个循环节点定时查询视频生成状态并获取短视频下载链接
因为直到获取到视频制作完成后的状态为止,所以此循环体可以选择“无限循环”
输出内容为后面视频状态查询节点输出的“video_Url”
整个循环体内的
 
循环体内工作流
 
 
循环体内节点1:计时器
 
此节点是限定后面的节点每隔多长时间的间隔查询一次视频生成状态,可以设置为10s~20s之间
直接输入对应的秒数即可
 
循环体内节点2:视频制作状态查询
 
这个节点是循环体中的核心,也是这个工作流输出内容的核心
同样在插件商店中搜索“飞影”,选择“inspect_video_creation_status”插件,
输入变量“job_id”,选择创作口播短视频节点输出的“job_id”
可以看到这个插件输出的内容很多,除了我们核心需要的video_url外,还有一个变量也要用到,“status”
“status”的变量类型是integer,说明这个变量返回的是数字,如果返回“3”,说明视频制作成功,如果返回“4”,说明视频制作失败,失败的原因可能是口播内容过长,额度用完等
 
循环体内节点3:选择器
 
这个节点的目的是根据查询的视频制作状态,来决定是否继续循环,如果视频制作状态查询节点返回的“status”变量是“3”或者“4”,代表视频制作成功或者失败,都说明视频制作的状态完结,则连接到“终止循环”节点
否则说明视频还没有制作完成的信息返回,则继续循环,继续循环就直接连接到循环体方框的边界节点即可
 
 
代码:提取视频链接
 
这个代码节点优化一下循环节点输出的内容
输入是循环节点的输出 循环节点会输出几个url的内容,前面几个都是空的,为了使输出的内容更纯净,用代码把前面返回的空值都排除,只取最后返回url的变量
代码为Python语言
 
 
结束节点
 
这里输出两个内容
一个是创作失败,一个是提取到的视频的链接
哪个有内容就返回哪一个
(因为如果创作成功,创作失败这个变量没有返回内容,所以可以直接这样写,反之亦然)
 
 
 

🎬️生成视频演示

生成视频我们选择单独给大家作为一个部分展示,附上完整的工作流运行结果和生成视频,方便大家预览最终效果
- 一下我随便选了一个声音和形象,输入一个“暑期古风小镇游玩感受”的关键词,看看效果