您的位置:首页 > 财经 > 金融 > 星火AI-智能PPT生成 API 文档

星火AI-智能PPT生成 API 文档

2024/12/23 14:55:20 来源:https://blog.csdn.net/moshowgame/article/details/142320617  浏览:    关键词:星火AI-智能PPT生成 API 文档

智能PPT生成 API 文档 | 讯飞开放平台文档中心

接口与鉴权

#接口Demo

部分开发语言Demo如下,其他开发语言请参照文档进行开发,欢迎大家到讯飞开放平台社区交流集成经验。

智能PPT生成API Demo java语言
智能PPT生成API Demo python语言

#接口域名

zwapi.xfyun.cn

#获取签名

在HTTP请求头 header 中设置参数:appIdtimestampsignature

String appId = "应用ID";
String secret = "应用的秘钥";
long timestamp = System.currentTimeMillis()/1000;
String signature = ApiAuthAlgorithm.getSignature(appId, secret, timestamp);request.setHeader("appId",appId);
request.setHeader("timestamp",timestamp);
request.setHeader("signature",signature);
字段名类型描述必须默认值
appIdString应用IDY
timestampLong时间戳,单位: s,与服务端时间相差五分钟之内Y
signatureString签名Y

#DEMO

ApiAuthAlgorithm.class 鉴权类

public class ApiAuthAlgorithm {private static final char[] MD5_TABLE = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};/*** 获取签名** @param appId    签名的key* @param secret 签名秘钥* @return 返回签名*/public String getSignature(String appId, String secret, long ts) {try {String auth = md5(appId + ts);return hmacSHA1Encrypt(auth, secret);} catch (SignatureException e) {return null;}}/*** sha1加密** @param encryptText 加密文本* @param encryptKey  加密键* @return 加密*/private String hmacSHA1Encrypt(String encryptText, String encryptKey) throws SignatureException {byte[] rawHmac;try {byte[] data = encryptKey.getBytes(StandardCharsets.UTF_8);SecretKeySpec secretKey = new SecretKeySpec(data, "HmacSHA1");Mac mac = Mac.getInstance("HmacSHA1");mac.init(secretKey);byte[] text = encryptText.getBytes(StandardCharsets.UTF_8);rawHmac = mac.doFinal(text);} catch (InvalidKeyException e) {throw new SignatureException("InvalidKeyException:" + e.getMessage());} catch (NoSuchAlgorithmException e) {throw new SignatureException("NoSuchAlgorithmException:" + e.getMessage());}return new String(Base64.encodeBase64(rawHmac));}private String md5(String cipherText) {try {byte[] data = cipherText.getBytes();// 信息摘要是安全的单向哈希函数,它接收任意大小的数据,并输出固定长度的哈希值。MessageDigest mdInst = MessageDigest.getInstance("MD5");// MessageDigest对象通过使用 update方法处理数据, 使用指定的byte数组更新摘要mdInst.update(data);// 摘要更新之后,通过调用digest()执行哈希计算,获得密文byte[] md = mdInst.digest();// 把密文转换成十六进制的字符串形式int j = md.length;char[] str = new char[j * 2];int k = 0;for (byte byte0 : md) { // i = 0str[k++] = MD5_TABLE[byte0 >>> 4 & 0xf]; // 5str[k++] = MD5_TABLE[byte0 & 0xf]; // F}// 返回经过加密后的字符串return new String(str);} catch (Exception e) {return null;}}
}

#错误码

错误码描述处理方式
20002参数错误确认接口入参
20005大纲生成失败查看是否存在敏感词汇,尝试重新生成
20006PPT生成失败PPT导出错误,请重新生成或联系技术人员
20007鉴权错误检查鉴权信息
9999系统异常确认鉴权信息、请求方式、请求参数是否有误,或联系技术人员排查相关日志

#接口列表

#1 PPT生成(直接根据用户输入要求,获得最终PPT)

1.1 接口描述:

基于用户提示、要求等相关内容生成PPT,字数不得超过8000字。

1.2 接口地址:

https://zwapi.xfyun.cn/api/aippt/create

1.3 请求查询参数:

POST,application/json
名称类型描述必须默认值
queryString用户生成PPT要求(最多8000字)Y
create_modelStringPPT生成类型:文本生成、话题生成、程序判断(默认)Nauto
themeStringPPT生成主题:随机主题(默认)、紫影幽蓝……Nauto
business_idString业务ID(非必传)- 业务方自行决定是否使用N
authorStringPPT作者名:用户自行选择是否设置作者名N智文
is_card_noteBool是否生成PPT演讲备注Nfalse
is_cover_imgBool是否需要封面图Nfalse
languageString语种Ncn
is_figureBool是否自动配图Nfalse

1.4 可选参数列表:

  • create_model:

    • auto: 自动,由程序自行判断;

    • topic:话题生成(建议150字以内)

    • text:文本生成,基于长文本生成

  • theme(详细信息可通过主题查询接口获得):

    • auto:自动,随机主题

    • purple:紫色主题

    • green:绿色主题

    • lightblue:清逸天蓝

    • taupe:质感之境

    • blue:星光夜影

    • telecomRed:炽热暖阳

    • telecomGreen:幻翠奇旅

  • language:

    • cn:中文(简体)
    • en:英语
    • ja:日语
    • ru:俄语
    • ko:韩语
    • de:德语
    • fr:法语
    • pt:葡萄牙语
    • es:西班牙语
    • it:意大利语
    • th:泰语

1.5 请求响应:

{"code":0,"desc":"成功","data":{"sid":"zhiwen@xxxxxxxxxxxxxxxxxxxxx",	// 请求唯一ID"coverImgSrc":"xxxxxxxxxxxxxx",			// 封面地址"title" : "xxx",						// 主标题"subTitle" : "xxx"						// 副标题}
}

1.6 响应描述

响应字段类型描述
codeint错误码
descstring错误详情
data.sidstring请求唯一id
data.CoverImgSrcstringPPT封面图链接
data.titlestringPPT主标题
data.subTitlestringPPT副标题

#2 自定义PPT生成接口

2.1 接口描述:

基于用户提示、文档等相关内容生成PPT,字数不得超过8000字,文件限制10M。

2.2 接口地址:

https://zwapi.xfyun.cn/api/aippt/createByDoc

2.3 请求查询参数:

POST,multipart/form-data
名称类型描述必须默认值
queryString用户生成PPT要求(最多8000字)N
fileMultipartFile上传文件N
file_urlString文件连接Nfile和file_url必须二选一
file_nameString文件名Y带文件名后缀
themeStringPPT生成主题:随机主题(默认)、紫影幽蓝……Nauto
business_idString业务ID(非必传)- 业务方自行决定是否使用N
authorStringPPT作者名:用户自行选择是否设置作者名N智文
is_card_noteBool是否生成PPT演讲备注Nfalse
is_cover_imgBoolean是否生成封面图Nfalse
languageString语种Ncn
is_figureBool是否自动配图Nfalse

2.5 请求响应:

{"code":0,"desc":"成功","data":{"sid":"zhiwen@xxxxxxxxxxxxxxxxxxxxx",	// 请求唯一ID"coverImgSrc":"xxxxxxxxxxxxxx",			// 封面地址"title" : "xxx",						// 主标题"subTitle" : "xxx"						// 副标题}
}

2.6 响应描述

响应字段类型描述
codeint错误码
descstring错误详情
data.sidstring请求唯一id
data.CoverImgSrcstringPPT封面图链接
data.titlestringPPT主标题
data.subTitlestringPPT副标题

#3 大纲生成

3.1 接口地址:

https://zwapi.xfyun.cn/api/aippt/createOutline

3.2 请求参数查询

POST,application/json
名称类型描述必须默认值
queryString用户生成PPT要求(最多8000字)Y
create_modelStringPPT生成类型:文本生成、话题生成、程序判断(默认)Nauto
themeStringPPT生成主题:随机主题(默认)、紫影幽蓝……Nauto
business_idString业务ID(非必传)- 业务方自行决定是否使用N
authorStringPPT作者名:用户自行选择是否设置作者名N智文
is_card_noteBool是否生成PPT演讲备注Nfalse
is_cover_imgBool是否生成封面图Nfalse
languageString语种Ncn
is_figureBool是否自动配图Nfalse

3.3 请求响应

{"flag": true,"code": 0,"desc": "成功","count": null,"data": {"sid": "本次请求sid","coverImgSrc": "xxx(封面图下载链接)","title": "主标题","subTitle": "副标题","outline": {"id": 68133,"title": "主标题","subTitle": "副标题","fileUrl": "","fileType": 0,"chapters": [{"id": 68189,"chapterTitle": "第一章 xxx","fileUrl": "","fileType": 0,"chartFlag": false,"searchFlag": false,"chapterContents": [{"id": 68221,"chapterTitle": "1.1 xxx","fileUrl": "","fileType": 0,"chartFlag": false,"searchFlag": false,"chapterContents": null},{"id": 68223,"chapterTitle": "1.2 xxx","fileUrl": "","fileType": 0,"chartFlag": false,"searchFlag": false,"chapterContents": null}]},{"id": 68179,"chapterTitle": "第二章 xxx","fileUrl": "","fileType": 0,"chartFlag": false,"searchFlag": false,"chapterContents": [{"id": 68245,"chapterTitle": "2.1 xxx","fileUrl": "","fileType": 0,"chartFlag": false,"searchFlag": false,"chapterContents": null},{"id": 68247,"chapterTitle": "2.2 xxx","fileUrl": "","fileType": 0,"chartFlag": false,"searchFlag": false,"chapterContents": null}]}],"end": "","fileId": null}}
}

3.4 响应描述

响应字段类型描述
codeint错误码
descstring错误详情
data.sidstring请求唯一id
data.CoverImgSrcstringPPT封面图链接
data.titlestringPPT主标题
data.subTitlestringPPT副标题
outline.titlestringPPT主标题
outline.subTitlestringPPT副标题
outline.chapters.chapterTitleString章节标题
outline.endString结尾

3.5 大纲结构体说明

public class OutlineVo {// 大纲IDprivate Long id;// 主标题private String title;// 副标题private String subTitle;// 二级标题private List<Chapter> chapters;// 参考文件相关,暂未开放能力private String fileUrl = "";Integer fileType = 0;private String end = "";private String fileId;public static class Chapter {// 大纲ID,若为新增大纲则设为NULLLong id;// 章节、子章节标题名称String chapterTitle;// 参考文件相关,能力暂未开放String fileUrl = "";Integer fileType = 0;Boolean chartFlag = false;Boolean searchFlag = false;List<Chapter> chapterContents = null;}
}

#4 自定义大纲生成

4.1 接口描述:

基于用户提示、文档等相关内容生成PPT大纲,字数不得超过8000字,文件限制10M。

4.2 接口地址:

https://zwapi.xfyun.cn/api/aippt/createOutlineByDoc

4.3 请求查询参数:

POST,multipart/form-data
名称类型描述必须默认值
queryString用户生成PPT要求(最多8000字)N
fileMultipartFile上传文件N
file_urlString文件连接Nfile和file_url必须二选一
file_nameString文件名Y带后缀
themeStringPPT生成主题:随机主题(默认)、紫影幽蓝……Nauto
business_idString业务ID(非必传)- 业务方自行决定是否使用N
authorStringPPT作者名:用户自行选择是否设置作者名N智文
is_card_noteBool是否生成PPT演讲备注Nfalse
is_cover_imgBool是否生成封面图Nfalse
languageString语种Ncn
is_figureBool是否自动配图Nfalse

#5 通过sid和修改后大纲生成PPT

5.1 接口地址:

https://zwapi.xfyun.cn/api/aippt/createBySid

5.2 请求查询参数:

POST,application/json
名称类型描述必须默认值
sidString已生成大纲后,相应返回的请求唯一idY
outlineString修改后大纲(若本次不传,则根据sid获得第一次生成的大纲内容进行ppt生成)N首次生成的大纲

5.3 请求响应与说明

见1.5、1.6小节说明

#6 通过大纲生成PPT

6.1 接口地址:

https://zwapi.xfyun.cn/api/aippt/createByOutline

6.2 请求查询参数:

POST,application/json
名称类型描述必须默认值
queryString用户生成PPT要求(最多8000字)Y
outlineString大纲内容(不得超过10个一级大纲)Y
create_modelStringPPT生成类型:文本生成、话题生成、程序判断(默认)Nauto
themeStringPPT生成主题:随机主题(默认)、紫影幽蓝……Nauto
business_idString业务ID(非必传)- 业务方自行决定是否使用N
authorStringPPT作者名:用户自行选择是否设置作者名N智文
is_card_noteBool是否生成PPT演讲备注Nfalse
is_cover_imgBool是否生成封面图Nfalse
languageString语种(保证传入大纲语种与输入PPT语种一致)Ncn
is_figureBool是否自动配图Nfalse

6.3 请求响应与说明

见1.5、1.6小节说明

#7 PPT进度查询

7.1 接口地址:

https://zwapi.xfyun.cn/api/aippt/progress?sid={}

7.2 请求查询参数:

注:该接口设置限流,三秒访问一次

GET
名称类型描述必须
sidString请求唯一IDY
{"code":0,"desc":"成功","data":{"process" : 0			// 生成进度:30-大纲生成完毕、70-PPT生成完毕、100-PPT导出完毕"pptId" : xxxx			// pptId"pptUrl" : xxxx			// ppt下载链接"errMsg" : xxxx			// 错误信息}
}

#8 PPT主题列表查询

8.1 接口地址:

https://zwapi.xfyun.cn/api/aippt/themeList

8.2 请求查询参数:

GET
{"flag": true,"code": 0,"desc": "成功","count": null,"data": [{"key": purple,					// 主题名"name": "紫影幽蓝","thumbnail": "xxx",				// 缩略图}]
}

#9 扣量说明

  • 基于query直接生成ppt:扣除10点量,1个并发,若需要增加备注,则增加5点量
  • 基于query生成大纲:扣除2点量1个并发
  • 基于sid,获取大纲(可修改)生成ppt:扣除8点量1个并发, 若在表中记录该sid生成的ppt需要生成备注,额外扣除5点量
  • 基于大纲生成ppt:8点量,若需要生成备注:额外扣除5点量
  • PPT自动配图:4点量
  • PPT多语种翻译:3点量,若仅生成大纲,则扣1点量

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com