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

ppt,ai · 浏览次数 : 0

小编点评

本文介绍了一个名为AIPPT的微信小程序PPT生成工具,该工具可以帮助用户快速生成PPT。作者提供了一个简单的Python脚本,通过AIPPT生成PPT,并提供了一些实用的功能和步骤。 1. **价格与购买**:AIPPT提供免费额度,但个人开发者可能无法承受。官方没有按量付费模式,最低购买额度为1344元。 2. **使用SDK**:官方提供了Python SDK,方便开发者下载和使用。如果没有下载SDK,作者也提供了源码供参考。 3. **创建PPT任务**:通过AIPPT的create_task方法创建PPT生成任务,需要提供APPID、APISecret和文本内容。 4. **构建请求body体**:创建PPT任务时,需要构建一个请求body体,包含查询文本等信息。 5. **轮询任务进度**:使用get_process方法轮询任务进度,直到任务完成。 6. **获取PPT**:使用get_result方法获取生成的PPT,以下载链接形式返回。 7. **官方示例**:作者提供了一个官方的示例,包括APPId、APISecret和生成PPT的要求。 8. **注意事项**:生成PPT的链接可能存在时效性,建议将生成的PPT保存到网盘以防失效。 总的来说,AIPPT是一个便捷的微信小程序PPT生成工具,虽然价格较高,但对于开发者来说,其强大的功能和灵活性是值得考虑的。

正文

文档:
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源地址如下:

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

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

链接:
https://pan.baidu.com/s/1oFzH6ySQeKAAiFhtq7b9tA?pwd=yfyz 提取码: yfyz 复制这段内容后打开百度网盘手机App,操作更方便哦

我们打开ppt see see:

 

颜色挺喜庆,目录:

 

内容:

 

 

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

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

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

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

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

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

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

文档:https://www.xfyun.cn/doc/spark/PPTGeneration.html 价格方面提供了免费1000点的额度,生成一次是10点,正好100次,如果要购买的话最低要购买1344元的,没有按量付费的模式,个人小开发者可买不起。 让我们跑起来玩玩,官方提供了python的s

文心一言 VS 讯飞星火 VS chatgpt (107)-- 算法导论10.1 5题

五、用go语言,栈插入和删除元素只能在同一端进行,队列的插入操作和删除操作分别在两端进行,与它们不同的,有一种双端队列(deque),其插入和删除操作都可以在两端进行。写出4个时间均为 O(1)的过程,分别实现在双端队列的两端插入和删除元素的操作,该队列是用一个数组实现的。 文心一言: 在 Go 语

吾剑未尝不利,国内Azure平替,科大讯飞人工智能免费AI语音合成(TTS)服务Python3.10接入

微软Azure平台的语音合成(TTS)技术确实神乎其技,这一点在之前的一篇:含辞未吐,声若幽兰,史上最强免费人工智能AI语音合成TTS服务微软Azure(Python3.10接入),已经做过详细介绍,然则Azure平台需要信用卡验证,有一定门槛,对国内用户不太友好,放眼神州,科大讯飞的讯飞开放平台也

一键接入大模型:One-Api本地安装配置实操

前言 最近准备学习一下 Semantic Kernel, OpenAI 的 Api 申请麻烦,所以想通过 One-api 对接一下国内的在线大模型,先熟悉一下 Semantic Kernel 的基本用法,本篇文章重点记录一下OneApi安装配置的过程。 讯飞星火有 3.5 模型的 200w 个人免费

讯飞星火大模型 与New Bing实测对比

昨天科大讯飞发布了讯飞星火认知大模型,在发布会现场实测大模型的7种核心能力,并发布了它在教育、办公、汽车、数字员工领域的应用成果。科大讯飞董事长刘庆峰表示:认知大模型展示了通用人工智能的曙光,讯飞星火认知大模型已在文本生成、知识问答、数学能力3种能力上超越ChatGPT。NewBing 也全面开放给

科大讯飞:说说零拷贝技术和多路复用技术?

零拷贝技术和多路复用技术是现代计算机系统和网络编程中两项重要的优化手段,旨在提高数据处理和传输的效率。如高性能框架 Netty 中,即使用了零拷贝技术又使用了多路复用技术,同时来保证 Netty 框架的高性能运行。 1.零拷贝技术 零拷贝(Zero-copy)技术是一种计算机操作系统中用于提高数据传

文心一言 VS 讯飞星火 VS chatgpt (112)-- 算法导论10.2 3题

三、用go语言,用一个单链表L实现一个队列。要求操作 ENQUEUE 和 DEQUEUE 的运行时间仍为O(1)。 文心一言: 在 Go 语言中,使用单链表实现队列的操作,包括入队(ENQUEUE)和出队(DEQUEUE),并保持操作的时间复杂度为 O(1),需要利用两个指针,一个指向队头,另一个指

文心一言 VS 讯飞星火 VS chatgpt (110)-- 算法导论10.2 1题

一、用go语言,单链表上的动态集合操作 INSERT 能否在 O(1)时间内实现?DELETE 操作呢? 文心一言: 在单链表中,INSERT 和 DELETE 操作的时间复杂度通常是 O(n),其中 n 是链表中的元素数量。这主要是因为当你插入或删除元素时,你需要遍历链表来找到正确的插入或删除位置

文心一言 VS 讯飞星火 VS chatgpt (106)-- 算法导论10.1 4题

四、用go语言,重写 ENQUEUE 和 DEQUEUE 的代码,使之能处理队列的下溢和上溢。 文心一言: 在 Go 语言中,我们可以使用切片来实现队列。下面是如何实现 ENQUEUE 和 DEQUEUE 操作,同时处理队列的下溢和上溢的情况: package main import "fmt" t

文心一言 VS 讯飞星火 VS chatgpt (105)-- 算法导论10.1 3题

三、用go语言,仿照图 10-2,画图表示依次执行操作 ENQUEUE(Q,4)、ENQUEUE(Q,1)、ENQUEUE(Q,3)、DEQUEUE(Q)、ENQUEUE(Q,8)和 DEQUEUE(Q)每一步的结果,队列初始为空,存储于数组 Q[1..6]中。 文心一言: 在这个问题中,我们尝试使