Skip to content
Try chatGet API key

Jan

Jan is an open-source desktop chat app that runs local models and connects to remote providers. Bayle is added as a custom OpenAI-compatible provider.

Copies this page's setup instructions, to paste into your coding agent.
Show the prompt
Help me set this up to use Bayle AI, an OpenAI-compatible API. Full guide: https://docs.bayle.ai/guides/agents/jan/

Goal: add Bayle as a custom OpenAI-compatible provider in the Jan desktop app (https://jan.ai). This is a settings dialog, so walk me through it step by step and wait for me at each one.

1. Make sure Jan is installed. If not, send me to https://jan.ai/download (on Linux, `flatpak install flathub ai.jan.Jan` also works).
2. Pick a model and note its capabilities, because Jan does not detect them for a custom provider:
   curl -s "https://api.bayle.ai/models?type=text" | jq -r '.data[].id'
   Show me the list and let me choose. Then show its capabilities:
   curl -s "https://api.bayle.ai/models?type=text" \
     | jq '.data[] | select(.id == "MODEL_ID") | .model_spec.capabilities'
3. Tell me to open Settings, then Model Providers, then Add Provider, and fill in:
   API format: OpenAI-compatible
   Provider name: Bayle
   Base URL: https://api.bayle.ai
   API key: my Bayle key. Tell me to paste it into the field myself; do not ask me to type it into this chat. Jan keeps it in its own settings, so remind me to treat that Jan profile as holding a credential.
4. Tell me to save; Jan then calls https://api.bayle.ai/models to check the connection.
5. Tell me to add the model by hand with its id and to turn on the capabilities it has (tools, vision).
6. Verify: run one curl to POST https://api.bayle.ai/chat/completions with the chosen model and show me the result, then ask me to send a short message in Jan with it.

Rules:
1. The base URL is https://api.bayle.ai exactly as written. Append no path to it.
2. Read the key from the BAYLE_API_KEY environment variable. Never write the key itself into a file you create, a command, a commit or the chat. Where the tool keeps the key in its own settings screen, tell me where to paste it. If BAYLE_API_KEY is not set, stop and ask me to create a key at https://chat.bayle.ai/developers and export it.
3. Take model ids only from GET https://api.bayle.ai/models (no key needed). Never guess one.
4. Finish with one real test request, show me the result and list the files you changed.

Download Jan for macOS, Windows or Linux from the official download page. On Linux, Flatpak works on any distribution:

Terminal window
flatpak install flathub ai.jan.Jan

The official quickstart covers installing on each system.

Don't have a Bayle key yet?Get API key
  1. Open Settings → Model Providers and choose Add Provider.

  2. Fill in the dialog:

    Field Value
    API format OpenAI-compatible
    Provider name Bayle
    Base URL https://api.bayle.ai
    API key Your Bayle key
  3. Save. Jan calls https://api.bayle.ai/models to check the connection.

  4. Add a model by hand with its id, MODEL_ID, and turn on the capabilities it has (tools, vision). Jan doesn’t detect these for a custom provider.

Terminal window
curl -s "https://api.bayle.ai/models?type=text" | jq -r '.data[].id'

To see which capabilities to switch on for a model, read its model_spec.capabilities:

Terminal window
curl -s "https://api.bayle.ai/models?type=text" \
| jq '.data[] | select(.id == "MODEL_ID") | .model_spec.capabilities'

Jan stores the key in its own settings, not in an environment variable, so treat that machine’s Jan profile as holding a credential.