Documentation
Create Template

Create Template

Create a new image template that can be used for generating images.

ℹ️

You will need to authenticate to use this API. See authentication.

Request

POST https://api.ojo.so/v1/template

Headers

HeaderValueDescription
Content-Typeapplication/jsonSpecify that the request body is JSON

Request Body

FieldTypeDescription
htmlstringThe HTML content of the template (must be encoded)
variablesobject(Optional) Variables used in the template

You can encode your HTML content using the HTML Encoder (opens in a new tab).

Dynamic Template

You can create your template with Handlebars expressions and generate images by providing the necessary data. When making a request to generate an image, include a modify object in your request body with the data to populate your Handlebars placeholders. Learn how to create image with variables.

Example:

{
  "templateId": "template-uuid-123",
  "modify": {
    "title": "Welcome to Our Site",
    "user": {
      "name": "Alice Smith"
    },
    "showDetails": true,
    "items": ["Item 1", "Item 2", "Item 3"]
  }
}
curl --request POST \
  --url https://api.ojo.so/v1/template \
  --header 'Authorization: Bearer <API Key>' \
  --header 'Content-Type: application/json' \
  --header 'x-template-defaults: {"title":"Default Title"}' \
  --data '{
    "html": "...encoded HTML content...",
    "variables": {
      "title": "My Template Title"
    }
  }'

Response

Template successfully created.

{
  "id": "template-uuid-123",
  "message": "Template created successfully"
}