Qwen's web UI, reverse-engineered into an API buffet
A self-hosted gateway that scrapes Qwen's web interface and serves it back as OpenAI, Claude, and Gemini-compatible endpoints.

What it does
qwen2API is a Go-based gateway that sits between your AI clients and Alibaba’s Qwen web interface. You feed it Qwen account credentials, and it exposes standard API surfaces — OpenAI Chat Completions, Anthropic Messages, Gemini GenerateContent — while handling the messy work of browser automation, account rotation, rate-limit cooling, and request retries behind the scenes. It also bundles a React WebUI for managing accounts, API keys, and testing chat or image generation without touching a terminal.
The interesting bit
The project doesn’t just proxy requests; it reverse-engineers Qwen’s web capabilities into protocol shapes that existing tooling already speaks. The model list endpoint dynamically fetches from upstream and synthesizes mode variants (-thinking, -deep-research, -image) as pseudo-models, letting clients toggle behaviors through model selection rather than custom parameters. Embeddings are acknowledged as fake — deterministic simulated vectors — which is refreshingly honest for a compatibility shim.
Key highlights
- Multi-protocol facade: OpenAI, Anthropic Claude, and Gemini APIs from one gateway
- Account pool with concurrency limits, jitter, and automatic retry on rate limits
- Image generation via
POST /v1/images/generationswith fixed size/ratio presets - Built-in React admin console; backend hosts static frontend artifacts directly
- Multi-arch Docker images (amd64/arm64) published via GitHub Actions
- Health and readiness probes (
/healthz,/readyz) for container orchestration
Caveats
- Embeddings are explicitly simulated placeholders, not real vectors
- OpenAI Assistants, Realtime, Audio, Batch, and Fine-tuning APIs are unimplemented
- File upload only covers the attachment pipeline; not a full OpenAI Files lifecycle
- Requires active Qwen web accounts and ongoing maintenance of browser automation
Verdict
Worth a look if you’re self-hosting AI infrastructure and need to unify Qwen access behind familiar API contracts. Skip it if you need native embeddings, voice features, or stateful OpenAI Assistants — or if maintaining scraper-adjacent tooling against a web UI sounds like a hobby you didn’t want.
Frequently asked
- What is YuJunZhiXue/qwen2API?
- A self-hosted gateway that scrapes Qwen's web interface and serves it back as OpenAI, Claude, and Gemini-compatible endpoints.
- Is qwen2API open source?
- Yes — YuJunZhiXue/qwen2API is an open-source project tracked on heatdrop.
- What language is qwen2API written in?
- YuJunZhiXue/qwen2API is primarily written in Go.
- How popular is qwen2API?
- YuJunZhiXue/qwen2API has 897 stars on GitHub.
- Where can I find qwen2API?
- YuJunZhiXue/qwen2API is on GitHub at https://github.com/YuJunZhiXue/qwen2API.