# POST /generations/from-template

Start an asynchronous generation from an existing Gamma template. Use this when you want to keep a fixed layout and swap in new content.

## Create generation from template

> Creates an asynchronous generation job from a template Gamma with variable substitution. See \[Create from Template Parameters]\(/overview/create-from-template-api-parameters-explained).

```json
{"openapi":"3.0.0","info":{"title":"Gamma Public API","version":"1.0"},"tags":[{"name":"public-api","description":"Public API endpoints for external integrations"}],"servers":[{"url":"https://public-api.gamma.app","description":"Production"}],"security":[{"api-key":[]}],"components":{"securitySchemes":{"api-key":{"type":"apiKey","in":"header","name":"X-API-KEY","description":"API key for authentication"}},"schemas":{"FromTemplateGeneration":{"type":"object","properties":{"prompt":{"type":"string","description":"Text prompt describing the content to generate. See [Create from Template Parameters](/overview/create-from-template-api-parameters-explained).","minLength":1,"maxLength":400000},"gammaId":{"type":"string","description":"File ID of the template Gamma (must have exactly one Page). See [Create from Template Parameters](/overview/create-from-template-api-parameters-explained) for how to find your template ID."},"themeId":{"type":"string","description":"Theme ID to apply. Get IDs from [Themes and Folders APIs](/overview/list-themes-and-list-folders-apis-explained)."},"imageOptions":{"description":"Image generation options","allOf":[{"$ref":"#/components/schemas/FromTemplateImageOptions"}]},"sharingOptions":{"description":"Sharing and permissions options. See [Generate API Parameters](/overview/generate-api-parameters-explained) for permission examples.","allOf":[{"$ref":"#/components/schemas/SharingOptions"}]},"folderIds":{"description":"Folders to add the generated Gamma to. Get IDs from [Themes and Folders APIs](/overview/list-themes-and-list-folders-apis-explained).","maxItems":10,"type":"array","items":{"type":"string"}},"exportAs":{"description":"Auto-export format. See [Async Patterns and Polling](/overview/async-patterns-and-polling) for downloading exports.","$ref":"#/components/schemas/ExportFormat"}},"required":["prompt","gammaId"]},"FromTemplateImageOptions":{"type":"object","properties":{"model":{"type":"string","description":"AI model for image generation","enum":["dall-e-3","imagen-3-flash","imagen-3-pro","imagen-4-fast","imagen-4-pro","imagen-4-ultra","playground-3","ideogram-v2","ideogram-v2-turbo","ideogram-v2a","ideogram-v2a-turbo","ideogram-v3","ideogram-v3-turbo","ideogram-v3-quality","ideogram-v3-flash","flux-1-schnell","flux-1-pro","flux-1-quick","flux-1-ultra","flux-kontext-pro","flux-kontext-max","flux-kontext-fast","leonardo-phoenix","recraft-v3","recraft-v3-svg","recraft-v4","recraft-v4-svg","recraft-v4-pro","luma-photon-1","luma-photon-flash-1","gpt-image-1-low","gpt-image-1-medium","gpt-image-1-high","gpt-image-1-mini-low","gpt-image-1-mini-medium","gpt-image-1-mini-high","gemini-2.5-flash-image","veo-3.1-fast","veo-3.1","luma-ray-2-flash","luma-ray-2","leonardo-motion-2-fast","leonardo-motion-2","gemini-3-pro-image","gemini-3-pro-image-hd","gemini-3.1-flash-image-mini","gemini-3.1-flash-image","gemini-3.1-flash-image-hd","flux-2-pro","flux-2-flex","flux-2-max","flux-2-klein"]},"style":{"type":"string","description":"Style description for AI-generated images","minLength":0,"maxLength":500}}},"SharingOptions":{"type":"object","properties":{"workspaceAccess":{"$ref":"#/components/schemas/WorkspacePermission"},"externalAccess":{"$ref":"#/components/schemas/ExternalPermission"},"emailOptions":{"description":"Email sharing configuration","allOf":[{"$ref":"#/components/schemas/EmailOptions"}]}}},"WorkspacePermission":{"type":"string","description":"Access level for workspace members","enum":["edit","comment","view","noAccess","fullAccess"]},"ExternalPermission":{"type":"string","description":"Access level for external users via shared link","enum":["edit","comment","view","noAccess"]},"EmailOptions":{"type":"object","properties":{"recipients":{"description":"List of email addresses to share with","type":"array","items":{"type":"string"}},"access":{"$ref":"#/components/schemas/EmailPermission"}},"required":["recipients","access"]},"EmailPermission":{"type":"string","description":"Permission level for email recipients","enum":["edit","comment","view","fullAccess"]},"ExportFormat":{"type":"string","description":"Auto-export format after generation completes","enum":["pptx","pdf","png"]},"FromTemplateGenerationResponse":{"type":"object","properties":{"generationId":{"type":"string","description":"Generation job identifier for status polling"},"warnings":{"type":"string","description":"Warnings about request processing"}},"required":["generationId"]}}},"paths":{"/v1.0/generations/from-template":{"post":{"operationId":"createFromTemplateGeneration","summary":"Create generation from template","description":"Creates an asynchronous generation job from a template Gamma with variable substitution. See [Create from Template Parameters](/overview/create-from-template-api-parameters-explained).","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FromTemplateGeneration"}}}},"responses":{"200":{"description":"Generation job created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FromTemplateGenerationResponse"}}}},"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FromTemplateGenerationResponse"}}}},"400":{"description":"Invalid request or template not found"},"401":{"description":"Invalid or missing API key"},"402":{"description":"Insufficient credits"},"403":{"description":"Feature not enabled for workspace"}},"tags":["public-api"]}}}}
```

{% hint style="info" %}
For template workflow guidance, see [Generate from template](https://developers.gamma.app/guides/create-from-template-api-parameters-explained).
{% endhint %}

## Related

* [Generate from template](https://developers.gamma.app/guides/create-from-template-api-parameters-explained) for workflow and parameter guidance
* [GET /generations/{id}](https://developers.gamma.app/generations/get-generation-status) for the polling step after creation
