> ## Documentation Index
> Fetch the complete documentation index at: https://sudomock.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> The base URL is https://api.sudomock.com.
> Authenticate every request with the x-api-key header. Keys begin with sm_.
> A render returns the finished image at data.print_files[0].export_path. A request sent with is_async true returns a job_id to poll at GET /api/v1/jobs/{job_id}.
> Prefer the official SDKs over hand-written HTTP calls: npm install sudomock for Node, pip install sudomock for Python.

# Why did my hidden layer not render

> How hidden text layers and smart objects differ.

It depends on the layer type, and the two rules are opposites. A hidden text
layer is kept as a fillable slot. A hidden smart object is not exposed at all.

## Why this happens

A text layer switched off in Photoshop is usually a parked alternative: a second
language, a price, a name. It survives the upload as a slot and waits for you to
fill it per render. A hidden smart object is not offered as a slot at all, so
there is no uuid to send artwork to.

This is confusing because:

* Both look the same in the Layers panel.
* The upload succeeds either way.
* An unfilled text slot is as absent from a render as a missing smart object.

## How to identify this issue

The upload response and
[Retrieve a single PSD mockup](/docs/api-reference/psd-mockups/retrieve-a-single-psd-mockup)
both list every smart object and text layer in the template, each with its uuid.

<Info>
  Read an existing template back rather than uploading again. A second upload
  registers a second template with its own uuids, as
  [Upload a PSD](/docs/psd-mockups/upload-a-psd) explains.
</Info>

* A smart object is missing from `smart_objects`, and the upload carries the
  advisory code `PSD_HIDDEN_SMART_OBJECTS`.
* A text layer is in `text_layers` with a usable uuid, and missing only from
  renders you left it out of.
* A uuid outside that list returns `TEXT_LAYER_NOT_FOUND`, which
  [Text layers](/docs/text/text-layers) lists, rather than a render.
* The file has neither a visible smart object nor a text layer, so the upload
  itself fails with `NO_SMART_OBJECTS`, which [Errors](/docs/errors) lists. A hidden
  text layer counts here, so a file that has one does not hit this.

## Solution

**A hidden smart object.** Make the layer visible in Photoshop and upload again.
The new upload returns a fresh template with a new
[`mockup_uuid`](/docs/api-reference/psd-mockups/create-a-mockup-from-a-psd).

**A hidden text layer.** Nothing to fix. Send an entry under `text_layers` and
it renders; leave it out and that line stays hidden. Your source file is
unchanged either way. See
[Render a PSD mockup](/docs/api-reference/psd-mockups/render-a-psd-mockup) and
[Text layers](/docs/text/text-layers).

<Tip>
  One template therefore carries optional lines, personalised fields and language
  variants. Design the alternatives once, hide them, and switch each on per
  render.
</Tip>

**A layer that is listed but renders unchanged.** A different problem.
`TEXT_OVERRIDE_NOT_APPLIED` or `TEXT_LAYER_NOT_EDITABLE` in `warnings` means the
layer kept its original appearance, and [Text layers](/docs/text/text-layers) says
which limit you hit. [PSD compatibility](/docs/psd-mockups/psd-compatibility) covers
what renders as authored.

## If the layer still does not render

1. Confirm the layer is switched on in the file you actually uploaded.
2. Read the template back and compare the uuid you send against the list.
3. Check `warnings` on the upload and on the render.
4. [Contact support](https://sudomock.com/contact) with the template uuid and
   the response.
