# Headless Rendering

`tmorph render` produces a static image of a Tensormorph view - a heatmap, a distribution plot, a framed Architecture view of a specific module - without an interactive session or a display attached, for embedding in reports, CI artifacts, or automated documentation rather than only ever being seen live in the app.

## Basic usage

```sh
tmorph render checkpoints/model.safetensors \
  --view matrix-heatmap --select "model[\"layer.12.attn.q_proj\"]" \
  --out layer12-qproj.png
```

Any view addressable the same way it would be interactively - by [address](/docs/core-concepts/tensor-matrix-block-scalar) and view name - can be rendered this way, including a [diff](/docs/editors/comparison-editor) view against a second checkpoint, or a [distribution](/docs/editors/signal-and-distribution-editor) plot.

## Why this matters for automation

A validation failure or a flagged [outlier](/docs/inspect-and-analyze/outliers-and-anomalies) is more actionable with a rendered image attached than with a bare pass/fail signal - [CI Validation](/docs/cli-and-automation/ci-validation) and [batch inspection](/docs/cli-and-automation/batch-inspection) scripts commonly pair a diagnostic check with a headless render of the specific flagged region, so a reviewer can see the problem immediately rather than having to reopen the checkpoint interactively to reproduce it.

## Related resources

-   [Batch Inspection](/docs/cli-and-automation/batch-inspection) - rendering across many checkpoints as part of a batch report.
-   [CI Validation](/docs/cli-and-automation/ci-validation) - attaching a rendered image as evidence for a failed check.
-   [Tensormorph CLI](/docs/cli-and-automation/tensormorph-cli) - the full `tmorph` command reference this command belongs to.
