Create Studio Template

Create a single studio template programmatically via API

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.

Endpoint

https://api.orshot.com/v1/studio/templates/create

Request

// 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,
    embed_user_id: "your-external-user-id" // Optional
  }),
});

Rate Limits

LimitValue
Requests per minute30

Request Body Parameters

ParameterTypeRequiredDescription
nameStringYesName of the template (max 255 characters)
descriptionStringNoDescription of the template
canvas_widthIntegerYesWidth of the canvas in pixels (1-5000)
canvas_heightIntegerYesHeight of the canvas in pixels (1-5000)
pages_dataArrayNoArray of page objects with elements. If not provided, a blank page is created
thumbnail_urlStringNoURL to a thumbnail image for the template
embed_user_idStringNoAssign the template to an embed user. Accepts either an external user ID (which will be resolved using your workspace's embed configuration) or an Orshot internal ID (prefixed with eui_).

Pages Data Structure

Each page in the pages_data array should follow this structure:

FieldTypeDescription
idStringUnique identifier for the page (UUID recommended)
nameStringName of the page (e.g., "Page 1")
canvasObjectCanvas settings { width, height, backgroundColor }
elementsArrayArray of element objects (text, image, shapes, etc.)
modificationsArrayArray of parameterizable modifications
thumbnail_urlStringURL to page thumbnail

Response Fields

FieldTypeDescription
successBooleanWhether the operation was successful
template.idIntegerUnique identifier for the created template
template.nameStringName of the template
template.canvas_widthIntegerCanvas width in pixels
template.canvas_heightIntegerCanvas height in pixels
template.pages_countIntegerNumber of pages in the template
template.modificationsArrayList of parameterizable modifications extracted from elements
template.created_atStringISO timestamp of creation

Error Responses

Status CodeErrorDescription
400Validation failedInvalid request body parameters
403Access ForbiddenInvalid or missing API key
429Rate limit exceededToo many requests (max 30/min)
500Internal server errorServer-side error

Notes

  • If pages_data is not provided, a blank page with the specified dimensions is automatically created
  • Elements with parameterizable: true and a parameterId will be automatically extracted as modifications
  • The modifications array in the response shows which dynamic parameters are available for rendering
  • When embed_user_id is provided, the template will be associated with the specified embed user. If you pass your own external user ID, it will be resolved to an internal Orshot ID using the embed configuration linked to your workspace. You can also pass an Orshot internal ID directly (format: eui_ followed by 16 alphanumeric characters).

All Set? Let's Start Automating

Get Your API Key →
  • Image, PDF and Video Generation via API
  • Canva like editor with AI and smart features
  • No-Code Integrations (Zapier, Make, n8n etc.)
  • Embed Orshot Studio in your app
  • Start Free. No credit card required. Cancel anytime.