JoyAI-Echo DiT β€” Q8_0 GGUF (RM, text projection bundled)

Nodes, workflow, issues and releases: https://github.com/jlucasmcrell/joyai-echo-multishot-patch
All models: https://huggingface.co/joeygambino

A word on expectations: the multishot workflow this feeds is powerful but not one-click - first renders usually take some tuning to your VRAM, system RAM and model build. The workflow repo's INSTRUCTIONS.md covers setup and known failure modes, and I am happy to troubleshoot: open a discussion and I will answer.

A Q8_0 quant of the JoyAI-Echo DiT with the text projection bundled in, so it works without a companion file.

If you are running a JoyAI-Echo GGUF and getting a robotic voice, the model speaking your prompt text aloud, or a different-looking person in every shot, the cause is probably that nothing in your graph is supplying the text_embedding_projection tensors β€” and your load logs will not tell you.

The one-line check

A GGUF stores its tensor count as a little-endian uint64 at byte offset 8, so this reads 16 bytes and needs no model load:

print(int.from_bytes(open("your-file.gguf", "rb").read(16)[8:], "little"))

For a JoyAI-Echo DiT: 4448 means the projection is bundled in, 4444 means it is not.

A check_gguf_tensors.py script is included in this repo that walks a whole directory and reports every GGUF it finds.

Render at 24 fps β€” voices and accents (2026-07-30)

LTX-2.3's joint audio-video prior is 24 fps-native, and render fps turns out to be a hidden accent dial: at 25 fps the same prompt and seed render non-rhotic southern British, at 30 fps broad Australian β€” and any off-24 fps setting overrides accent wording in the prompt entirely (a few conditioning tokens cannot outvote a geometric signal present in every attention op at every step). Verified by A/B on identical configs: 24 fps = rhotic General American at 5/5 reviewer confidence, same text and seed.

Keep video_fps at 24 and state the accent in the positive prompt ("in a casual American accent"). Flip side: if you want an authentic British or Australian voice, rendering that scene at 25/30 fps is more consistent than any accent wording.

What those numbers mean

This is a packaging difference between two closely related model families, not corruption and not a broken conversion script.

  • LTX-2.3 ships the text projection as a separate component file β€” about 2.2 GB, containing exactly four tensors: text_embedding_projection.audio_aggregate_embed.weight / .bias and text_embedding_projection.video_aggregate_embed.weight / .bias. The LTX-2.3 DiT does not contain them. A base LTX-2.3 DiT reporting 4,444 is correct β€” do not "fix" it.
  • JoyAI-Echo bundles those four tensors into its release checkpoint, which is why a complete JoyAI-Echo DiT reports 4,448.

Verified directly rather than assumed: the four projection tensors inside JoyAI-Echo-release.safetensors are byte-identical to the ones in LTX-2.3's standalone projection file. JoyAI-Echo inherited them unchanged.

So a JoyAI-Echo GGUF at 4,444 is not damaged. It is packaged the LTX way and needs the companion file the LTX way expects. If your graph never loads one, those tensors are constructed random-initialised at load time. The model runs, nothing errors, and the text conditioning into the audio and video branches is partly noise.

Symptoms when nothing supplies the projection

  • Voice is flat and synthetic β€” TTS-like rather than performed
  • The model reads prompt text aloud instead of the written dialogue
  • Identity resets between shots; hard cuts to a different-looking person
  • Style/lighting instructions ignored (a specified grimy interior renders as a bright white studio)

Which published JoyAI-Echo GGUFs bundle the projection

Surveyed 2026-07-20 by reading each file's GGUF header directly:

repo / file tensors
realrebelai/JoyAI-Echo_GGUF β€” Q2_K, Q4_K_M, Q4_K_M_RM, Q6_K, Q6_K_RM 4,448 bundled
chfm/JoyAI-Echo_GGUF β€” Q2_K, Q4_K_M 4,448 bundled
chfm/JoyAI-Echo-gguf β€” JoyAI-Echo-Q8_0.gguf 4,444 unbundled
smthem/JoyAI-Echo-gguf β€” JoyAI-Echo-Q8_0.gguf 4,444 unbundled
this repo β€” JoyAI-Echo-DiT-Q8_RM.gguf 4,448 bundled

In fairness to the people doing conversion work: leaving the projection out is what you get by following the upstream LTX-2.3 layout, which is a defensible choice. The real failure is that a JoyAI-Echo user coming from a bundled build has no way to know a companion file is now required.

Two ways to fix it

Skip the 43 GB requirement: a 9 GB VAE/vocoder/connector companion now stands in for the full checkpoint in checkpoint_path on GGUF runs - byte-identical outputs, peak system RAM ~60 GB -> ~11 GB. (Cut from the e50 merge; exact match for e50 GGUFs, loads with the whole family.)

Load the standalone projection. Take ltx-2.3_text_projection_bf16.safetensors from the LTX-2.3 release and load it alongside whatever quant you have. Because the weights are byte-identical to the ones JoyAI-Echo bundles, this is a correct fix rather than a substitute, and it works at any precision. If you already have LTX-2.3 assets on disk this is by far the smaller download.

Or use a bundled build. This file, if you want one self-contained artifact.

Files

file size quant
JoyAI-Echo-DiT-Q8_RM.gguf 23.1 GB Q8_0 weights, F32 non-quantised, arch ltxv
check_gguf_tensors.py small directory scanner for the check above

Tensor names are bare (no model.diffusion_model. prefix), matching the Rebels loader convention β€” hence the RM suffix.

This is the DiT only. It needs a full safetensors checkpoint alongside it to supply the VAEs, vocoder and text connectors.

Validated in render

Confirmed in a real multi-shot render (3 Γ— 201 frames, portrait): the prompt-reading and identity-reset symptoms are gone, lip sync is true, and style instructions are followed.

Honest scope note: supplying the projection makes the model behave correctly β€” it does not make Q8 sound like the full-precision parent. Blind line-by-line review put this quant's voice at 6–7/10 ("performed" emotion, slightly metallic sibilance) against 9–10/10 for a full LTX-2.3 checkpoint on the same script. Use it because it fits your card, not because it is the best voice available.

Provenance and license

Quantised from jd-opensource/JoyAI-Echo (JD Joy Future Academy), itself built on Lightricks/LTX-2.3 β€” Β© Lightricks Ltd.

Distributed under the LTX-2 Community License Agreement (included as LICENSE). Per Β§3 this derivative is distributed exclusively under those terms; the modification β€” quantisation to Q8_0 with bare tensor names β€” is disclosed here.

Non-commercial. LTX-2 permits commercial use below $10M ARR, but the JoyAI-Echo component is released for academic research and non-commercial use only, so the stricter term governs.

Subject to the LTX-2 Acceptable Use Policy (Attachment A), which requires disclosing generated content as machine-generated.

No affiliation with or endorsement by Lightricks or JD is claimed or implied.

Support

Everything here is free and stays free. If it saved you time, you can sponsor me on GitHub, buy me a coffee, or support me on Liberapay.

Downloads last month
699
GGUF
Model size
22B params
Architecture
ltxv
Hardware compatibility
Log In to add your hardware

We're not able to determine the quantization variants.

Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for joeygambino/joyai-echo-dit-q8-rm-gguf

Quantized
(2)
this model