Model Management — setting up AI providers for your account
This guide walks you through the Model Management screen: how to point wxrks at your own AI provider (OpenAI, Azure, Groq, OpenRouter, Google Gemini), for your whole account or for a single org unit, and how to control what happens when.
Audience: account admins who want to use their own API keys, pick specific models, or tune behaviour per-feature.
1. What Model Management does
Every AI feature in wxrks — context-sensitive translation, proofreading, smell detection, spell-check, and more — runs through a model you choose. By default, wxrks uses its own AI provider behind the scenes. Model Management is where you override that default with your own setup.
You can:
Use your own API key (OpenAI, Azure, Groq, OpenRouter, Gemini).
Pick a specific model (e.g.
gpt-4o,anthropic/claude-3.5-sonnet).Apply a config to your entire account, or narrow it to a single org unit.
Target specific AI operations (e.g. "use Claude for translations, OpenAI for proofreading") or set a default that covers everything.
2. Getting to the page
Navigate to Settings → Account Settings → Model Management.
You'll see the list of Model Settings rows your account currently has. If this is your first time, the list is empty.
3. The two ideas you need to understand
3.1 Scope — who the row applies to
A Model Settings row covers either:
Account — applies to everyone in your account.
Org Unit — applies to one specific org unit.
When you create a row you pick the scope. Account is the default.
If you pick Org Unit, a dropdown appears to select the specific unit.
3.2 Operations — which AI features the row covers
Each row can target one or more operations (AI features), or be left empty to act as a default covering everything not otherwise configured.
Common operations you'll see:
CS Translation — context-sensitive translation.
Proofreading — proofread pass on segments.
Smells — quality-issue detection.
Sous Chef / Sous Chef Context — full-text translation and context inference.
Suggestion — single-segment translation suggestion.
Part of Speech — POS tagging.
Term Extraction — glossary candidate extraction.
Text Analysis / Proof Detect / Diff Analysis — various text-analysis helpers.
Detect Language / Add Missing Tags / Fix Tags / Fix Smells / Message Feed / Project Feed / Assess Review — other features.
Leave operations empty to make the row your default. The default row applies to anything you haven't explicitly targeted.
4. How the system chooses which row to use
When wxrks runs an AI call, it walks through your rows from most specific to least specific:
Is there an Org Unit row for the exact operation on the org unit where the call came from? → Use it.
Otherwise, is there an Org Unit default row (no operations picked) for that org unit? → Use it.
Otherwise, is there an Account row for the exact operation? → Use it.
Otherwise, is there an Account default row (no operations picked)? → Use it.
Otherwise, fall back to the wxrks platform default.
Example
You set up three rows:
# | Scope | Operations | Provider |
A | Org Unit "Acme US" | Proofreading | Groq |
B | Account | CS Translation | OpenRouter (Claude) |
C | Account | (empty — default) | OpenAI GPT-4o |
What the system uses:
Proofreading call in Acme US → row A (Groq).
Proofreading call in any other org unit → row C (GPT-4o — nothing else matches, falls to account default).
CS Translation call from any org unit → row B (OpenRouter).
Smells call from any org unit → row C (account default).
Anything else → row C.
A small caveat
A handful of operations are managed centrally by wxrks for platform consistency. If you configure one of these, the platform's setup wins and your row is effectively ignored for that operation. If you ever suspect this is happening, contact support — they can confirm which operations are centrally managed on the current release.
5. Creating a Model Setting — step by step
Click Add Settings at the top of the page.
The dialog opens.
Fields
Scope — Account or Org Unit. If Org Unit, pick the unit from the dropdown.
Name — a friendly label so you remember what this row does (e.g. "OpenRouter · Claude for translation").
Operations — which AI features this row covers. Leave empty to make it a default.
Provider — pick from the catalogue: OpenAI, Azure, Groq, OpenRouter, Gemini Studio, Gemini Vertex.
Model Name — the specific model identifier (e.g.
gpt-4o-mini,anthropic/claude-3.5-sonnet,llama-3.1-70b-versatile).Base URL — auto-filled from the provider's default. Override only if you use a proxy or a regional endpoint.
Max Completion Tokens — how many output tokens the model may produce per call. Leave blank for the platform default (4000). Raise for long-form generation; lower for cost control.
Custom Parameters (JSON) — advanced. Extra fields passed verbatim to OpenAI-compatible providers (OpenAI, Groq, OpenRouter). See §7.
Credential fields — whatever API key or service-account JSON the chosen provider needs. The fields change based on the provider.
Enabled — toggle on/off without deleting the row.
Save
Click Save. The dialog closes; the row shows up in the list.
Changes take effect within a minute. (The system caches routing decisions for performance; saving invalidates the cache.)
6. Providers at a glance
Provider | Best for | What you need |
OpenAI | GPT-4o, GPT-4.1, openai/gpt-5.4 | API key |
Azure OpenAI | Enterprise Azure deployments | API key, resource name, deployment name |
Groq | Fast, cost-effective Llama/GPT-OSS | API key |
OpenRouter | Access to many models via one account (Claude, Llama, GPT, etc.) | API key |
Google Gemini Studio | Gemini models with a simple API key | API key |
Google Gemini Vertex | Gemini models via GCP with service accounts | Project ID, region, service-account JSON |
The dialog shows only the credential fields your chosen provider needs. Secrets are encrypted at rest — nobody at wxrks can read them back.
7. Custom Parameters — for advanced users
Some providers accept extra options that aren't part of the OpenAI standard. The Custom Parameters field lets you pass them through as a raw JSON object. It's honoured for OpenAI, Groq, and OpenRouter. Azure and Gemini ignore it.
Use case: pick which upstream OpenRouter uses
OpenRouter fronts many providers. You can force it to only use one (say, Anthropic) by setting:
{
"provider": {
"only": ["anthropic"],
"allow_fallbacks": false,
"data_collection": "deny"
}
}
Use case: deterministic OpenAI
{
"seed": 42,
"response_format": { "type": "json_object" }
}
Rules
Must be a valid JSON object. The save button stays disabled until the content parses.
Strings use double quotes.
wxrks passes the object straight through to the provider. Anything the provider doesn't accept will come back as an error on the AI call.
8. Editing and removing rows
The list view lets you:
Edit — click the row name or pencil icon. The dialog opens pre-filled with the current values. The scope can't be changed on edit — if you need to change scope, delete and recreate.
Remove — click the trash icon, confirm.
Credential fields are left blank on edit. Leave them blank to keep the existing values; fill them in only to replace.
9. Troubleshooting
"I saved a row but the AI still seems to use the old model." The system caches routing decisions for up to 10 minutes, but saves trigger an immediate eviction. Give it up to a minute. If it persists, check the row is Enabled and the Operations/Scope match the call you're making.
"My custom parameters don't seem to do anything." They're only honoured for OpenAI, Groq, and OpenRouter. Azure and Gemini silently drop the field.
"The 'Save' button is greyed out." - For Org Unit scope, make sure you've picked a unit. - Required credential fields must all be filled (only on create; on edit you can leave them blank to keep existing values). - Custom Parameters must be valid JSON if used.
"Which org unit owns the row?" In the list view, the Scope column shows "Org Unit: name" for org-unit rows.
10. Quick reference
You want to… | Do this |
Use your own OpenAI key for all AI calls in your account | Add Settings → Scope Account → Operations empty → Provider OpenAI → fill API key. |
Use Claude for translations only | Add Settings → Scope Account → Operations CS Translation, Sous Chef → Provider OpenRouter → Model |
Test a different model for one org unit | Add Settings → Scope Org Unit → pick the unit → Operations as needed → Provider + key. |
Disable your setup temporarily without deleting | Edit the row → turn Enabled off → Save. |
Raise the output-length cap | Edit the row → Max Completion Tokens → set to e.g. |
Force OpenRouter to route through Anthropic only | Edit the row → Custom Parameters → |
11. Glossary
Model Setting (row): one configured provider/model for a specific scope and set of operations.
Scope: Account (everyone in your account) or Org Unit (one specific unit).
Operation: a specific AI feature (CS Translation, Proofreading, Smells, etc.).
Default row: a row with no operations picked — covers anything not otherwise targeted.
Provider: OpenAI / Azure / Groq / OpenRouter / Gemini Studio / Gemini Vertex.
Custom Parameters: advanced JSON forwarded to OpenAI-compatible providers.
Max Completion Tokens: per-row cap on how many tokens the model can output per call.


![Screenshare - 2026-05-07 5_50_02 PM.mp4 [video-to-gif output image]](https://downloads.intercomcdn.com/i/o/ugt38spf/2362208511/07e6674c42c4cce495be13e9f175/ezgif-28410674360b87d7.gif?expires=1779484500&signature=563cfe2dd883a85dbd1da71084e053c88416baef124ee636cdf661f731c0823c&req=diMhFMt%2BlYReWPMW1HO4zaEJfHfG2TvfvNSxihp7ftgbK9Y57mV30ltbQwJs%0AJappkt3vTV7RAqrajB0%3D%0A)
![Screenshare - 2026-05-07 6_24_00 PM.mp4 [video-to-gif output image]](https://downloads.intercomcdn.com/i/o/ugt38spf/2362317091/e3f615270691714966171ddfeb82/ezgif-2d9dbaea8e4c2b40.gif?expires=1779484500&signature=500350592a01f6f69886346381cb643f3f75162a9efb86899c4707ec77bd3326&req=diMhFMp%2FmoFWWPMW1HO4zfYYLqAoPUvaccJMEgzQA1xvaCe2bl8w%2FdXT3dUZ%0AWySTIJjp9X8LhWmXxNM%3D%0A)



