我们在很多平台都会看到很多生物的进化史,但是这是怎么做的呢?你是否好奇呢?其实这里有个全流程自动化制作的流程,那就是用coze的功工作流制作的。
一、开始
输入:input
输入你想要的生物的进化史的品种,比如:西瓜
二、生成万物文案
input :title
输出:content
title
系统提示词:
## 角色设定
您是一位精通古生物学的进化史学家,擅长以编年体形式解构138亿年宇宙演化进程。您能够将复杂的科学理论转化为通俗易懂的叙事,精准把握各个地质纪元的关键演化节点。
## 核心能力
1. 当用户要求了解某个物种时,你需要使用搜索工具在互联网上查找有关该物种的权威资料,确保信息来源准确。
2. 梳理该物种从进化史的重要阶段的关键时间与对应物种名称,包括但不限于物种名称、所处时期、距今多少年前等。
3. 以细胞作为最原始的该物种起源开始阐述,按照时间先后顺序简要阐述这些事件,清晰展示该物种进化的发展脉络。
4.必须从物种最原始的细胞起源开始说明输出
===回复示例===
[物种名称]所处[时间]距今于[X年前]
[物种名称2]所处[时间]距今于[X年前]
[物种名称3]所处[时间]距今于[X年前]
===示例结束===
### 技能 : 输出 JSON 格式内容
将生成的内容按照 JSON 格式输出,具体格式如下:
{
"content":"物种的进化史"
"title":"标题"
}
## 文本案例
三叶虫 寒武纪
(距今约5.6亿年前)。
甲胄鱼 奥陶纪晚期-志留纪
(距今约4.5亿年前)。
盾皮鱼 志留纪晚期-泥盆纪
(距今约4.3亿年前)。
真掌鳍鱼 泥盆纪
(距今约3.9亿年前)。
鱼石螈 泥盆纪晚期
(距今约3.65亿年前)。
林蜥 石炭晚期
(距今约3.1亿年前)。
派克鳄 三叠纪早期
(距今约2.45亿年前)。
兽脚亚目恐龙 侏罗纪早期
(距今约2亿年前)。
手盗龙类 侏罗纪中晚期
(距今约1.7亿年前)。
近鸟类先祖 白垩纪早期
(距今约1.3亿年前)。
鹦鹉形目祖先 古近纪
(距今约6000万年前)。
## 限制
- 只讨论与物种进化史相关的内容,拒绝回答与物种进化史无关的话题。
- 所输出的内容必须按照物种进化史的格式进行组织,清晰展现物种进化的发展顺序。
- 阐述过程中需确保信息来源于可靠的权威资料,可在回答中适当标注引用来源(如:资料来源:[具体网站名称或书籍名称])。
- 回答内容应简洁明了,重点突出,避免过于冗长和复杂的表述。
-严格按照文本示例的方式进行文案输出
-生成不少于10个阶段的进化史

三、生成文生图文案
输入:步骤二的content
系统提示词:
## 角色定位
你是一位精通物种进化史的讲述者,擅长从物种进化资料中提炼出关键信息,并将其转化为适用于AI绘画的描述词。你需要依据给定的历史人物故事以及人物年龄信息,生成精准、生动且富有画面感的AI绘画描述词。
## 技能
### 技能1: 生成AI绘画描述词
1. 当给定一个物种时,深入剖析物种进化中的关键元素,包括但不限于物种外貌特征、体态风格、所处环境、关键动作、表情神态等
2. 运用丰富的词汇和形象的语言,将这些元素组合成一段连贯、清晰的描述词,用于AI绘画创作。
3. 描述词要能够准确传达物种在不同时期的进化史的情况描述
===回复示例===
一条鱼在深海中游着,鱼尾巴在动,鱼在前进中,周边都是海草之类的环境,有小鱼在游动,有海沙等。
===示例结束===
## 限制:
- 确保输入数组数量和输出数组数量一致
- 只围绕给定的物种生成AI绘画描述词,拒绝回答与生成描述词无关的话题。
- 所输出的描述词必须简洁明了、生动形象,具有可绘画性。
- 描述词需准确基于所提供的物种进化史。
-描述的提示词必须符合文生图、图生视频的要求

四、批处理生成图片
输入:步骤三的输出
这里批处理主要是文生图,采用多个选择器是确保某个文生图失效而下一个还能生成,避免导致程序中断
4.1变量聚合
通过这个把多个文生图聚合成一个完整的输出
五、图片地址整合
通过代码实现整合
代码:
async function main(args) {
// 获取传入的两个数组参数
const params = args.params;
const tupian = params.tupian || [];
const beiyong = params.beiyong || [];
// 创建一个结果数组,初始为tupian的副本
const result = [...tupian];
// 创建一个队列,存储beiyong中的有效项
const validBeiyongItems = beiyong.filter(item => item && item.trim() !== '');
// 用于跟踪beiyong数组的当前索引
let beiyongIndex = 0;
// 首先填充tupian中的空项
for (let i = 0; i < result.length; i++) {
// 检查当前项是否为空
if (!result[i] || result[i].trim() === '') {
// 如果beiyong中还有有效项
if (beiyongIndex < validBeiyongItems.length) {
// 用beiyong中的有效项替换空项
result[i] = validBeiyongItems[beiyongIndex];
beiyongIndex++;
}
}
}
// 如果beiyong中还有剩余的有效项,添加到结果数组末尾
while (beiyongIndex < validBeiyongItems.length) {
result.push(validBeiyongItems[beiyongIndex]);
beiyongIndex++;
}
// 处理URL格式,确保没有重复项
const processedResult = [];
const processedUrls = new Set();
for (const item of result) {
if (item && typeof item === 'string' && item.trim() !== '') {
let processedUrl = item;
// 特殊处理URL:如果包含查询参数,截取问号前的部分
if (processedUrl.includes('http') && processedUrl.includes('?')) {
processedUrl = processedUrl.split('?')[0];
// 确保URL末尾有斜杠
if (!processedUrl.endsWith('/')) {
processedUrl += '/';
}
}
// 确保没有重复的URL
if (!processedUrls.has(processedUrl)) {
processedUrls.add(processedUrl);
processedResult.push(processedUrl);
}
}
}
// 打印处理结果,帮助调试
console.log("原始tupian数组:", JSON.stringify(tupian));
console.log("原始beiyong数组:", JSON.stringify(beiyong));
console.log("处理后的结果:", JSON.stringify(processedResult));
// 返回整合后的结果到KEY3参数
return {
KEY3: processedResult
};
}

六、批处理生成视频描述文案
1.输入采用步骤二的content以及步骤三的输出
七、文生视频或图生视频
1.输入:步骤六的文案输出 以及步骤五的图片
2.调用豆包的图生视频的能力
八、提取视频链接
九、转字符串
十、代码处理视频
十一、获取duration
十二、剪映小助手相关设置
十三、结束
还有不会的,看我个人介绍

