Get Studio Template

Retrieve a specific studio template by ID

Updated

GET
/v1/studio/templates/{templateId}
curl -X GET "https://api.orshot.com/v1/studio/templates/<TEMPLATE_ID>" \
  -H "Authorization: Bearer <ORSHOT_API_KEY>"

Retrieve a specific studio template by its ID, including all available modifications and template metadata.

Endpoint#

Endpoint
https://api.orshot.com/v1/studio/templates/:templateId

URL Parameters#

ParameterTypeRequiredDescription
templateIdIntegerYesThe unique ID of the template to fetch

Request#

JavaScript
await fetch("https://api.orshot.com/v1/studio/templates/123", {
  method: "GET",
  headers: {
    "Content-Type": "application/json",
    Authorization: "Bearer <ORSHOT_API_KEY>",
  },
});
JSON
{
  "id": 123,
  "created_at": "2025-09-10T15:30:45.123Z",
  "workspace_id": "workspace-uuid-456",
  "user_id": "user-uuid-789",
  "canvas_width": 1200,
  "canvas_height": 630,
  "updated_at": "2025-10-15T10:20:30.456Z",
  "name": "Social Media Post",
  "description": "Template for social media posts",
  "tags": ["social", "marketing"],
  "thumbnail_url": "https://storage.orshot.com/thumbnails/template-123.png",
  "embed_user_id": null,
  "modifications": [
    {
      "key": "title",
      "id": "title",
      "type": "text",
      "description": "Title — Text content",
      "help_text": "Title — Text content",
      "element_name": "Title",
      "example": "Hello World",
      "page_number": 1,
      "page_id": "a1b2c3d4-5e6f-7890-abcd-ef1234567890"
    },
    {
      "key": "subtitle",
      "id": "subtitle",
      "type": "text",
      "description": "Subtitle — Text content",
      "help_text": "Subtitle — Text content",
      "element_name": "Subtitle",
      "example": "Welcome to Orshot",
      "page_number": 1,
      "page_id": "a1b2c3d4-5e6f-7890-abcd-ef1234567890"
    },
    {
      "key": "logo",
      "id": "logo",
      "type": "imageUrl",
      "description": "Logo — Image URL",
      "help_text": "Logo — Image URL",
      "element_name": "Logo",
      "example": "https://example.com/logo.png",
      "page_number": 1,
      "page_id": "a1b2c3d4-5e6f-7890-abcd-ef1234567890"
    }
  ],
  "modifications_json": {},
  "pages_data": [
    {
      "page_id": "a1b2c3d4-5e6f-7890-abcd-ef1234567890",
      "name": "Page 1",
      "thumbnail_url": "https://storage.orshot.com/thumbnails/page-1.png"
    }
  ]
}

Response Fields#

FieldTypeDescription
idIntegerUnique identifier for the template
created_atStringTimestamp when the template was created
workspace_idStringID of the workspace the template belongs to
user_idStringID of the user who created the template
canvas_widthNumberWidth of the template canvas in pixels
canvas_heightNumberHeight of the template canvas in pixels
updated_atStringTimestamp when the template was last updated
nameStringName of the template
descriptionStringDescription of the template
tagsArrayArray of tag strings assigned to the template
thumbnail_urlStringURL to the template's thumbnail image
embed_user_idStringInternal ID of the embed user (null for workspace templates)
modificationsArrayArray of available modifications for parameters
modifications_jsonObjectKey-value map of parameter IDs to default values
pages_dataArrayArray of pages (for multi-page templates)

Modification Fields#

Each modification object contains:

FieldTypeDescription
keyStringUnique key for the modification. For multi-page templates this is prefixed, e.g. page1@title
idStringSame as key
typeStringType of modification (text, imageUrl, videoUrl, backgroundColor, fill, color, stroke)
descriptionStringHuman-readable description, e.g. "Title — Text content" or "Image URL" when no element name is set
help_textStringSame as description
element_nameStringLayer name of the element in the editor (only present when the element has a name)
exampleStringDefault/example value for the field
page_numberInteger1-based page number this modification belongs to
page_idStringStable UUID of the page this modification belongs to — use this to reliably map modifications to pages after reorder

Page Fields#

Each entry in pages_data contains:

FieldTypeDescription
page_idStringStable UUID for the page
nameStringDisplay name of the page
thumbnail_urlStringURL to the thumbnail image of the page

Rate Limits#

This endpoint is rate limited to 30 requests per minute per API key. Rate limit headers are included in every response:

HeaderDescription
RateLimit-LimitMaximum requests per minute
RateLimit-RemainingRemaining requests in the current window
RateLimit-ResetSeconds until the rate limit window resets
Retry-AfterSeconds to wait (only on 429 responses)

Error Responses#

CodeDescription
400Missing templateId parameter
403Missing or invalid API key
403Studio template not found in workspace
Was this page helpful?

Ready to automate?

Start rendering images, PDFs and videos from your templates in under 2 minutes. Free plan, no credit card.

Get your API key
  • Image, PDF and video generation via API
  • Visual editor with AI and smart layouts
  • Zapier, Make, MCP and 50+ integrations
  • White-label embed for your own app
  • 30 free credits — no credit card required