> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.templated.io/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Embedded Editor URL Recipes

This article lists ready-to-use embed URLs for the Templated embedded editor (white-label editor). Replace the placeholders with your own values:

- `TEMPLATE_ID`: the ID of the template (see "Where to find your template ID").
- `EMBED_ID`: your embed configuration ID, shown on the Embedded Editor page of the dashboard (https://app.templated.io/embed).

Do not keep the braces or the words "TEMPLATE_ID" in the final URL. A correct URL looks like this:

```
https://app.templated.io/editor/8f2c1a7e-1234-4b5c-9d0e-abcdef123456?embed=3a9b7c6d-5678-4e1f-8a2b-fedcba654321
```

The first parameter starts with `?`. Every other parameter starts with `&`.

Full parameter reference: https://templated.io/docs/embed/url-parameters/

## Basic embed code

```html
<iframe
  src="https://app.templated.io/editor/TEMPLATE_ID?embed=EMBED_ID"
  width="100%"
  height="800"
  style="border: none;">
</iframe>
```

You can use an `<iframe>` or an `<embed>` tag. Both work.

## Important: use `&`, not `&amp;`

Some page builders, CMSs and code editors turn `&` into `&amp;` when you paste the URL. If the URL that actually loads still contains `&amp;` (for example when the URL is set in JavaScript, in React/JSX, in a no-code builder field, or the CMS escaped it twice), the editor cannot read your parameters. For example `clone=true` is ignored and the original template is edited. Always write the URL with plain `&`. To check, open the embedded editor in a new tab (or look at the iframe URL in your browser's developer tools) and make sure it shows `&clone=true`, not `&amp;clone=true`.

## Open a specific template

```
https://app.templated.io/editor/TEMPLATE_ID?embed=EMBED_ID
```

The user edits this exact template. When they save, the original template changes.

## Let each user edit their own copy (clone)

```
https://app.templated.io/editor/TEMPLATE_ID?embed=EMBED_ID&clone=true
```

Each time the editor opens, Templated creates a new clone of the template. The user edits the clone and your original template is never changed. Clones do not appear in your dashboard and do not count toward your template limit. See "Clones, Copies and Editing Renders in the Embedded Editor".

Tip: if the same user should come back to the same design later, save the clone ID the first time (see "Embedded Editor Events") and open `https://app.templated.io/editor/CLONE_ID?embed=EMBED_ID` next time, without `clone=true`.

## Show a template picker (no template in the URL)

```
https://app.templated.io/editor?embed=EMBED_ID
```

When the URL has no template ID, the editor uses the **Launch Mode** set in your embed configuration. With **Account Templates**, a searchable template selection window opens with your account templates. You also choose what happens when a template is picked: Create Copy, Create Clone or Edit Original. See "Embedded Editor Launch Modes".

Show only the templates of one folder:

```
https://app.templated.io/editor?embed=EMBED_ID&folder=FOLDER_ID
```

Override the launch mode for one embed with `launch-mode`. Accepted values: `user-templates` (Account Templates), `template-gallery` (Templated public gallery), `user-renders` (the user's previous renders) and `blank` (empty canvas).

```
https://app.templated.io/editor?embed=EMBED_ID&launch-mode=blank&w=1080&h=1350
```

## Let users switch templates while editing

```
https://app.templated.io/editor/TEMPLATE_ID?embed=EMBED_ID&allow-template-selection=true
```

Adds a Templates tab in the sidebar so the user can open a different template without leaving the editor.

## Text-only editing (lock everything except text)

```
https://app.templated.io/editor/TEMPLATE_ID?embed=EMBED_ID&allow-edit-text-only=true
```

Only text layers can be selected, moved, resized and edited. Images, shapes and videos are locked.

To allow double-click text editing, use `allow-text-edition=true`.

## Video templates

```
https://app.templated.io/editor/TEMPLATE_ID?embed=EMBED_ID&allow-video=true
```

Shows the video timeline with play and pause and the video settings. Without this parameter, the embedded editor does not show the video timeline. This option is in beta.

## Initial zoom

```
https://app.templated.io/editor/TEMPLATE_ID?embed=EMBED_ID&zoom=40
```

`zoom` goes from 10 to 100. `50` means 100% scale. If you leave it out, the editor calculates a zoom that fits the screen. You can also change zoom after loading with the `SET_ZOOM` message (see "Embedded Editor Events").

## Editor language

```
https://app.templated.io/editor/TEMPLATE_ID?embed=EMBED_ID&language=pt
```

Supported values: `en`, `pt`, `es`, `fr`, `de`, `nl`, `zh`, `cs`, `ja`. To hide the language switcher, add `&hide-language-toggle=true`.

## Hide sidebar tabs

```
https://app.templated.io/editor/TEMPLATE_ID?embed=EMBED_ID&hide-tabs=barcode,qr-code,rating
```

Comma-separated list. Available tab names: `text`, `images`, `videos`, `shapes`, `vectors`, `uploads`, `qr-code`, `barcode`, `rating`.

Other UI options: `hide-sidebar=true`, `hide-header=true`, `hide-layers-panel=true`, `hide-save-button=true` (hides the button but keeps saving available with Ctrl/Cmd + S and the `SAVE` message), `hide-canvas-background=true`.

## Uploads panel

By default, the embedded editor does not show the images already uploaded to your Templated account. This keeps your account uploads private from your users.

- Show your account uploads: `&load-uploads=true`
- Give each user their own uploads, saved between sessions: `&external-id=USER_ID` (any ID from your system). See "External ID Sessions".
- Offer your own image and video library: `&external-assets-endpoint=https://yourdomain.com/api/assets` (your endpoint returns a JSON array of `{ "url": "...", "type": "image" }` or `"video"` items).

## Hide the "create template" option

```
https://app.templated.io/editor/TEMPLATE_ID?embed=EMBED_ID&allow-create-template=false
```

Users cannot create new templates from the editor.

## Mobile apps and webviews: save image with long press

```
https://app.templated.io/editor/TEMPLATE_ID?embed=EMBED_ID&preview-on-download=true
```

When the user downloads a JPG or PNG, the image opens in a window with the instruction "Press and hold the image, then choose Save to keep it on your device", instead of a normal file download. Use this inside mobile apps and webviews, where file downloads are often blocked.

## Prefill layers with your data

Pass layer values in the `layers` parameter as base64-encoded JSON. Use the same layer names and properties as the API.

```js
const data = {
  "title": { "text": "Hello, Maria" },
  "photo": { "image_url": "https://example.com/photo.jpg" }
};
// Encode as UTF-8 first so accents and non-Latin text work
const encoded = btoa(unescape(encodeURIComponent(JSON.stringify(data))));
const url = `https://app.templated.io/editor/TEMPLATE_ID?embed=EMBED_ID&layers=${encodeURIComponent(encoded)}`;
```

Notes:

- Plain `btoa(JSON.stringify(data))` fails with accents, emojis and non-Latin characters. Use the UTF-8 version above.
- For multi-page templates you can send `{ "pages": [ { "page": "page-2", "layers": { ... } } ] }`.
- Layer names must match the template exactly (same case, hyphens vs underscores).

## Send your own data to the webhook

```
https://app.templated.io/editor/TEMPLATE_ID?embed=EMBED_ID&metadata=BASE64_JSON
```

`metadata` is base64-encoded JSON (for example your user ID or order ID). It is included in the webhook and in the frontend events when the user creates, saves or downloads.

## Other useful parameters

- `external-id=USER_ID`: tags templates, renders, uploads and fonts with your user ID.
- `move-to-folder=FOLDER_ID`: saved templates are moved to this folder.
- `webhook-url=https://...`: overrides the webhook URL for this session.
- `render=RENDER_ID`: opens a previous render for editing (creates a clone).
- `page=PAGE_NAME`: shows only one page of a multi-page template.
- `auto-save=true`: saves automatically every 15 seconds.

## Settings that are controlled in the dashboard

Some options are set in the Embedded Editor page of the dashboard (https://app.templated.io/embed), not in the URL:

- Allowed domains and "Allow Development Environment".
- Allow Download (shows or hides the Download button) and the allowed download formats.
- Allow Save, Allow Rename and Allow Resize.
- Logo, logo link, accent color, interface color, text color and custom loader.
- Webhook URL.

## FAQ

Q: Can I open a specific template directly instead of the template list?
A: Yes. Put the template ID in the path: `https://app.templated.io/editor/TEMPLATE_ID?embed=EMBED_ID`.

Q: How do I stop users from changing my original template?
A: Add `&clone=true`. Every session works on a clone and the original stays untouched.

Q: My parameters are ignored. Why?
A: Check that the URL uses `&` and not `&amp;`, that the first parameter starts with `?`, and that there are no braces or spaces in the IDs.

Q: Can users only change the text?
A: Yes. Add `&allow-edit-text-only=true`.

Q: How do I set the editor to Portuguese (or another language)?
A: Add `&language=pt`. Other values: en, es, fr, de, nl, zh, cs, ja.

Q: How do I remove the QR code, barcode or rating tabs?
A: Add `&hide-tabs=qr-code,barcode,rating`.

Q: My users can see my uploaded images. How do I hide them?
A: Account uploads are hidden by default. Remove `load-uploads=true` from the URL. Use `external-id` to give each user their own uploads.

Q: How do I hide the Download button?
A: Turn off Allow Download on the Embedded Editor page of the dashboard.

Q: Can I pre-fill the template with my user's name and photo?
A: Yes, with the `layers` parameter (base64 JSON with layer names and values).