---
title: "Create an idempotent render job"
method: POST
path: "/renders"
---

# Create an idempotent render job

`POST /renders`

## Headers

- `Idempotency-Key` string

## Request body

- CreateRender
  - `templateId` string
  - `variantId` string
  - `variantName` string
  - `kind` 'image' | 'video'
  - `output` object
    - `format` 'png' | 'jpeg' | 'mp4'
  - `durationSeconds` number — Duration for a template-based MP4 render.
  - `variables` object
  - `batch` object[]
  - `blueprint` object — Optional animated VideoBlueprint. For a stored template video, send kind=video with templateId instead.
  - `metadata` object

## Response `202`

Render accepted

## Other responses

- `402` — Insufficient credits
- `422` — Invalid render request
- `429` — Render rate limit exceeded

---

[API](https://skmtc.net/duply/apis/duply-api.md) · [All operations](https://skmtc.net/duply/apis/duply-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/duply/duply-api/revisions/474b3757c7af/schema)
