the view in gamma url worked: https://gamma.app/docs/The-Story-of-Dany-Fawaz-kge3dh2sl9ywbaf?mode=doc the export url structure should be as follows: PDF: https://assets.api.gamma.app/export/pdf/kge3dh2sl9ywbaf/a24ec4b9774ba824097d14c2d1813ee2/The-Story-of-Dany-Fawaz.pdf PPTX: https://assets.api.gamma.app/export/pptx/kge3dh2sl9ywbaf/9a8356e26b0f414264fbf9fa310b3dbd/The-Story-of-Dany-Fawaz.pptx but we only get the item id from the url we receive from the generate api upon successful generation.
Hi Bob S. Good catch on this. Right now when you include exportAs: "pdf" or exportAs: "pptx" in your generation request, the API generates the files server-side but only returns the gammaUrl in the completed response, not the actual export URLs. You're correct about the export URL structure you've identified:
The missing piece is those hash values, they're not included in the API response, so there's currently no programmatic way to construct the full export URLs from what the API gives you back. This is definitely something worth having for a complete API workflow. I'll convey this to the team and post it in our ideas channel. Being able to retrieve export URLs directly from the API would make the automation flow much cleaner, especially since the docs mention these links are temporary anyway. For now, you'd need to handle exports through the Gamma app interface after generation, but I can see why you'd want this available via API for a fully automated pipeline.
i see thanks for the advice. is there like timeline for exposing something like this ?
I don't have a timeline I can share on this one. The API is still in beta, so we're gathering feedback like yours to help prioritize what gets built next, but I can't make any commitments on when specific features might be added. I'll make sure the team sees this use case though.
deal thanks
this is a good way for u to gain users. but it's also not a great way for a product experience like mine where users need to use the outputted content in their marketing planning in our use case - and since we are paying for the apis i see it as fair
Fair point, and appreciate you building on the API. Definitely post this in Ideas & Requests if you haven't already, the product team looks at the community frequently and seeing the use case directly from you will help them prioritize.
thanks Max
Hey Bob - correction on my earlier response. I checked with engineering and the export URLs actually are returned in the GET response once the generation completes with exportAs specified. When you poll the GET endpoint (https://public-api.gamma.app/v0.2/generations/{generationId}) after including "exportAs": "pdf" or "exportAs": "pptx" in your initial request, the completed response should include the download URL along with the standard fields. The key is making sure you're checking the full response body from the GET endpoint once status shows "completed" - the export URL should be there. If you're not seeing it, can you share what fields you are getting back in the completed response? That'll help me figure out what's missing.
Hey there 🙂 Got the same blocker as Bob. Here the returned payload:
finalResult: {
status: 'completed',
generationId: 'j8eMD86dLQ9hmJyQ3avHg',
gammaUrl: 'https://gamma.app/docs/zuv87hp5mwety03'
}
oh. got it. Once completed you should call once more to get the final payload.
Hey FK glad you figured it out! Yeah, the export URL doesn't appear immediately when status first shows "completed" - you need to do one more GET request after that to retrieve the final payload with the download URL. It's a quirk of how the export processing works (the gamma generation completes first, then the export file gets generated). So the flow is: POST request → poll GET until status is "completed" → one final GET to grab the export URL in the response. Let me know if you hit any issues with the actual export URLs once you're pulling them.
https://gamma.app/docs/document-k2bs2g8weniyef3?mode=doc/pdf is this the format of the url ?
Hi Bob 👋 The url should be something like: https://assets.api.gamma.app/export/pdf/r843lcckpp6sy09/dc4033aca2c1db80d3735d876e2f9eea/IT-Support-Heroes-in-Disguise.pdf
You may need to wait longer for the polling for the asset url to appear. For instance in Make I added a 120 second sleep between the generate and the get generation action:
.png)