OpenAI-compatible BYOK credentials (flat root + optional channel overrides).
Happy path (one multimodal model for both channels)::
{"api_key": "...", "model": "gpt-4o", "base_url": "https://api.openai.com/v1"}
Same endpoint, different models per channel::
{
"api_key": "...",
"base_url": "https://api.openai.com/v1",
"models": {"text": "gpt-4o-mini", "vision": "gpt-4o"}
}
Different endpoints per channel::
{
"text": {"api_key": "...", "model": "...", "base_url": "..."},
"vision": {"api_key": "...", "model": "...", "base_url": "..."}
}
Semantics:
- root api_key + base_url with model and/or models -> shared auth
- models.<channel> wins over root model for that channel
- text / vision objects fully replace the root for that channel
- a channel with no resolved model keeps server defaults