home / skills / openclaw / skills / gamma-presentations
This skill creates presentations, documents, social posts, and web content using Gamma's AI API, delivering ready-to-share materials quickly.
npx playbooks add skill openclaw/skills --skill gamma-presentationsReview the files below or copy the command above to add this skill to your agents.
---
name: gamma
description: Create presentations, documents, social posts, and websites using Gamma's AI API. Use when asked to create slides, presentations, decks, documents, or web content via Gamma.
---
# Gamma API Skill
Create presentations and documents programmatically via Gamma's API.
## Setup
1. Get API key from https://developers.gamma.app
2. Store in environment: `export GAMMA_API_KEY=sk-gamma-xxx`
Or add to TOOLS.md: `Gamma API Key: sk-gamma-xxx`
## Authentication
```
Base URL: https://public-api.gamma.app/v1.0
Header: X-API-KEY: <your-api-key>
```
## Generate Content
```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"
}'
```
**Response:** `{"generationId": "xxx"}`
## Check Status
```bash
curl https://public-api.gamma.app/v1.0/generations/<generationId> \
-H "X-API-KEY: $GAMMA_API_KEY"
```
**Response (completed):** `{"status": "completed", "gammaUrl": "https://gamma.app/docs/xxx", "credits": {...}}`
Poll every 10-20s until `status: "completed"`.
## Key Parameters
| Parameter | Values | Notes |
|-----------|--------|-------|
| `textMode` | `generate`, `condense`, `preserve` | generate=expand, condense=summarize, preserve=keep exact |
| `format` | `presentation`, `document`, `social`, `webpage` | Output type |
| `numCards` | 1-60 (Pro), 1-75 (Ultra) | Number of slides/cards |
| `cardSplit` | `auto`, `inputTextBreaks` | Use `\n---\n` in inputText for manual breaks |
| `exportAs` | `pdf`, `pptx` | Optional export format |
## Optional Parameters
```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"
}
}
```
Note: `textOptions.tone` and `textOptions.audience` are ignored when `textMode` is `preserve`.
## Other Endpoints
- `GET /themes` — List available themes (use `themeId` in generation)
- `GET /folders` — List folders (use `folderIds` in generation)
## Workflow
1. Check for API key in environment (`$GAMMA_API_KEY`) or TOOLS.md
2. Build `inputText` with content (can include image URLs inline)
3. POST to `/generations` → get `generationId`
4. Poll `/generations/{id}` until `status: "completed"`
5. Return `gammaUrl` to user
This skill connects to Gamma's AI API to create presentations, documents, social posts, and web pages programmatically. It automates generation, polling, and returns a shareable Gamma URL or export file. Use it to turn outlines, briefs, or raw text into polished slides or content fast.
The skill sends your inputText and parameters (format, textMode, numCards, etc.) to Gamma's /generations endpoint with your API key. It receives a generationId, polls the generation status until completed, and returns the gammaUrl and available export options. Optional parameters let you control images, tone, card layout, and export type.
What authentication is required?
An API key from Gamma (set as GAMMA_API_KEY or provided via your tool configuration) sent in the X-API-KEY header.
How do I control slide breaks?
Use cardSplit with inputTextBreaks and include \n---\n in inputText to force manual breaks.
Can I get a PPTX or PDF?
Yes. Use exportAs (pdf or pptx) when creating the generation; the completed response includes export links or a gammaUrl.