Search for a command to run...
This is an Enterprise only private endpoint. Checkout the Enterprise Pricing to get access.
Create a new studio template in your workspace programmatically. This endpoint allows you to define the template structure, dimensions, and optionally include pre-built pages with elements.
For detailed information about the template data structure, see Anatomy of a Template.
https://api.orshot.com/v1/studio/templates/create// Create a blank template with specified dimensions
await fetch("https://api.orshot.com/v1/studio/templates/create", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer <ORSHOT_API_KEY>",
},
body: JSON.stringify({
name: "Product Banner",
description: "E-commerce product showcase banner",
canvas_width: 1200,
canvas_height: 628
}),
});| Limit | Value |
|---|---|
| Requests per minute | 30 |
| Parameter | Type | Required | Description |
|---|---|---|---|
name | String | Yes | Name of the template (max 255 characters) |
description | String | No | Description of the template |
canvas_width | Integer | Yes | Width of the canvas in pixels (1-5000) |
canvas_height | Integer | Yes | Height of the canvas in pixels (1-5000) |
pages_data | Array | No | Array of page objects with elements. If not provided, a blank page is created |
thumbnail_url | String | No | URL to a thumbnail image for the template |
Each page in the pages_data array should follow this structure:
| Field | Type | Description |
|---|---|---|
id | String | Unique identifier for the page (UUID recommended) |
name | String | Name of the page (e.g., "Page 1") |
canvas | Object | Canvas settings { width, height, backgroundColor } |
elements | Array | Array of element objects (text, image, shapes, etc.) |
modifications | Array | Array of parameterizable modifications |
thumbnail_url | String | URL to page thumbnail |
| Field | Type | Description |
|---|---|---|
success | Boolean | Whether the operation was successful |
template.id | Integer | Unique identifier for the created template |
template.name | String | Name of the template |
template.canvas_width | Integer | Canvas width in pixels |
template.canvas_height | Integer | Canvas height in pixels |
template.pages_count | Integer | Number of pages in the template |
template.modifications | Array | List of parameterizable modifications extracted from elements |
template.created_at | String | ISO timestamp of creation |
| Status Code | Error | Description |
|---|---|---|
| 400 | Validation failed | Invalid request body parameters |
| 403 | Access Forbidden | Invalid or missing API key |
| 429 | Rate limit exceeded | Too many requests (max 30/min) |
| 500 | Internal server error | Server-side error |
pages_data is not provided, a blank page with the specified dimensions is automatically createdparameterizable: true and a parameterId will be automatically extracted as modificationsmodifications array in the response shows which dynamic parameters are available for rendering