Create Studio Template

Create a single studio template programmatically via API

Command Palette

Search for a command to run...

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
  }),
});

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

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

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.