API Questions Current Implementation
Theme API Endpoint: When will you expose a /themes endpoint to list available themes programmatically? We're currently hardcoding theme names and manually updating when new themes are added. Also, added a Google Sheet with all the themes and descriptions.
Webhook Support vs Polling: Any plans to support webhooks for generation completion? We're currently polling every 15 seconds with retry logic, which feels inefficient for long-running generations.
Export URL Expiration: What's the exact TTL for exportUrl links? Documentation says 'links become invalid after a period of time' but we need specific timing to advise users on download windows.
Transcript Size Limits: Character limit is 750K, but what's the practical sweet spot for generation quality? We're processing 30-60 minute meeting transcripts (15K-40K characters).
Production Scaling Questions
Concurrent Requests Can we queue multiple generation requests simultaneously, or should we implement sequential processing?
API Versioning How much notice will we get for breaking changes? The docs mention 'limited notice' during beta - what does that mean in practice?
Service Ideas/Future Proofing
White-Label/Reseller Model We're building specialized vertical solutions (meeting transcripts, podcast-to-presentation, weekly executive digests). Is there a white-label or reseller program roadmap?
Batch Processing For services like 'Knowledge Harvest' (converting entire content libraries), is there a batch API or should we handle queuing client-side?
Template/Structure Control Some clients want consistent slide structures (Title β Problem β Solution β CTA). Can we enforce specific card layouts via additionalInstructions, or is that too rigid for the AI?
textMode Selection Strategy When should we use condense vs generate for transcripts? Is there a transcript length threshold where condense performs better?
Image Generation Credits How are image model costs factored into credits? If we use gpt-image-1-medium (30 credits/image) vs flux-1-quick (2 credits/image), does that affect our daily generation limit?
Presentation Editing API Any plans for a PATCH/UPDATE endpoint to modify existing presentations? Use case: user wants to change just the theme or regenerate specific slides.
Analytics/Usage Data Will there be an API to retrieve generation history, usage metrics, or presentation view counts? Useful for service dashboards.
Custom Image Upload Can we support user-uploaded logos/brand assets via API, or must those be configured in the Gamma workspace first?
cardSplit Edge Cases Documentation shows inputTextBreaks overrides numCards. If we add \n---\n markers programmatically based on transcript speaker changes, does that give us better slide pacing than auto?
additionalInstructions Limitations 500 character limit for additionalInstructions - is that cumulative with the prompt engineering we're doing in inputText, or separate?
Programmatic Presentation Composition Long-term, we envision workflows that combine multiple API calls - one generation for executive summary, another for detailed appendix, then merge them. Any architectural plans to support multi-generation composition?
Hey Don B. thanks for your patience. Great questions, clearly you're building something sophisticated here. Let me work through these: Current Implementation 1. Theme API Endpoint: When will you expose a /themes endpoint to list available themes programmatically? This is something we're actively thinking about. Your Google Sheet workaround is solid for now, we know manually updating theme names isn't ideal. 2. Webhook Support vs Polling: Any plans to support webhooks for generation completion? Polling every 15 seconds is the pattern for now. Webhooks are something we're looking at though, would definitely clean up that retry logic situation you've got going. 3. Export URL Expiration: What's the exact TTL for exportUrl links? We don't publish a specific TTL but treat them as temporary. Best practice is download immediately after generation completes if you need long-term access. 4. Transcript Size Limits: Character limit is 750K, but what's the practical sweet spot for generation quality? Your 15K-40K character transcripts (30-60 minute meetings) are actually in a really good range. Are you seeing consistent quality at those lengths? Production Scaling 1. Concurrent Requests: Can we queue multiple generation requests simultaneously? Yep! The 50 generations/hour is per user, not sequential. Fire off multiple requests and track each by generation ID. 2. API Versioning: How much notice will we get for breaking changes? We're having those discussions with the team now about how to handle versioning as we move out of beta. Goal is to avoid breaking existing integrations, you can see we're on /v0.2/ currently. Keep an eye on developers.gamma.app/changelog for updates as we work through this. Service Ideas/Future Proofing 3. White-Label/Reseller Model Not available currently. Understanding how you're building (meetings, podcasts, executive digests) is helpful context though. 4. Batch Processing: Is there a batch API? Handle queuing client-side, you can submit multiple concurrent requests within rate limits. For Knowledge Harvest (entire content libraries), your application layer would orchestrate batching. 5. Template/Structure Control: Can we enforce specific card layouts via additionalInstructions? You can guide structure through additionalInstructions (like "Title β Problem β Solution β CTA") but it's AI-interpreted, not rigidly enforced. How strict does structure need to be for your clients? 6. textMode Selection Strategy: When should we use condense vs generate for transcripts? generate works better for transcripts because it restructures into presentation-appropriate slides. condense is more literal which usually doesn't work as well for conversational content. 7. Image Generation Credits: How are image model costs factored into credits? Image costs hit credits, not generation count. The 50 generations/hour limit is separate. So gpt-image-1-medium (30 credits) vs flux-1-quick (2 credits) burns through credits faster but doesn't reduce generation capacity. 8. Presentation Editing API: Any plans for a PATCH/UPDATE endpoint? Not available currently, editing happens in the Gamma app after generation. 9. Analytics/Usage Data: Will there be an API to retrieve generation history, usage metrics, or presentation view counts? We're hearing this from service builders. What specific metrics would be most valuable for your dashboards? 10. Custom Image Upload: Can we support user-uploaded logos/brand assets via API? Brand assets need to be in the Gamma workspace first right now. Passing logos and custom images directly via API is something we're actively exploring. 11. cardSplit Edge Cases: Does adding \n---\n markers based on transcript speaker changes give better slide pacing? Smart approach. Using inputTextBreaks with \n---\n at speaker transitions gives programmatic control over slide boundaries. Definitely worth testing against auto splitting to see what works better for your use case. 12. additionalInstructions Limitations: 500 character limit cumulative with inputText? Separate! Full inputText space (up to 750K) plus 500 characters for additionalInstructions. 13. Programmatic Presentation Composition: Long-term, we envision workflows that combine multiple API calls, one generation for executive summary, another for detailed appendix, then merge them. Each generation is independent right now, so composition happens in your application layer. Executive summary + detailed appendix would be two separate generations merged on your end. Question back at you: How often do your generations hit the mark on first try? Consistent quality, or regenerating often? Real-world usage data like that helps us prioritize. Your use cases (transcripts, podcasts, digests, Knowledge Harvest) are exactly what pushes the API forward. Really appreciate the detailed questions!
Max, thanks for the answers. Right now my generations hit the mark about 75% of the time. As I work through edge cases and workarounds, Iβm encouraged by the quality. Iβve found the Gamma engine especially good at consolidating analysis without losing important points. One use case is internal strategic analysis of a meeting transcript. I generate more analysis than I plan to show, but I want the details for later longitudinal queries. I delimit sections in markdown using β--β while keeping the βautoβ card option. That yields a better presentation and still lets me chunk the data for long-term analysis. I hope Iβm not being too obtuse. One more thing when will I be able to use the gemini 2.5 image model via the API? Anyhow, thanks again!
Hey Don, really appreciate you sharing those success metrics and your workflow approach. 75% hit rate on first generation is solid, especially for strategic analysis work where you're pushing beyond the typical slide deck use case. The markdown delimiter strategy you're using (-- with auto cardSplit) is smart for chunking data while keeping presentation flow intact. On your Gemini 2.5 question - that model (the one nicknamed "Nano Banana") isn't available through our API yet. Google launched it in late August for their own API and AI Studio, but we haven't integrated it into our image model options. Right now you've got access to the models listed in the image model documentation - that's Flux variants, Imagen 3/4, Ideogram, Leonardo Phoenix, and others. If you want to experiment with different image quality/style for your use case, Imagen 4 (imagen-4-pro at 20 credits/image) and Flux Pro (flux-1-pro at 8 credits) both handle strategic/analytical content well. Imagen tends to lean more photorealistic while Flux gives you flexibility with abstract concepts.
Great, thanks Max.
