canonical: https://jentic.com/apis/creatomate.com/creatomate

# Creatomate Render API

Jentic publishes the only available OpenAPI specification for Creatomate Render API, keeping it validated and agent-ready. Creatomate is a render service that turns templates and parameter sets into produced videos and images, returning rendered assets that an application can ship to social channels, ad platforms, or storage. The API exposes operations to list and inspect templates, kick off a render with template substitutions or raw RenderScript, and poll a render's status to retrieve the final output URL.

## For AI agents

Generate videos and images programmatically from Creatomate templates by submitting a render job and waiting for the finished file URL. Use it for automated social posts, ad variants, or templated media at scale.

## Scope

Does not handle template authoring, asset hosting beyond the rendered output, or live video streaming - use for template-driven video and image rendering only.

## Capabilities

- List the templates available in a Creatomate workspace with their IDs and names
- Fetch the full definition of a single template, including its named modifiable elements
- Start a render by passing a template ID with modifications, or by supplying a full RenderScript scene
- Poll a render by ID to read its status, progress, and the URL of the finished video or image
- Receive completion callbacks at a webhook URL passed when a render is created

## Use cases

### Templated social-media video generation

Produce one video per data row, such as a product feed or daily news headline, by calling POST /renders with a template ID and a modifications object that overrides text and image elements. Creatomate handles encoding and returns a hosted URL for the finished MP4, removing the need for an in-house ffmpeg pipeline.

Example prompt: Call POST /renders with template_id of the Instagram template, modifications setting Headline.text and Product.source, then poll GET /renders/{id} until status is 'succeeded' and return the url field.

### Ad creative variants at scale

Generate dozens of ad variants from a single base template by submitting a render request per variant with different copy, imagery, or call-to-action elements in modifications. Creatomate runs the renders server-side so the agent only manages the variant matrix and the resulting URLs.

Example prompt: For 12 headline-image pairs, call POST /renders with the same template_id and a modifications object per pair, collect the returned render IDs, and poll each until completion.

### On-demand image card generation

Render branded share cards or social images on demand by posting to /renders with an image template and per-request modifications. Useful for blog open-graph cards, certificate generation, or quote-of-the-day images where the rendered file is fetched and served by the calling application.

Example prompt: Call POST /renders with the share-card template_id and modifications setting Title.text and Author.text, then return the url field once the render reports succeeded.

### Agent-driven content rendering through Jentic

Let an agent fulfil a 'render me a 15-second teaser with this script' request without code by routing through Jentic. The agent searches for a render operation, loads the Creatomate /renders schema, and submits the template ID with modifications; Jentic injects the bearer key from the vault and returns the polling endpoint to use.

Example prompt: Through Jentic, run search('render a video from a template'), load Creatomate POST /renders, submit template_id and modifications, then poll GET /renders/{id} via Jentic until succeeded.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /templates | List all templates in the workspace |
| GET | /templates/{id} | Fetch a single template definition |
| POST | /renders | Start a render from a template or RenderScript |
| GET | /renders/{id} | Get the status and output URL of a render |

## Key resources

- **Templates** — Read-only collection of design templates created in the Creatomate dashboard, exposed via GET /templates and GET /templates/{id}.
- **Renders** — Render jobs created via POST /renders and inspected with GET /renders/{id}; responses include status, progress, and the final asset URL when complete.

## Why Jentic

- **Setup:** Wiring Creatomate by hand means managing its bearer header and polling /renders/{id} to know when a template-driven render has finished. Through Jentic you install once, import Creatomate from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Creatomate takes the template and modifications in the request body when starting a render, so scope the agent to the operations it needs, such as listing templates and submitting a render. Reading a render's status stays out unless you include that operation.
- **Credential handling:** Your Creatomate bearer key is stored once, encrypted, by your own Jentic One instance and applied as the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'render a video from a template', and Jentic returns the matching Creatomate operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Shotstack** — Cloud video editing and rendering API with a similar template-and-render model.
- **Bannerbear** — Templated image and short video generation API focused on social and marketing assets.
- **Cloudinary Upload** — Asset upload and transformation API often used alongside templated render output.

## FAQ

### Why is there no official OpenAPI spec for Creatomate Render API?

Creatomate does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Creatomate Render API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Creatomate Render API use?

The API uses HTTP bearer authentication. Pass your Creatomate API key in the Authorization header as 'Bearer <key>' on every request. Through Jentic, the key is stored encrypted in the vault and applied at execution so it never enters the agent's prompt.

### Can I render a video from a template with the Creatomate Render API?

Yes. Call POST /renders with a template_id and a modifications object that overrides the named elements in that template. The response contains a render id; call GET /renders/{id} to poll until status is 'succeeded' and read the output URL.

### How do I get notified when a Creatomate render finishes?

Pass a webhook_url field in the POST /renders body and Creatomate will POST the completion event to that URL when the render reaches a terminal state, instead of requiring continuous polling of GET /renders/{id}.

### What are the rate limits for the Creatomate Render API?

Creatomate enforces concurrency and monthly render quotas tied to the workspace plan rather than fixed per-second limits in the spec. Build retries around 429 responses on POST /renders and use webhooks instead of tight polling on GET /renders/{id} to stay within plan limits.

### How do I render a video through Jentic?

Install Jentic with pip install jentic, then async-search for 'render a video from a template'. Load the Creatomate POST /renders operation, execute with template_id and modifications, and poll GET /renders/{id}. Jentic attaches the bearer key automatically.

### Can I limit what my agent is allowed to do with the Creatomate Render API?

Yes. Because Jentic One is self-hosted, you decide which Creatomate operations your agent may call, so you can allow it to list templates with GET /templates and start a render with POST /renders while keeping the rest out of reach. If polling is not needed, you can leave GET /renders/{id} unimported so the agent cannot inspect render status, and template reads stay off unless you add GET /templates/{id}. The bearer key is applied by your own instance at execution, so the agent only ever calls the operations your rules permit.
