Skip to content

Guides

Models & fallback

Every request runs on Qwen3.8-27B, hosted by Inferiq. Send an alias to pick how hard it thinks, or name the model and set the reasoning level yourself. A failed attempt is retried before your tool notices.

Available models

ModelUsed byInput / 1MOutput / 1M
qwen/qwen3.8-27bQwen3.8-27B, hosted by Inferiq. Context 131,072 tokens.Every alias and fix tier$0.41$2.02

Every prompt token is billed at the input price, including history your tool resends. The model sleeps when nobody is using it: the first request after a quiet spell can take a few minutes while it wakes up, and the ones after it are fast. GET /v1/models always shows what your key may use right now, with prices:

GET /v1/models · trimmed
curl $INFERIQ_BASE_URL/models -H "Authorization: Bearer $INFERIQ_API_KEY"

{
  "object": "list",
  "data": [
    {
      "id": "inferiq/balanced",
      "object": "model",
      "owned_by": "inferiq",
      "inferiq": { "kind": "alias", "candidates": ["qwen/qwen3.8-27b"] }
    },
    {
      "id": "qwen/qwen3.8-27b",
      "object": "model",
      "owned_by": "runpod",
      "inferiq": {
        "kind": "model",
        "context_window": 131072,
        "max_output_tokens": 32768,
        "pricing": { "currency": "USD", "unit": "1M tokens", "input": 0.405, "output": 2.025 }
      }
    }
  ]
}

Exact models vs aliases

Send the exact model id, qwen/qwen3.8-27b, and it answers with its default reasoning unless you set reasoning_effort. If it fails with a retryable error, it is tried once more. Send an alias and you also pick how hard it thinks:

AliasRuns onGood for
inferiq/fastqwen/qwen3.8-27b, retried once · light reasoning (reasoning_effort low)Planning turns, small edits, cheap background work
inferiq/balancedqwen/qwen3.8-27b, retried once · medium reasoning (reasoning_effort medium)Everyday coding
inferiq/bestqwen/qwen3.8-27b, retried once · full reasoning (reasoning_effort xhigh)Hard bugs, large refactors

Deeper reasoning writes more tokens before the answer, so inferiq/best costs more per request than inferiq/fast, and takes longer. A reasoning_effort you send yourself always wins over the alias’s level. The model that answered is in the response’s model field, the x-inferiq-model header and the receipt. Turning retries off for your account is done in Model rules (console preview).

The assistant: inferiq/assistant

inferiq/assistant answers questions about Inferiq and about your code. It runs on Qwen3.8-27B, hosted by Inferiq, with this website (docs, pricing, roadmap and guides) placed in front of your conversation, so its answers follow the current site. The console’s agent panel uses it for anything that isn’t a console command. Like any request it is paid from your balance, and the site text counts as input tokens. The model sleeps when nobody is using it, so the first question after a quiet spell can take a few minutes while it wakes up.

It’s guarded against prompt injection. Invisible characters are removed from your messages, a system message you send is treated as your own words rather than as its setup, and messages that try to override its rules are labeled for the model. Replies that would repeat its hidden setup, or point you to a wallet address other than your own deposit address, are replaced, and links to sites outside Inferiq and well-known developer docs are removed. This applies to streamed replies too.

Models a key may use

Keys are free, and each one carries its own list of models, chosen when you create it in API keys: aliases, exact model ids, or all models. Give each tool its own key, limited to the models you want it to spend on.

  • The check matches the model you send. A key allowed inferiq/balanced can send that alias and use the model behind it, but can’t send qwen/qwen3.8-27b directly unless that id is on the list too.
  • A request for any other model fails with model_not_allowed (403) before a provider is called, and costs nothing. Retrying won’t help: use a model the key allows, or create a key for it.
  • GET /v1/models lists only the aliases and models the key may use.

Per-request routing

Add a routing object to any chat request. Inferiq removes it before the request reaches the provider.

POST /v1/chat/completions
{
  "model": "inferiq/balanced",
  "messages": [{"role": "user", "content": "Refactor this function to async/await."}],
  "routing": {
    "fallback": true,
    "allowed_models": ["qwen/qwen3.8-27b"]
  },
  "reasoning_effort": "low"
}
routing.fallback
Default true. Set false to stay on the first candidate; it is still retried once.
routing.allowed_models
Narrows an alias to these model ids. It can’t add a model the alias doesn’t contain.
reasoning_effort
low, medium or xhigh. Overrides the alias’s level for this request.

Fallback rules

  • Retries: rate limits (429), timeouts, overload (529), server errors (5xx) and an unreachable model. With one model behind every alias, the retry goes to the same model.
  • Stops: a request the model rejects as invalid (400, 413, 422). Trying again wouldn’t help, so you get provider_bad_request with the model’s message.
  • Bounded: at most three attempts per request. Every attempt is listed on the receipt; only the one that answered is charged.
  • Never mid-stream: once tokens have reached you, a failure ends the stream with an error event instead of switching models.
  • Timeouts: the model gets 5 minutes to start answering, enough to wake up after a quiet spell, and a stream may not go quiet for more than 5 minutes.

A receipt for a request whose first attempt failed:

Receipt excerpt
"requested_model": "inferiq/best",
"served_model": "qwen/qwen3.8-27b",
"attempts": [
  { "model": "qwen/qwen3.8-27b", "status": "error", "error_code": "provider_unavailable", "duration_ms": 412 },
  { "model": "qwen/qwen3.8-27b", "status": "ok", "error_code": null, "duration_ms": 9180 }
]

Request settings

Requests reach the model in the OpenAI chat format as you sent them: temperature, top_p, tools and tool_choice all work. Inferiq only removes its own routing object and fills in reasoning_effort from the alias when you didn’t set it.

Reasoning

Qwen3.8-27B thinks before it answers. The thinking isn’t returned in content, but its tokens are billed as output, which is why the deeper levels cost more.

Common patterns

You wantSend
Cheap planning, strong editsinferiq/fast for plan mode, inferiq/balanced for act mode
Your own reasoning levelqwen/qwen3.8-27b with reasoning_effort set
The deepest thinking for a hard buginferiq/best
A tool that can only spend on cheap modelsA key allowed only inferiq/fast