当前位置:   article > 正文

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

aippt接口

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

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

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

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

  1. # -*- coding:utf-8 -*-
  2. import hashlib
  3. import hmac
  4. import base64
  5. import json
  6. import time
  7. import requests
  8. class AIPPT():
  9.     def __init__(self, APPId, APISecret, Text):
  10.         self.APPid = APPId
  11.         self.APISecret = APISecret
  12.         self.text = Text
  13.         self.header = {}
  14.     # 获取签名
  15.     def get_signature(self, ts):
  16.         try:
  17.             # 对app_id和时间戳进行MD5加密
  18.             auth = self.md5(self.APPid + str(ts))
  19.             # 使用HMAC-SHA1算法对加密后的字符串进行加密
  20.             return self.hmac_sha1_encrypt(auth, self.APISecret)
  21.         except Exception as e:
  22.             print(e)
  23.             return None
  24.     def hmac_sha1_encrypt(self, encrypt_text, encrypt_key):
  25.         # 使用HMAC-SHA1算法对文本进行加密,并将结果转换为Base64编码
  26.         return base64.b64encode(
  27.             hmac.new(encrypt_key.encode('utf-8'), encrypt_text.encode('utf-8'), hashlib.sha1).digest()).decode('utf-8')
  28.     def md5(self, text):
  29.         # 对文本进行MD5加密,并返回加密后的十六进制字符串
  30.         return hashlib.md5(text.encode('utf-8')).hexdigest()
  31.     # 创建PPT生成任务
  32.     def create_task(self):
  33.         url = 'https://zwapi.xfyun.cn/api/aippt/create'
  34.         timestamp = int(time.time())
  35.         signature = self.get_signature(timestamp)
  36.         body = self.getbody(self.text)
  37.         headers = {
  38.             "appId": self.APPid,
  39.             "timestamp": str(timestamp),
  40.             "signature": signature,
  41.             "Content-Type": "application/json; charset=utf-8"
  42.         }
  43.         self.header = headers
  44.         response = requests.request("POST", url=url, data=json.dumps(body), headers=headers).text
  45.         resp = json.loads(response)
  46.         if (0 == resp['code']):
  47.             return resp['data']['sid']
  48.         else:
  49.             print('创建PPT任务成功')
  50.             return None
  51.     # 构建请求body体
  52.     def getbody(self, text):
  53.         body = {
  54.             "query": text
  55.         }
  56.         return body
  57.     # 轮询任务进度,返回完整响应信息
  58.     def get_process(self, sid):
  59.         print("sid:" + sid)
  60.         if (None != sid):
  61.             response = requests.request("GET", url=f"https://zwapi.xfyun.cn/api/aippt/progress?sid={sid}",
  62.                                         headers=self.header).text
  63.             print(response)
  64.             return response
  65.         else:
  66.             return None
  67.     # 获取PPT,以下载连接形式返回
  68.     def get_result(self):
  69.         # 创建PPT生成任务
  70.         task_id = self.create_task()
  71.         # PPTurl = ''
  72.         # 轮询任务进度
  73.         while (True):
  74.             response = self.get_process(task_id)
  75.             resp = json.loads(response)
  76.             process = resp['data']['process']
  77.             if (process == 100):
  78.                 PPTurl = resp['data']['pptUrl']
  79.                 break
  80.             time.sleep(2)
  81.         return PPTurl
  82. if __name__ == '__main__':
  83.     # 控制台获取
  84.     APPId = "自己的appid"
  85.     APISecret = "自己的secret"
  86.     # 生成PPT要求
  87.     query = ("介绍一下《一方云知》这个小程序的功能和使用。一方云知是一个可以保存笔记、"
  88.              "有ChatGPT、文生图功能、人像动漫化功能的微信小程序。且没有广告、免费使用")
  89.     demo = AIPPT(APPId, APISecret, query)
  90.     result = demo.get_result()
  91.     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】,欢迎大家订阅,我会同步文章到公众号上。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/811940
推荐阅读
相关标签
  

闽ICP备14008679号