讯飞有一个可以根据描述文本自动生成PPT的AI接口,有趣

2024-06-14 04:04

本文主要是介绍讯飞有一个可以根据描述文本自动生成PPT的AI接口,有趣,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文档:https://www.xfyun.cn/doc/spark/PPTGeneration.html

价格方面提供了免费1000点的额度,生成一次是10点,正好100次,如果要购买的话最低要购买1344元的,没有按量付费的模式,个人小开发者可买不起。

让我们跑起来玩玩,官方提供了python的sdk,下载到本地:
 

不想下载sdk的,我这边直接提供了下载好的源码:

​
# -*- coding:utf-8 -*-import hashlibimport hmacimport base64import jsonimport timeimport requestsclass AIPPT():def __init__(self, APPId, APISecret, Text):self.APPid = APPIdself.APISecret = APISecretself.text = Textself.header = {}# 获取签名def get_signature(self, ts):try:# 对app_id和时间戳进行MD5加密auth = self.md5(self.APPid + str(ts))# 使用HMAC-SHA1算法对加密后的字符串进行加密return self.hmac_sha1_encrypt(auth, self.APISecret)except Exception as e:print(e)return Nonedef hmac_sha1_encrypt(self, encrypt_text, encrypt_key):# 使用HMAC-SHA1算法对文本进行加密,并将结果转换为Base64编码return base64.b64encode(hmac.new(encrypt_key.encode('utf-8'), encrypt_text.encode('utf-8'), hashlib.sha1).digest()).decode('utf-8')def md5(self, text):# 对文本进行MD5加密,并返回加密后的十六进制字符串return hashlib.md5(text.encode('utf-8')).hexdigest()# 创建PPT生成任务def create_task(self):url = 'https://zwapi.xfyun.cn/api/aippt/create'timestamp = int(time.time())signature = self.get_signature(timestamp)body = self.getbody(self.text)headers = {"appId": self.APPid,"timestamp": str(timestamp),"signature": signature,"Content-Type": "application/json; charset=utf-8"}self.header = headersresponse = requests.request("POST", url=url, data=json.dumps(body), headers=headers).textresp = json.loads(response)if (0 == resp['code']):return resp['data']['sid']else:print('创建PPT任务成功')return None# 构建请求body体def getbody(self, text):body = {"query": text}return body# 轮询任务进度,返回完整响应信息def get_process(self, sid):print("sid:" + sid)if (None != sid):response = requests.request("GET", url=f"https://zwapi.xfyun.cn/api/aippt/progress?sid={sid}",headers=self.header).textprint(response)return responseelse:return None# 获取PPT,以下载连接形式返回def get_result(self):# 创建PPT生成任务task_id = self.create_task()# PPTurl = ''# 轮询任务进度while (True):response = self.get_process(task_id)resp = json.loads(response)process = resp['data']['process']if (process == 100):PPTurl = resp['data']['pptUrl']breaktime.sleep(2)return PPTurlif __name__ == '__main__':# 控制台获取APPId = "自己的appid"APISecret = "自己的secret"# 生成PPT要求query = ("介绍一下《一方云知》这个小程序的功能和使用。一方云知是一个可以保存笔记、""有ChatGPT、文生图功能、人像动漫化功能的微信小程序。且没有广告、免费使用")demo = AIPPT(APPId, APISecret, query)result = demo.get_result()print("生成的PPT请从此地址获取:\n" + result)​

直接超级简单,输入文案直接运行即可:
 

等待

进度70%了:

好了:

不知道这个地址有没有时效性,讯飞发挥的生成好的pptx源地址如下:

https://bjcdn.openstorage.cn/xinghuo-privatedata/%2Ftmp/apiTempFilea018b1acbdc74eeabfe20cee49224a0b1274908177877909050/%E4%B8%80%E6%96%B9%E4%BA%91%E7%9F%A5%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%8A%9F%E8%83%BD%E5%85%A8%E8%A7%A3%E6%9E%90.pptx

怕它失效,保险点存了一份放网盘了:

链接: 百度网盘 请输入提取码 提取码: yfyz 复制这段内容后打开百度网盘手机App,操作更方便哦

我们打开ppt see see:

颜色挺喜庆,目录:

内容:

发现,它生成的ppt格式比较固定,内容还过得去。

这篇分享文章就到这里啦!如果你对文章内容有疑问或想要深入讨论,欢迎在评论区留言,我会尽力回答。同时,如果你觉得这篇文章对你有帮助,不妨点个赞并分享给其他同学,让更多人受益。

想要了解更多相关知识,可以查看我以往的文章,其中有许多精彩内容。记得关注我,获取及时更新,我们可以一起学习、讨论技术,共同进步。

感谢你的阅读与支持,期待在未来的文章中与你再次相遇!

我的微信公众号:【xdub】,欢迎大家订阅,我会同步文章到公众号上。

这篇关于讯飞有一个可以根据描述文本自动生成PPT的AI接口,有趣的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1059316

相关文章

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log

Java后端接口中提取请求头中的Cookie和Token的方法

《Java后端接口中提取请求头中的Cookie和Token的方法》在现代Web开发中,HTTP请求头(Header)是客户端与服务器之间传递信息的重要方式之一,本文将详细介绍如何在Java后端(以Sp... 目录引言1. 背景1.1 什么是 HTTP 请求头?1.2 为什么需要提取请求头?2. 使用 Spr

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

SpringBoot生成和操作PDF的代码详解

《SpringBoot生成和操作PDF的代码详解》本文主要介绍了在SpringBoot项目下,通过代码和操作步骤,详细的介绍了如何操作PDF,希望可以帮助到准备通过JAVA操作PDF的你,项目框架用的... 目录本文简介PDF文件简介代码实现PDF操作基于PDF模板生成,并下载完全基于代码生成,并保存合并P

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

python实现自动登录12306自动抢票功能

《python实现自动登录12306自动抢票功能》随着互联网技术的发展,越来越多的人选择通过网络平台购票,特别是在中国,12306作为官方火车票预订平台,承担了巨大的访问量,对于热门线路或者节假日出行... 目录一、遇到的问题?二、改进三、进阶–展望总结一、遇到的问题?1.url-正确的表头:就是首先ur