---
title: "Clone a gallery template into the account"
method: POST
path: "/templates/{id}/clone"
---

# Clone a gallery template into the account

`POST /templates/{id}/clone`

## Request

- Base URL: `https://rendry.io/api/v1`
- URL: `https://rendry.io/api/v1/templates/{id}/clone`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer

Copies a gallery template into your presets together with its sample data and returns a renderable preset_id. Consumes a template slot.

## Path parameters

- `id` string, required

## Headers

- `X-Rendry-Account` string

## Request body

- object
  - `name` string: Name for the new preset

## Response `200`

Preset created

- ClonedPreset: The reply of POST /templates/{id}/clone: a renderable preset made from the gallery template.
  - `preset_id` string, required: The new template's group id — pass it to /render/*
  - `name` string, required
  - `variables` string[], required: Every {variable} the template accepts in dynamic_data
  - `sample_data` object: Realistic sample values for every variable
  - `hint` string
  - `duplicate_note` string: Sent when the account already holds a clone of this template: the slot was spent again

## Other responses

- `400`: `unknown_field` (a key the tool does not read; a near miss is renamed and reported in `autofixed_fields`) or `invalid_input`.
- `401`: Missing/invalid API key
- `403`: `preset_limit_exceeded`: template slots exhausted — delete a preset or upgrade. The same refusal, with the same fields (used, limit, freeable, upgrade_url), as POST /presets.
- `404`: `template_not_found`.

---

[API](https://skmtc.dev/rendry/apis/rendry-api.md) · [All operations](https://skmtc.dev/rendry/apis/rendry-api/llms.txt) · [OpenAPI document](https://skmtc.dev/rendry/apis/rendry-api/revisions/c4fb572c26c9?raw)
