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

相关文章

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

Spring AI使用tool Calling和MCP的示例详解

《SpringAI使用toolCalling和MCP的示例详解》SpringAI1.0.0.M6引入ToolCalling与MCP协议,提升AI与工具交互的扩展性与标准化,支持信息检索、行动执行等... 目录深入探索 Spring AI聊天接口示例Function CallingMCPSTDIOSSE结束语

MyBatis-Plus 自动赋值实体字段最佳实践指南

《MyBatis-Plus自动赋值实体字段最佳实践指南》MyBatis-Plus通过@TableField注解与填充策略,实现时间戳、用户信息、逻辑删除等字段的自动填充,减少手动赋值,提升开发效率与... 目录1. MyBATis-Plus 自动赋值概述1.1 适用场景1.2 自动填充的原理1.3 填充策略

三频BE12000国补到手2549元! ROG 魔盒Pro WIFI7电竞AI路由器上架

《三频BE12000国补到手2549元!ROG魔盒ProWIFI7电竞AI路由器上架》近日,华硕带来了ROG魔盒ProWIFI7电竞AI路由器(ROGSTRIXGR7Pro),目前新... 华硕推出了ROG 魔盒Pro WIFI7电竞AI路由器(ROG STRIX GR7 Phttp://www.cppcn

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

SpringBoot+Redis防止接口重复提交问题

《SpringBoot+Redis防止接口重复提交问题》:本文主要介绍SpringBoot+Redis防止接口重复提交问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录前言实现思路代码示例测试总结前言在项目的使用使用过程中,经常会出现某些操作在短时间内频繁提交。例

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置