Documentation
Adding a provider
Enter a provider name, the base URL of an OpenAI-compatible API (for example https://api.openai.com/v1) and an API key. Model Check calls GET {baseUrl}/models with Authorization: Bearer <key> and normalizes the id, object, created and owned_by fields.
Testing a model
Testing sends real POST {baseUrl}/chat/completions requests. Each check records status, HTTP status, latency, the raw response and any error. Model identity is a strict comparison of the requested ID with the model field in the API response: match, mismatch or unavailable. This checks the provider's own metadata for consistency only; a provider can return any string there, so it does not independently prove which model served the request.
API
GET /api/health
POST /api/providers/test { baseUrl, apiKey, headers? }
POST /api/providers/models { baseUrl, apiKey, headers? }
POST /api/models/test { baseUrl, apiKey, model, tests? }
POST /api/models/chat { baseUrl, apiKey, model, messages, stream? }
Security notes
API keys are kept in browser memory only and forwarded per request; they are never written to logs or error messages. Base URLs are validated against SSRF (private ranges and metadata addresses are blocked unless ALLOW_PRIVATE_NETWORKS=true is set for local testing). Requests are rate limited and bounded by a timeout and a maximum response size.