訊飛有一個可以根據描述文字自動生成PPT的AI介面,有趣

一方_self發表於2024-06-13

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

訊飛有一個可以根據描述文字自動生成PPT的AI介面,有趣

價格方面提供了免費1000點的額度,生成一次是10點,正好100次,如果要購買的話最低要購買1344元的,沒有按量付費的模式,個人小開發者可買不起。

訊飛有一個可以根據描述文字自動生成PPT的AI介面,有趣

讓我們跑起來玩玩,官方提供了python的sdk,下載到本地:

訊飛有一個可以根據描述文字自動生成PPT的AI介面,有趣

不想下載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)

  

直接超級簡單,輸入文案直接執行即可:

訊飛有一個可以根據描述文字自動生成PPT的AI介面,有趣

等待

進度70%了:

訊飛有一個可以根據描述文字自動生成PPT的AI介面,有趣

好了:

訊飛有一個可以根據描述文字自動生成PPT的AI介面,有趣

不知道這個地址有沒有時效性,訊飛發揮的生成好的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的AI介面,有趣

顏色挺喜慶,目錄:

訊飛有一個可以根據描述文字自動生成PPT的AI介面,有趣

內容:

訊飛有一個可以根據描述文字自動生成PPT的AI介面,有趣

訊飛有一個可以根據描述文字自動生成PPT的AI介面,有趣

發現,它生成的ppt格式比較固定,內容還過得去。

這篇分享文章就到這裡啦!如果你對文章內容有疑問或想要深入討論,歡迎在評論區留言,我會盡力回答。同時,如果你覺得這篇文章對你有幫助,不妨點個贊並分享給其他同學,讓更多人受益。

想要了解更多相關知識,可以檢視我以往的文章,其中有許多精彩內容。記得關注我,獲取及時更新,我們可以一起學習、討論技術,共同進步。

感謝你的閱讀與支援,期待在未來的文章中與你再次相遇!

我的微信公眾號:【xdub】,歡迎大家訂閱,我會同步文章到公眾號上。

相關文章