Gamma Presentations
by @mrgoodb
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.
clawhub install gamma-presentationsπ About This Skill
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:
Generate Content
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
curl https://public-api.gamma.app/v1.0/generations/ \
-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
{
"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
βοΈ Configuration
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