在学习自动化生成小说的过程中,对长文本进行分段,然后针对分段生成镜头脚本是重要的工作环节。
此方法可以降低图片图片生成数量,但需要配套的逐句生成配音工具。以此保证画面和声音一致。
很多工具以先导入SRT文件,在依托SRT文件中文本分段时间点生成画面,所以没必要进行长文本分段,直接用文本生成音频和SRT使用即可。
之前针对长文本分段一直使用ChatGPT输入长文本,输出CSV格式文本的方式。这样不止累,输出也不是太稳定,尤其是上下文太长时。当然这个方式也有优点:就是可以把语意相近的文字合并为一段。
使用扣子的好处:
- 可以将”文本分段“加入后续工作流,一步完成脚本制作工作。(本文不讲解)
- 代码分段更稳定,执行效率也高,并且可以按照要求过滤无效字符。
操作流程
1.创建工作流,加入代码节点
2.输入代码
async function main({ params }: { params: { input: string } }): Promise<{ content: string, rows: string[] }> { // 检查 params 和 input 是否存在 const input = params?.input ?? ""; // 分割输入文本 const lines = input.split('\n'); // 存储处理后的行 const rows: string[] = []; // 处理每一行 for (let i = 0; i < lines.length; i++) { const line = lines[i].trim(); // 如果行长度大于20,直接加入结果中 if (line && line.length > 20) { rows.push(line); } else if (line.length > 0) { // 如果当前行长度小于等于20且非空,合并到前一行(如果存在) if (rows.length > 0) { rows[rows.length - 1] += ' ' + line; } else { // 如果 rows 为空(即第一行),直接添加该行 rows.push(line); } } } // 返回结果对象 return { content: input, // 返回原始输入内容 rows: rows, // 返回处理后的行数据 }; }
注:单行文本如果太短,会合并行。你可以使用ChatGPT加入更多过滤功能,比如过滤特殊字符。
3.代码节点完整配置
4.链接到结束节点
5.创建一个Bot
6.选择单Agent模式
7.添加步骤4发布的工作流
8.复制输出结果
9.随便找个JOSN转EXCEL的方法(搜索JSON转EXCEL)
10.最后:你将得到一份格式化后的EXCEL
结语
其实很多AI绘图软件都有此功能,一般都要付费,但是某些软件允许免费导入完整脚本文件生成图像。
后续加入生成画面提示词节点,可以得到更加完整的画面脚本EXCEL。
为什么不做出完整工作流?因为后续怕付费,不可持续。