API & Integration -> API Reference

What is a Render?

Creatomate's API allows you to generate videos, images, and GIFs via a process known as "rendering". It involves taking a template and data and assembling them to create a final file, such as a JPEG, PNG, or MP4. Such a file is called a render.

To render a file with Creatomate, you need to make an API call to initiate the rendering process. It can then take anywhere from a few seconds to several minutes to complete.

To keep track of the rendering process, you can use an API call to poll the status, but our recommendation is to set up a webhook to notify you when the process is complete. This webhook also allows you to monitor render failures and credit usage.

Properties

id string

A unique identifier for this render. This ID is generated automatically when you create a render and is used to track the rendering process and retrieve the final result.

status string

The current state of the render. Possible values: planned (queued for processing), waiting (waiting for a third-party integration), transcribing (generating subtitles), rendering (currently being generated), succeeded (completed successfully), or failed (encountered an error).

error_message string

A descriptive message explaining why the render failed, helping you troubleshoot issues with your template or data.

url string

The direct download link to your rendered file. This URL becomes active once the render status changes to "succeeded". The file format matches your specified output_format.

snapshot_url string videos only

A JPEG preview image automatically generated from your video. This image is only created when you set a Snapshot Time, either in the template editor or with the snapshot_time parameter in RenderScript.

template_id string

The unique identifier of the template used to create this render. If you used RenderScript directly without a template, this field will be null.

template_name string

The human-readable name of the template as it appears in your project. This helps identify which template was used when reviewing renders.

template_tags array

An array of tags associated with the template, useful for organizing and categorizing your templates.

output_format string

The file format of the rendered output: mp4 for videos, jpg or png for images, gif for animations.

render_scale number

The scale factor applied during rendering. 1 means 100% of the original resolution, 0.5 would be 50%, etc. This affects both output quality and processing time.

width number

The width of the rendered file in pixels.

height number

The height of the rendered file in pixels.

frame_rate number videos only

The frames per second of the video output.

duration number videos only

The length of the video in seconds.

file_size number

The size of the final rendered file in bytes.

modifications object

The key-value pairs that were applied to customize the template. Each key corresponds to an element name or property path, and the value is what was substituted.

webhook_url string

The URL that received a notification when this render completed or failed. Useful for tracking automated workflows.

metadata string

Custom data you attached to this render for your own tracking purposes, such as campaign IDs, user references, or other business context.

Example

{
  "id": "a862048b-d0dc-4029-a4ef-e172e8ded827",
  "status": "succeeded",
  "url": "https://cdn.creatomate.com/renders/a862048b-d0dc-4029-a4ef-e172e8ded827.mp4",
  "snapshot_url": "https://cdn.creatomate.com/snapshots/a862048b-d0dc-4029-a4ef-e172e8ded827.jpg",
  "template_id": "YOUR_TEMPLATE_ID_HERE",
  "template_name": "Social Media Video Template",
  "template_tags": [
    "social",
    "marketing",
    "square"
  ],
  "output_format": "mp4",
  "render_scale": 1,
  "width": 1080,
  "height": 1080,
  "frame_rate": 30,
  "duration": 15,
  "file_size": 2450000,
  "modifications": {
    "Main-Title": "Your Custom Text Here",
    "Background-Image": "https://cdn.creatomate.com/demo/image1.jpg",
    "Brand-Logo": "https://example.com/logo.png"
  },
  "webhook_url": "https://example.com/webhook",
  "metadata": "campaign_123"
}