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)
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