Janitor AI proxy setup: URL format, models, and 429 fixes

Updated 2026-07-15

On JanitorAI, a proxy is a custom LLM endpoint: you paste a full chat completions URL, a model name, and an API key, and your chats run on the model you chose. Most setup failures come from pasting a base URL instead of the full endpoint, and most 429 errors come from shared free keys hitting their rate limit at peak hours.

Quick answer: the three fields JanitorAI asks for

JanitorAI's proxy configuration takes exactly three values: a proxy URL, a model name, and an API key. The proxy URL must be the full chat completions endpoint, not a base URL. If your provider hands you a base URL that ends in /v1, append /chat/completions before pasting it into JanitorAI. This single detail causes more failed setups than everything else combined. Enter the model ID exactly as the provider spells it, lowercase and hyphens included, then save and send a short test message. If a reply comes back, you are done. If you get an error code instead, jump to the error table below. Every common code has a specific cause and a specific fix.

Proxy URL:  https://api.apisrouter.com/v1/chat/completions
Model:      deepseek-v4-flash
API Key:    sk-...   (paste exactly, no quotes, no trailing spaces)

What "proxy" means in the JanitorAI community

The word is misleading. In JanitorAI slang, a proxy is not a network proxy or a VPN. It is any OpenAI-compatible API endpoint that the site sends your chat requests to instead of its default backend. The community adopted the term years ago when people started routing chats through reverse proxies of provider APIs, and the name stuck even though most setups today talk to a provider or gateway directly. People run a proxy for three reasons. First, model choice: you pick exactly which LLM writes your characters instead of accepting whatever the site defaults to. Second, quality: models like DeepSeek V4 or Claude write longer, more coherent scenes than a free built-in tier. Third, cost control: with a pay-per-token key you see exactly what each chat costs instead of paying for a subscription you may not fully use. There are three kinds of endpoints you will see shared in the community. Official provider APIs (OpenAI, Anthropic, xAI, DeepSeek) require an account with each vendor. Gateways aggregate many models behind one OpenAI-compatible URL and one key. Community "free proxies" are shared keys someone else pays for, which is why they are unstable and heavily rate limited. One more thing worth saying plainly: whichever endpoint you use, the upstream model provider's content policy still applies to every response, and JanitorAI's own terms, including its adults-only requirement, still govern the platform. Knowing both policies before you pick a model saves you refusals mid-scene.

Full setup: from API key to first reply

If you want one key that covers DeepSeek, GLM, Kimi, Claude, Gemini, and Grok at once, an OpenAI-compatible gateway such as APIsRouter is the low-friction route: checkout at /topup requires no account signup, the key arrives by email, and the proxy URL for JanitorAI is https://api.apisrouter.com/v1/chat/completions. One nuance if you also use SillyTavern: SillyTavern wants the base URL ending at /v1 and auto-populates its model list from /v1/models with your key, while JanitorAI wants the full path including /chat/completions. Same endpoint, different amount of the URL. Mixing the two formats up is the top cause of 404 errors in both apps.

  • Get an API key from an OpenAI-compatible provider or gateway. You need the key string and the documented endpoint URL.
  • Open any character chat on JanitorAI, then open API Settings and select the Proxy option.
  • Paste the full endpoint URL ending in /chat/completions into the proxy URL field.
  • Type the model ID exactly as documented, for example deepseek-v4-flash or glm-5.
  • Paste the API key, save the settings, and refresh the page if the save does not register.
  • Send a one-line test message. A normal reply means the whole chain works.

Test the endpoint with curl before you blame JanitorAI

When a proxy misbehaves, test the endpoint outside JanitorAI first. A 10-second curl call tells you whether the problem is the endpoint, the key, or the way you configured the site. Run this in any terminal, with your own key and model:

curl https://api.apisrouter.com/v1/chat/completions \
  -H "Authorization: Bearer sk-YOUR-KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4-flash",
    "messages": [{"role": "user", "content": "Reply with one short sentence."}]
  }'

Error 429: why free proxies rate-limit at peak

A 429 response means "too many requests". It is by far the most reported proxy error in the JanitorAI community, and the pattern behind it is predictable. A free or shared proxy is one API key serving hundreds or thousands of users. Providers enforce per-key limits on requests per minute and tokens per minute, so when US evening traffic peaks, everyone funnels through the same quota and the key starts rejecting requests. You are not being singled out. The bucket is simply empty, and it refills slowest exactly when the most people want to chat. Free proxies have a second failure mode: the key itself dies. Shared keys get revoked for policy violations or exhausted balances, at which point the same URL starts returning 401 or 404 instead, often with no announcement. Paid endpoints avoid the peak-hour wall structurally. Your key gets its own quota instead of sharing one bucket with a crowd, billing is per token so the provider has no reason to throttle you into a subscription tier, and capacity is provisioned for paying traffic. If you see a 429 on a personal paid key, it is almost always a short burst limit: wait a few seconds and retry, or slow down rapid-fire regenerates. Persistent 429s on a personal key are worth a support ticket, not a workaround.

JanitorAI proxy error table: 429, 401, 404, timeout

Match the code JanitorAI shows you against this table. The fix column assumes you already confirmed the endpoint works with the curl test above; if curl fails the same way, the problem is on the endpoint side, not in JanitorAI.

ErrorWhat it actually meansFix
429 Too Many RequestsThe key hit its rate limit. On shared free proxies this is the whole user base exhausting one quota at peak hours.Wait and retry. If it happens nightly, move off the shared key to a personal pay-per-token key with its own quota.
401 UnauthorizedThe endpoint rejected your key: wrong key, expired or revoked key, or stray whitespace pasted around it.Re-paste the key with no spaces or quotes. Confirm the key belongs to the same provider as the URL. Test with curl.
404 Not FoundThe URL path is wrong. Usually a base URL ending in /v1 was pasted without /chat/completions, or the model ID does not exist.Use the full endpoint ending in /chat/completions and copy the model ID from the provider model list.
Timeout / no responseThe endpoint is unreachable, overloaded, or the response is too long to finish in time.Check provider status, lower max tokens in generation settings, and retry off peak. If curl also hangs, the endpoint is down.

Which model to run behind your Janitor AI proxy

Model choice matters more than any generation-settings tweak. The community consensus is stable: the DeepSeek V4 family is the favorite for roleplay because it writes long, in-character responses at prices where cost stops being a consideration. GLM-5, Kimi K2.6, and MiMo are the value picks worth rotating through when you want a different voice. Grok 4.5 gets listed among flexible-policy options because xAI's published policy allows mature themes in clearly fictional settings for adult users. Claude Sonnet 4.6 writes the strongest prose in the catalog and fits SFW creative writing; Anthropic's policy prohibits explicit content, so keep it on story-driven, non-explicit chats. All catalog prices below are pay-as-you-go with no subscription. Global models are priced 20% below official rates and Chinese models below official pricing, and a first top-up doubles your starting balance.

Model IDInput $/1M tokensOutput $/1M tokensFit for JanitorAI
deepseek-v4-flash$0.126$0.252Community favorite, cheapest way to run long chats
deepseek-v4-pro$0.3915$0.783Stronger writing than Flash, still budget class
glm-5$0.514$2.314Value pick with a distinct narrative voice
kimi-k2.6listed on /pricinglisted on /pricingValue pick, strong with long context cards
grok-4.5$1.60$4.80Flexible policy for mature fictional themes, adults only
gemini-3.5-flash$1.20$7.20Fast, handles very long chat histories well
claude-sonnet-4-6$2.40$12.00Best prose quality, SFW creative writing only

FAQ

What is a proxy in Janitor AI?

A proxy on JanitorAI is a custom API endpoint that generates your chat responses instead of the default backend. You configure it with three values: a full chat completions URL, a model name, and an API key. It is community slang, not a network proxy or VPN.

How do I get a proxy URL for Janitor AI?

Get an API key from an OpenAI-compatible provider or gateway, then use its documented chat completions endpoint as the proxy URL. It must be the full path ending in /chat/completions, for example https://api.apisrouter.com/v1/chat/completions, not just a base URL ending in /v1.

Why does Janitor AI keep giving me error 429?

A 429 means the API key behind your proxy hit its rate limit. On shared free proxies this happens every peak evening because thousands of users drain one key's quota. A personal pay-per-token key gets its own quota, so 429s drop to occasional burst limits you fix by waiting a few seconds.

Is there a truly free proxy for Janitor AI?

Free community proxies exist, but they run on shared or donated keys, so they rate-limit hard at peak hours and die without notice when the key is revoked or drained. Some official providers offer small free tiers you can use with your own account, which is more stable than a shared key but still tightly limited.

Which model is best for roleplay on Janitor AI?

The community default is the DeepSeek V4 family for its mix of writing quality and very low cost, with GLM-5, Kimi K2.6, and MiMo as value alternatives. Grok 4.5 is the common pick where xAI's fiction-friendly policy matters, and Claude Sonnet 4.6 is the quality pick for SFW story writing.

Is it safe to put my API key into Janitor AI?

Treat any key you paste into a third-party site as exposed to that site. Use a dedicated key for JanitorAI rather than one shared with other projects, keep a small balance on pay-as-you-go billing so worst-case misuse is capped, and rotate the key if you see usage you do not recognize.