Skip to content
Back to skills

Gamma 2

ASecurity

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.

  • 651 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 10, 2026
toolsbashapi

Works with

  • api

Security analysis

A96/100
  • mediumUses curl or wget to download content

Pro shows the line behind each finding and how to fix it

Scanned February 12, 2026

npx -y skills add sundial-org/awesome-openclaw-skills --skill gamma-2 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Gamma 2?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Gamma 2
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/sundial-org-gamma-2/badge)](https://www.skillsdirectory.com/skills/sundial-org-gamma-2)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: gamma-2
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

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…