Ssemble API
Endpoints

List Templates

Retrieve available caption templates for video shorts.

GET /templates

Returns a list of all available caption templates. Templates control how captions are styled and animated in your generated shorts — including font, color, position, and animation effects.


Available templates

Below are the currently available caption styles. Use GET /templates to fetch the latest list with templateId values for your API calls.

Hormozi 1
Hormozi 1
66e386d23b11d1a71b755e44
Hormozi 2
Hormozi 2
66fcc4c67769688a1d5ad08a
Karaoke
KaraokeDefault
660b8531aedb346bbe26eb43
Ali
Ali
66a8bc861029156127f6c89a
Mr Beast
Mr Beast
660b85be34b1eda55a6a7f86
Simple
Simple
660b859818784d713119fcc7
Iman
Iman
66c5cda587afa8f65d4b127e
Iman 2
Iman 2
66fcd14d7769688a1d5ad08d
Box
Box
68a848bc9526bfd0f3068334

Request

curl -H "X-API-Key: sk_ssemble_your_key" \
  https://aiclipping.ssemble.com/api/v1/templates

Response

{
  "data": {
    "templates": [
      {
        "templateId": "66e386d23b11d1a71b755e44",
        "name": "hormozi1",
        "displayName": "Hormozi 1",
        "thumbnail": "https://cf.ssemble.com/ssemble-static-assets/hormozi_1_style.png",
        "order": 0,
        "preview": "https://cf.ssemble.com/ssemble-static-assets/hormozi_1_style.png",
        "gif": "https://cf.ssemble.com/ssemble-static-assets/hormozi1.gif"
      },
      {
        "templateId": "660b8531aedb346bbe26eb43",
        "name": "karaoke",
        "displayName": "Karaoke",
        "thumbnail": "https://cf.ssemble.com/ssemble-static-assets/captionPresets/karaoke.png",
        "order": 1,
        "preview": "https://cf.ssemble.com/ssemble-static-assets/captionPresets/karaoke.png",
        "gif": "https://cf.ssemble.com/ssemble-static-assets/karaoke.gif"
      }
    ],
    "defaultTemplateId": "660b8531aedb346bbe26eb43",
    "defaultTemplateName": "karaoke"
  }
}

Response fields

Template object

FieldTypeDescription
templateIdstringUnique template identifier (24-character hex string). Pass this as templateId in POST /shorts/create.
namestringInternal template name (machine-readable)
displayNamestringHuman-readable template name for display
thumbnailstringURL to a static thumbnail image showing the template style
ordernumberDisplay order — lower numbers appear first
previewstringURL to a static preview image showing the template style
gifstringURL to an animated GIF preview demonstrating the template in action

Top-level fields

FieldTypeDescription
defaultTemplateIdstringTemplate ID used when no templateId is specified in POST /shorts/create
defaultTemplateNamestringName of the default template

Choosing a template

Templates primarily affect the visual style of captions overlaid on the video. Differences include:

  • Font style — Each template uses different typefaces, sizes, and weights
  • Position — Captions may appear at the top, center, or bottom of the frame
  • Animation — Word-by-word highlighting, fade-ins, bouncing effects, etc.
  • Color scheme — Text colors, backgrounds, and highlight colors vary by template

Preview templates before choosing

Use the preview URL from the API response to see each template's style. You can also refer to the gallery above for a visual overview.

// Fetch templates and find one by name
const { data } = await response.json();
const template = data.templates.find(t => t.name === 'karaoke');
 
if (template) {
  console.log(`Preview: ${template.preview}`);
  console.log(`Use this ID: ${template.templateId}`);
}

Using a template

Pass the templateId when creating a short:

{
  "url": "https://www.youtube.com/watch?v=...",
  "start": 0,
  "end": 600,
  "templateId": "660b8531aedb346bbe26eb43"
}

If you omit templateId, the default template is used automatically. The default is the Karaoke style, which uses word-by-word highlighting — one of the most popular caption styles on TikTok and Instagram Reels.


Error responses

StatusCodeWhen
401invalid_api_keyMissing or invalid API key
429rate_limit_exceededToo many requests

Notes

  • Templates are managed by Ssemble and the list may change over time as new styles are added.
  • The template list is relatively stable — you can cache the response for a reasonable period (e.g., 24 hours).
  • Invalid templateId values passed to POST /shorts/create will return a 400 invalid_request error.
  • Always use GET /templates to get the current templateId values rather than hardcoding them.

On this page

Ssemble Logo
Copyright © 2026 Ssemble Inc.
All rights reserved