---
canonical_url: "https://docs.composio.dev/toolkits/layerre"
markdown_url: "https://docs.composio.dev/toolkits/layerre.md"
product: "platform"
version: null
last_updated: null
---

# Layerre

Layerre automates the creation of image and PDF variants from reusable Canva-based design templates.

- **Category:** images & design
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 15
- **Triggers:** 0
- **Slug:** `LAYERRE`
- **Version:** 00000000_00

## Tools

### Analyze Canva Design

**Slug:** `LAYERRE_ANALYZE_CANVA_DESIGN`

Extract colors, fonts, and images from a public Canva share URL without creating a documented template resource. Layerre does not document whether this operation consumes metered render capacity.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `canva_url` | string | Yes | Public Canva share URL to analyze. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Layer

**Slug:** `LAYERRE_CREATE_LAYER`

Create a text or image layer on a template and return the new layer.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `x` | number | Yes | Horizontal layer coordinate. |
| `y` | number | Yes | Vertical layer coordinate. |
| `name` | string | Yes | Human-readable layer name. |
| `position` | integer | No | Layer stacking order. |
| `layer_type` | string ("text" | "image") | Yes | Type of layer to create. |
| `properties` | object | Yes | Layer properties; use text fields for a text layer and image fields for an image layer. |
| `page_number` | integer | No | Zero-based template page containing the layer. |
| `template_id` | string | Yes | ID of the template that will own the layer. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Template

**Slug:** `LAYERRE_CREATE_TEMPLATE`

Import a public Canva share URL as a Layerre template. This consumes one render credit; Free and Starter plans import one page, Plus up to 25, and Pro up to 200.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `canva_url` | string | Yes | Unescaped public Canva share URL to import. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Variant

**Slug:** `LAYERRE_CREATE_VARIANT`

Synchronously render one template variant and return its signed output URL. Each successful render consumes one render credit.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `width` | integer | No | Optional output width (1-10000). |
| `height` | integer | No | Optional output height (1-10000). |
| `overrides` | array | No | Layer overrides. Omitted layers retain their template defaults. |
| `export_type` | string ("png" | "jpeg" | "webp" | "pdf") | No | Output format for the rendered variant. |
| `page_number` | integer | No | Zero-based template page to render; pages above 0 require a multi-page template. |
| `template_id` | string | Yes | ID of the template to render. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Variants in Bulk

**Slug:** `LAYERRE_CREATE_VARIANTS_BULK`

Synchronously render multiple variants with one shared output format. Each successful item consumes one render credit. combine_pdf is PDF-only and requires a Layerre Plus or Pro plan.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `items` | array | Yes | Variants to render. Each successfully rendered item consumes one render credit. |
| `combine_pdf` | boolean | No | Combine all results into one PDF. Requires export_type='pdf' and a Layerre Plus or Pro plan. |
| `export_type` | string ("png" | "jpeg" | "webp" | "pdf") | Yes | Output format shared by every requested item. |
| `template_id` | string | Yes | ID of the template to render. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Layer

**Slug:** `LAYERRE_DELETE_LAYER`

Soft-delete one layer from a Layerre template and confirm the request succeeded.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `layer_id` | string | Yes | ID of the layer to soft-delete. |
| `template_id` | string | Yes | ID of the template containing the layer. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Template

**Slug:** `LAYERRE_DELETE_TEMPLATE`

Soft-delete one Layerre template and confirm the request succeeded.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | string | Yes | ID of the template to soft-delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Variant

**Slug:** `LAYERRE_DELETE_VARIANT`

Soft-delete one generated Layerre variant and confirm the request succeeded.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `variant_id` | string | Yes | ID of the variant to soft-delete. |
| `template_id` | string | Yes | ID of the template that produced the variant. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Layer

**Slug:** `LAYERRE_GET_LAYER`

Return one template layer, refreshing its signed image URL when needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `layer_id` | string | Yes | ID of the layer to retrieve. |
| `template_id` | string | Yes | ID of the template containing the layer. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Template

**Slug:** `LAYERRE_GET_TEMPLATE`

Return one template with its layers and refreshed signed image URLs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | string | Yes | ID of the template to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Variant

**Slug:** `LAYERRE_GET_VARIANT`

Return one generated variant with a refreshed signed output URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `variant_id` | string | Yes | ID of the variant to retrieve. |
| `template_id` | string | Yes | ID of the template that produced the variant. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Templates

**Slug:** `LAYERRE_LIST_TEMPLATES`

Return one page of the connected account's templates, most recently modified first, with an opaque cursor for the next page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum templates to return in this page (1-1000). |
| `next_cursor` | string | No | Opaque cursor returned by a previous call; omit for the first page. |
| `include_layers` | boolean | No | Include each template's layers; this is slower for large templates. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Template Variants

**Slug:** `LAYERRE_LIST_TEMPLATE_VARIANTS`

Return one page of a template's generated variants with refreshed signed URLs and an opaque cursor for the next page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum variants to return in this page (1-1000). |
| `next_cursor` | string | No | Opaque cursor returned by a previous call; omit for the first page. |
| `template_id` | string | Yes | ID of the template whose variants to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Layer

**Slug:** `LAYERRE_UPDATE_LAYER`

Update a layer and return the refreshed layer. Provide at least one of name, layer_type, x, y, position, page_number, or properties.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `x` | number | No | New horizontal coordinate. |
| `y` | number | No | New vertical coordinate. |
| `name` | string | No | New layer name. |
| `layer_id` | string | Yes | ID of the layer to update. This identifies the resource and is not sent in the request body. |
| `position` | integer | No | New layer stacking order. |
| `layer_type` | string ("text" | "image") | No | New layer type. |
| `properties` | object | No | Replacement editable layer properties appropriate to the layer type. |
| `page_number` | integer | No | New zero-based template page. |
| `template_id` | string | Yes | ID of the template containing the layer. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Template

**Slug:** `LAYERRE_UPDATE_TEMPLATE`

Update a template and return the refreshed template. Provide at least one of name, width, height, background_color, page_backgrounds, or layers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New template name. |
| `width` | number | No | New template width. |
| `height` | number | No | New template height. |
| `layers` | array | No | Layers to update, each identified by its id. |
| `template_id` | string | Yes | ID of the template to update. |
| `background_color` | string | No | New template background as a hex color string. |
| `page_backgrounds` | object | No | Per-page background values keyed by zero-based page index. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
