gamma.app APIgamma.app ↗
Generate AI-powered presentations, documents, and webpages via Gamma.app's API. Create from scratch or templates, poll generation status, and export to PDF or PPTX.
curl -X POST 'https://api.parse.bot/scraper/e7bdebeb-3e3e-4708-a3b2-68d721909cd5/generate_content' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'Creates a new AI-generated gamma (presentation, document, or webpage) from scratch. Sends the request to Gamma's generation API and returns the generation object with an ID for tracking progress. Requires a valid Gamma API key.
| Param | Type | Description |
|---|---|---|
| format | string | Output format such as presentation, document, or webpage |
| api_keyrequired | string | Gamma API key obtained from https://gamma.app/settings/api |
| themeId | string | Theme ID to apply to the generated content |
| exportAs | string | Export format |
| numCards | integer | Number of cards/slides to generate |
| cardSplit | string | Card split preference |
| folderIds | string | Comma-separated folder IDs or JSON array of folder IDs to organize the generated content |
| text_mode | string | Text generation mode |
| input_textrequired | string | The text prompt or content to generate from |
| cardOptions | object | Card layout options as a JSON object |
| textOptions | object | Text generation options as a JSON object |
| imageOptions | object | Image generation options as a JSON object |
| sharingOptions | object | Sharing settings as a JSON object |
| additionalInstructions | string | Additional instructions for AI generation |
{
"type": "object",
"fields": {
"id": "string - generation ID for tracking progress",
"status": "string - current status of the generation"
},
"sample": {
"data": {
"id": "gen_abc123",
"status": "pending"
},
"status": "success"
}
}About the gamma.app API
This API provides 6 endpoints for creating and managing AI-generated content on Gamma.app, covering presentations, documents, and webpages. The generate_content endpoint kicks off a new generation job and returns an id and status for async tracking, while get_export_urls delivers both pdfUrl and pptxUrl download links once a job completes. Workspace organization utilities for themes and folders are also included.
Generating Content
The generate_content endpoint accepts parameters including format (presentation, document, or webpage), numCards for controlling slide count, themeId for applying a workspace theme, and folderIds for organizing output. It returns a generation id and initial status. Because generation is asynchronous, you follow up with get_generation_status, polling until status reaches completed or failed. On completion, the response includes a gammaId referencing the created asset.
Template-Based Creation
create_from_template takes a template_gamma_id and a prompt, and accepts the same optional fields as generate_content—themeId, exportAs, folderIds, plus imageOptions and sharingOptions objects for finer control over the generated output. It returns the same generation object shape, so the same get_generation_status polling flow applies.
Exporting Completed Generations
Once a generation is complete, get_export_urls accepts a generation_id and returns pdfUrl and pptxUrl—direct download links for the finished presentation or document. No additional processing steps are required between completion and export.
Workspace Utilities
list_themes and list_folders both return paginated arrays via cursor-based pagination: each response includes a data array, an after cursor string, and a hasMore boolean. Both endpoints support a query parameter for name-based filtering and a limit parameter to control page size. These endpoints let you resolve valid themeId and folderIds values before triggering a generation.
- Automate creation of branded sales decks by passing a product brief to
generate_contentwith a fixedthemeId - Build a report generation pipeline that polls
get_generation_statusand emails thepdfUrlon completion - Populate a content library by creating multiple gammas from a common
template_gamma_idwith varied prompts - Programmatically organize generated assets into workspace folders using
folderIdsreturned bylist_folders - Enumerate available themes with
list_themesto let users pick a style before triggering generation - Export completed presentations to PPTX via
get_export_urlsfor downstream editing in PowerPoint - Generate client-facing documents at scale by integrating
create_from_templateinto a CRM workflow
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Gamma.app have an official developer API?+
What does `get_generation_status` return and when is it safe to call `get_export_urls`?+
get_generation_status returns a status field with values pending, processing, completed, or failed, alongside the id and a gammaId field that is populated once the job is complete. Call get_export_urls only after status is completed; the gammaId confirms the asset exists and the export URLs will be valid.Can I list existing gammas in my workspace or delete a generated gamma through this API?+
How does pagination work across `list_themes` and `list_folders`?+
after string and a hasMore boolean. Pass the after value from one response as the after input on the next request to advance through pages. When hasMore is false, you have reached the last page.Can I control sharing permissions or image generation behavior when creating from a template?+
create_from_template accepts an imageOptions object and a sharingOptions object as optional inputs, giving you control over image behavior and sharing settings for that specific generation. generate_content does not currently expose those same objects; you can fork the API on Parse and revise it to add that support.