AuK

Tencent's open-source 1.5B speech model: text to speech, voice cloning, and editing of recorded speech (words, pitch, speed, emotion, noise) from plain-language instructions.

AuK is an open-source speech model from Tencent's Hunyuan team that does 2 jobs with 1 model: it generates speech, and it edits speech you already recorded. You tell it what you want in plain language, such as "replace 'next Tuesday' with 'next Friday'" or "make this sound calmer", and it returns new audio in the same voice.

Tencent released it on 9th September 2026 under the MIT licence, with the weights on Hugging Face and a free demo Space to try it in the browser.

Maker Tencent Hunyuan
Size 1.5 billion parameters, trained on millions of hours of audio
Variants AuK, the base model, and AuK-Flash, distilled for fast 4-step generation
Licence MIT
Languages The demos cover English and Chinese
Runs on NVIDIA GPUs, and Apple Silicon through MLX on a separate branch
Try it The Hugging Face demo Space, with clips up to 30 seconds

What it can do

All tasks go through the same interface: an instruction, plus audio when the task needs it.

Category Tasks
Speech generation Clone a voice from a short reference clip, or create a voice from a description alone
Content editing Replace, insert or remove words in a recording. Rewrite song lyrics and keep the melody
Acoustic editing Change pitch in semitones, speed, or volume in decibels
Paralinguistic editing Change the emotion or timbre, remove an accent, add or remove breaths and laughs, switch to a whisper
Enhancement and separation Remove noise and echo, isolate 1 speaker, or pull the voice out of a song

The content editing is the unusual part. Most text-to-speech tools make new audio from scratch. AuK changes a few words inside an existing recording, and the rest of the take stays as it was.

For business people

The problem it solves: fixing a recording normally means booking the speaker again. A wrong date in a product video, a mispronounced name in a webinar, a noisy room in a podcast: each one costs a re-record or an edit that sounds patched.

Where it fits:

  • Corrections to training videos, product demos and voice-overs without a new session.
  • Clean-up of recordings made in bad rooms.
  • Localisation and variants: the same script in a calmer tone, or at a slower pace.
  • Voice design for a product or a character from a written description.

The costs: the model is free and open. Running it needs a GPU, or the free demo Space for short tests. Tencent's team trimmed the memory use in September, so consumer GPUs are within reach.

The risks: this is voice cloning and voice editing. Anyone with a short clip of a person can make them say something new. Use it only on your own voice or with the speaker's consent, and say when audio was edited.

For technical people

AuK architecture: a frozen large language model and audio encoder turn the instruction and input audio into conditions, which feed dual-stream MMDiT and single-stream DiT blocks that denoise VAE latents into the generated audio

  • Architecture: a diffusion transformer, with dual-stream MMDiT blocks followed by single-stream DiT blocks, generating the latents of an audio VAE.
  • Conditioning: a frozen Qwen2.5-Omni-3B encodes the text instruction and the input audio. The model uses a learned mix of its layer outputs, plus the VAE latents of the reference audio.
  • Duration is set per request (gen_seconds). An optional Prompt Enhancer uses an LLM and speech recognition to turn a free-form request into the exact instruction and duration.
  • Serving: day-0 support in SGLang-Omni, a vLLM-Omni recipe for 1 H100, a ComfyUI node, and GGUF inference through audio.cpp.

Install and run

git clone https://github.com/Tencent-Hunyuan/AuK
cd AuK
uv venv --python 3.10 && source .venv/bin/activate
uv pip install -e .

auk-infer \
  --audio my-take.wav \
  --instruction "Replace 'next Tuesday' with 'next Friday'." \
  --output my-take-fixed.wav \
  --gen_seconds 8

From Python, a request is a chat-style message with text and optional audio:

from auk.infer.infer_auk import AukInfer, save_audio

engine = AukInfer("ckpts/AuK/config.yaml", "ckpts/AuK/auk_base.safetensors")
messages = [{"role": "user", "content": [
    {"type": "text", "text": "Remove the background noise and the echo."},
    {"type": "audio", "audio": "noisy.wav"},
]}]
audio, sr = engine.generate(messages, gen_seconds=6.0)
save_audio(audio, sr, "clean.wav")

A fine-tuning script takes JSONL pairs of instruction plus source audio, and target audio.

Value

2 uses stand out for me. The first is fixing my own recordings: a wrong word in a demo video or a webinar clip, corrected with 1 instruction instead of a re-take. The second is my video twin, which uses a stock catalogue voice today (see My video twin ). A voice model that clones and edits my own voice is the missing piece there.

The MLX branch matters: it runs on my Mac Studio. I'd test it on my own voice first, with clips I can compare against the original.

Further Reading

NicAI
Written by NicAI, Nic's AI assistant, for his personal knowledge base. Researched and drafted by the model, not hand-written by Nic. Verify anything you plan to act on.