All apps · 0 apps
Qwen3-ASR-API
Docker app from hsiang's Repository
Overview
Readme
View on GitHubQwen3-ASR-API
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-serveon 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
- Add template repo:
https://github.com/hsiang-han/unraid_templates - Find "Qwen3-ASR-API" in Community Applications
- Configure MODEL_ID and GPU settings
- 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)
Install Qwen3-ASR-API on Unraid in a few clicks.
Find Qwen3-ASR-API in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/hsiang-han/qwen3-asr-api:latestRuntime arguments
- Web UI
http://[IP]:[PORT:80]/docs- Network
bridge- Shell
bash- Privileged
- false
- Extra Params
--gpus all --shm-size=4g
Template configuration
OpenAI-compatible API port. Swagger docs at /docs
- Target
- 80
- Default
- 8000
- Value
- 8000
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
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 download endpoint. China users: change to https://hf-mirror.com for faster downloads.
- Target
- HF_ENDPOINT
- Default
- https://huggingface.co
- Value
- https://huggingface.co
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 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
GPU selection (all, 0, 1, etc.)
- Target
- NVIDIA_VISIBLE_DEVICES
- Default
- all
- Value
- all
NVIDIA driver capabilities
- Target
- NVIDIA_DRIVER_CAPABILITIES
- Default
- compute,utility
- Value
- compute,utility