💪TB | Transcode Latent
Hopping between latent spaces without paying for a decode
- samples
- transcoder
- LATENT
TinyBreaker is a two-model setup: a base model and a refiner. Problem is, they don't necessarily dream in the same latent space. 💪TB | Transcode Latent exists to move a latent from one space to the other while it's still latent - no decode to pixels, no re-encode, no lossy round trip in between.
That's the entire point, and it's a subtler idea than it looks. Normally, converting between two models' internal representations means decoding with VAE A to get pixels and re-encoding with VAE B. Every decode/encode cycle smears fine texture - the community has spent years learning exactly how much quality that round trip eats. A transcoder is a dedicated little model trained to map directly from latent space to latent space, skipping the pixel detour entirely. This pack's transcoder is built on the Tiny AutoEncoder (TAESD) family of efficient latents, which is also what lets the whole thing stay fast and light.
Inputs and outputs
The interface is refreshingly small:
- samples (required) - the latent you want converted.
- transcoder (optional) - the transcoder model, loaded by the pack's
LoadTranscodernode from a file inmodels/vae.
Output is a single LATENT - the transcoded latent.
The optional-input trick is worth knowing: if you leave transcoder unconnected, the node quietly passes the latent through untouched. So it's safe to drop into a graph as a no-op and wire a transcoder in later. In a typical TinyBreaker workflow you don't even need it manually - TinyDualSampler takes a transcoder input and applies the base→refiner conversion internally. You'd reach for this standalone node when you want to see, inspect, or redirect that conversion step, or when you're building a custom two-stage pipeline where the sampler's built-in conversion isn't where you want it.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/martin-rizzo/ComfyUI-TinyBreaker
or search "tinybreaker" in ComfyUI Manager and restart. The pack ships no pip requirements. To actually use the transcoder you'll need a transcoder model file in models/vae - the LoadTinyBreakerCkpt loader pulls one out of the prototype1 checkpoint for you, which is why the stock workflow never asks you to hunt one down.
One honest note: if you don't know whether you need to transcode, you probably don't. This is a plumbing node. When the base and refiner latent spaces do line up, the model's own combined autoencoder handles it internally; Transcode Latent is the manual lever for when the automatic path isn't available or you want control over it.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| samples | LATENT | The latent to be transcoded. | |
| transcoderopt | TRANSCODER | The transcoder to use for the processing. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | The transcoded latent. |