

Gamma Generate API vs 2Slides API: A Developer's Comparison (2026)
Gamma's public API (POST /v1.0/generations and around twenty companion endpoints) and the 2Slides API (POST /api/v1/slides/*) both generate presentations programmatically, but they are built around different products. Gamma generates a web-native "gamma" (presentation, document, webpage, or social post), exports it to PPTX/PDF/PNG, and now also exposes template remixing, standalone image generation, workspace search, engagement analytics, OAuth, and a hosted MCP server. API keys require a Pro plan ($25/month) or higher. 2Slides exposes four generation surfaces (template-driven native PPTX, image-designed slides from a prompt, reference-image style matching, and per-page voice narration) plus free per-page PNG + WAV export, with API keys on any account and pay-as-you-go credits from $5. Both are async job APIs. The right choice depends on output format, pricing shape, and whether you are automating your own workspace or embedding generation in a product.
Disclosure up front: 2Slides is our product. Every Gamma fact below comes from Gamma's developer documentation, its API product page, and its pricing page as of September 2026, and we note plainly where Gamma is the better fit.
Updated September 2026. Our first version of this comparison (August 2026) described Gamma as "one generation endpoint with many output formats." That is no longer accurate. Gamma's changelog shows the API moved from beta (July 2025) to v1.0 (November 2025), retired the v0.2 endpoints in January 2026, made Create from Template generally available in February 2026, and shipped Zapier, Make, and n8n parity plus a ChatGPT app in March 2026. The endpoint table, feature matrix, and pricing math below reflect the current surface.
The full endpoint surface
The two APIs are shaped differently. Gamma is one workspace API: generation endpoints sit next to management, export, analytics, and image endpoints that operate on documents already in your Gamma workspace. 2Slides is several specialized generation pipelines over one job system, with no workspace layer at all.
| Capability | Gamma | 2Slides |
|---|---|---|
| Prompt → deck | POST /v1.0/generations (format: "presentation") | POST /api/v1/slides/generate (Fast PPT, native PPTX) |
| Documents / webpages / social posts | Same endpoint, format parameter; pages array builds a multi-page site (up to 50 pages) | — |
| Image-designed slides (custom design style) | Same endpoint + imageOptions (35+ image models across 4 price tiers) | POST /api/v1/slides/create-pdf-slides (512px–4K, any aspect ratio, designStyle prompt) |
| Match the style of a reference image | — (reference images only on standalone POST /v1.0/images) | POST /api/v1/slides/create-like-this (referenceImageUrl) |
| Generate from an existing deck/template | POST /v1.0/generations/from-template (GA since Feb 2026; gammaId + prompt) | Theme selection via GET /api/v1/themes/search (1,500+ templates) |
| Standalone image generation | POST /v1.0/images + GET /v1.0/images/{id} | — |
| Voice narration | — | POST /api/v1/slides/generate-narration (single or two-speaker, 30 voices) |
| Per-page asset export | PNG zip via exportAs: "png" | POST /api/v1/slides/download-slides-pages-voices (PNG + WAV, free) |
| Export an existing document | POST /v1.0/gammas/{id}/export → GET /v1.0/exports/{id} | — (every job already returns its download URL) |
| Job status | GET /v1.0/generations/{id} (poll every 5 s) | GET /api/v1/jobs/{id} (or mode: "sync") |
| Workspace management | GET /v1.0/themes, GET /v1.0/folders, GET /v1.0/gammas/search, GET /v1.0/templates/search, get/archive/delete gamma, list comments | Themes search, auth echo |
| Engagement analytics | GET /v1.0/gammas/{id}/analytics (doc, per-card, per-viewer) | — |
| Auth | X-API-KEY or OAuth 2.0 (PKCE, dynamic client registration) | Authorization: Bearer |
Two notes for fairness. Gamma's API is now genuinely a workspace platform: if your integration needs to read, search, export, or measure documents people already made in Gamma, there is no 2Slides equivalent because 2Slides has no document workspace behind the API. And Gamma's Create-from-Template endpoint, now out of beta, covers the "reuse my existing deck" case that 2Slides addresses differently (themes and reference images). Going the other way, 2Slides' reference-image matching, voice narration, and per-page audio export still have no Gamma API equivalent. Gamma's own API page shows narrated video as an n8n recipe chaining Synthesia and ElevenLabs.
The requests, side by side
Both APIs follow the same pattern: submit a job, poll for status, download the result.
Gamma: X-API-KEY header, poll every 5 seconds, one export format per request:
curl -X POST https://public-api.gamma.app/v1.0/generations \
-H "X-API-KEY: sk-gamma-xxxxx" \
-H "Content-Type: application/json" \
-d '{
"inputText": "Q3 sales review for the leadership team",
"textMode": "generate",
"format": "presentation",
"numCards": 10,
"cardOptions": { "dimensions": "16x9" },
"imageOptions": { "source": "aiGenerated", "model": "flux-2-pro" },
"exportAs": "pptx"
}'
# → { "generationId": "..." } then poll GET /v1.0/generations/{generationId}
# completed → { "status": "completed", "gammaId": "...", "gammaUrl": "...", "exportUrl": "...", "credits": { "deducted": 15, "remaining": 485 } }2Slides Fast PPT: Bearer key, native PPTX from a designed template. sync is the default and returns the finished deck in one call; async returns a job id:
curl -X POST https://2slides.com/api/v1/slides/generate \
-H "Authorization: Bearer sk-2slides-xxxxx" \
-H "Content-Type: application/json" \
-d '{
"userInput": "Q3 sales review for the leadership team",
"themeId": "minimal-dark",
"responseLanguage": "en",
"mode": "async"
}'
# → job id, then poll GET /api/v1/jobs/{id}2Slides image-designed pipelines: the two endpoints Gamma has no equivalent for. create-pdf-slides generates art-directed slides from a prompt with resolution and aspect-ratio control; create-like-this derives the entire design system from a reference image:
curl -X POST https://2slides.com/api/v1/slides/create-like-this \
-H "Authorization: Bearer sk-2slides-xxxxx" \
-H "Content-Type: application/json" \
-d '{
"userInput": "Q3 sales review for the leadership team",
"referenceImageUrl": "https://example.com/brand-slide.png",
"resolution": "2K",
"aspectRatio": "16:9",
"page": 0,
"contentDetail": "concise",
"imageModel": "gemini-3-pro-image",
"mode": "async"
}'
# page: 0 = auto-detect page count (max 100); resolution: 512px | 1K | 2K | 4K
# create-pdf-slides takes the same shape with designStyle instead of referenceImageUrlJobs from these two pipelines can then be sent to generate-narration (jobId, mode: "single" | "multi", speaker names and voices, includeIntro) and exported per page as PNG + WAV with download-slides-pages-voices, which is how narrated video decks are assembled.
Three structural differences show up immediately. Gamma picks content and design in one shot, with textMode (generate, condense, preserve), textOptions (amount, tone, audience, one of 60+ languages), imageOptions, cardOptions.headerFooter, and sharingOptions all on the same request; 2Slides separates theme selection (GET /api/v1/themes/search) from generation, which is what locks visual consistency across runs. Gamma's inputText accepts up to roughly 100,000 tokens and honors \n---\n card breaks, so it doubles as a document-to-deck endpoint; 2Slides' userInput is a brief or outline, and file input lives in the workspace product rather than the API. And 2Slides offers a synchronous mode on every generation endpoint, useful in scripts where polling is ceremony.
Feature comparison
| Gamma API | 2Slides API | |
|---|---|---|
| Primary output | Web-native gamma (URL) + exportUrl (PPTX / PDF / PNG zip; URL expires after ~1 week and is not tied to your key) | Native PPTX (Fast PPT); image-designed slides as PDF (512px–4K); PNG + WAV per page |
| Generation modes | Generate from text, generate from template, multi-page pages array; 4 formats (presentation, document, webpage, social) | 3 pipelines: template PPTX, design-style prompt, reference-image match |
| Standalone images | POST /v1.0/images (illustration/photo/abstract, size presets, reference images) | — |
| Voice narration / video assets | — (recipes use Synthesia + ElevenLabs via n8n) | 30 voices, single or two-speaker dialogue; PNG + WAV export for video assembly |
| Auth | X-API-KEY or OAuth 2.0 with PKCE and dynamic client registration (generate / gamma:read scopes) | Authorization: Bearer |
| API access requires | Pro ($25/mo billed monthly), Ultra ($100/mo), Teams, or Business plan; Free and Plus cannot create API keys | Any account; 500 free credits on signup |
| Pricing shape | Subscription with monthly credits (Pro 4,000, Ultra 20,000, Business 10,000/seat; roll over up to 2×) + 1–3 credits/card text + 2–125 credits/image by model tier | Pay-as-you-go: 10/page Fast PPT; 10 planning + 100/page (512px–2K) or 200/page (4K) image pipelines; 210/page narration; $5 per 2,000 credits, down to $80 per 40,000 |
| Slide count control | numCards 1–75, or cardSplit: "inputTextBreaks" | page 0 (auto) to 100 |
| Aspect / resolution control | cardOptions.dimensions: presentation fluid/16x9/4x3, social 1x1/4x5/9x16, document letter/a4; no pixel resolution control | resolution 512px / 1K / 2K / 4K; aspectRatio any w:h |
| Templates | themeId via GET /v1.0/themes; Create from Template (gammaId + prompt) | themeId via themes search across 1,500+ templates |
| Rate limits | Enforced per key with burst, hourly, and daily windows exposed as x-ratelimit-* headers; back off 30 s on 429 | 6 requests/min per key on generation endpoints, 10/min on job polling, returned in X-RateLimit-* headers |
| Sync mode | — (async only, poll every 5 s) | mode: "sync" on every generation endpoint |
| Agent integrations | Hosted MCP server (17 tools, OAuth with DCR) powering Claude and ChatGPT connectors; Zapier, Make, n8n, Workato; Slack, Superhuman Go, Atlassian Rovo | MCP server (hosted Streamable HTTP or npx -y 2slides-mcp@latest, 7 tools) + Agent Skill for Codex, Claude Code, OpenClaw, Cursor |
| Post-generation | Search, comments, archive/delete, export existing, per-card and per-viewer analytics | Job status and download only |
| Edit an existing document | Not supported; regenerate or use Create from Template | Not applicable (files are the deliverable) |
| Output languages | 60+ via textOptions.language | 20+ incl. native CJK/RTL via responseLanguage |
What the pricing shapes mean in practice
The models differ more than the numbers. Gamma bundles API credits into seats. To create an API key you hold a Pro-or-higher subscription (Free accounts get 400 non-refilling credits and no keys; Plus has credits but no keys). Credits refresh monthly, roll over up to twice the monthly amount, and per-generation cost varies: text is billed at 1–3 credits per card depending on the model Gamma selects, and images at 2 (Flux 1 Quick) to 125 (Recraft V4 Pro) credits each. Gamma's own illustrative figure is 20–60 credits for a 10-card deck with 5 basic-model images; a 20-card document with 15 premium-model images runs 320–1,070. Actual usage comes back in the credits.deducted field of the polling response, so budgeting is after the fact. Auto-recharge is the documented way to avoid failed generations.
2Slides bills flat per page, per pipeline. A 10-page Fast PPT deck is always 100 credits (about $0.25 at the $5/2,000 tier), a 10-page 2K image-designed deck is 10 planning + 1,000 credits ($2.53), narration adds 210 per page, and job polling, theme search, and per-page export are free. The price is known before you call, whether you generate one deck or a thousand, and there is no subscription gate in front of the key (an optional Pro plan adds 10,000 monthly credits, but the API does not require it).
Practical translation: for a team already on Gamma Pro that generates a handful of decks programmatically, the marginal API cost is effectively zero, and Gamma's 4,000 monthly credits cover roughly 65–200 decks at Gamma's own 20–60-credit illustration. For a service that generates decks for others (a SaaS feature, per-client reports, batch pipelines), predictable per-page pricing without seat requirements is the difference between a costable feature and a variable bill. Worked batch examples: batch-generating presentations by API.
Output format: exported PPTX vs composed PPTX
This is the deepest architectural difference, and it did not change with Gamma's expanded surface. Gamma is web-native first: decks are gamma docs designed for browser viewing and sharing, with PPTX/PDF/PNG produced through exportAs (or later through the export endpoint), one format per request. That makes Gamma's web experience excellent, and it means PowerPoint is a derived artifact. 2Slides' Fast PPT pipeline composes the PPTX itself as the primary artifact: text boxes, layouts, and charts are built in the file, which is why decks stay fully editable in PowerPoint afterward. If your deliverable is a link, Gamma's model is arguably better; if your deliverable is a .pptx a client will open and edit, generation-native PPTX avoids the export seam entirely (why that seam matters: why AI slide tools break PowerPoint export). And when the deliverable is visual, brand-matched image slides or a narrated video, the image pipelines plus narration cover ground neither Gamma surface reaches.
Agent integrations: two MCP servers, different shapes
Both vendors now ship an MCP server, so the question is what each exposes. Gamma's is hosted and OAuth-only (dynamic client registration; custom integrations apply through a form and need HTTPS redirect URIs). It exposes 17 tools that mirror the REST API: generate, generate from template, multi-page generation, standalone images, export, search and read existing gammas, comments, and four analytics tools. It works on all Gamma plans because it authenticates as a user rather than with an API key, and it is what powers the Gamma connectors inside Claude and ChatGPT. It is a strong fit if the agent's job is to work inside someone's Gamma workspace.
2Slides' MCP server exposes 7 tools over the same API key and credits as the REST API: slides_generate, slides_create_pdf_slides, slides_create_like_this, slides_generate_narration, slides_download_slides_pages_voices, themes_search, and jobs_get. It runs hosted (Streamable HTTP, one claude mcp add line) or locally via npx, and the same surface is packaged as a SKILL.md for coding agents. It is a strong fit if the agent's job is to hand back a finished file. The trade-offs between the two integration styles are in Agent Skills vs MCP servers for presentations.
Where each API wins
Choose Gamma's API when:
- You need more canvas types than slides: documents, webpages, social carousels, or a multi-page site from one
pagesrequest - Your integration operates on an existing Gamma workspace: search, export, comments, engagement analytics, or remixing a template deck with Create from Template
- Your team already pays for Gamma Pro/Ultra and the deliverable is a shareable web link with Gamma's design polish
- You want fine-grained content controls (
textMode, tone, audience, 60+ languages, header/footer, sharing permissions) on the generation request itself - Your app acts on behalf of end users who each have their own Gamma account, so OAuth rather than a shared key is the right model
Choose the 2Slides API when:
- The deliverable is native, editable PPTX at predictable per-page cost
- You need design matched to a reference image (
create-like-this) or art-directed slides at controlled resolution and aspect ratio (create-pdf-slides) - You need narration or per-page audio/image assets for video from the same pipeline, without chaining third-party TTS and video tools
- You are integrating via coding agents and want the MCP server or Agent Skill to make Codex/Claude Code integration a config block, not an OAuth project (skills vs MCP guide)
- You generate at volume for other people and do not want per-seat subscriptions in front of the key, or you want synchronous calls for small jobs
FAQ
Does the Gamma API require a paid plan?
Yes. Per Gamma's access documentation, API keys are available on Pro, Ultra, Teams, and Business plans, not on Free or Plus. Gamma's ChatGPT and Claude connectors (which run on its MCP server) work on all plans, including Free, but they act as a signed-in user rather than a developer key. The 2Slides API issues keys on any account, with 500 free credits to start.
Can the Gamma API export real PowerPoint files?
Yes. Set "exportAs": "pptx" and the completed generation includes an exportUrl alongside gammaUrl, or call POST /v1.0/gammas/{id}/export on an existing document. Only one export format per request, and the URL expires after about a week and is not tied to your API key, so download promptly and treat it as a secret. The file is exported from a web-native document, so complex layouts are translated rather than composed natively; test fidelity against your own templates.
Can the Gamma API edit a deck after generating it?
No. Gamma's API scope page states the API creates gammas but does not edit existing ones; the workaround is to regenerate with revised input or use Create from Template with a prompt such as "on card 9, update the pricing." 2Slides has the same limitation for a different reason: its jobs return files, and edits happen in PowerPoint.
What does the 2Slides API offer beyond prompt-to-PPTX?
Three additional surfaces: create-pdf-slides (image-designed slides from a design-style prompt, 512px–4K, any aspect ratio), create-like-this (derive the whole design from a reference image URL), and generate-narration (single or two-speaker narration across 30 voices on those jobs), plus free per-page PNG + WAV export for assembling narrated videos.
Which API is cheaper for bulk generation?
For text-first decks, 2Slides' flat 10 credits per page (about $0.025 per page at the $5 tier) is easier to cost than Gamma's per-card (1–3 credits) plus per-image (2–125 credits) model, and it requires no subscription. For AI-image decks, 2Slides is a flat 100–200 credits per page by resolution versus Gamma's per-image model tiers, where a single Ultra-tier image costs more than a whole 2Slides page. Run your actual page counts and image counts; Gamma's credits.deducted field makes the audit easy after the fact.
Do both APIs work with AI agents like Claude or Codex?
Yes, both ship MCP servers. Gamma's hosted MCP (17 tools, OAuth) powers its Claude and ChatGPT connectors and works on every plan. 2Slides ships a hosted MCP endpoint and an open-source stdio server (7 tools, API key) plus a SKILL.md for coding agents, covered in the agent skills guides.
Is there a full comparison of Gamma and 2Slides beyond the API?
Yes. The product-level comparison (editor, templates, collaboration, pricing) is in 2Slides vs Gamma; this post covers only the developer surface. For scenario-by-scenario automation recipes (sales proposals, onboarding decks, marketing videos, lesson slides, patient education), see AI presentation API use cases by team.
About 2Slides
Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.
Try For Free