Set up your app

Pick where you want to use UnsavedAI. You'll paste three things: the URL, your key and a model.

Connect JanitorAI

  1. Open any chat and open its Settings panel.
  2. Under Provider, choose Proxy.
  3. Under Proxy configurations, click + New and name it UnsavedAI.
  4. Proxy URL: paste the Proxy URL below.
  5. API Key: paste your key from below (it starts with sk-). No key yet? Get one below.
  6. Model: type the model name below exactly as shown.
  7. Click Save, then refresh the page. JanitorAI only picks up a new proxy after a refresh.
  8. Set the context size below, then send "hi". A reply should start within a few seconds.
  9. Not working? A network error usually means the Proxy URL is missing its end (/chat/completions); a 401 means the key was pasted wrong or revoked.
Proxy URL
https://api.unsavedai.com/v1/chat/completions
API key
Your key goes hereStart free
In JanitorAI, the key goes in API Key. It starts with sk-; keep it private.
ModelLoading models…
Full JanitorAI guide

Test a key

Sends one short message with your key and shows the reply and how fast it started, or exactly what to fix. Handy when an app says something went wrong.

Checking your account…

If a message fails

Paste the error your app shows, or find it below. Each one has a one-line fix.

The key was not accepted

Fix: Copy the whole key again: it starts with sk-, is 67 characters and has no spaces. If it was revoked or you lost it, make a new key under Your keys.

What your app may show:
  • A valid account API key is required.
  • A valid API key is required.
  • This API key cannot perform that action.
  • Account policy is not configured.
  • Guest requests need a guest id.
That model is not in your plan

Fix: Use gemma-4-12b on Free, or switch to Priority on the Account tab. Your keys pick up the new plan by themselves; nothing to re-paste.

What your app may show:
  • This model is not included in your plan.
The model name is not recognised

Fix: Type the model name exactly as shown on Setup, for example gemma-4-12b: lowercase, no spaces. If it is spelled right, check Models; it may be offline.

What your app may show (… is a name or number):
  • Unknown model. Available models: …
  • The requested model is not available.
  • The requested model or endpoint is unavailable.
  • This endpoint is not available.
The URL is not quite right

Fix: JanitorAI needs the full URL ending in /v1/chat/completions. SillyTavern, Cline and most other apps need the one ending in /v1. Copy it from Setup. If the URL is right, check the model name.

What your app may show:
  • Not found
The chat no longer fits the context

Fix: Set your app's context size to 56,000 or less for the Gemma models, so the app trims old messages before they overflow. Character cards and lorebooks count too. Priority fits longer chats.

What your app may show (… is a name or number):
  • Prompt must leave room for output within the …-token context.
  • The prompt exceeds the available context.
Too many of your messages are waiting

Fix: Free writes one reply at a time and Priority two, with up to four more waiting. Let replies finish, or stop them, before sending more; avoid many swipes or tabs at once.

What your app may show:
  • Too many requests from your account are waiting. Try again shortly.
It waited too long for its turn

Fix: Your earlier replies were still being written, or the queue was long. Let your other chats finish, then send again. Priority goes ahead of Free.

What your app may show:
  • Your earlier requests were still running and this one waited too long. Try again shortly.
  • The queue wait limit was reached. Try again shortly.
  • Request admission has ended.
Everyone is busy right now

Fix: Wait half a minute and send again. Priority replies go ahead of Free in the queue.

What your app may show:
  • The request queue is full. Try again shortly.
Too many requests in a minute

Fix: Something sent more than 60 requests in a minute (300 on Priority), often auto-retry, an extension or a script. Slow it down; the limit clears within a minute.

What your app may show:
  • Your account requests-per-minute limit is currently reached.
  • Your request limit is currently reached.
That model is restarting or offline

Fix: Try again in a minute or two, or switch to another model that shows Online on Models. Your key and settings are fine.

What your app may show:
  • No healthy model worker is available.
  • A model worker is unavailable.
  • The admitted model worker is unavailable.
  • This request is currently unavailable.
  • The model tokenizer is unavailable.
  • The model tokenizer is not ready.
  • Model routing is not ready.
  • The model request failed.
  • Request admission is required.
  • Request is already admitted.
  • The model changed after admission.
Free access is paused for the moment

Fix: Try again later. Priority keeps working while Free is paused.

What your app may show:
  • The free tier is not ready for requests.
A sampler setting is out of range

Fix: The message names the setting. Set it back into range (temperature 0.8 to 1.0 and Top P 0.95 suit most chats), or import our SillyTavern preset.

What your app may show:
  • temperature must be a number of at least 0.
  • top_p must be a number above 0 and at most 1.
  • min_p must be a number from 0 to 1.
  • top_k must be -1, 0 (off) or a positive whole number.
  • presence_penalty must be a number from -2 to 2.
  • frequency_penalty must be a number from -2 to 2.
  • repetition_penalty must be a number above 0.
The reply length setting is invalid

Fix: Set the reply length (max tokens) to a whole number such as 700, and fill in only one max-tokens setting. JanitorAI also accepts 0 for our default.

What your app may show:
  • Output token limit must be a positive integer.
  • Specify only one output token limit.
Images and files are not supported

Fix: Remove the image or file, and turn off image sending in the app (SillyTavern: Send inline images).

What your app may show:
  • This model accepts text messages only.
This model does not use tools

Fix: Turn off function or tool calling in the app (in SillyTavern: Function Calling under AI Response Configuration).

What your app may show:
  • This model does not support tool calling. Choose another model or turn tools off in the app.
The app sent settings this model cannot use

Fix: Reset the app's preset and prompt settings to default (in SillyTavern, import our preset), then send a plain message. Remove any custom extra body fields.

What your app may show:
  • This model could not read the request, for example its message order. Try another model or change the app's prompt settings.
  • The model could not accept this request. Check the app's sampler and prompt settings.
  • The request parameters are invalid.
  • This model needs at least one user message.
  • messages must be a nonempty array of message objects.
  • Message role is not supported.
  • Assistant tool_calls must be a list of function calls.
  • Client backend configuration overrides are not supported.
  • extra_body must be an object.
  • stream must be true or false.
  • Only one completion per request is supported.
  • chat_template_kwargs must be an object.
  • enable_thinking must be true or false.
  • reasoning_effort must be a string such as low, medium or high.
  • continue_final_message must be a boolean.
  • add_generation_prompt must be a boolean.
  • continue_final_message requires a final assistant message and no generation prompt.
  • min_tokens must fit the admitted output token limit.
  • Session identifiers must be strings of at most 128 characters.
The app called from a web page we do not allow

Fix: Only JanitorAI may call the API straight from a browser tab. Use the app's server or proxy mode, or call the API from your own backend.

What your app may show:
  • Server clients only
The app could not reach the API

Fix: Refresh the page (JanitorAI only picks up a new proxy after a refresh), check the URL has no extra spaces, and try again. If it keeps failing, check Models for an outage.

What your app may show:
  • Failed to fetch
  • NetworkError when attempting to fetch resource.
  • Load failed
  • Network error