介绍
# Gamma API Skill
通过 Gamma 的 API 以编程方式创建演示文稿和文档。
## 设置
1. 从 https://developers.gamma.app 获取 API 密钥 2. 存储到环境变量中:`export GAMMA_API_KEY=sk-gamma-xxx` 或添加到 TOOLS.md:`Gamma API Key: sk-gamma-xxx`
## 身份验证
``` Base URL: https://public-api.gamma.app/v1.0 Header: X-API-KEY: <your-api-key> ```
## 生成内容
```bash curl -X POST https://public-api.gamma.app/v1.0/generations \ -H "Content-Type: application/json" \ -H "X-API-KEY: $GAMMA_API_KEY" \ -d '{ "inputText": "Your content here", "textMode": "generate|condense|preserve", "format": "presentation|document|social|webpage" }' ```
**响应:** `{"generationId": "xxx"}`
## 检查状态
```bash curl https://public-api.gamma.app/v1.0/generations/<generationId> \ -H "X-API-KEY: $GAMMA_API_KEY" ```
**响应(已完成):** `{"status": "completed", "gammaUrl": "https://gamma.app/docs/xxx", "credits": {...}}`
每 10-20 秒轮询一次,直到 `status: "completed"`。
## 关键参数
| 参数 | 取值 | 备注 | |-----------|--------|-------| | `textMode` | `generate`, `condense`, `preserve` | generate=展开,condense=总结,preserve=保持原样 | | `format` | `presentation`, `document`, `social`, `webpage` | 输出类型 | | `numCards` | 1-60 (Pro),1-75 (Ultra) | 幻灯片/卡片数量 | | `cardSplit` | `auto`, `inputTextBreaks` | 在 inputText 中使用 `\n---\n` 进行手动换行 | | `exportAs` | `pdf`, `pptx` | 可选的导出格式 |
## 可选参数
```json { "additionalInstructions": "Make titles catchy", "imageOptions": { "source": "aiGenerated|unsplash|giphy|webAllImages|noImages", "model": "imagen-4-pro|flux-1-pro", "style": "photorealistic, modern" }, "textOptions": { "amount": "brief|medium|detailed|extensive", "tone": "professional, inspiring", "audience": "tech professionals", "language": "en" }, "cardOptions": { "dimensions": "fluid|16x9|4x3|1x1|4x5|9x16" } } ```
注意:当 `textMode` 为 `preserve` 时,`textOptions.tone` 和 `textOptions.audience` 会被忽略。
## 其他端点
- `GET /themes` — 列出可用主题(在生成时使用 `themeId`) - `GET /folders` — 列出文件夹(在生成时使用 `folderIds`)
## 工作流程
1. 检查环境变量(`$GAMMA_API_KEY`)或 TOOLS.md 中的 API 密钥 2. 使用内容构建 `inputText`(可内联包含图片 URL) 3. POST 到 `/generations` → 获取 `generationId` 4. 轮询 `/generations/{id}` 直到 `status: "completed"` 5. 向用户返回 `gammaUrl`