Coze制作1分钟短视频
创建工作流前置操作:



1.开始节点,接收用户输入。

第二个节点是大模型节点,用于对用户输入进行扩充,生成大约1分钟的口播稿。提示词:
你是一位故事达人,擅长各种故事,请根据{{input}}扩写成200字左右的口播文案,并分成10段内容,每段内容用::间隔。
第三个节点是代码节点,用于将大模型生成的文本整理成列表。

import re
async def main(args: Args) -> Output:
params = args.params
content = params['input']
pattern = r'[::]\s*'
# 使用re.split()函数根据正则表达式切割文本
# re.split()会将匹配到的分隔符从结果中移除
texts = re.split(pattern, content)
# 移除数组中可能存在的空字符串元素
texts = [t for t in texts if t]
# 构建输出对象
ret: Output = {
"textList": texts
}
return ret第四个是批处理节点,用于生成图片、音频,并获取每个音频的时长。




第五个是代码节点,用于将批处理节点生成的图片和音频整理成剪辑插件需要的格式。


import json
from typing import Dict
async def main(args: Args) -> Dict[str, str]:
params = args.params
times = params['duration']
image = params['image']
texts = params['text']
aduio_urls = params['audio']
width = params['width']
height = params['height']
captions = []
imgs = []
audios = []
# 处理图片的缝隙
img_start = 0
draft_end = 0
for index, element in enumerate(texts):
start = img_start
end = int(img_start + int(times[index]['duration']))
audios.append({
"audio_url": aduio_urls[index]['data']['link'], #音频
"duration": int(times[index]['duration']),
"start": start,
"end": end
})
captions.append({
'text': element,
'start': start,
'end': end,
"in_animation":"渐显"
})
#固定背景图
imgs.append({
"image_url": image[index]['data'],
"width": width,
"height": height,
"start": start,
"end": end
})
if start > img_start:
start = img_start
img_start = end
draft_end = end
# 构建输出对象
ret = {
"captions": json.dumps(captions),
"imgs": json.dumps(imgs),
"audios": json.dumps(audios)
}
return ret第六个节点是创建剪辑草稿。

第七个节点用于添加音频。

第八个节点用于添加图片。

第九个节点用于添加字幕。

第十个节点用于保存剪辑草稿。

结束节点用于输出剪辑草稿地址。

最后将生成好的复制到剪映小助手中,点击创建剪映草稿按钮,即可将草稿同步到剪映。
(剪映小助手下载地址:https://ts.fyshark.com/#/)

