NexKit AI · Coding
One API for AI coding
Point Codex or Claude Code at DeepSeek or Qwen through a single NexKit key. You bring your own provider credential, so the tokens stay on your own account — NexKit is the compatibility layer, not the seller.
Your coding agent speaks one dialect. Your model speaks another.
Codex talks the OpenAI Responses API. Claude Code talks Anthropic Messages. DeepSeek and Qwen serve neither — they serve OpenAI chat completions. Which is why pointing one at the other usually ends in a 404 that reads like an outage.
NexKit sits in between and does the translation. Your client keeps its own configuration format and its own wire protocol; the request arrives at the provider in the shape that provider actually accepts, and the answer comes back in the shape your client expects — tool calls included, which is the part that decides whether a coding agent can edit a file rather than just talk about one.
What you change to move a whole agent from one model to another is one model id. Not the client, not the SDK, not the integration.
Codex and Claude Code.
These two, and no others, because each was run end to end against both providers before it was published here. A third client on the list would be a claim rather than a result.
Codex
One [model_providers.nexkit] block in ~/.codex/config.toml, and the key in an environment variable Codex already reads. Talks /v1/responses.
Claude Code
Three environment variables and nothing else — no config file, no plugin, no fork. Talks /v1/messages.
DeepSeek and Alibaba Model Studio.
You attach your own credential on the Providers screen. It is encrypted with AES-256-GCM before it is stored, decrypted only at the moment a request is made, and there is no endpoint anywhere that can read one back.
DeepSeek
2 models in the catalogue. Default in every config block on this site: deepseek-v4-flash.
Alibaba Model Studio (Qwen)
4 models in the catalogue. Default in every config block on this site: qwen3.8-max.
Your provider bills you, directly. NexKit never fronts the tokens, so there is no NexKit invoice, no card on file, and no margin taken in between. See pricing.
Every combination below was run, not reasoned about.
The real CLI, driven by a script, against a real provider account, completing a real task. That is what these rows say — and it is all they say.
| Client | Surface | Provider | Result |
|---|---|---|---|
| Codex | /v1/responses | DeepSeek | Completed |
| Codex | /v1/responses | Qwen | Completed |
| Claude Code | /v1/messages | DeepSeek | Completed |
| Claude Code | /v1/messages | Qwen | Completed |
No benchmark is published on this site. NexKit has not measured latency, throughput or answer quality for any model, and a number invented to fill that gap would be the least trustworthy thing here. What is measured is whether the path works.
Thirty seconds, no client installed.
If this returns a completion, every part of the chain is working: your key, your provider credential, the routing, and the translation.
curl https://api.nexkit.uk/v1/chat/completions \
-H "Authorization: Bearer nk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-v4-flash","messages":[{"role":"user","content":"Say NEXKIT"}]}'Create a key and point your agent at it.
Sign up, mint a key, attach your own DeepSeek or Qwen credential, paste one config block. The whole path is documented, and nothing on it asks for a card.