Add an uncensored OpenAI-compatible provider to Jan
Jan is an open-source desktop chat app known for local models, and it also accepts remote providers. It sends provider requests through its native layer rather than a browser tab, so the Wild West API works.
Set it up
- Sign in at wildwestapi.com/signup/ with the six-digit code sent to your email, open the dashboard and create an API key. It starts with sk-ww- and is shown in full once, so copy it somewhere safe.
- Open Jan and go to Settings, then Model Providers.
- Click Add Provider.
- Choose OpenAI-compatible as the API format and give the provider a name such as wildwest.
- Set Base URL to https://wildwestapi.com/v1 and paste your sk-ww- key into API key.
- Click Create. Jan tries to read models from /v1/models.
- If outlaw-1 is not listed, click the plus button in the provider's Models section and enter outlaw-1 as the Model ID.
- Start a new thread and choose outlaw-1 from the model selector.
Does it work with the Wild West API?
Yes. Jan is a desktop app built on Tauri, and its model code uses Tauri's native HTTP client for provider calls. That request does not go through the browser's CORS check, so the missing preflight response does not matter.
Get the Base URL right
Jan's docs warn that the Base URL must include the version path. https://wildwestapi.com without /v1 gives a 404. Use exactly:
https://wildwestapi.com/v1
The settings that matter for long roleplay
- Jan exposes sampling settings such as temperature and top-p for custom providers, and its docs note that a server may ignore ones it does not support. Temperature around 0.8 to 1.0 suits fiction; see temperature.
- Set a max tokens value high enough for full scenes; see max tokens.
- Long threads resend their history every turn. The models here accept 512K tokens or more of context window, but cost grows with length, so start new threads for new stories.
- Put character rules in the assistant instructions, which become the system prompt.
- Jan does not detect capabilities for custom endpoints. Leave tools and vision off for these models unless you know you need them.
Troubleshooting Jan
- 401: the key is missing, mistyped or disabled. Paste it again with no trailing space and check it starts with
sk-ww-. A key from another provider will never work here. - 402: your balance is too low for the request. Top up in the dashboard; see pricing. A huge context on every turn burns credit faster than you might expect.
- 404 or 400 with an unknown model: the model id is wrong. Use an exact id from the model list, such as
outlaw-1, with no provider prefix and no spaces. - 429: you are rate limited. Wait a few seconds and send again, and turn off any auto-retry loop that fires instantly.
- 5xx: trouble upstream. Retry; if it keeps happening, switch to another model id for a while.
- Network error, "Failed to fetch" or a CORS message: this is unusual in Jan. Check the Base URL for typos and that your network allows wildwestapi.com.
- 404 on every message: the Base URL is missing
/v1.
FAQ
Can Jan mix local models and this API?
Yes. Local models and remote providers sit side by side, and you pick per thread.
Does the provider name matter?
Only for display in the model selector. It must be unique among your providers.
Why do I have to add the model by hand?
Jan reads /v1/models when you save. If that fails or a new model is missing, add the id manually with the plus button.