docs
Editors and IDEs

gptel

Markdown

Emacs package · OpenAI Chat, Anthropic Messages, Gemini

Full guide
FormatWhere to set it up
OpenAI Chat, Anthropic Messages, Geminiinit.el: register a backend with gptel-make-openai (OpenAI Chat), gptel-make-anthropic (Messages), or gptel-make-gemini; each has :host, :endpoint, :key, :stream, :models. Then set gptel-backend and gptel-model.

Setup

Copy the configuration and replace sk-... with your key from the Ailoot Dashboard. Prefer storing the key in the environment variable AILOOT_API_KEY, if the application supports it.

Before starting, request GET /v1/models with your Ailoot key. Choose an exact model ID whose methods include POST /v1/chat/completions, POST /v1/messages, POST /v1beta/models/{model}:generateContent, then use that ID in the configuration. For agents, also check tool support and the features required by your client version.

(setq gptel-model 'claude-sonnet-5-5
      gptel-backend
      (gptel-make-openai "Ailoot"
        :host "api.ailoot.ai"
        :endpoint "/v1/chat/completions"
        :stream t
        :key (getenv "AILOOT_API_KEY")               ; or (gptel-api-key-from-environment "AILOOT_API_KEY")
        :models '(claude-sonnet-5-5 gpt-6.1-sol deepseek-v4-pro qwen3.8-max)))

;; Anthropic Messages variant
(gptel-make-anthropic "Ailoot-Claude"
  :host "api.ailoot.ai"          ; default path /v1/messages
  :stream t
  :key (getenv "AILOOT_API_KEY")
  :models '(claude-sonnet-5-5 claude-opus-5-5))

This configuration reads the key from the environment variable AILOOT_API_KEY. Set it before starting the application:

export AILOOT_API_KEY="sk-..."   # add to ~/.zshrc or ~/.bashrc

Example model: claude-sonnet-5-5. Choose any other model from the catalog — check that it supports the format you need.

Good to know

Test

  • Keep the separate :host and :endpoint values from the example above. The prefix for OpenAI API methods is https://api.ailoot.ai/v1 (or the full path if the application asks for a full URL).
  • For the Anthropic format, the URL is https://api.ailoot.ai without /v1.
  • For the Gemini format, the URL is https://api.ailoot.ai — the API origin. The example above does not show the full setup for this format; consult the client’s documentation for the path to use in the relevant field. The API route prefix is /v1beta.
  • Ask a short question. If you get an error, check the code and Request ID, then consult Errors and limits.
  • 404 immediately after setup almost always means the URL is wrong: an extra or missing /v1.
  • 402 — insufficient balance for the reserve. Agents reserve more than chat: why.

Application documentation: https://github.com/karthink/gptel

Still have questions? Send your Request ID and a description — we'll help you troubleshoot.Contact support