赞
踩
文档:https://www.xfyun.cn/doc/spark/PPTGeneration.html
价格方面提供了免费1000点的额度,生成一次是10点,正好100次,如果要购买的话最低要购买1344元的,没有按量付费的模式,个人小开发者可买不起。
让我们跑起来玩玩,官方提供了python的sdk,下载到本地:
不想下载sdk的,我这边直接提供了下载好的源码:
-
- # -*- coding:utf-8 -*-
-
- import hashlib
-
- import hmac
-
- import base64
-
- import json
-
- import time
-
- import requests
-
- class AIPPT():
-
- def __init__(self, APPId, APISecret, Text):
-
- self.APPid = APPId
-
- self.APISecret = APISecret
-
- self.text = Text
-
- self.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 None
-
- def 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 = headers
-
- response = requests.request("POST", url=url, data=json.dumps(body), headers=headers).text
-
- resp = 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).text
-
- print(response)
-
- return response
-
- else:
-
- 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']
-
- break
-
- time.sleep(2)
-
- return PPTurl
-
- if __name__ == '__main__':
-
- # 控制台获取
-
- APPId = "自己的appid"
-
- APISecret = "自己的secret"
-
- # 生成PPT要求
-
- query = ("介绍一下《一方云知》这个小程序的功能和使用。一方云知是一个可以保存笔记、"
-
- "有ChatGPT、文生图功能、人像动漫化功能的微信小程序。且没有广告、免费使用")
-
- demo = AIPPT(APPId, APISecret, query)
-
- result = demo.get_result()
-
- print("生成的PPT请从此地址获取:\n" + result)
-
-
直接超级简单,输入文案直接运行即可:
等待
进度70%了:
好了:
不知道这个地址有没有时效性,讯飞发挥的生成好的pptx源地址如下:
怕它失效,保险点存了一份放网盘了:
链接: 百度网盘 请输入提取码 提取码: yfyz 复制这段内容后打开百度网盘手机App,操作更方便哦
我们打开ppt see see:
颜色挺喜庆,目录:
内容:
发现,它生成的ppt格式比较固定,内容还过得去。
这篇分享文章就到这里啦!如果你对文章内容有疑问或想要深入讨论,欢迎在评论区留言,我会尽力回答。同时,如果你觉得这篇文章对你有帮助,不妨点个赞并分享给其他同学,让更多人受益。
想要了解更多相关知识,可以查看我以往的文章,其中有许多精彩内容。记得关注我,获取及时更新,我们可以一起学习、讨论技术,共同进步。
感谢你的阅读与支持,期待在未来的文章中与你再次相遇!
我的微信公众号:【xdub】,欢迎大家订阅,我会同步文章到公众号上。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。