Skip to content

Resource groups

Some models are served through more than one upstream vendor pool. Resource groups let an organization pin a request to a specific pool instead of the platform’s default routing.

PoolWhat it routes to
standardDefault pool: the current production vendor mix.
bdrkAWS Bedrock-backed capacity.
vertexGoogle Vertex-backed capacity.

Pools currently apply to the Claude model family; other families always use default routing. Availability is configured per deployment and can change — the authoritative list for your organization comes from GET /v1/models?variants=all.

Append the pool to the model ID with a colon:

{
"model": "claude-opus-4.8:bdrk",
"messages": [{ "role": "user", "content": "..." }]
}

Pools are also addressable with a hyphen, for SDKs and frameworks that reject : in model IDs:

{ "model": "claude-opus-4.8-bdrk" }

Or send a header and leave the model field untouched — useful when the model name is fixed by a framework:

Terminal window
curl https://inference.inferel.ai/v1/chat/completions \
-H "Authorization: Bearer $INFEREL_API_KEY" \
-H "X-Resource-Group: bdrk" \
-H "Content-Type: application/json" \
-d '{"model": "claude-opus-4.8", "messages": [{"role": "user", "content": "Hi"}]}'

A suffix is only read as a pool when it matches a configured group and the remaining prefix is a real model, so ordinary model IDs containing : or - are never misparsed.

GET /v1/models returns base model IDs only. With pool access, ?variants=all adds one entry per pool that routes the model:

{
"id": "claude-opus-4.8-bdrk",
"name": "AWS Bedrock",
"object": "model",
"owned_by": "inference",
"root": "claude-opus-4.8",
"resource_group": "bdrk",
"display_name": "AWS Bedrock",
"description": "Bedrock-backed reseller capacity",
"price_multiplier": 1,
"default": false
}

Within the selected pool, requests are balanced across vendors by configured weight, scaled by live endpoint health, with KV-cache-aware stickiness for conversations that share a prefix. Saturated or unhealthy endpoints are skipped automatically, and a failed attempt fails over to another vendor in the pool.

Each pool carries a price multiplier applied to the model’s base per-token rates; the multiplied rate is what your credit balance is debited, and it is reflected in the pricing block of that variant in GET /v1/models. All pools currently run at a 1× multiplier, so today pool choice affects routing, not price.