Model reference · open weights
Liquid-Codec is an open-weight embedding model from LiquidAI. Liquid-Codec (BF16) weighs 147 MB; the smallest configuration that runs it is RTX 3060 12 GB.
For self-hosting, compare this build's requirements below with the GPU you plan to rent.
Summary of the LiquidAI/Liquid-Codec model card, 2026-10-29
What it is
| Released by | LiquidAI |
|---|---|
| Released | 2026-09-16 |
| Parameters | 74M |
| VRAM | 147 MB for the weights |
What it runs on
| Card | Runs | Memory |
|---|---|---|
| RTX 3060 12 GB | fits | 11.6 GB |
| RTX 4060 Ti 16 GB | fits | 15.4 GB |
| RTX 3090 24 GB | fits | 23.4 GB |
| RTX 4090 24 GB | fits | 23.4 GB |
| RTX 5090 32 GB | fits | 31.0 GB |
| L40S 48 GB | fits | 44.0 GB |
| A100 80 GB | fits | 78.2 GB |
| H100 80 GB | fits | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | fits | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | fits | 107 GB |
| H200 141 GB | fits | 138 GB |
| B200 180 GB | fits | 176 GB |
From the model card
The repository includes the codec configuration and model implementation, so it can be loaded with AutoModel:
import torch
from transformers import AutoModel
codec = AutoModel.from_pretrained(
"LiquidAI/Liquid-Codec",
trust_remote_code=True,
dtype=torch.bfloat16,
device_map="cuda",
)
waveform = torch.randn(1, 24_000 * 3, device="cuda") # 24 kHz
codes = codec.encode(waveform).audio_codes
reconstructed = codec.decode(codes).audio_values
import torch
from transformers import LiquidCodecModel, LiquidCodecStreamingCache
codec = LiquidCodecModel.from_pretrained("LiquidAI/Liquid-Codec", dtype=torch.bfloat16, device_map="cuda")
waveform = torch.randn(1, 24_000 * 3, device="cuda") # 24 kHz
codes = codec.encode(waveform).audio_codes # (1, 12, 38)
reconstructed = codec.decode(codes).audio_values # (1, 38 * 1920), float32
# streaming synthesis: every chunk returns the samples that no later frame changes any more
cache = LiquidCodecStreamingCache(codec.config)
chunks = [codec.decode(codes[..., i : i + 1], cache, finalize=False).audio_values for i in range(codes.shape[-1])]
chunks.append(codec.decode(codes[..., :0], cache, finalize=True).audio_values)
streamed = torch.cat(chunks, dim=-1)
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.