Awesome-openclaw-skills gamma-2

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.

install
source · Clone the upstream repo
git clone https://github.com/sundial-org/awesome-openclaw-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/gamma-2" ~/.claude/skills/sundial-org-awesome-openclaw-skills-gamma-2 && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/gamma-2" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-gamma-2 && rm -rf "$T"
manifest: skills/gamma-2/SKILL.md
source content

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

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/<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

ParameterValuesNotes
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