OpenAPI 集成 AI Agent:OpenClaw / Claude Code / Cursor 快速接入
集成 AnyGen 的两种方式
方式 1:安装 Skills(最快)
AnyGen 官方提供了 anygen-skills 仓库,封装了常用的 OpenAPI 调用。对于 AI Agent:
- 告诉 Agent 安装 anygen-skills
- 设置环境变量
ANYGEN_API_KEY=sk-xxx - 在 Agent 对话里直接说:
- "帮我生成一份 slide,内容是 XXX"
- "帮我把这份 PDF 转成 docx"
- "帮我做一个着陆页"
Skills 仓库会自动:
- 创建异步任务
- 轮询状态直到完成
- 下载产出到本地
- 把结果返回给 Agent
方式 2:直接调 REST API(更灵活)
自己写 HTTP 客户端,完整控制每一步:
- 创建任务 → POST 请求(类型、参数、参考文件)
- 轮询状态 → GET 请求(直到 completed / failed)
- 下载产出 → 用临时 URL GET 下载
- 清理 → 过期 URL 不要缓存
OpenClaw / Claude Code 的集成
官网明确说 OpenAPI 对这两个 Agent 做了专门适配。集成步骤:
1. 在 Claude Code / OpenClaw 里说:
"Install anygen skill from GitHub - AnyGenIO/anygen-skills"
2. 在你的 .env 或配置文件里设置:
ANYGEN_API_KEY=sk-xxx
3. 然后就可以直接用:
"用 AnyGen 生成一份 slide,内容是 Q4 销售分析,15 页左右"
Skills 仓库会帮你处理所有异步逻辑,你看到的就是同步调用一样的体验。
自己写代码调用
对于非 AI Agent 的程序,或者需要完全控制的场景,用任何 HTTP 客户端:
import requests
# 1. 创建任务
resp = requests.post(
"https://api.anygen.io/v1/tasks",
headers={"Authorization": "Bearer sk-xxx"},
json={
"type": "slide",
"language": "zh-CN",
"aspect_ratio": "16:9",
"prompt": "一份关于新能源汽车市场的 Q4 分析 deck",
"slide_count": 15,
}
)
task_id = resp.json()["task_id"]
# 2. 轮询状态
while True:
status = requests.get(
f"https://api.anygen.io/v1/tasks/{task_id}",
headers={"Authorization": "Bearer sk-xxx"}
).json()
if status["state"] == "completed":
download_url = status["download_url"]
break
if status["state"] == "failed":
raise Exception("任务失败")
# 3. 下载
resp = requests.get(download_url)
with open("output.pptx", "wb") as f:
f.write(resp.content)
在 Cursor 里的集成
Cursor 作为 AI 代码编辑器,可以把 AnyGen Skills 作为自定义 Skill 引入:
- 克隆
AnyGenIO/anygen-skills到本地 - 在 Cursor 的 Skill 配置里注册
- 在聊天里说 "Use AnyGen-Slide 生成 XXX"
适合一边写代码一边让 AnyGen 生成项目文档/PPT的开发工作流。
常见模式
批量生成
用循环 + 并发控制一次创建多个任务:
- 100 份不同产品的销售 PPT
- 每个行业一份行业分析报告
- 给每个客户生成个性化 proposal
CI/CD 自动化
- 文档仓库变更后触发 CI
- CI 调用 AnyGen OpenAPI 重新生成 PPT / 网页版本
- 自动部署到生产环境
自定义 Agent Workflow
- 让你自己的 Agent 先用通用 Agent 做研究
- 然后把研究结果作为参考文件传给 AnyGen 生成专业 PPT
- 两个 AI 协同工作
边界
- API Key 有速率限制(具体以官方为准)
- 免费层 API Key 的额度可能和 Web UI 共用
- 临时下载 URL 有过期时间,不要延后下载
- 参考文件用 Base64 编码,注意请求体大小限制