Duplicate Studio Template

Duplicate a studio template to create a new one

Updated

POST
/v1/studio/templates/{templateId}/duplicate
curl -X POST "https://api.orshot.com/v1/studio/templates/<TEMPLATE_ID>/duplicate" \
  -H "Authorization: Bearer <ORSHOT_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "workspaceId": "<WORKSPACE_ID>",
    "name": "<NAME>",
    "description": "<DESCRIPTION>",
    "embed_user_id": "<EMBED_USER_ID>"
  }'

Duplicate an existing studio template. You can duplicate it within the same workspace or to another workspace where you are the owner.

Endpoint#

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

URL Parameters#

ParameterTypeRequiredDescription
templateIdIntegerYesThe unique ID of the template to duplicate

Request Body#

ParameterTypeRequiredDescription
workspaceIdStringNoTarget workspace ID. Defaults to current workspace if omitted. User must be the owner of target workspace.
nameStringNoName for the new template. Defaults to "Copy of original_name".
descriptionStringNoDescription for the new template. Defaults to original description.
embed_user_idStringNoAssign the duplicated template to an embed user. Accepts either an external user ID (resolved using your workspace's embed configuration) or an Orshot internal ID (prefixed with eui_).

Request#

JavaScript
await fetch("https://api.orshot.com/v1/studio/templates/123/duplicate", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    Authorization: "Bearer <ORSHOT_API_KEY>",
  },
  body: JSON.stringify({
    workspaceId: "target-workspace-id", // Optional
    name: "New Template Copy",          // Optional
    description: "Duplicated for Q2 campaign", // Optional
    embed_user_id: "your-external-user-id" // Optional
  })
});
JSON
{
  "success": true,
  "template": {
    "id": 456,
    "name": "New Template Copy",
    "description": "Duplicated for Q2 campaign",
    "updated_at": "2026-02-16T12:00:00.000Z",
    "workspace_id": "target-workspace-id"
  }
}

Returns HTTP status 201 on success.

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)
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