超级干货,如何用AI工作流做视频,保姆级教程,含大模型提示词

细心的朋友可能早就发现我最近做了一批儿童故事视频,另外我在最近的文章中也多次提到了AI改变工作方式的话语。是的,这些视频是我使用扣子工作流创建的,大概每一条的视频耗时3~5分钟,妥妥的生产力。
今天在这一篇里将介绍如何利用AI制作视频,并将我使用的提示词分享给大家,相信会得罪很多AI卖课的人。
用AI制作视频有很多方法,比如说有人用豆包,也有人用即梦,效率最高的当属工作流。我接触工作流大约2个月之前,最初用腾讯元器做了一个智能体,并把它接入了公众号,用于检索我曾经发布过关于MySQL的文章,后来仔细研究的时候,元器的其他方面做的并不好,尤其是文档,插件都无从查找。之后在各种视频网站上看了一圈,发现使用扣子的特别多,关于扣子的内容教程也相当丰富,于是转投扣子,并利用工作流制作视频。使用工作流做视频,唯一需要支付的就是算力成本,但可以说是微乎其微,除了一开始测试时花费了部分算力,后来制作一条视频的成本也就2毛钱左右,批量制作还是非常有优势的。但是在做视频中有一个非常难的地方是如何保证视频中的角色形象前后固定,关于这一点,扣子的官方文档也有提到如何固定角色,但固定角色的成本我认为还是非常高的,主要是要使用大量的算力成本。我最终采用了一个相对便宜的制作方式,将每个故事的主要内容,用大模型拆解成10张的提示词,并为对应的生成语音文本,然后将其生成视频素材,导入剪映。这便是我这个视频工作流的整体过程。

下面开始,我将详细介绍每个节点该如何搭建。

首先,大家访问扣子的主页https://www.coze.cn/home,进入主页后点击登录,推荐大家花9.9元买个会员,有30000点,可以使用一段时间,免费的500点,可能一次就全用掉了。

登录后点击左侧的资源库,右侧会出现+资源的按钮

点击工作流,即可新建一个画布,在画布中默认出现开始和结束两个节点。

拖拽开始节点的+会出现下一个需要添加的节点选择界面

到这里暂停一下,我先整体介绍一下我们都需要哪些节点,添加节点都是采用这种方式进行的。我的工作流中需要使用到
大模型节点:用于根据用户输入的内容生成语音文本和绘画提示文本。
批处理节点两个:分别用于批量生成语音和。
语音生成节点:根据输入的文本生成mp3格式的语音。
生成节点:根据绘画提示词生成。
获取语音时间线节点:获取语音文件的时长。
代码节点:生成视频草稿用的时间线
视频草稿节点:生成剪映视频草稿,这里使用的是米核剪映小助手的插件。
打包节点:将插件生成的打包,并提供下载链接。
音频打包节点:将插件生成的语音打包,并提供下载链接。
我们大致上使用这些节点来处理视频的生成过程,如果你有特殊的需求,可以按需添加不同的节点。最终会生成一个剪映小助手的ID,将这串ID复制到米核剪映小助手中,点击创建草稿,剪映小助手就会将创作的视频草稿下载到本地,打开本地的剪映导出视频即可。

下面的内容是关于每个节点具体的配置,绝对干货满满,请往下看:

大模型:这个节点主要的功能是根据用户输入故事主要内容,将其拆解为语音文本和绘画文本提示词。每个节点都有其输入和输出。

输入这里配置的是从开始节点接收用户的输入文本,变量名是input,类型是str。
模型提示词:

角色

你是一位专业的绘本制作专家,擅长根据用户提供的故事内容{{input}},拆解为适合制作有声绘本的分镜脚本,并生成Q版漫画风格的提示词和配套语音文本,确保故事、画面、语音完美结合,适合儿童阅读和聆听。

技能

技能1:故事内容拆解

  1. 接收用户输入的故事内容,分析叙事结构和关键情节,按时间顺序或场景顺序拆解为10个独立场景(对应10张)。拆解时需确保每个场景包含明确的核心事件、角色动作或互动、关键细节(如环境、特殊道具)。
  2. 对每个场景提取核心元素:角色(明确姓名、外观特征、当前动作)、环境(背景、氛围、颜色基调)、动作或表情(突出场景关键情节)。

技能2:生成漫画风格提示词

  1. 针对拆解后的每个场景,生成符合「9:16比例」的Q版漫画风格提示词(array格式,共10个)。每个提示词需包含:
  • 角色固定属性:年龄、性别、肤色、发型(长度、颜色、是否有特殊发型/装饰)、服装(款式、颜色、配饰)、身高体型(通用比例,如儿童身形)等,确保全场景中同一角色的外观特征完全一致。
    -提示词中必须提及人物形象与最初出现的形象保持一致。
  • 场景与动作:背景环境(如“室内客厅,蓝色沙发,窗外阳光”),角色动作(如“开心地举起手中的存钱罐”“惊讶地指着地上的脚印”),画面氛围(如“明亮温馨的色调”“卡通渲染风格,柔和线条”)。
  1. 确保提示词语言包含角色固定属性,突出画面重点,便于AI图像生成工具准确输出Q版漫画风格。
    -确保时代信息保持一致,提示词中关于环境信息中必须提及古代,或现代

技能3:生成配套语音文本

  1. 针对拆解后的10个场景,生成对应场景的语音文本voiceoutput,与提示词一一对应。
  2. 语音文本类型:包含旁白描述(客观描述场景画面)或角色对话(符合角色身份的语气,如儿童角色用活泼语气),语言需简洁生动、符合儿童认知水平,描述画面信息准确,无冗余内容。

输出要求

  • 提示词为hint,每个元素为1个场景的漫画风格描述,共10个元素,严格对应10个场景。
  • 语音文本为array格式,每个元素为对应场景的语音内容,共10个元素,顺序与提示词一致。
  • 角色外观特征在所有提示词中保持一致,若故事中角色有变化(如成长、换装),需在第一个场景中明确描述,后续场景遵循同设定。

限制

  • 仅处理用户输入的故事内容,不添加与故事无关的原创信息或扩展内容。
  • 提示词和语音文本需紧密围绕用户故事,不偏离核心情节。
  • 生成内容中不得出现文字;提示词需准确描述角色特征与场景,避免歧义。
  • 若用户未指定故事角色或场景,生成时需假设通用儿童故事角色(如“小明”“小红”等典型儿童形象),确保基础特征可延续。
    -禁止生成产生安全性问题的提示词
    模型的提示词非常重要,能否生成你需要的内容,取决于它。这里面你必须明确的提出你的要求,否则生成的提示词或者文本可能会跑偏。

大模型节点会输出两个结果变量,类型均为Array,里面存储着语音文本和绘画提示词。
批处理节点:根据大模型节点生成语音文本和绘画提示词批量生成语音和。

用于图像的批处理节点并行循环数量设置为3,太多的话可能处理不了,这个节点的输入输出大家参照即可。
语音生成节点,使用的是字节官方的节点。

它主要的作用就是将语音文本生成语音文件,输出mp3文件的下载链接,里面的配置,大家可以根据需要选择,我选择的是活泼女孩声音,语速调整为0.9,默认是1,感觉有些稍快。
生成节点也是使用的官方插件

这里注意一下,需要选择生成的模型,和的比例。不同的模型生成的不一样,成本也不一样,还可以选择是否生成水印。
上述的语音生成和生成都是需要嵌入批处理节点的。
到这里,基本上我们使用的素材已经都处理好了,接下来全都是为了生成剪映草稿准备的工作。
语音时间线节点实际上是一个代码节点,它用于生成编辑视频时使用的片段时间线,这实际上是后面草稿需要使用的。

为什么使用代码节点呢?主要原因是因为它便宜,使用它平台不收钱。

实际的代码是这样的,如果你不想自己写,直接拿走。
async function main({ params }: Args): Promise {
// 获取输入的音频片段数组
const input = params.input;
const timelines = params.timelines

// 初始化时间线数组和当前时间点
const timeline = [];
let currentTime = 0;

// 遍历每个音频片段,生成时间线
for (let i = 0; i < input.length; i++) {
    const segment = input[i];

    // 确保每个片段都有duration属性
    if (segment && segment.duration !== undefined) {
        const duration = Number(segment.duration +1); // 确保时长为数字类型

        // 创建时间片段对象(单位:微秒)
        const timeSegment = {
            "start": currentTime,
            "end": currentTime + duration
        };

        // 添加到时间线数组
        timeline.push(timeSegment);

        // 更新当前时间点为当前片段的结束时间
        currentTime += duration;
    }
}

// 构建输出对象
const ret = {
    "shijianxian": timeline
};

return ret;

}
其实,这个代码也不是我写的,我现在好像除了SQL基本就不会写其他的了 哈哈。它是用Deepseek生成的,还记得我以前文章里提到过的AI能力吧,把你需要的内容提给AI,它来帮你做。这里给大家一个万能提示词,用于生成代码。给一个代码参考,给出输入变量,输出变量,及实现功能,它可以完美的为你生成代码。例如,
// 在这里,您可以通过 ‘params’ 获取节点中的输入变量,并通过 ‘ret’ 输出结果
// ‘params’ 已经被正确地注入到环境中
// 下面是一个示例,获取节点输入中参数名为’input’的值:
// const input = params.input;
// 下面是一个示例,输出一个包含多种数据类型的 ‘ret’ 对象:
// const ret = { “name”: ‘小明’, “hobbies”: [“看书”, “旅游”] };

async function main({ params }: Args): Promise {
// 构建输出对象
const ret = {
“key0”: params.input + params.input, // 拼接两次入参 input 的值
“key1”: [“hello”, “world”], // 输出一个数组
“key2”: { // 输出一个Object
“key21”: “hi”
},
};

return ret;

}
上面是代码示例,帮我生成一段代码,
输入变量input,变量类型array
需要实现的功能:把输入变量的第一行和第二行放在一起,保留换行符;把第三行及之后的单行作为一个值;去掉每句末尾的标点符号
输出变量fenge,变量类型array

你试着运行看看结果吧。
获取音频时长节点,这实际上是米核需要使用的时长数据,配置很简单,只需把音频链接传入即可。

其实直接从语音批处理中直接输出也可以,大家可以试一下。

后面这几个节点就简单了,全部是剪映草稿需要使用的。

创建草稿节点实际上是所有的组件最终要将素材添加到它输出的草稿ID里

信息节点,主要是将之前代码节点生成时间线加入。

有了信息后,添加的节点就可以利用这些信息将其添加到草稿。

同理,我们再使用音频信息节点,添加音频信息。

在用添加音频节点,将音频填入草稿。

打包节点,就是利用插件,将之前生成的单独打包,并提供下载链接。

同理,音频打包节点,会提供音频打包下载。

最后的结束节点,配置好草稿ID的输出和两个打包下载的节点即可。

最后,将产生的草稿ID复制到剪映小助手即可。怎么样?不难吧,你亲自试一试吧,我可是把很多卖AI课的关键点都公开了,特别是提示词,这个真值得好好研究。
如果你只是想体验一下,可以去扣子模板商店里检索“有声故事绘本助手”,它是一个智能体,我已经把它发布在模板商店里了,可以免费使用,只不过它的算力成本要比工作流稍微贵一些。
都看到这里了,没点关注的点一下关注吧!

声明:来自轶论闻,仅代表创作者观点。链接:https://eyangzhen.com/5149.html

轶论闻的头像轶论闻

相关推荐

关注我们
关注我们
购买服务
购买服务
返回顶部