API 快速开始
拼装版(API 版本)适合接入方自行实现前端页面,并通过 API 调用 AiPPT 的大纲生成、模板、作品和下载能力。
基本流程
- 获取认证
token:参考 鉴权。 - 创建任务:调用 任务创建,获得
taskId。 - 获取生成内容:根据任务类型调用对应内容接口。
- 获取大纲数据结构:调用 获取大纲数据结构,用于合成前的大纲树或内容结构处理。
- 生成或管理 PPT 作品:调用 作品 相关接口。
- 导出大纲或完整内容:按需调用 导出大纲、完整内容。
接入前检查
| 检查项 | 要求 |
|---|---|
| 鉴权 | 已获取 token,并在 API 请求 Header 中传入 x-api-key、x-token 和 x-channel;无渠道区分时 x-channel 传空值 |
| 用户标识 | 已确定接入方用户唯一标识,后续任务、作品和额度查询保持一致 |
| 生成方式 | 已确认使用标题、Word、参考文档、普通文件、URL、联网生成或单页生成 |
| 异步处理 | 已准备处理流式响应、轮询查询和生成失败重试 |
| 作品处理 | 已确认是否需要作品生成、作品导出、作品列表或回收站能力 |
常见链路
生成方式对照
| 生成方式 | 内容接口 | 返回形态 | 下一步 |
|---|---|---|---|
| 标题生成 | 智能生成 | 大纲流式返回,内容通过 ticket 查询 | 获取大纲数据结构或生成作品 |
| Word 导入 | 上传 Word | 流式返回 Markdown 内容 | 获取大纲数据结构或生成作品 |
| 参考文档导入 | 上传参考文档 | 流式返回 Markdown 内容 | 获取大纲数据结构或生成作品 |
| 普通文件导入 | 上传普通文件 | 直接返回 Markdown 内容 | 获取大纲数据结构或生成作品 |
| URL 导入 | 导入 URL 链接 | 流式返回 Markdown 内容 | 获取大纲数据结构或生成作品 |
| 联网生成 | 联网智能生成 | 流式返回 Markdown 内容 | 获取大纲数据结构或生成作品 |
| 单页生成 | 单页生成 | 流式返回单页内容 | 合并到当前任务内容或继续生成作品 |
标题生成 PPT
- 调用 任务创建,
type=1,传入标题。 - 调用 智能生成 获取大纲。
- 调用 智能生成 生成完整内容。
- 调用 智能生成 查询内容生成结果。
- 调用 获取大纲数据结构 获取合成前的大纲数据结构。
- 调用 作品 生成或管理 PPT 作品。
文档导入生成 PPT
链接导入生成 PPT
异步任务处理
拼装版 API 中的生成链路通常不是一次请求直接返回最终 PPT。接入方需要按以下方式处理:
- 创建任务后保存
taskId,后续内容生成、结果查询和作品处理都围绕该任务继续。 - 接收流式内容时,按 API 公共约定 解析
event:message和event:close。 - 遇到需要查询结果的接口时,按接口返回的任务标识或查询凭证继续轮询,直到获得完成、失败或超时状态。
- 生成失败时,不要复用已失败的中间结果继续合成;应回到对应生成步骤重新提交。
生成后处理
生成内容不是业务闭环的终点。接入方通常还需要根据业务目标选择后续处理方式:
| 目标 | 推荐接口 | 说明 |
|---|---|---|
| 获取可用于 PPT 合成的大纲树 | 获取大纲数据结构 | 位于生成内容之后、作品生成之前 |
| 生成 PPT 作品并管理作品 | 作品 | 覆盖作品生成、列表、详情、导出、重命名和删除 |
| 导出大纲或完整内容文件 | 导出大纲、完整内容 | 导出 Markdown/内容文件,不等同于 PPT 作品导出 |
如果接入方最终要得到 PPTX,通常先生成作品,再使用 作品导出 和 作品导出结果。
辅助能力
除主生成链路外,接入方还可以按业务需要接入以下辅助能力:
| 目标 | 推荐接口 | 说明 |
|---|---|---|
| 让用户选择模板 | 模板 | 获取系统模板、企业模板和筛选项 |
| 提供生成主题建议 | 预置词 | 获取平台预置的生成主题和内容示例 |
| 管理已删除作品 | 回收站 | 查询、还原或彻底删除已删除作品 |
| 查询用户额度消耗 | 获取用户大纲次数 | 用于额度、统计或运营展示 |
请求示例
bash
curl --location --request POST 'https://co.aippt.cn/api/ai/chat/v2/task' \
--header 'x-api-key: {{apiKey}}' \
--header 'x-channel: ' \
--header 'x-token: {{token}}' \
--form 'title="毕业季"' \
--form 'type="1"'