Model or dataset
Tencent-Hunyuan/AuK avatar
Tencent-Hunyuan/AuK

AuK: Tencent's 1.5B Speech Model That Treats Editing as an Instruction

AuK: An Open-Source Foundational Model for Speech Generation and Editing

951 stars69 forksPythonNOASSERTION

At a glance

What is it?
AuK wraps zero-shot TTS, content editing, acoustic and paralinguistic edits, enhancement and separation behind one natural-language instruction interface. The unified prompt is the interesting part; the licence and the missing release notes are the parts to check before you build on it.
Who is it for?
AuK is worth evaluating if you already run Python and PyTorch and you need many speech transformations behind one interface, since the Cookbook's instruction templates map cleanly onto a single inference path instead of a stack of task-specific checkpoints. It is the wrong choice if you need a permissively licensed component for redistribution, because the repository ships under NOASSERTION and the README's License section is the only place that can settle the terms.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The problem AuK targets: one interface instead of a rack of task-specific models

Speech tooling usually fragments by task. A denoiser handles enhancement, a separate model does separation, a third does voice conversion, and editing a single word inside a recording means re-recording or splicing. AuK's README frames the project as a 1.5B foundation model that exposes all of it through the same natural-language instruction interface. The supported-task table lists four categories: speech generation (zero-shot TTS, instruct TTS), content editing (speech content editing, lyric editing), acoustic editing (pitch, speed, volume), paralinguistic editing (emotion, timbre, de-accent, nonverbal sounds, whisper conversion), and enhancement and separation (speech enhancement, speech separation, music separation). That spread is the pitch. If you build a dubbing pipeline, you might otherwise need a TTS model, an accent-removal model and a breath-removal tool; AuK claims one checkpoint covers the set. Who it is for, based on the repository layout: Python developers already working in PyTorch who want to prototype several speech transformations without assembling separate inference stacks. It is not a hosted API and not a no-code product, despite the demo Spaces. The instruction interface is the design bet, and the rest of the repository is organised around it.

How the instruction interface drives generation and editing

The README states that AuK supports zero-shot and instruction-based TTS, content and acoustic editing, paralinguistic editing, speech enhancement and source separation through a unified natural-language instruction interface. The mechanism visible in the material is prompt-level rather than architectural: the same entry point accepts a natural-language instruction plus, depending on the task, reference audio or source audio, and the task identity is carried by the instruction text rather than by a task-specific head or a separate script. The README points to docs/COOKBOOK.md for instruction templates plus CLI and Python examples per task, which is where the actual phrasing conventions live. What the README does not give is the model's internals beyond an architecture diagram at assets/arch.png and a performance figure at assets/performance.png. There is no tokeniser description, no description of how reference audio conditions the output, and no statement about how content edits preserve speaker identity. If you need to reason about why a particular edit drifts, the repository as supplied will not tell you. The one concrete variant detail is inference cost: AuK-Flash is described as a distilled model for fast 4-step inference, against the base AuK model for high-quality generation. That is a two-point trade-off you can actually act on, and it is the only latency information in the README.

Getting AuK running: uv, Conda, weights, and the command-line path

The Quick Start section lays out two environment routes, uv and Conda, then a weight download step, then command-line inference, an interactive Gradio demo, a ComfyUI integration, a Prompt Enhancer, and a Python API. The README does not reproduce the literal install commands in the material available here, so treat the section headings as the map rather than the commands: you go to Installation, pick the uv or Conda subsection, run the Download the weights step, and then either the CLI or the Python API. Two weight sources are named: tencent/AuK and tencent/AuK-Flash on Hugging Face, mirrored on ModelScope as Tencent-Hunyuan/AuK and Tencent-Hunyuan/AuK-Flash. The README also notes Day 0 support for AuK and AuK-Flash from SGLang-Omni, with a cookbook page at sgl-project.github.io/sglang-omni/cookbook/auk.html, which matters if you plan to serve the model rather than call it in-process. For task-specific invocation, docs/COOKBOOK.md is the file to open: the supported-task table links each of the fourteen tasks to an anchor in that document, for example docs/COOKBOOK.md#11-zero-shot-tts, #31-pitch-editing, #45-whisper-conversion and #51-speech-enhancement. Those anchors are the fastest route to a working instruction string. The README does not state minimum GPU memory, supported Python versions, or the size of the weight download, so plan to discover those from the model cards rather than the repository.

Where the unified interface breaks down

The honest limitation is that a natural-language instruction is a soft control surface. Pitch editing is specified in semitones and volume editing in decibels, which are measurable, but emotion, timbre and de-accent are described in words. The README gives no statement about how reproducible a timbre change is across runs, and no guidance on what happens when an instruction asks for two things at once, for example a pitch shift and an emotion change. Treat the instruction interface as convenient, not as a precise parameterisation. A second limitation is scope: the task table is a closed list of fourteen entries. If your job is transcription, diarisation, or translation, AuK does not claim to do it, and the repository gives no extension mechanism for adding a task short of fine-tuning. The README does include a Fine-tuning section, so adaptation is contemplated, but the material does not say how much data a new task needs or whether fine-tuning preserves the other thirteen behaviours. Third, the model is 1.5B parameters and, per the README, trained on millions of hours of audio; that is a real serving cost, and the only mitigation offered is the AuK-Flash distillation to four steps, which the README positions as the fast option rather than the quality option. If you need studio-grade output on every request, the base model is the one the README points you to.

How AuK differs from a chain of single-task speech tools

The obvious alternative is to compose dedicated models: a TTS system for generation, a source separation model for separation, a pitch-shifting DSP step for acoustic changes, and a voice-conversion model for timbre. That approach gives you a measurable parameter for every operation (semitones, decibels, a speed factor) and lets you swap one component without retraining anything else. AuK's difference is that these operations share one checkpoint and one prompt format, so a pipeline that edits content, then emotion, then volume does not need three model loads or three sets of preprocessing conventions. The trade is precision and observability: with a chain of specialised tools you can inspect and tune each stage, whereas AuK collapses the stages into instructions whose behaviour the README does not quantify. A second alternative is a hosted speech API, which removes the serving burden entirely, but then you are sending audio to a third party and you inherit that vendor's task coverage rather than the fourteen tasks listed here. The choice is roughly: pick AuK when breadth behind one interface beats per-stage control, and pick the composed approach when you need each transformation to be independently verifiable.

Maintenance, releases and the licence question

The repository shows no releases retrieved, so there is no versioned artefact to pin and no changelog to read for behaviour changes. The default branch is main, the last push recorded is 2026-09-10, and the project is not archived. In practice that means you track main or you pin a specific commit yourself, and you watch the News section for changes: the two entries there are the 2026/09/09 open-source announcement and the SGLang-Omni Day 0 support note. The SGLang-Omni integration is the more operationally relevant of the two, since it implies a serving path maintained outside this repository, and its cookbook is versioned separately from AuK. On licensing, the repository metadata reports NOASSERTION, which means the automated classifier could not map the licence file to a known identifier. The README has a License section, and that section is the only authoritative source here. Do not infer terms from the fact that the code and weights are described as publicly available. If you plan to redistribute the weights, embed the model in a product, or fine-tune and ship a derivative, read the actual licence text and get your own legal review. Nothing in this review should be read as legal advice.

What the repository does not tell you

Several things you would want before committing are absent from the material. There is no stated hardware requirement, no throughput figure, and no comparison table with named baselines; performance is a single image at assets/performance.png whose axes and benchmark names are not reproduced in text. There is no documentation of the training data beyond millions of hours of diverse audio data, which is a scale claim rather than a provenance statement, and provenance matters if your use case involves consent or rights over reference voices. There is no error-handling guidance: the README does not say what the model does when the reference audio is noisy, when the instruction contradicts the source content, or when the requested edit is impossible. There is also no statement about language coverage, despite the demo videos being labelled English and Chinese. The practical consequence is that the first hour of evaluation should be spent on the Cookbook and the two demo Spaces, not on the README, because the Cookbook is where instruction templates and runnable examples live and the Spaces are where you can hear output before downloading 1.5B parameters. If an instruction template for your task is missing from docs/COOKBOOK.md, that is the signal to stop and reconsider.

Editorial conclusion

AuK is worth evaluating if you already run Python and PyTorch and you need many speech transformations behind one interface, since the Cookbook's instruction templates map cleanly onto a single inference path instead of a stack of task-specific checkpoints. It is the wrong choice if you need a permissively licensed component for redistribution, because the repository ships under NOASSERTION and the README's License section is the only place that can settle the terms. Before committing, verify three things: the exact licence text behind that NOASSERTION value, whether the 1.5B weights and the four-step AuK-Flash variant both fit your latency target, and whether the Cookbook covers your task at the instruction level rather than only at the category level.

Official sources

  1. Issues
  2. Project website
  3. README
  4. Tencent-Hunyuan/AuK on GitHub
Community notes

Community notes