## Aligned Text Overlay Images
Renders a **multi-line text block** onto an image at a chosen corner before saving.
Supports `%NodeTitle.param%` template tags resolved from the active ComfyUI prompt.
---
### Inputs
| Pin | Default | Description |
|---|---|---|
| `image` | — | Input image tensor. |
| `text_template` | see default | Template string with optional `%NodeTitle.param%` tags. |
| `vertical` | bottom | Vertical anchor: `top` or `bottom`. |
| `horizontal` | right | Horizontal anchor: `left` or `right`. |
| `font_size` | 16 | Font size in points (10–50). |
| `text_color` | white | Text colour. |
| `bg_color` | black | Background colour (`none` = transparent). |
| `bg_opacity` | 150 | Background opacity (50–250). |
| `external_text` | — | Optional string appended after the resolved template. Connect **SamplerSchedulerIterator** here to embed the current sampler/scheduler pair. |
### Outputs
| Pin | Type | Description |
|---|---|---|
| `image` | IMAGE | Image with a text block superimposed at the chosen corner. |
### Example
Default template pulls values directly from a KSampler node:
```
seed: %KSampler.seed% | steps: %KSampler.steps%
cfg: %KSampler.cfg% | %KSampler.sampler_name% | %KSampler.scheduler%
```
If your workflow has two samplers, rename them in the graph (right-click -> Title)
to e.g. `Sampler_1` / `Sampler_2` and reference them explicitly:
```
steps: %Sampler_1.steps%
```
NodeTitle must match the title shown on the node in the graph.
Sampler and scheduler values are always shown as readable names — the conversion
happens automatically.
By Rogala·Created 5 months ago·Updated 4 months ago· 19