Docs/ Configuration

Groups and channels

A Group contains everything needed to connect to an upstream service: the provider, credential pool, exposed models, and runtime policy.

What is a Group §

A Group corresponds to an upstream service and contains a pool of credentials. For each request, the gateway selects an available credential; if one is rate-limited or invalid, it automatically uses another without intervention.

See Core concepts for the roles of Groups and AccessKeys. In short, Groups connect to upstream services; AccessKeys authorize applications.

Twenty built-in channels §

When creating a Group, select one from these. Common channels are displayed directly as buttons, while other channels are collected under "Other Channels." Credentials have different forms depending on the category:

Category Channel Credential type
Official API OpenAI · Anthropic · Gemini · xAI API Key
Cloud platform Azure OpenAI · AWS Bedrock · Google Vertex AI Platform Credentials (AK/SK or Service Account)
Model service DeepSeek · Moonshot AI · SiliconFlow · Zhipu AI · Alibaba Cloud · Volcengine · OpenRouter · Groq API Key
Subscription accounts Codex · Claude · Antigravity · Grok OAuth authorization
Custom OpenAI Compatible API key + custom endpoint

Each channel declares the protocols and capabilities it supports. The gateway converts between supported capabilities, but it is not a universal translator; see Protocols and conversion boundaries for the boundaries.

Create a Group §

Open Group → Import channel credentials → Create new Group. You only need to provide three things: the channel, credentials, and models.

FIG. 1 — Group listEach Group has one upstream

Create one Group per upstream service. Put multiple keys for the same provider in that Group instead of splitting them up.

Channel parameters §

After selecting a channel, the form shows parameters specific to this channel. Common ones:

  • Endpoint URL — Official channels provide a default. Change it only for a relay or self-hosted upstream.
  • Region — Cloud platforms such as AWS Bedrock and Google Vertex AI require a region.
  • Deployment name — The model deployment identifier used by Azure OpenAI.

Incorrect values usually cause every request to fail. Use Route Check in Monitoring and troubleshooting to see which Groups became candidates and how many credentials are currently available.

Manage the credential pool §

The credential pool is the core of a Group. Place several keys, and the gateway will rotate among them, so a problem with one key does not affect the whole pool.

FIG. 2 — Credential poolMultiple credentials · Different statuses

Top statistics by status. Available participants rotate, those in cooldown are temporarily skipped, and blacklisted ones are automatically removed.

Credentials can perform these operations:

  • Batch Import — Open the dedicated Import Channel Credentials page from the Group list and paste one key per line.
  • Enable / Disable — A disabled credential stays in the pool but is excluded from rotation.
  • Single weight — Send more or less traffic to a specific key.
  • Test connection — sends one minimal real upstream request with this credential so you can see on the spot whether it still works
  • View real value — Credentials are stored encrypted; reveal the value explicitly only when needed.
  • Set proxy individually — Use this when one key needs a different egress route; see Proxy and request headers.
FIG. 3 — Bulk importOne key per line

Duplicate keys are detected and skipped automatically, so you can safely paste the entire block.

Testing a connection really does cost money (a little)

The test sends a real upstream request, which incurs a small cost. It does not change scheduling or blacklist state, so you can safely use it to confirm whether a key still works.
There are three outcomes: Test passed, Test failed (which states whether the key is invalid, the upstream rate-limited you, or the model is unavailable), and Inconclusive — the last one usually means a timeout or that the channel does not support probing, not that the key is broken.
If the credential you tested is currently blacklisted, a passing test asks right there whether to restore it — no need to go back to the health page.

Exposed models §

A Group must declare the models it exposes. You can discover them automatically from upstream or add them manually.

FIG. 4 — Model and aliasDiscover · Manually add · Alias

Only models listed here can be requested through this Group.

Configure model aliases in the same table. See Model management for pricing and cost estimates.

Runtime policy §

The Settings tab contains this Group's runtime parameters: weight, timeouts, retries, cooldown threshold, session affinity, and outbound proxy.

FIG. 5 — Group SettingsOverride system-level default values.

These parameters also exist at the system level. A value set on the Group overrides the system value; an unset value inherits it.

See Runtime settings for what each parameter controls and when to change it.

Custom Channel §

If a service is not built in but exposes an OpenAI-compatible API, choose OpenAI Compatible and enter its endpoint URL and key. Use this option for relay services and self-hosted inference services.

When to create separate Groups §

Create separate Groups when:

  • Different upstream services — mandatory: each Group can use only one channel.
  • Same provider, but two batches of keys must use different strategies (e.g., one batch primary, one batch fallback)
  • Same provider, but different applications may have different model access

Do not split a Group when: multiple keys for the same provider. Put them in one pool so the gateway can rotate between them and route around failures; splitting them removes that shared fallback.

Subscription accounts

Accounts such as Codex, Claude, Antigravity, and Grok use OAuth instead of API keys. See Subscription accounts for additional setup details, especially callback ports and remote deployment.

Groups and channels - GPT-Load