API 接入

API 开放接口开发文档,文多多 AiPPT 可以通过 API 与您的系统紧密结合,通过 API 接入,您可以将文多多 AiPPT 完美地融入到您的业务系统中。
API 接口调用流程
文多多 AiPPT 技术团队提供全套的 API 接口,您可以使用任一您擅长的语言来通过 API 接入文多多。
如何使用此文档
接入示例
接口鉴权
创建 API Token 接口用于生成调用鉴权 Token,支持限制生成次数与数据隔离,通过 Header 或 URL 拼接 Token 实现鉴权。
创建接口 token
post/api/user/createApiToken
请求 header
Api-Key 在开放平台获取 获取 API-KEY
请求 body
响应 body
请求示例
注意:该接口请在服务端调用,同一个 uid 创建 token 时,之前通过该 uid 创建的 token 会在 10 秒内过期
场景说明:在 UI 集成中,为防止 token 滥用,limit 参数可以让第三方集成商维护自己平台用户的使用次数,未注册用户访问时可以创建 limit 为 0 的 token ,用户能使用但生成不了 PPT,UI 中监听次数用完的事件指导用户登录,登录用户访问时可以根据系统 vip 级别限制和维护系统用户 limit 次数
API 接口鉴权
请求 Header
token 通过 createApiToken 接口创建的 token,如果是服务端调用也可直接使用 API-KEY 作为 token
接口请求示例
封面图片资源访问,需要在 url 上拼接 ?token=xxx
创建 PPT 生成任务
文多多 AiPPT 官方提供了非常多样的 PPT 生成方式,您可以按照自己业务系统的需求来挑选最适合您的生成方式。
PPT 生成方式说明
🔎 查看原图

版本 2 (官方推荐)
文多多 AiPPT 官方平台上使用的新版生成方式,整合了版本 1 中的若干种常用生成 PPT 方式,我们强烈推荐您使用此方案来生成您的 PPT。
- 调用
createTask
创建任务 创建一个新的 PPT 生成任务。 - 调用
generateContent
生成大纲内容 接口,流式生成 PPT 内容与大纲。 - 调用
generatePptx
生成 PPT接口创建 PPT 文件。
与 版本 2 相关的 API 接口,请您查看 AI PPT - V2 来获得更详细的内容。
直接生成 PPT
这是一种最简单的方案,直接调用接口来创作 PPT。
- 调用
directGeneratePptx
直接生成 PPT 接口,支持流式和非流式,PPT 文件通过接口返回的 fileUrl 下载
在项目施行的初期,您可以使用这种方案来快速体验文多多 AiPPT 的功能。若您想快速体验,我们更推荐您可以使用UI 接入来接入文多多创作 PPT 的能力!
实时流式生成 PPT (版本 1)
若您需要使用版本 1来生成 PPT,我们推荐您使用此方案来生成,用户体验较佳。
-
调用 generateOutline 生成大纲 接口,流式生成 PPT 大纲目录 markdown.
-
调用 generateContent 生成大纲内容同时异步生成 PPT 接口,这个接口 asyncGenPptx 参数需要传 true,流式生成,根据第一步返回的大纲目录生成完整大纲内容 markdown,异步生成 PPT
-
在第二步 generateContent 接口中,接收实时流式 json 数据过程中判断 json 中是否有 pptId ,存在时调用 asyncPptInfo 查询异步生成 PPT 信息 接口,获取异步生成 PPT 的进度和数据(前端实时渲染)
若您使用 V1 的功能来生成 PPT,这时我们最推荐的调用方式。得益于所有接口都能流式返回,能够给用户提供最佳的体验。这也是我们官方 V1 版本中实际生产使用的方案。但我们依旧推荐您使用 V2(版本 2)的方式来生成 PPT。
同步流式生成 PPT (版本 1)
- 调用 generateOutline 生成大纲 接口,流式生成 PPT 大纲目录 markdown.
- 调用 generateContent 生成大纲内容 接口,这个接口 asyncGenPptx 参数需要传 false,流式生成,根据第一步返回的大纲目录生成完整大纲内容 markdown
- 调用 generatePptx 生成 PPT 接口,通过完整 markdown 内容合成 PPT,通过 fileUrl 下载
openai chat 方式生成 PPT
- 调用 /chat/completions OpenAi-对话生成 PPT 接口,适用于接入支持 openai 接口的工具平台.
通过 markdown 生成 PPT
-
集成方生成 markdown 内容,内容格式如下:
Markdown 具体规范说明,完整示例下载:markdown.md (支持包含图片、表格)
-
调用 generatePptx 生成 PPT 接口,通过完整 markdown 内容合成 PPT,通过 fileUrl 下载
MCP
兼容 Model Context Protocol (MCP) 生成 PPT。
SSE Server 端点: /api/mcp/sse?token=
鉴权:通过 URL 上的 token 参数鉴权,设置为你在平台的 Api-Key 或 通过接口创建的 token
tools/list
Typescript 接入示例:
生成 PPT 相关接口
AI PPT - V2
创建任务
接口说明: 调用此接口可获得一个 任务 ID,即开启了一个生成 PPT 的任务,后续不管是生成大纲内容还是修改大纲内容都需要此任务 ID。
post/api/ppt/v2/createTask
multipart/form-data
参数 | 类型 | 是否必传 | 说明 |
---|---|---|---|
type | 1|2|3|4|5|6|7 | 是 | 类型: 1.智能生成(主题、要求) 2.上传文件生成 3.上传思维导图生成 4.通过 word 精准转 ppt 5.通过网页链接生成 6.粘贴文本内容生成 7.Markdown 大纲生成 |
content | String | 否 | 内容: type=1 用户输入主题或要求(不超过 1000 字符) type=2、4 不传 type=3 幕布等分享链接 type=5 网页链接地址(http/https) type=6 粘贴文本内容(不超过 20000 字符) type=7 大纲内容(markdown) |
file | File[] | 否 | 文件列表(文件数不超过 5 个,总大小不超过 50M): type=1 上传参考文件(非必传,支持多个) type=2 上传文件(支持多个) type=3 上传思维导图(xmind/mm/md)(仅支持一个) type=4 上传 word 文件(仅支持一个) type=5、6、7 不传 支持格式:doc/docx/pdf/ppt/pptx/txt/md/xls/xlsx/csv/html/epub/mobi/xmind/mm |
响应:
获取生成选项
接口说明: 调用此接口来获得调用生成大纲内容需要使用的相关选项。
get/api/ppt/v2/options
该接口支持国际化,URL 携带 lang 参数指定。
响应
生成大纲内容
接口说明: 生成当前任务的大纲及内容
post/api/ppt/v2/generateContent
参数
流式响应 event-stream
非流式响应(application/json):
修改大纲内容
接口说明: 根据用户指令(question)修改大纲内容。
post/api/ppt/v2/updateContent
参数
响应 event-stream 或 application/json,结构同生成大纲内容
生成 PPT
接口说明: 根据 markdown 格式的 PPT 大纲与内容生成 PPT 作品。
post/api/ppt/v2/generatePptx
参数
响应
通过 API 生成 PPT 后,如果需要在前端进行编辑和渲染,推荐使用以下 iframe 方式编辑器,开源地址:
AI PPT - V1
解析文件内容
接口说明: 调用此接口个将若干支持的参数选项转化成 dataUrl 以便后续接口使用。
post/api/ppt/parseFileData
请求参数 (multipart/form-data)
参数 | 类型 | 是否必传 | 说明 |
---|---|---|---|
file | File | 否 | 文件(限制 50M 以内,最大解析 2 万字) 支持格式:doc/docx/pdf/ppt/pptx/txt/md/xls/xlsx/csv/html/epub/mobi/xmind/mm |
content | string | 否 | 用户粘贴文本内容 |
fileUrl | string | 否 | 文件公网链接 |
website | string | 否 | 网址(http/https) |
websearch | string | 否 | 网络搜索关键词 |
响应:
请求示例
生成大纲
接口说明: V1 版本的生成大纲接口。
post/api/ppt/generateOutline
参数
响应 event-stream 流式生成
请求示例
修改大纲
接口说明: 根据用户指令修改大纲
post/ppt/updateOutline
参数
响应 event-stream,结构同 generateOutline 生成大纲,该接口用来修改调整大纲结构生成大纲内容
接口说明: 通过 Markdown 格式的大纲生成 PPT 内容
post/api/ppt/generateContent
参数
响应 event-stream 流式生成
请求示例
生成 PPT
接口说明: 通过大纲与内容生成 PPT
post/api/ppt/generatePptx
参数
响应
请求示例
Word 转 PPT
不同于通过解析文件生成 PPT,Word 转 PPT 会尽可能保留 word 文件中的层级结构和内容表述去生成 PPT。
post/api/ppt/v1/word2pptx
请求参数 (multipart/form-data)
字段 | 类型 | 说明 |
---|---|---|
file | 文件 | docx 文件(小于 30M) |
templateId | string | 模板 ID(可空,为空时随机) |
stream | boolean | 是否流式 |
非流式-响应(application/json)
请求示例
流式-响应(event-stream)
请求示例
直接生成 PPT
接口说明: 直接让模型生成 PPT
post/api/ppt/directGeneratePptx
参数
非流式-响应(application/json)
请求示例
流式-响应(event-stream)
请求示例
AI PPT (异步)
Ai 异步流式生成 PPT,只需在调用生成大纲接口后调用下面的 generateContent 接口即可生成 PPT,无需再次调用生成 PPT 接口
生成大纲内容同时异步生成 PPT
post/api/ppt/generateContent
参数
响应 event-stream 流式生成
请求示例
查询异步生成 PPT 信息
get/api/ppt/asyncPptInfo?pptId=
参数
pptId 为 generateContent 接口流式返回的 pptId
响应
说明:该接口不需要轮询,在 generateContent 接口流式返回 pptId 数据时调用,每出现一次 pptId 就调用一次获取最新的 PPT 信息
注意:这个接口只有在流式生成过程中能查询到数据(临时缓存数据),在 PPT 生成完成的 30 秒内过期(查不到数据),此时需要调用 loadPptx 加载 PPT 数据 接口查询。
请求示例
对话生成 PPT
接口说明: 兼容 openai chat 接口 生成 PPT,鉴权支持请求头 Api-Key 和 Authorization Bearer 两种方式。
post/api/ppt-openai/v1/chat/completions
参数
非流式-响应(application/json)
流式-响应(event-stream)
请求示例(python):
获取模版
获取模板过滤选项
接口说明: 获取查询模版的过滤选项
get/api/ppt/template/options
响应
分页查询 PPT 模板
接口说明: 分页查询 PPT 模版
post/api/ppt/templates
参数
响应
请求示例
封面图片资源访问,需要在 url 上拼接 ?token=xxx
模板接口支持国际化,在请求 URL 上传 lang 参数,示例:/api/ppt/templates?lang=zh-CN
国际化语种支持:zh,zh-Hant,en,ja,ko,ar,de,fr,it,pt,es,ru
随机 PPT 模板
接口说明: 随机获取若干数量的 PPT 模版
post/api/ppt/randomTemplates
参数
响应
请求示例
封面图片资源访问,需要在 url 上拼接 ?token=xxx
模板接口支持国际化,在请求 URL 上传 lang 参数,示例:/api/ppt/randomTemplates?lang=zh-CN
国际化语种支持:zh,zh-Hant,en,ja,ko,ar,de,fr,it,pt,es,ru
获取 PPT
获取 PPT 列表
接口说明: 分页查询您的 PPT 作品列表
post/api/ppt/listPptx
参数
响应
请求示例
加载 PPT 数据
接口说明: 加载一个 PPT 的完整数据内容
get/api/ppt/loadPptx?id=
响应
请求示例
加载 PPT 大纲内容
接口说明: 获取生成 PPT 所使用的大纲内容
post/api/ppt/loadPptxMarkdown
请求
响应
请求示例
下载 PPT
接口说明: 下载 PPT 到本地
post/api/ppt/downloadPptx
请求
响应
请求示例
下载-智能动画 PPT
接口说明: 给 PPT 自动加上动画再下载到本地
get/api/ppt/downloadWithAnimation?type=1&id=xxx
URL 请求
参数 | 类型 | 描述 |
---|---|---|
type | number | 动画类型,1 依次展示(默认);2 单击展示 |
id | string | PPT ID |
响应(application/octet-stream)
文件数据流
请求示例
该接口会在原有的 PPT 元素对象上智能添加动画效果(元素入场动画 & 页面切场动画)
动画类型介绍:
1 依次展示,表示上一个元素动画结束后立马展示下一个元素动画
2 单击展示,表示在内容页,上一项内容展示完成后需要单击才会展示下一项内容,其他页面效果同依次展示。
操作 PPT
更换 PPT 模板
post/api/ppt/updatePptTemplate
参数
响应
更新 PPT 属性
接口说明: 修改 PPT 的名称或主题
post/api/ppt/updatePptxAttr
参数
响应
请求示例
设置 Logo
接口说明: 设置 PPT 的 LOGO
post/api/ppt/setPptLogo
请求参数 (multipart/form-data)
参数 | 类型 | 是否必传 | 说明 |
---|---|---|---|
image | File | 是 | Logo 图片文件(png / jpg) |
pptId | string | 是 | PPT ID |
width | integer | 否 | logo 宽度 px,默认 48 |
height | integer | 否 | logo 高度 px, 默认 48 |
响应:
请求示例
保存 PPT
post/api/ppt/savePptx
参数
响应
请求示例
删除 PPT
post/api/ppt/delete
参数
响应
请求示例
自定义模板
上传用户自定义模板
post/api/ppt/uploadTemplate
请求参数 (multipart/form-data)
参数 | 类型 | 是否必传 | 说明 |
---|---|---|---|
type | int | 是 | 类型,用户自定义模板传 4(写死) |
file | File | 是 | 文件(仅支持 pptx,幻灯片大小 960x540) |
templateId | string | 否 | 模板 ID(更新时传,会覆盖该模板) |
响应:
请求示例
模板标准幻灯片大小(16:9)960x540 (33.867x19.05 厘米) ,如果尺寸非标准大小,可在 microsoft office 中修改步骤:设计 > 幻灯片大小 > 自定义幻灯片大小 => 33.867x19.05 厘米
上传用户自定义模板后,AI 会自动标注学习,如果您觉得生成效果有问题,对不上,可以访问下面链接手动纠正 AI 标注结果: https://docmee.cn/marker/\{templateId\}?token=\{apiKey\} 请把 {templateId} 替换成真实的模板 ID,{apiKey} 替换成你的 api-key,示例:https://docmee.cn/marker/10000?token=xxx
注意:如果是覆盖公共模板,请把 token 换成 Api-Key 调用,不然无权限访问。
下载自定义模板
post/api/ppt/downloadTemplate
请求
响应
请求示例
删除自定义模板
post/api/ppt/delTemplateId
请求
响应
请求示例
设置为公共模板
接口说明: 将自定义模版设置为 Api-Key 账号级别的公共模板,但并非平台公共模板。
post/api/ppt/updateUserTemplate
请求 header
Api-Key 在开放平台获取 获取 API-KEY
参数
响应
请求示例
积分和使用记录
查询 API 信息
接口说明: 获取当前用户的积分使用情况
get/api/user/apiInfo
请求 header
Api-Key 在开放平台获取 获取 API-KEY
响应 body
请求示例
查询积分使用记录
接口说明: 获取一段时间内的积分使用记录
post/api/record/listPage
请求 header
Api-Key 在开放平台获取 获取 API-KEY
参数
响应
请求示例
查询记录详情
接口说明: 获取一条积分使用记录的详细信息
get/api/record/getById?id=
id 参数: 记录 ID
响应:
请求示例
按小时统计积分使用
post/api/record/statisticHours
请求 header
Api-Key 在开放平台获取 获取 API-KEY
参数
响应
请求示例
按天统计积分使用
post/api/record/statisticDays
请求 header
Api-Key 在开放平台获取 获取 API-KEY
参数
响应
请求示例
查询所有 PPT 列表
接口说明: 获取当前 Api-Key 下一段时间内所有生成的 PPT 文件
post/api/ppt/listAllPptx
请求 header
Api-Key 在开放平台获取 获取 API-KEY
参数
响应
请求示例
常见错误码
接口 application/json 错误
错误码 | 说明 |
---|---|
0 | 操作成功(正常) |
-1 | 操作失败(未知错误) |
88 | 功能受限(积分已用完 或 非 VIP) |
98 | 认证失败(检查 token 是否过期) |
99 | 登录过期 |
1001 | 数据不存在 |
1002 | 数据访问异常 |
1003 | 无权限访问 |
1006 | 内容涉及敏感信息 |
1009 | AI 服务异常 |
1010 | 参数错误 |
1012 | 请求太频繁,限流 |
SEE 流式请求错误分两种
初始化流式调用时发生错误会返回 application/json 错误信息
流式过程中遇到错误,会在流中返回 text/event-stream 流式错误信息:
PPT 前端渲染
关于 ppt 数据结构在前端渲染问题,我们已经把前端代码开源到 github:
https://github.com/docmee/aippt-js
https://github.com/docmee/aippt-vue-all
https://github.com/docmee/aippt-react
Markdown
适用于调用方需要通过自己内容和模型生成 PPT 内容,调用方根据我们的规范生成 markdown 内容,然后调用接口合成 PPT。
markdown 规范:
markdown 规范说明:
markdown 规范没有定这么死,除了主题(一级标题)和章节(二级标题)必须包含外,其他标题可以没有。
完整 markdown 示例下载:markdown.md
生成 markdown 后,调用 generatePptx 生成 PPT 接口,对应 outlineContentMarkdown 参数。
通过 API 生成 PPT 后,如果需要在前端进行编辑和渲染,推荐使用以下 iframe 方式编辑器,开源地址: