Qwen3-ASR-API

Qwen3-ASR-API

Docker app from hsiang's Repository

Overview

Pure OpenAI-compatible Speech-to-Text API powered by Qwen3-ASR via vLLM. State-of-the-art Chinese (22 dialects), English, and 50+ languages. No bloat — just the model and API. Switch between 0.6B (~2-3GB VRAM) and 1.7B (~4-6GB VRAM) via MODEL_ID. CUDA 12.8 (Blackwell/Ada). First start downloads model from HuggingFace. China users: set HF_ENDPOINT to https://hf-mirror.com for faster downloads. Requires NVIDIA GPU with driver 550+.

Qwen3-ASR-API

English | 中文

Pure OpenAI-compatible Speech-to-Text API powered by Qwen3-ASR.

No extra services, no NGINX, no voiceprint database — just the model served via vLLM with an OpenAI-compatible endpoint.

What this adds

The official qwenllm/qwen3-asr Docker image has no entrypoint (drops to interactive shell), making it unusable on platforms like Unraid. This project adds an entrypoint for out-of-the-box usage, compatible with any Docker environment:

  • Auto-start qwen-asr-serve on container launch
  • Environment variable for model switching (no rebuild needed)
  • GPU memory control via env var
  • Unraid Community Applications template

Quick Start

docker run -d --gpus all --shm-size=4g \
  -p 8000:80 \
  -v /path/to/models:/root/.cache/huggingface \
  -e MODEL_ID=Qwen/Qwen3-ASR-0.6B \
  ghcr.io/hsiang-han/qwen3-asr-api:latest

First start downloads the model (~1-3GB depending on variant).

Usage (OpenAI-compatible)

curl -X POST http://localhost:8000/v1/audio/transcriptions \
  -H "Content-Type: multipart/form-data" \
  -F "file=@audio.wav" \
  -F "model=qwen3-asr"

Or with OpenAI SDK:

from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="none")
result = client.audio.transcriptions.create(
    model="qwen3-asr",
    file=open("audio.wav", "rb")
)
print(result.text)

Model Options

Model VRAM Speed Best for
Qwen/Qwen3-ASR-0.6B ~2-3GB RTFx 166 Low latency, shared GPU
Qwen/Qwen3-ASR-1.7B ~4-6GB RTFx 148 Best accuracy

Switch by changing MODEL_ID env var and restarting container.

Unraid Install

  1. Add template repo: https://github.com/hsiang-han/unraid_templates
  2. Find "Qwen3-ASR-API" in Community Applications
  3. Configure MODEL_ID and GPU settings
  4. Start — first launch downloads model, subsequent starts are fast

Environment Variables

Variable Default Description
MODEL_ID Qwen/Qwen3-ASR-0.6B Model to serve
GPU_MEMORY_UTILIZATION 0.8 GPU memory fraction (0.0-1.0)
MAX_MODEL_LEN 8192 Max sequence length for KV cache. Default supports ~10 min audio. Lower to save VRAM, raise for longer audio.
HOST 0.0.0.0 Bind address
PORT 80 Container port

License

Apache-2.0 (same as upstream Qwen3-ASR)

Related apps

Details

Repository
ghcr.io/hsiang-han/qwen3-asr-api:latest
Last Updated2026-10-08
First Seen2026-06-08

Runtime arguments

Web UI
http://[IP]:[PORT:80]/docs
Network
bridge
Shell
bash
Privileged
false
Extra Params
--gpus all --shm-size=4g

Template configuration

API PortPorttcp

OpenAI-compatible API port. Swagger docs at /docs

Target
80
Default
8000
Value
8000
Model CachePathrw

Model download cache. Persists across container recreates (~1-3GB).

Target
/root/.cache/huggingface
Default
/mnt/user/appdata/qwen3-asr-api/models
Value
/mnt/user/appdata/qwen3-asr-api/models
Model IDVariable

Qwen/Qwen3-ASR-0.6B (fast, ~2-3GB VRAM) or Qwen/Qwen3-ASR-1.7B (accurate, ~4-6GB VRAM). Restart required after change.

Target
MODEL_ID
Default
Qwen/Qwen3-ASR-0.6B
Value
Qwen/Qwen3-ASR-0.6B
HuggingFace EndpointVariable

HuggingFace download endpoint. China users: change to https://hf-mirror.com for faster downloads.

Target
HF_ENDPOINT
Default
https://huggingface.co
Value
https://huggingface.co
GPU Memory UtilizationVariable

Fraction of GPU memory to allocate (0.0-1.0). Lower if sharing GPU with other containers.

Target
GPU_MEMORY_UTILIZATION
Default
0.8
Value
0.8
Max Model LengthVariable

Max sequence length for KV cache. 8192 supports ~10min audio. Lower to save VRAM, raise for very long audio.

Target
MAX_MODEL_LEN
Default
8192
Value
8192
NVIDIA Visible DevicesVariable

GPU selection (all, 0, 1, etc.)

Target
NVIDIA_VISIBLE_DEVICES
Default
all
Value
all
NVIDIA Driver CapabilitiesVariable

NVIDIA driver capabilities

Target
NVIDIA_DRIVER_CAPABILITIES
Default
compute,utility
Value
compute,utility