【原创】基于gemini-2.5-flash-preview-05-20多模态模型实现短视频的自动化二创

 画面和解说保持一致,这个模型就是NB

[16:57:37] [*] 正在从视频中提取帧和时长 (频率: 1.0 帧/秒)...
[16:57:55] [+] 提取完成。视频时长: 83.40秒, 提取了 84 帧。
[16:57:55] [*] 使用AI供应商: gemini
[16:57:55] [*] 正在进行视觉分析...
[16:57:55]   L-> 正在向Vision API (gemini-2.5-flash-preview-05-20) 发送 84 帧图像...
[16:57:55]   L-> 请求URL: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-preview-05-20:generateContent?key=...
[16:58:28]   L<-收到API原始响应 (片段): {'candidates': [{'content': {'parts': [{'text': '{\n  "timeline": [\n    {\n      "time": 0,\n      "event": "视频开场,展示零食盒并提出盲测挑战。"\n    },\n    {\n      "time": 8,\n      "event": "首位挑战者品尝零食后,表情显示其味道偏辣。"\n    },\n    {\n      "time": 17,\n      "event": "男性挑战者品尝后夸张表示手中零食有“1000件小东西”,引人发笑。"\n    },\n    {\n      "time": 50,\n      "event": "女性挑战者闻到下一款零食,直呼“闻起来很辣”的强烈反应。"\n    },\n    {\n      "time": 58,\n      "event": "成功猜中“印度”为零食原产国,引发全场欢呼。"\n    }\n  ]\n}'}], 'role': 'model'}, 'finishReason': 'S...
[16:58:28]   L<-从响应中提取的文本内容:
---
{"timeline": [{"time": 0,"event": "视频开场,展示零食盒并提出盲测挑战。"},{"time": 8,"event": "首位挑战者品尝零食后,表情显示其味道偏辣。"},{"time": 17,"event": "男性挑战者品尝后夸张表示手中零食有“1000件小东西”,引人发笑。"},{"time": 50,"event": "女性挑战者闻到下一款零食,直呼“闻起来很辣”的强烈反应。"},{"time": 58,"event": "成功猜中“印度”为零食原产国,引发全场欢呼。"}]
}
---
[16:58:28] [+] 视觉分析完成。
[16:58:28] [*] 正在生成解说文案...
[16:58:28]   L-> 正在向Script API (gemini-2.5-flash-preview-05-20) 发送指令...
[16:58:28]   L-> 请求URL: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-preview-05-20:generateContent?key=...
[16:58:41]   L<-收到API原始响应 (片段): {'candidates': [{'content': {'parts': [{'text': '{\n  "script": [\n    {\n      "time": 0.5,\n      "text": "各位观众,欢迎来到今天的盲测挑战赛!一场味蕾的极限考验即将展开!"\n    },\n    {\n      "time": 8.5,\n      "text": "首位挑战者,眉头紧锁!看来这股辣味,直冲天灵盖啊!"\n    },\n    {\n      "time": 17.5,\n      "text": "哇!这位选手表情夸张,直呼有“1000件小东西”!这零食到底藏了什么玄机?!"\n    },\n    {\n      "time": 50.5,\n      "text": "还没入口!她就直呼“闻起来很辣”!这嗅觉反应也太强烈了吧!"\n    },\n    {\n      "time": 58.5,\n      "text": "成功猜中!“印度”!全场沸腾!恭喜这位挑战者,完美通关!"\n    },\n    {\n      ...
[16:58:41]   L<-从响应中提取的文本内容:
---
{"script": [{"time": 0.5,"text": "各位观众,欢迎来到今天的盲测挑战赛!一场味蕾的极限考验即将展开!"},{"time": 8.5,"text": "首位挑战者,眉头紧锁!看来这股辣味,直冲天灵盖啊!"},{"time": 17.5,"text": "哇!这位选手表情夸张,直呼有“1000件小东西”!这零食到底藏了什么玄机?!"},{"time": 50.5,"text": "还没入口!她就直呼“闻起来很辣”!这嗅觉反应也太强烈了吧!"},{"time": 58.5,"text": "成功猜中!“印度”!全场沸腾!恭喜这位挑战者,完美通关!"},{"time": 80.0,"text": "今天的精彩挑战到这里就告一段落!喜欢我们的节目,记得点赞、分享、关注!下期再见!"}]
}
---
[16:58:41] [+] 文案生成完成。
[16:58:41] --- 生成的脚本 ---
[16:58:41] [0.5s] 各位观众,欢迎来到今天的盲测挑战赛!一场味蕾的极限考验即将展开!
[16:58:41] [8.5s] 首位挑战者,眉头紧锁!看来这股辣味,直冲天灵盖啊!
[16:58:41] [17.5s] 哇!这位选手表情夸张,直呼有“1000件小东西”!这零食到底藏了什么玄机?!
[16:58:41] [50.5s] 还没入口!她就直呼“闻起来很辣”!这嗅觉反应也太强烈了吧!
[16:58:41] [58.5s] 成功猜中!“印度”!全场沸腾!恭喜这位挑战者,完美通关!
[16:58:41] [80.0s] 今天的精彩挑战到这里就告一段落!喜欢我们的节目,记得点赞、分享、关注!下期再见!
[16:58:41] --------------------
[16:58:41] [*] 正在为每一句解说合成语音...
[16:58:41]   - 合成第 1/6 句...
[16:58:41]   L-> 正在向本地TTS服务 (http://127.0.0.1:5002/api/tts) 发送文本: '各位观众,欢迎来到今天的盲测挑战赛!一场味蕾的极限考验即将展开!'
[16:58:44]   L<- 收到来自本地TTS的音频数据 (大小: 396008 bytes)
[16:58:44]   - 合成第 2/6 句...
[16:58:44]   L-> 正在向本地TTS服务 (http://127.0.0.1:5002/api/tts) 发送文本: '首位挑战者,眉头紧锁!看来这股辣味,直冲天灵盖啊!'
[16:58:47]   L<- 收到来自本地TTS的音频数据 (大小: 341392 bytes)
[16:58:47]   - 合成第 3/6 句...
[16:58:47]   L-> 正在向本地TTS服务 (http://127.0.0.1:5002/api/tts) 发送文本: '哇!这位选手表情夸张,直呼有“1000件小东西”!这零食到底藏了什么玄机?!'
[16:58:50]   L<- 收到来自本地TTS的音频数据 (大小: 379624 bytes)
[16:58:50]   - 合成第 4/6 句...
[16:58:50]   L-> 正在向本地TTS服务 (http://127.0.0.1:5002/api/tts) 发送文本: '还没入口!她就直呼“闻起来很辣”!这嗅觉反应也太强烈了吧!'
[16:58:53]   L<- 收到来自本地TTS的音频数据 (大小: 333200 bytes)
[16:58:53]   - 合成第 5/6 句...
[16:58:53]   L-> 正在向本地TTS服务 (http://127.0.0.1:5002/api/tts) 发送文本: '成功猜中!“印度”!全场沸腾!恭喜这位挑战者,完美通关!'
[16:58:56]   L<- 收到来自本地TTS的音频数据 (大小: 333200 bytes)
[16:58:56]   - 合成第 6/6 句...
[16:58:56]   L-> 正在向本地TTS服务 (http://127.0.0.1:5002/api/tts) 发送文本: '今天的精彩挑战到这里就告一段落!喜欢我们的节目,记得点赞、分享、关注!下期再见!'
[16:59:00]   L<- 收到来自本地TTS的音频数据 (大小: 497040 bytes)
[16:59:00] [+] 语音合成完成。
[16:59:00] [*] 正在使用ffmpeg合并视频和所有音轨...
[17:00:01] 
[+] 成功!二创视频已保存为 'H:/013-AI/instagram搬运/downloadfile/thesmilyfam\2025-08-02_Blindfolded taste testing this month’s @Universal _7401325663703092511_translated_recreated.mp4'
[17:00:01] [*] 正在清理临时音频文件...
[17:00:01] [+] 清理完成。

成本预算,我使用的是本地tts

1. 视觉分析 (Vision)

  • 抽帧频率: 根据您的 config.ini 设置,是 0.5 帧/秒。

  • 消耗计算: 120秒 × 0.5帧/秒 = 60帧

  • API消耗: 这60张图片会在1次API请求中全部发送给Gemini进行分析。所以,这里会消耗您每日1000次免费额度中的 1次

2. 文案生成 (Script)

  • 消耗计算: 程序会根据视觉分析的结果,再向AI发起1次请求,让它生成解说脚本。

  • API消耗: 这里会再消耗您每日1000次免费额度中的 1次

3. 语音合成 (TTS)

  • AI判断: 根据我们的智能规则,一个120秒的视频,AI大概会生成 120 / 25 = 4.8,也就是4-6句左右的解说词。

  • API消耗: 因为您在 config.ini 中已经将 tts_model 设置为了 local,所以这一步的所有请求都会发送到您自己的本地TTS服务

  • 云端API消耗: 0次


总结

处理一个2分钟的视频,总共会消耗您云端API的:

  • Gemini API (视觉+文案): 1 + 1 = 2次请求 (在您每日1000次的免费额度内)。

  • TTS API: 0次请求 (因为使用的是您自己的本地服务)。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/92158.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/92158.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数仓架构 数据表建模

数仓架构 主要用来描述 数据加工的实时链路 和 离线链路之间的关系,即 流批 关系; lamda 架构, 是两条路, 实时计算式的, 维护数据的实时性。然后每天经过批计算后, 覆盖实时的计算结果。 保证数据准确性。 kappa架构, 即流批一体了 数据建模 星型模型是数据仓库中最…

vscode调试python脚本时无法进入函数内部的解决方法

只需在launch.json配置文件中添加“justMyCode”:false.

Python day37

浙大疏锦行 python day37. 内容&#xff1a; 保存模型只需要保存模型的参数即可&#xff0c;使用的时候直接构建模型再导入参数即可 # 保存模型参数 torch.save(model.state_dict(), "model_weights.pth")# 加载参数&#xff08;需先定义模型结构&#xff09; mod…

ORACLE进阶操作

1 事务 事务的任务便是使数据库从一种状态变换成为另一种状态&#xff0c;这不同于文件系统&#xff0c;它是数据库所特用的。 所有的数据库中&#xff0c;事务只针对DML&#xff08;增删改)&#xff0c;不针对select select只能查看其他事务提交或回滚的数据&#xff0c;不能查…

Modbus 的一些理解

疑问&#xff1a;&#xff08;使用的是Modbustcp&#xff09;我在 Modbus slave 上面设置了slave地址为1&#xff0c;位置为40001的位置的值为1&#xff0c;40001这个位置上面的值是怎么存储的&#xff0c;存储在哪里的&#xff1f;他们是怎么进行交互的&#xff1f;在Modbus协…

【运动控制框架】WPF运动控制框架源码,可用于激光切割机,雕刻机,分板机,点胶机,插件机等设备,开箱即用

WPF运动控制框架源码&#xff0c;可用于激光切割机&#xff0c;雕刻机&#xff0c;分板机&#xff0c;点胶机&#xff0c;插件机等设备&#xff0c;考虑到各运动控制硬件不同&#xff0c;视觉应用功能&#xff08;应用视觉软件&#xff09;也不同&#xff0c;所以只开发各路径编…

RabbitMQ-日常运维命令

作者介绍&#xff1a;简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。中间件&#xff0c;我给它的定义就是为了实现某系业务功能依赖的软件&#xff0c;包括如下部分:Web服务器代理…

【Linux基础知识系列】第九十篇 - 使用awk进行文本处理

在Linux系统中&#xff0c;文本处理是一个常见的任务&#xff0c;尤其是在处理日志文件、配置文件和数据文件时。awk是一个功能强大的文本处理工具&#xff0c;广泛用于数据提取、分析和格式化。它不仅可以处理简单的文本文件&#xff0c;还可以处理复杂的结构化数据&#xff0…

第二十七天(数据结构:图)

图&#xff1a;是一种非线性结构形式化的描述: G{V,R}V:图中各个顶点元素(如果这个图代表的是地图&#xff0c;这个顶点就是各个点的地址)R:关系集合&#xff0c;图中顶点与顶点之间的关系(如果是地图&#xff0c;这个关系集合可能就代表的是各个地点之间的距离)在顶点与顶点…

数据赋能(386)——数据挖掘——迭代过程

概述重要性如下&#xff1a;提升挖掘效果&#xff1a;迭代过程能不断优化数据挖掘模型&#xff0c;提高挖掘结果的准确性和有效性&#xff0c;从而更好地满足业务需求。适应复杂数据&#xff1a;数据往往具有复杂性和多样性&#xff0c;通过迭代可以逐步探索和适应数据的特点&a…

什么是键值缓存?让 LLM 闪电般快速

一、为什么 LLMs 需要 KV 缓存&#xff1f;大语言模型&#xff08;LLMs&#xff09;的文本生成遵循 “自回归” 模式 —— 每次仅输出一个 token&#xff08;如词语、字符或子词&#xff09;&#xff0c;再将该 token 与历史序列拼接&#xff0c;作为下一轮输入&#xff0c;直到…

16.Home-懒加载指令优化

问题1&#xff1a;逻辑书写位置不合理问题2&#xff1a;重复监听问题已经加载完毕但是还在监听

Day116 若依融合mqtt

MQTT 1.MQTT协议概述MQTT是一种基于发布/订阅模式的轻量级消息传输协议&#xff0c;设计用于低带宽、高延迟或不稳定的网络环境&#xff0c;广泛应用于物联网领域1.1 MQTT协议的应用场景1.智能家居、车联网、工业物联网&#xff1a;MQTT可以用于连接各种家电设备和传感器&#…

PyTorch + PaddlePaddle 语音识别

PyTorch PaddlePaddle 语音识别 目录 概述环境配置基础理论数据预处理模型架构设计完整实现案例模型训练与评估推理与部署性能优化技巧总结 语音识别&#xff08;ASR, Automatic Speech Recognition&#xff09;是将音频信号转换为文本的技术。结合PyTorch和PaddlePaddle的…

施耐德 Easy Altivar ATV310 变频器:高效电机控制的理想选择(含快速调试步骤及常见故障代码)

施耐德 Easy Altivar ATV310 变频器&#xff1a;高效电机控制的理想选择&#xff08;含快速调试步骤&#xff09;在工业自动化领域&#xff0c;变频器作为电机控制的核心设备&#xff0c;其性能与可靠性直接影响整个生产系统的效率。施耐德电气推出的 Easy Altivar ATV310 变频…

搭建邮件服务器概述

一、电子邮件应用解析标准邮件服务器&#xff08;qq邮箱&#xff09;&#xff1a;1&#xff09;提供电子邮箱&#xff08;lvbuqq.com&#xff09;及存储空间2&#xff09;为客户端向外发送邮件给其他邮箱&#xff08;diaochan163.com&#xff09;3&#xff09;接收/投递其他邮箱…

day28-NFS

1.每日复盘与今日内容1.1复盘Rsync:本地模式、远程模式&#x1f35f;&#x1f35f;&#x1f35f;&#x1f35f;&#x1f35f;、远程守护模式&#x1f35f;&#x1f35f;&#x1f35f;&#x1f35f;&#x1f35f;安装、配置Rsync启动、测试服务备份案例1.2今日内容NFS优缺点NFS服…

二叉搜索树--通往高阶数据结构的基石

目录 前言&#xff1a; 1、二叉搜索树的概念 2、二叉搜索树性能分析 3、二叉搜索树的实现 BinarySelectTree.h test.cpp 4、key 和 key / value&#xff08; map 和 set 的铺垫 &#xff09; 前言&#xff1a; 又回到数据结构了&#xff0c;这次我们将要学习一些复杂的…

Profinet转Ethernet IP网关接入五轴车床上下料机械手控制系统的配置实例

本案例为西门子1200PLC借助PROFINET转EtherNet/IP网关与搬运机器人进行连接的配置案例。所需设备包括&#xff1a;西门子1200PLC、Profinet转EtherNet/IP网关以及发那科&#xff08;Fanuc&#xff09;机器人。开启在工业自动化控制领域广泛应用、功能强大且专业的西门子博图配置…

专题二_滑动窗口_长度最小的子数组

引入&#xff1a;滑动窗口首先&#xff0c;这是滑动窗口的第一道题&#xff0c;所以简短的说一下滑动窗口的思路&#xff1a;当我们题目要求找一个满足要求的区间的时候&#xff0c;且这个区间的left和right指针&#xff0c;都只需要同向移动的时候&#xff0c;就可以使用滑动窗…