讯飞有一个可以根据描述文本自动生成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

相关文章

Java使用Spire.Barcode for Java实现条形码生成与识别

《Java使用Spire.BarcodeforJava实现条形码生成与识别》在现代商业和技术领域,条形码无处不在,本教程将引导您深入了解如何在您的Java项目中利用Spire.Barcodefor... 目录1. Spire.Barcode for Java 简介与环境配置2. 使用 Spire.Barco

SpringBoot集成iText快速生成PDF教程

《SpringBoot集成iText快速生成PDF教程》本文介绍了如何在SpringBoot项目中集成iText9.4.0生成PDF文档,包括新特性的介绍、环境准备、Service层实现、Contro... 目录SpringBoot集成iText 9.4.0生成PDF一、iText 9新特性与架构变革二、环

requests处理token鉴权接口和jsonpath使用方式

《requests处理token鉴权接口和jsonpath使用方式》文章介绍了如何使用requests库进行token鉴权接口的处理,包括登录提取token并保存,还详述了如何使用jsonpath表达... 目录requests处理token鉴权接口和jsonpath使用json数据提取工具总结reques

Apache服务器IP自动跳转域名的问题及解决方案

《Apache服务器IP自动跳转域名的问题及解决方案》本教程将详细介绍如何通过Apache虚拟主机配置实现这一功能,并解决常见问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录​​问题背景​​解决方案​​方法 1:修改 httpd-vhosts.conf(推荐)​​步骤

idea-java序列化serialversionUID自动生成方式

《idea-java序列化serialversionUID自动生成方式》Java的Serializable接口用于实现对象的序列化和反序列化,通过将对象转换为字节流来存储或传输,实现Serializa... 目录简介实现序列化serialVersionUID配置使用总结简介Java.io.Seripyth

python调用dubbo接口的实现步骤

《python调用dubbo接口的实现步骤》本文主要介绍了python调用dubbo接口的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编... 目录 ​​其他实现方式与注意事项​​ ​​高级技巧与集成​​用 python 提供 Dubbo 接口

Java中的随机数生成案例从范围字符串到动态区间应用

《Java中的随机数生成案例从范围字符串到动态区间应用》本文介绍了在Java中生成随机数的多种方法,并通过两个案例解析如何根据业务需求生成特定范围的随机数,本文通过两个实际案例详细介绍如何在java中... 目录Java中的随机数生成:从范围字符串到动态区间应用引言目录1. Java中的随机数生成基础基本随

Java中接口和抽象类的异同以及具体的使用场景

《Java中接口和抽象类的异同以及具体的使用场景》文章主要介绍了Java中接口(Interface)和抽象类(AbstractClass)的区别和联系,包括相同点和不同点,以及它们在实际开发中的具体使... 目录一、接口和抽象类的 “相同点”二、接口和抽象类的 “核心区别”关键区别详解(避免踩坑)三、具体使

C#自动化生成PowerPoint(PPT)演示文稿

《C#自动化生成PowerPoint(PPT)演示文稿》在当今快节奏的商业环境中,演示文稿是信息传递和沟通的关键工具,下面我们就深入探讨如何利用C#和Spire.Presentationfor.NET... 目录环境准备与Spire.Presentation安装核心操作:添加与编辑幻灯片元素添加幻灯片文本操

基于Java实现PPT到PDF的高效转换详解

《基于Java实现PPT到PDF的高效转换详解》在日常开发中,经常会遇到将PPT文档批量或单文件转换为PDF的需求,本文将详细介绍其使用流程、核心代码与常见问题解决方案,希望对大家有所帮助... 目录一、环境配置Maven 配置Gradle 配置二、核心实现:3步完成PPT转PDF1. 单文件转换(基础版)