AI 智能布局排版
接口信息
- 方法:POST
- 路径:
- 鉴权:请求头传
token - 请求体:
multipart/form-data
接口作用
根据任务 ID 和 JSON 结构化大纲发起 AIL 智能布局任务,按页流式生成 HTML 结果。
返回方式
该接口返回 SSE 流,不是一次性完整 JSON。调用方需要能够持续消费事件流,并在连接异常时配合
latestData
请求示例
下面的
data仅用于演示JSON结构。实际调用时,请直接使用上一步generateContent最终响应中返回的result,而不是把下面这个示例写死到生产代码里。
展开查看示例 outline(仅示例,实际请使用上一步返回的 PPT 大纲)
{ "overall_theme": "AI 办公趋势与产品应用", "target_audience": "智能推断相关领域的专业人士与决策者", "scenario": "行业峰会主题演讲", "language": "zh", "pages": [ { "page_number": 1, "title": "AI 办公趋势:重塑未来工作方式", "page_type": "cover", "content": { "subtitle": "探索 AI 如何驱动效率革命与智能协作" } }, { "page_number": 2, "title": "章节一:AI 办公的现状与驱动力", "page_type": "section_header", "content": { "section_no": 1, "subtitle": "理解 AI 办公的市场背景与核心推动力" } }, { "page_number": 3, "title": "全球 AI 办公市场快速增长", "page_type": "content", "content": { "text": "AI 办公市场正经历爆发式增长。根据最新行业报告,全球智能办公解决方案市场规模预计在未来五年内年复合增长率将超过 30%。这一增长主要由三大因素驱动:\n1. **远程与混合办公的常态化**:后疫情时代,企业对高效、灵活的协作工具需求激增。\n2. **数据量爆炸与决策复杂性**:企业需要从海量数据中快速提取洞察,AI 成为关键赋能工具。\n3. **技术成熟度提升**:自然语言处理(NLP)、机器学习和计算机视觉等技术的成熟,使 AI 应用从概念走向规模化落地。" } }, { "page_number": 14, "title": "总结与行动号召", "page_type": "closing", "content": { "subtitle": "拥抱 AI 办公,开启效率与创新的新纪元" } } ] }
curl --request POST \ --url https://open.docmee.cn/api/ppt/v2/generatePptxByAi \ --header "token: YOUR_TEMP_TOKEN" \ --form "id=task_xxx" \ --form "templateId=template_xxx" \ --form-string 'data=PREVIOUS_STEP_RESULT_JSON'
请求参数
| 参数名 | 类型 | 必填 | 示例 | 说明 |
|---|---|---|---|---|
id | string | 是 | task_xxx | 任务 ID,来自 createTask。 |
data | string | 是 | PREVIOUS_STEP_RESULT_JSON | JSON 结构化大纲,通常来自 generateContent 且 outlineType=JSON 时的最终 result。 |
templateId | string | 否 | template_xxx | 模板 ID,用于给 AIL 增加模板约束。 |
customTemplate | File | 否 | custom-template.pptx | 自定义模板文件。上传后会作为当前排版任务的模板约束。 |
参数说明
data需要是完整的结构化大纲对象,不建议传未完成的流式片段。- 如果同时有
templateId和customTemplate,应以你的业务约定为准,通常只传一种模板约束。 - 该接口的直接输出是分页
HTML与任务进度,不是最终下载链接。
响应方式
Content-Type: text/event-stream- 持续返回
data: {...}分片 - 分片主要分为两类:过程消息和页面增量消息
响应示例
data: {"status":"running","step":1,"todo":[["completed","解析大纲"],["running","生成页面"]],"payload":{"ailOutline":[{"page_type":"cover","title":"AI 办公趋势"}]}} data: {"$":"<section class=\"page cover\">","_i":0,"_retry":false} data: {"$":"<h1>AI 办公趋势</h1></section>","_i":0,"_done":true,"_retry":false} data: {"status":"completed","step":3,"todo":[["completed","解析大纲"],["completed","生成页面"]],"payload":{"pages":{"0":"done"}}}
响应字段说明
过程消息
| 字段名 | 类型 | 示例 | 说明 |
|---|---|---|---|
data.status | string | running | 任务状态,可取 not_started、running、completed、error。 |
data.step | number | 1 | 当前执行步骤。 |
data.todo | array | [["running","生成页面"]] | 任务待办及状态列表。 |
data.payload.ailOutline | array | [{"page_type":"cover","title":"AI 办公趋势"}] | AIL 识别出的页面级大纲摘要。 |
data.payload.pages | object | {"0":"done"} | 当前页面生成状态映射。 |
data.payload.url | string | https://example.com/... | 可选资源地址。 |
页面增量消息
| 字段名 | 类型 | 示例 | 说明 |
|---|---|---|---|
data.$ | string | <section class=\"page cover\"> | 当前页的 HTML 增量内容。 |
data._i | number | 0 | 页索引。 |
data._done | boolean | true | 当前页是否已经生成完成。 |
data._error | string | render failed | 当前页生成失败时的错误信息。 |
data._retry | boolean | false | 当前页是否会自动重试。 |
多语言示例
curl --request POST \ --url https://open.docmee.cn/api/ppt/v2/generatePptxByAi \ --header "token: YOUR_TEMP_TOKEN" \ --form "id=task_xxx" \ --form "templateId=template_xxx" \ --form-string 'data=PREVIOUS_STEP_RESULT_JSON'
Last updated on