Nodes/Kimodo Motion Bridge/Kimodo Text Encode
ComfyUI Node

Kimodo Text Encode

Spend the expensive text pass once, then search for seeds

By GuardSkill·Created a day ago·Updated a day ago· 0
Kimodo Text Encode
  • model
  • conditioning
promptA person walks forward.

In this pack, text-to-motion generation is split into pieces, and this is the piece that turns your sentence into conditioning the sampler can use. It exists because Kimodo's text encoding is genuinely expensive - it runs a Llama 3 8B-based encoder - so the pack splits it off from sampling. You encode once, then change seeds or durations on the sampler as much as you like without paying for the language-model pass again. Same logic as caching your CLIP conditioning in a diffusion workflow, but the stakes are higher: that re-encode is a real time sink here.

How it works

Feed it two things: the model from Kimodo Load Model, and prompt - a plain natural-language description of the motion, e.g. "A person walks forward." The output is a conditioning object (type KIMODO_COND) that you pass to Kimodo Sampler.

The prompt field is where the pack's multi-segment trick lives. Kimodo can chain motions, and you mark the segments with periods:

A person walks forward. They stop and wave hello. They turn around and sit down.

Each period-separated segment gets its own block of generated motion (and, downstream on the sampler, its own share of the duration). The node splits the text, sanitizes it, runs the encoder, and packages the result. If you leave the prompt blank or it splits into nothing, it falls back to treating the whole string as one segment - so the default "A person walks forward." just works.

Why this split matters to you

The practical win is iteration. You will not get the motion you want on the first seed - that's universal in diffusion. With the encode isolated, the graph is: Load Model → Text Encode → Sampler, and you can hammer the sampler's seed, samples, and step count while the text encoding result sits there untouched. It's the kind of node separation that reads as "obvious once you see it," and it's the main reason the modular workflow beats the original all-in-one generation node for actual production use.

One honest tip: describe body parts and direction, not vibe. This is a motion model, not an image model - "a person walks forward" works, "cinematic moody walk" is going to give you a walk that's moody in a way you can't see. Keep sentences short and physical, and you'll get far better segmentation behavior too.

Install

Part of the Kimodo Motion Bridge pack. ComfyUI Manager (search the pack title), or:

cd ComfyUI/custom_nodes
git clone https://github.com/GuardSkill/ComfyUI-Kimodo-Bridge.git
cd ComfyUI-Kimodo-Bridge
python -m pip install -r requirements.txt
python install.py

Restart ComfyUI; the node sits under Kimodo/Conditioning.

The catches

The same one that colors the whole pack: the text encoder needs the gated Meta Llama 3 weights, so if first run fails on downloads, log in to HuggingFace with access granted (huggingface-cli login) and retry. And the encode still occupies VRAM while it runs - it's the same ~17GB-heavy component the Load Model node warned you about, just used for shorter bursts. If you're squeezing a small card, this is the part of the pipeline that will notice first.

CategoryKimodo/Conditioning

Inputs (2)

NameTypeDefaultDescription
modelKIMODO_MODEL
promptSTRINGA person walks forward.Text prompt. Use periods to separate multiple motion segments.

Outputs (1)

NameTypeDescription
conditioningKIMODO_COND