目录

1. 前言

2. 工作流设计

3. 工作流实现

4. 资料领取

5. 结语

1. 前言

最近刷短视频的朋友们应该都发现了,那些带有"小心机"的古诗启蒙视频异常火爆。一个简单的"春晓搭配卡通动画"模板就能轻松收获数十万点赞;李白的《静夜思》配上童声朗诵和星空特效,评论区满是家长催更的留言;更不用说那些用AI生成国风水墨画的账号,单靠带货古诗绘本的视频就能月入六位数。

这几天社群里刚好讨论了这种爆款儿童古诗词视频,群友问能不能基于coze一键生成这种视频,我的回答当然是可以的。我用了一天时间搭建了这个工作流,只需要输入古诗名字,就能一键生成爆款儿童古诗启蒙视频,效果如下:

2. 工作流设计

在正式开始解释工作流之前,还是按照惯例先给大家梳理一下工作流设计思路:

1. 用户填入古诗名字;

2. 大模型根据古诗名字解析出诗歌内容、诗人名字和朝代;

3. 基于每句古诗生成音频;

4. 基于每句古诗生成图像;

5. 基于每句古诗调用即梦AI插件生成视频;

6. 组装视频、字幕、音频要素写入剪映草稿。

3. 工作流实现

本章还是照旧给大家讲解一下工作流实现的核心节点,完整工作流如下图:

**开始:**开始节点的输入参数为古诗名字。

**根据故事名字生成古诗内容、作者、朝代(大模型):**这个节点的大模型采用的DeepSeek R1,可根据古诗名字检索诗歌完整内容,返回内容、作者和作者朝代。

**将每句古诗生成音频(插件):**这个节点的作用是生成每句古诗的音频,我选的音色是小助佩奇,语速0.8。

**文生图、图像生成:**这两个节点的作用基于每句古诗生成符合其意境的配图。

**图生视频:**这个节点我选的通义千问大模型,它的作用是基于前面的文生图提示词生成图生视频提示词。

**image2video_task_create(即梦AI插件):**这个节点的作用是将我们前面生成的图片转变为视频。

需要注意的是image2video_task_create插件需要搭配image2video_task_query插件使用,我这里写了一个死循环机制去获取即梦AI插件生成的视频地址:

**代码_信息组装:**这个节点的作用将前面节点生成的内容转换为剪映小助手需要的格式。

完整代码:

async function main(args) {
    const params = args.params;
    
    // 解析所有输入参数为数组
    let times, video_list, texts, audio_urls, author, title;
    try {
        // 将字符串类型的参数解析为JavaScript对象
        times = typeof params.time === 'string' ? JSON.parse(params.time) : params.time;
        video_list = typeof params.video_list === 'string' ? JSON.parse(params.video_list) : params.video_list;
        texts = typeof params.texts === 'string' ? JSON.parse(params.texts) : params.texts;
        audio_urls = typeof params.audio_urls === 'string' ? JSON.parse(params.audio_urls) : params.audio_urls;
        author = params.author;
        title = params.title;
    } catch (e) {
        return { error: `解析输入参数时出错: ${e.message}` };
    }
    
    // 保证所有参数都是数组类型
    if (!Array.isArray(times)) times = [times];
    if (!Array.isArray(video_list)) video_list = [video_list];
    if (!Array.isArray(texts)) texts = [texts];
    if (!Array.isArray(audio_urls)) audio_urls = [audio_urls];
    
    // 获取其他参数
    const width = parseInt(params.width);
    const height = parseInt(params.height);
    
    // 初始化结果数组
    const captions = [];
    const videos = [];
    const audios = [];
    const captions1 = [];
    const captions2 = [];
    
    let current_time = 0;
    let duration_all = 0; // 用于累加所有duration
    
    // 获取所有数组的最小长度
    const data_length = Math.min(times.length, video_list.length, texts.length, audio_urls.length);
    
    for (let idx = 0; idx < data_length; idx++) {
        // 使用当前索引的时间值
        const duration = times[idx]; // 转为微秒
        const end_time = current_time + duration;
        
        // 累加duration
        duration_all += duration;
        
        try {
            // 获取音频URL (处理嵌套结构)
            let audio_url;
            if (typeof audio_urls[idx] === 'object' && audio_urls[idx].data && audio_urls[idx].data.link) {
                audio_url = audio_urls[idx].data.link;
            } else {
                audio_url = String(audio_urls[idx]);
            }
            
            // 获取文本 (处理嵌套结构)
            let text;
            if (typeof texts[idx] === 'object' && texts[idx].sentence) {
                text = texts[idx].sentence;
            } else {
                text = String(texts[idx]);
            }
            
            // 获取视频URL
            const video_url = String(video_list[idx]);
            
            // 添加到结果数组
            audios.push({
                audio_url: audio_url,
                duration: duration,
                start: current_time,
                end: end_time
            });
            
            captions.push({
                text: text,
                start: current_time,
                end: end_time,
                in_animation: "打字机 II",
                out_animation: "消散",
                in_animation_duration: duration
            });
            
            videos.push({
                video_url: video_url,
                width: width,
                height: height,
                start: current_time,
                end: end_time,
                duration: duration
                // transition: "叠化",
                // transition_duration: 1000000
            });
            
        } catch (e) {
            console.error(`处理第${idx}个元素时出错: ${e.message}`);
            continue;
        }
        
        // 更新时间
        current_time = end_time;
    }

    // 标题字幕
    captions1.push({
        text: title,
        start: 0,
        end: duration_all,
        in_animation: "渐显",
        out_animation: "渐隐",
        in_animation_duration: 1000000  // 1秒
    });

    // 作者字幕
    captions2.push({
        text: author,
        start: 0,
        end: duration_all,
        in_animation: "渐显",
        out_animation: "渐隐",
        in_animation_duration: 1000000  // 1秒
    });
    
    // 返回结果
    return {
        captions: JSON.stringify(captions),
        videos: JSON.stringify(videos),
        audios: JSON.stringify(audios),
        captions1: JSON.stringify(captions1),
        captions2: JSON.stringify(captions2),
        duration_all: duration_all
    };
}

**add_audios、add_videos、add_captions(剪映小助手插件):**这三个插件的作用是将我们前面节点生成的素材写入到剪映草稿中。

结束:结束节点的参数设置为剪映小助手的草稿地址,将这个地址粘贴到剪映小助手点击创建草稿就能在剪映中查看成品视频。

4. 资料领取

你觉得大模型不好用,可能是你不会写提示词,小肥肠为你准备了海量提示词模板和DeepSeek相关教程,只需关注gzh后端小肥肠,点击底部【资源】菜单即可领取。

本文的工作流及提示词已经上传至coze空间,感兴趣的朋友可以私信小肥肠详细了解~

5. 结语

通过Coze平台结合即梦AI插件,本文实现了从输入古诗名字到自动生成儿童启蒙视频的全流程自动化,极大地提升了内容创作的效率和质量。通过这篇文章,我希望大家能感受到AI在创作过程中的巨大潜力,也期待看到更多的人利用这些工具进行创新,创造出更多有趣和有价值的内容。

本文转自 https://blog.csdn.net/c18213590220/article/details/148202536?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522df5f59760b93628d18f852ce17438028%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=df5f59760b93628d18f852ce17438028&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allElasticSearch~search_v2-6-148202536-null-null.142v102pc_search_result_base3&utm_term=coze%E5%8F%A4%E8%AF%97%E8%A7%86%E9%A2%91&spm=1018.2226.3001.4187,如有侵权,请联系删除。

这份完整版的AI智能体整合包已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐