Agnai
Use these fields when creating an OpenAI-compatible preset in Agnai.
OpenAI (Third Party)https://composite.lucidity.sh/v1YOUR_API_KEYminimax/minimax-m3Agnai (Agnaistic) supports third-party OpenAI-compatible AI service presets. Point one at Composite's OpenAI-compatible base URL to run community presets, lorebooks and plugins on your own provider key, or on Synth, LuciditySH's creative model, free on Composite, with no key at all.
Agnai does not run its own models by default. Under its AI service presets you point it at an OpenAI-compatible API, and every message you send is forwarded there and the reply shown in your chat. That forwarding service is what people mean by a "proxy" for Agnai. It sits between the persona and scenario tools you use and the model actually generating replies. Composite is one such proxy: it authenticates your API key, applies the presets, lorebooks and plugins attached to it, sends the request to your own provider or to the model you picked, and returns a standard OpenAI-formatted response. One Composite key reaches every model on the platform, so switching characters or presets does not mean a new key or a new setup.
Copy these directly into a new AI service preset in Agnai. Choose an OpenAI or third-party/custom OpenAI-compatible service type.
Use these fields when creating an OpenAI-compatible preset in Agnai.
OpenAI (Third Party)https://composite.lucidity.sh/v1YOUR_API_KEYminimax/minimax-m3OpenAI (Third Party / Custom) as the service.https://composite.lucidity.sh/v1 as the base URL.Service: OpenAI (Third Party)
Base URL: https://composite.lucidity.sh/v1
API Key: YOUR_API_KEY
Model: minimax/minimax-m3lucidityai/synth-2.5-flash, LuciditySH's creative model, free on Composite.The most common problems when using Composite as an Agnai proxy, and how to fix them.
Confirm the preset's service is set to an OpenAI-compatible option, the base URL is exactly https://composite.lucidity.sh/v1 with nothing appended after it, and the API key was pasted with no leading or trailing spaces. Send a short test message before trusting a longer chat to the connection.
A 429 response on Synth means today's Synth requests are used up: 80 a day, or 300 a day in your first week after joining with a referral code. They reset once a day at the time shown on your account page, and credits or a plan make Synth unlimited. A key bound to your own provider has no Composite daily limit, so a 429 there is your provider's own rate limit.
Composite API keys start with cmp- and are sent as a bearer token, so the key field should hold only the key itself. Agnai adds the Bearer header for you. An invalid-key error usually means the key was revoked, mistyped, or deleted; generate a fresh one on the API Keys page. Each key can also be scoped to specific models, so a key that works for one model can still fail on another it is not allowed to use.
| Use case | Suggestion |
|---|---|
| General roleplay, default choice | minimax/minimax-m3 |
| No provider key yet | lucidityai/synth-2.5-flash (Synth), free on every account |
| Long-running character or campaign | A higher context-length model from the Models page, paired with a memory-layer setting on the key |
| Highest reply quality, budget flexible | Compare current premium models on the Models page |
The catalog changes as models are added, so treat the Models page as the source of truth rather than a fixed list.
Every model has a fixed context window. Once a conversation exceeds it, Composite trims older messages to keep the request within limits, so long-running characters can start losing early details unless the key is set to one of Composite's memory-layer modes, which summarize and retrieve older history instead of dropping it outright. If replies start ignoring established facts in a long Agnai chat, check the key's memory-layer setting before assuming the model itself is at fault.
Still stuck after working through the above? The full docs cover account setup, API keys, and model access in more detail, and the feedback page reaches Composite directly if something looks broken rather than misconfigured.