一个文生视频MoneyPrinterTurbo项目解析

最近抖音剪映发布了图文生成视频功能,同时百家号也有这个功能,这个可以看做是一个开源的实现,一起看看它的原理吧~

一句话提示词

大模型生成文案

百家号生成视频效果

MoneyPrinterTurbo生成视频效果

天空为什么是蓝色的?

天空之所以呈现蓝色,是因为大气中的分子和小粒子会散射太阳光中的蓝色光线比其他颜色更多。这种现象称为“瑞利散射”。太阳光是由不同颜色的光线组成的,这些颜色的光线混合在一起形成了白光。在地球的大气中,较短的波长,如蓝色和紫色,比较长的波长,如红色和橙色,更容易被散射。然而,我们的眼睛对蓝色光线的敏感度更高,因此我们看到的天空大部分时间都是蓝色的。此外,当太阳接近地平线时,光线需要穿越更多的大气层,这使得更多的蓝色和绿色光线被散射掉,留下的主要是红色和橙色,这就是为什么日落和日出时天空会呈现出红色或橙色的原因。

天空为什么是蓝色的?

天空为什么是蓝的MPT生成

一、项目说明

利用AI大模型,一键生成高清短视频:只需提供一个视频 主题关键词 ,就可以全自动生成视频文案、视频素材、视频字幕、视频背景音乐,然后合成一个高清的短视频。

1.功能特性

  • 完整的MVC架构,代码结构清晰,易于维护,支持APIWeb界面

  • 支持视频文案AI自动生成,也可以自定义文案

  • 支持多种高清视频尺寸

    • 竖屏 9:16,1080x1920

    • 横屏 16:9,1920x1080

  • 支持批量视频生成,可以一次生成多个视频,然后选择一个最满意的

  • 支持视频片段时长设置,方便调节素材切换频率

  • 支持中文英文视频文案

  • 支持多种语音合成

  • 支持字幕生成,可以调整字体位置颜色大小,同时支持字幕描边设置

  • 支持背景音乐,随机或者指定音乐文件,可设置背景音乐音量

  • 视频素材来源高清,而且无版权

  • 支持OpenAImoonshotAzuregpt4freeone-api通义千问Google GeminiOllama等多种模型接入

2.后期计划

  • GPT-SoVITS 配音支持

  • 优化语音合成,利用大模型,使其合成的声音,更加自然,情绪更加丰富

  • 增加视频转场效果,使其看起来更加的流畅

  • 增加更多视频素材来源,优化视频素材和文案的匹配度

  • 增加视频长度选项:短、中、长

  • 打包成一键启动包(Windows,macOS),方便使用

  • 增加免费网络代理,让访问OpenAI和素材下载不再受限

  • 可以使用自己的素材

  • 朗读声音和背景音乐,提供实时试听

  • 支持更多的语音合成服务商,比如 OpenAI TTS, Azure TTS

  • 自动上传到YouTube平台

二.安装部署

1.安装

  • 尽量不要使用 中文路径,避免出现一些无法预料的问题

  • 请确保你的 网络 是正常的,VPN需要打开全局流量模式

① 克隆代码
git clone https://github.com/harry0703/MoneyPrinterTurbo.git
② 修改配置文件
  • config.example.toml 文件复制一份,命名为 config.toml

  • 按照 config.toml 文件中的说明,配置好 pexels_api_keysllm_provider,并根据 llm_provider 对应的服务商,配置相关的 API Key

③ 配置大模型(LLM)
  • 如果要使用 GPT-4.0GPT-3.5,需要有 OpenAIAPI Key,如果没有,可以将 llm_provider 设置为 g4f ( 一个免费使用GPT的开源库 https://github.com/xtekky/gpt4free ,但是该免费的服务,稳定性较差,有时候可以用,有时候用不了)

  • 或者可以使用到 月之暗面 申请。注册就送 15元体验金,可以对话1500次左右。然后设置 llm_provider="moonshot"moonshot_api_key

  • 也可以使用 通义千问,具体请看配置文件里面的注释说明

2.部署

① 创建虚拟环境

建议使用conda创建 python 虚拟环境

git clone https://github.com/harry0703/MoneyPrinterTurbo.gitcd MoneyPrinterTurboconda create -n MoneyPrinterTurbo python=3.10conda activate MoneyPrinterTurbopip install -r requirements.txt
② 安装好 ImageMagick
Windows:
  • 下载https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-29-Q16-x64-static.exe

  • 安装下载好的 ImageMagick,注意不要修改安装路径

  • 修改配置文件 config.toml中的imagemagick_path为你的实际安装路径(如果安装的时候没有修改路径,直接取消注释即可)

MacOS:
brew install imagemagick
Ubuntu:
sudo apt-get install imagemagick
CentOS:
sudo yum install ImageMagick
③ 启动Web界面

注意需要到 MoneyPrinterTurbo 项目根目录下执行以下命令

Windows:
conda activate MoneyPrinterTurbowebui.bat
MacOS or Linux:
conda activate MoneyPrinterTurbosh webui.sh

启动后,会自动打开浏览器

④ 启动API服务
python main.py

启动后,可以查看API文档http://127.0.0.1:8080/docs或者http://127.0.0.1:8080/redoc直接在线调试接口,快速体验

三.源码剖析

1.开发框架

  • UI:Streamlit • A faster way to build and share data apps

  • OpenAPI:FastAPI

2.参数解析

{"video_subject": "string",                      ## 视频主题,必选"video_script": "",                             ## 视频脚本,可以为空,为空则LLM生成"video_terms": "string",                        ## 视频搜索词列表,英文,可以为空,为空则LLM生成"video_aspect": "9:16",                         ## 视频宽高比,支持:"16:9""9:16""1:1""video_concat_mode": "random",                  ## 视频拼接方式,支持:"random""sequential""video_clip_duration": 5,                       ## 视频剪辑持续时长,默认5,小于此时长的视频不会被下载"video_count": 1,                               ## 视频生成个数,默认1"video_language": "",                           ## 视频语言"voice_name": "",                               ## 配音人名称"voice_volume": 1,                              ## 配音音量,默认1"bgm_type": "random",                           ## 背景音乐选择类型,

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

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

相关文章

死磕GMSSL通信-java/Netty系列(二)

死磕GMSSL通信-java/Netty系列(二) 在上一篇文章中,我们探讨了如何利用C/C++实现国密通信。而本文将聚焦于Java环境下,特别是基于Netty框架,如何实现与国密系统的安全通信。为了确保新项目遵循最新的国密标准,我们将优先推荐使用GB/T 38636-2020(TLCP)协议。对于Java开…

怎么转行做产品经理?

小白转产品经理第一点要先学基础理论知识,学了理论再去实践,转行,跳槽! 学理论比较好的就是去报NPDP的系统班,考后也会有面试指导课、职场晋升课程,对小白来说非常合适了~(B站:不爱…

微软正式发布Copilot for Security

微软公司近日宣布,其备受期待的安全自动化解决方案——Copilot for Security现已全面上市,面向全球用户开放。这一创新工具的推出标志着微软在提升企业安全防护能力方面迈出了重要一步,同时也为安全专业人士提供了强大的支持。 Copilot for …

图数据库Neo4J入门——Neo4J下载安装+Cypher基本操作+《西游记》人物关系图实例

这里写目录标题 一、效果图二、环境准备三、数据库设计3.1 人物节点设计3.2 关系设计 四、操作步骤4.1 下载、安装、启动Neo4J服务4.1.1 配置Neo4J环境变量4.1.2 启动Neo4J服务器4.1.3 启动Ne04J客户端 4.2 创建节点4.3 创建关系(从已有节点创建关系)4.4…

百度智能云万源全新一代智能计算操作系统发布:引领AI新纪元,开启智能未来

随着科技的迅猛发展,人工智能(AI)逐渐渗透到我们生活的每个角落,为人类社会带来前所未有的变革。在这场科技革命的浪潮中,百度作为中国AI领域的领军企业,始终站在技术创新的前沿,不断引领行业发…

数字电路(四,五章总结)

四.组合逻辑电路设计 由波形图列真值表,之 后画出卡诺图,写出最简逻辑表达式。 卡诺图化简的时候圈住的部分如果某个字母有0又有1的话这个字母删掉,写出其他两个字母。 如下图中黄圈A有0又有1则删除A,这样黄圈代表BC;同理绿圈代…

35、链表-LRU缓存

思路: 首先要了解LRU缓存的原理,首先定下容量,每次get请求和put请求都会把当前元素放最前/后面,如果超过容量那么头部/尾部元素就被移除,所以最近最少使用的元素会被优先移除,保证热点数据持续存在。 不管放…

【Java】@RequestMapping注解在类上使用

RequestMapping 是 Spring Web 应用程序中最常被用到的注解之一。这个注解会将 HTTP 请求映射到控制器(controller类)的处理方法上。 Request Mapping 基础用法 在 Spring MVC 应用程序中,RequestDispatcher (在 Front Controller 之下) 这…

MapReduce 机理

1.hadoop 平台进程 Namenode进程: 管理者文件系统的Namespace。它维护着文件系统树(filesystem tree)以及文件树中所有的文件和文件夹的元数据(metadata)。管理这些信息的文件有两个,分别是Namespace 镜像文件(Namespace image)和操作日志文件(edit log)&#xff…

命令模式

命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 命令模式的好处: 1、它能较容易地设计一个命令队列; 2、在需要的情况下&a…

【Phytium】飞腾D2000 UEFI/EDK2 适配 RTC(IIC SD3077)

文章目录 0. env1. 软件2. 硬件 10. 需求1. 硬件2. 软件 20. DatasheetCPURTC 30. 调试步骤1. 硬件环境搭建2. UEFI 开发环境搭建3. 修改步骤1. UEFI 中使能RTC驱动、配置RTC信息等1.1 使能RTC驱动1.2 修改RTC对应的IIC配置信息1.3 解决驱动冲突1.4 验证波形 2. 修改对应RTC驱动…

1、MYSQL系列-深入理解Mysql索引底层数据结构与算法

索引的本质 索引是帮助MySQL高效获取数据的排好序的数据结构 索引数据结构 二叉树红黑树Hash表BTree B-Tree B-Tree 叶节点具有相同的深度,叶节点的指针为空,所有索引元素不重复,节点中的数据索引从左到右递增排列 BTree(B-Tree变种) 非叶…

使用FastDDS编译IDL文件

1.安装FastDDS环境 Ubuntu22.04 1.1安装依赖的软件 sudo apt-get update //基础工具安装 sudo apt install cmake g python3-pip wget git //Asio 是一个用于网络和低级 I/O 编程的跨平台C库,它提供了一致的 异步模型。 TinyXML2是一个简单,小巧&…

Leetcode 4. 寻找两个正序数组的中位数

心路历程: 这道题暴力解很简单,一看到要求O(log(mn))的复杂度就只能是双指针,但是实测发现这道题用归并排序更快。这可能就是平均复杂度和实际复杂度的Gap吧。 二分法的思路: 要找到第 k (k>1) 小的元素,那么就取…

利用redis和fastapi实现本地与平台策略进行交互

redis在pandas一文有详细使用方法(一文教会pandas-CSDN博客),具体可视化软件有redisstudio等。它是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。 Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络…

NTC热敏电阻采集温度-单片机通用模板

NTC热敏电阻采集温度-单片机通用模板 一、NTC热敏电阻转换温度的原理二、AT104Tem.c的实现三、AT104Tem.h的实现 一、NTC热敏电阻转换温度的原理 ①NTC热敏电阻会随着温度的升高,电阻值R逐渐降低;②硬件搭建电阻分压电路采集ADC逆推热敏电阻当前的阻值&…

ArcGIS加载的各类地图怎么去除服务署名水印

昨天介绍的: 一套图源搞定!清新规划底图、影像图、境界、海洋、地形阴影图、导航图-CSDN博客文章浏览阅读373次,点赞7次,收藏11次。一体化集成在一起的各类型图源,比如包括影像、清新的出图底图、地形、地图阴影、道路…

如何在PPT中获得网页般的互动效果

如何在PPT中获得网页般的互动效果 效果可以看视频 PPT中插入网页有互动效果 当然了,获得网页般的互动效果,最简单的方法就是在 PPT 中插入网页呀。 那么如何插入呢? 接下来为你讲解如何获得(此方法在 PowerPoint中行得通&#…

Modality-Aware Contrastive Instance Learning with Self-Distillation ... 论文阅读

Modality-Aware Contrastive Instance Learning with Self-Distillation for Weakly-Supervised Audio-Visual Violence Detection 论文阅读 ABSTRACT1 INTRODUCTION2 RELATEDWORKS2.1 Weakly-Supervised Violence Detection2.2 Contrastive Learning2.3 Cross-Modality Knowle…

Yolo-world+Python-OpenCV之摄像头视频实时目标检测

上一次介绍了如何使用最基本的 Yolo-word来做检测,现在我们在加opencv来做个实时检测的例子 基本思路 1、读取离线视频流 2、将视频帧给yolo识别 3、根据识别结果 对视频进行绘制边框、加文字之类的 完整代码如下: import datetimefrom ultralytics …