home / skills / openclaw / skills / gamma-presentations

gamma-presentations skill

/skills/mrgoodb/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-presentations

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
2.7 KB
---
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

Overview

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.

How this skill works

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.

When to use it

  • You need a quick slide deck or pitch based on a short brief or outline.
  • You want a formatted document or one-page web content generated from raw text.
  • You need multiple social posts derived from a longer document.
  • You want to prototype presentation designs with automatic image suggestions.
  • You need programmatic generation and archival of generated assets.

Best practices

  • Provide a clear, structured inputText; use \n---\n to force slide breaks when needed.
  • Choose textMode appropriately: generate to expand, condense to summarize, preserve to keep exact wording.
  • Specify format (presentation, document, social, webpage) and numCards to control output length.
  • Use additionalInstructions and textOptions for tone, audience, and detail level; note tone/audience are ignored in preserve mode.
  • Poll generation status every 10–20 seconds and handle throttling or retries for network errors.

Example use cases

  • Create a 10-slide investor pitch from a 500-word company summary and return a PPTX export link.
  • Condense a long report into a 5-card executive summary presentation with modern imagery.
  • Generate a web landing page content draft from a product description and publish the Gamma URL for review.
  • Produce a batch of social post drafts from a webinar transcript using the social format.
  • Automate periodic backups by saving completed gammaUrl and export files to your archive system.

FAQ

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.