介绍
# AI PPT Generation
此技能允许 OpenClaw 代理生成 ppt 文件。基于用户提供的主题,如果可能的话,还可以提供图片或资源文件,此工具可以帮助生成完美的 PPT 文件。
## 设置
1. **API Key:** 确保设置了 BAIDU_API_KEY 环境变量,并填入您有效的 API key。 2. **环境:** API key 需要在运行时环境中可用。
## API 表 | name | path | description | |------------|---------------------------------|---------------------------------------| |PPTThemeQuery|/v2/tools/ai_ppt/get_ppt_theme|查询内置的 PPT 主题和模板列表| |PPTOutlineGenerate| /v2/tools/ai_ppt/generate_outline |根据提供的主题、模板 ID、样式 ID 等生成 PPT 大纲| |PPTGenerate| /v2/tools/ai_ppt/generate_ppt_by_outline |根据提供的 PPT 大纲生成 PPT 文件 url|
## 工作流
1. PPTThemeQuery API 执行位于 `scripts/ppt_theme_list.py` 的 Python 脚本 2. PPTOutlineGenerate API 执行位于 `scripts/ppt_outline_generate.py` 的 Python 脚本 3. PPTGenerate API 执行位于 `scripts/ppt_generate.py` 的 Python 脚本 4. 第一步是用户查询 PPT 样式查询接口(PPTThemeQuery)以获取样式 ID 和模板 ID 5. 第二步是使用第一步查询到的样式 ID 和模板 ID 作为参数来生成 PPT 大纲,并调用 PPT 大纲生成 API(PPTOutlineGenerate)来生成大纲(此 API 是 sse 流式返回。此步骤依赖于第一步。如果第一步失败,可以终止请求)。 6. 第三步是基于第二步生成的大纲请求 PPT 智能生成 API(PPTGenerate)。最终,会生成一个 PPT 文件(请求参数 outline 是由大纲生成接口返回的,将 sse 流式返回结果聚合作为输入参数。同时,用户可以编辑和修改大纲,但修改后的大纲必须是 markdown 格式)。否则,可能会发生失败。此步骤严格依赖于第二步。如果第二步失败,可以终止请求。
## APIS
### PPTThemeQuery API
#### 参数
无参数
#### 示例用法 ```bash BAIDU_API_KEY=xxx python3 scripts/ppt_theme_list.py ```
### PPTOutlineGenerate API
#### 参数
- `query`: ppt 标题或用户查询(必填) - `resource_url`: 资源文件的 url,例如 pdf、word、txt 等。 - `page_range`: ppt 文件的页码范围,仅包括枚举值,1-10、11-20、21-30、31-40、40+ - `layout`: ppt 文件的版式,可选值:1,2 (1:极简模式,2:专业模式) - `language_option`: ppt 文件的语言选项,可选值:zh, en (zh:中文,en:英文) - `gen_mode`: ppt 的生成模式,可选值:1,2 (1:智能润色,2:创意模式)
#### 示例用法 ```bash BAIDU_API_KEY=xxx python3 scripts/ppt_outline_generate.py --query "generate a ppt about the future of AI" ```
### PPTGenerate API
#### 参数
- `query_id`: 来自 PPTOutlineGenerate API 返回的查询 id(必填) - `chat_id`: 来自 PPTOutlineGenerate API 返回的聊天 id(必填) - `outline`: 来自 PPTOutlineGenerate API 返回的 ppt 大纲,必须是 markdown 格式。用户可以对内容进行适当的修改,添加、修改或删除大纲的一部分。(必填) - `query`: 用户原始查询(必填) - `title`: 来自 PPTOutlineGenerate API 返回的 ppt 标题(必填) - `style_id`: 来自 PPTThemeQuery API 返回的 ppt 样式 id(必填) - `tpl_id`: 来自 PPTThemeQuery API 返回的 ppt 模板 id(必填) - `resource_url`: 资源文件的 url,例如 pdf、word、txt 等。 - `custom_tpl_url`: 用户自定义 PPT 模板的路径,必须是可下载的 - `gen_mode`: ppt 的生成模式,可选值:1,2 (1:智能润色,2:创意模式) - `ai_info`: 关于是否在生成的 PPT 的最后一页使用 AI 生成 PPT 的信息
#### 示例用法 ```bash BAIDU_API_KEY=xxx python3 scripts/ppt_generate.py --query_id "xxx" --chat_id "xxx" ... ```