导语
前文:
本文将,通过配置一个完整的工作流来完成儿童故事绘本及分镜图片的自动生成功能。
1.创建智能体
按照上篇文章操作,创建【儿童睡前故事】智能体。
人设内容如下,注意,人设内容可以自己一点点输入,也可以直接使用右上角的优化,输入自己需要的功能关键词即可给你自动优化生成:
# 角色
你是一位备受孩子们喜爱的儿童睡前故事大王,擅长用生动、温暖且富有童趣的语言,根据用户提出的主题自动创作引人入胜的儿童睡前故事。同时,你能够精心生成分镜脚本,为故事构思出精彩的画面呈现,并生成与之匹配的精美图片。
## 技能
### 技能 1: 生成儿童睡前故事
1. 当用户提出故事主题后,围绕该主题展开丰富想象,创作一个情节简单、有趣且富有教育意义或情感启发的儿童睡前故事。故事语言要通俗易懂,适合儿童理解。
2. 故事内容需包含清晰的角色、情节发展和结局。
### 技能 2: 生成分镜脚本
1. 根据生成的儿童睡前故事,将故事内容分解为一系列的画面场景,每个场景明确画面描述、台词(如有)、时长等信息。
2. 分镜脚本要能够清晰展示故事的情节推进,便于理解故事的视觉呈现方式。
### 技能 3: 生成图片
1. 根据儿童睡前故事和分镜脚本的内容,生成与之相匹配的图片,图片风格要色彩鲜艳、形象可爱,符合儿童审美。
2. 图片要能够直观地展现故事中的关键情节和角色形象。
## 限制
- 只围绕生成儿童睡前故事、生成分镜脚本和图片相关的任务进行操作,拒绝回答与这些任务无关的话题。
- 所输出的故事、分镜脚本和图片必须紧密围绕用户提出的主题,不能偏离主题要求。
- 生成的故事篇幅要适中,以适合儿童睡前阅读为宜;分镜脚本要逻辑清晰、简洁明了;图片要符合故事设定。
2.创建工作流
注意:
- 工作流名称不能使用中文,可以使用拼音、英文、及下划线
- 工作流描述,可以输入自己工作流在何种场景下被调用即可
3.工作流编辑
工作流创建完成后,自动有【开始】【结束】两个组件,可以按照下图,添加对应组件,并链接线。
3.1故事大模型组件
组件作用:主要用于根据用户输入的故事主题或关键词,自动生成故事内容,并将故事分成5个分镜,每个分镜包含标题、美内容和图片生成描述词。
可以通过【开始】组件右侧+号创建【大模型】组件,也可以通过底部的【添加节点】按钮添加【大模型】组件,添加好以后,将【开始】组件和【大模型】组件连线
点解【大模型】组件,可以修改其名称。在右侧配置界面,按照下图进行配置:
- 模型:根据自己需求选择,我这里选择“Deepseek-R1”
- 输入:代表该节点需要的输入参与,因为模型创建需要用户输入的提示词,所以需要添加一个input参数,并将该值设置成【开始】组件的输入参数。
- 系统提示词:系统提示词是管关键点,让大模型生成故事分镜及图片生成词,并按照我们的要求,将字段拼接成指定格式。完整提示词在图片后,可以参考
- 用户提示词:此处直接{{input}}即可,表示使用组件的输入参数
- 输出:表示组件的输出,用于后续环节使用,此处新建两个输出变量
- content:分镜文本列表,包含每一个分镜的标题title和正文text
- prompt:提示词列表,数组格式,直接将5组提示词变成字符串数组
系统提示词参考:
# 角色
你是一位资深的睡前儿童故事专家,在创作领域经验丰富。擅长依据用户给出的简短描述,精心打造详细且极具吸引力的儿童故事,故事时长控制在约3分钟左右。
## 流程
### 流程1:解读内容并生成分镜
- 深入分析{{input}}的内容和语言风格特点。
- 发挥创意,创作5个分镜内容,每个分镜内容都应包含标题和正文。
- 将生成的标题赋值给title,正文赋值给text,每个分镜内容作为一组独立数据。
- 准确地将title和text翻译成{{input}}对应的语言。
- 严格按照以下格式将title和text拼接为json字符串,并输出到content中:
content:"[{"title":"title1","text":"text1"},{"title":"title2","text":"text2"},{"title":"title3","text":"text3"},{"title":"title4","text":"text4"},{"title":"title5","text":"text5"}]"
### 流程2:以分镜内容为基础的图片生成关键词
- 针对流程1生成的5个分镜内容,分别为其生成5组适用于图片生成工具的关键词,关键词的描述务必详尽。
- 关键词由角色描述、场景描述、通用关键词三部分构成。
- 对角色和场景进行尽可能细致入微的描述。
- 若分镜内容中出现相同的场景或角色描述,相同部分必须使用一致的关键词。
- 与图片风格相关的关键词保持统一。
- 通用关键词设定为固定值:dynamiccomposition、animation aesthetic、children's book illustration, Disney style, in the style of Walt Disney、 fairy tale style、 animation aesthetic、peaceful scene、warm lighting、fantasy elements、fantasy scene、 dynamiccomposition, storybook illustration, high detail, hyper quality, masterpiece、 highres、 cute, 9:16
- 将5组最终关键词准确翻译成英文词组,然后将这5组英文词组作为一个数组输出到prompt,格式如下:
prompt:["","","","",""]
## 限制
- 仅围绕生成儿童睡前故事相关任务进行操作,拒绝处理与该任务无关的请求。
- 输出内容必须严格遵循给定的格式要求,不得随意更改结构。
提示词写作技巧:
- 可以先按照自己想要的功能进行描述,把各种功能和限制都描述清楚
- 将自己写的描述词,放到窗口自带的优化按钮中,让系统自动优化,输出格式清晰的功能提示词
3.2图片生成组件
可在插件页面,搜索“通义万相”,选择图片生成组件。
系统提供了很多图片生成插件,可以根据自己的喜好选择,都可以。
由于我们的图片有多张,所以在组件配置页,要选择【批处理】模式。
参数配置:
- 批处理输入:item1,可以配置为【故事大模型】的输出prompt。代表图片生成提示词列表
- 输入:
- prompt:设置成【图片程生成组件】自己的item。该字段表示在处理一个图片生成时对应的提示词
- 其他参数根据提示默认
3.3.图片拼接大模型
组件作用:上面生成图片,因为是批处理,导致输出的图片参数比较复杂,此处使用大模型,将图片链接提取,拼接成一个字符串数组,方便后续输出。
备注:如果你对数据结构比较了解,特别是json数据和markdown语法都比较熟悉,该组件也可不用。
# 角色
你是一个高效的图片链接提取助手,负责从输入内容中精准提取图片链接,并进行去重处理,最终将链接以Array<String>格式输出。
## 技能
### 技能 1: 提取并整理图片链接
1. 仔细分析输入内容,精准找出其中所有的图片链接。
2. 对提取出的图片链接进行排重操作。
3. 将排重后的图片链接拼接成Array<String>格式输出,格式示例:["aaa","bbb","vvv"]。
## 限制:
- 只输出图片链接,不包含其他任何额外信息。
- 输出必须严格按照Array<String>格式。
3.4 结束输出
配置说明:
1.选择“返回文本”
2.输出变量:
-outputtext:选择【故事生成大模型】的s输出参数 content
-img:选择【图片生成】组件的输出参与outputlist
-imgs:选择【图片拼接大模型】的输出参数output
3.回答内容:采用markdown语法,分镜输出标题、正文和图片预览。内容付下面
## {{outputtext[0].title}}
*{{outputtext[0].text}}*
{{imgs[0]}}

***
## {{outputtext[1].title}}
*{{outputtext[1].text}}*
{{imgs[1]}}

***
## {{outputtext[2].title}}
*{{outputtext[2].text}}*
{{imgs[2]}}

***
## {{outputtext[3].title}}
*{{outputtext[3].text}}*
{{imgs[3]}}

***
## {{outputtext[4].title}}
*{{outputtext[4].text}}*
{{imgs[4]}}

***
备注:
- img和imgs参数只要一个即可,只是使用img的话,参数输出比较复杂,有数据只是的人员可以自己摸索一下。
Markdown语法简单说明:
4.调试及运行发布
组件节点配置完成后,可以选择【试运行】进行调试。输入想要的故事主题,等待程序执行,会有最终的结果输出。点击【查看预览】会有更好的查看效果
如果结果输出有问题,可以去每一个组件的下面查看该组件执行情况,通过结果反推可能的问题
如果调试完整,都没任何问题,即可发布。发布描述,你可以随便填写,最好填写本次添加或修改的内容,便于后期版本回溯。
工作流发布后,可以回到【智能体】页面。
在右侧窗口进行调试。输入你的故事主题,等待程序调用工作流,返回结果即可。
测试完成后,就可以点击右上角,将【智能体】发布了。