Connect your own AI engine for automatic post-editing (Context Sensitive) and quality evaluation (Smells)
Use this article when you want wxrks's AI steps to run on an engine of your own: an LLM account your company already has, a model you host, or a dedicated post-editing or quality-estimation service. By default, all operations use wxrks's own default models, but any operation can be routed to a different model, which overrides the wxrks model for that operation. This article explains which engines you connect yourself, which ones wxrks connects for you, and which AI operations you can reroute.
Who is this for? Account Admins. Custom AI engines are configured in Model Management, which requires the wxrks FUSION plan or higher.
Context Sensitive and Smells in industry terms
wxrks name | Industry term | What it does |
Automatic post-editing (APE) | Takes the machine translation (MT) output, translation memory (TM) matches, glossary terms and Sous Chef Instructions for a segment, and produces the final translation. | |
Automatic quality evaluation (AQE) | Uses an LLM to review each translated segment. It produces findings (each with a category and severity), and from them the segment's Confidence Score. |
How the Confidence Score is produced
The translation's Confidence Score is based on Smells, and Smells runs on an LLM. The model reads each source and target segment and reports the quality problems it finds, as findings with a category and a severity. wxrks then turns those findings into the score: a segment with no findings scores 100%, and otherwise the single most severe finding sets the score.
Most severe finding | Segment Confidence Score |
None, or Info | 100% |
Minor | 80% |
Major | 50% |
Critical | 30% |
Blocker | 0% |
ℹ️ Note: Because an LLM finds the problems and the score follows from them, whichever engine runs Smells determines the score. A different model can report different findings for the same segment, and so give a different score. The Overall Confidence of a work unit is the plain average of its segments' scores. For how to read the score in the Editor, see QA Confidence Score and Smells.
Two ways to connect an engine
Engines you connect yourself
Go to Settings > Account Settings > Model Management and click Add Custom Setting. The providers you can connect there are OpenAI, Azure OpenAI, Anthropic, Groq, OpenRouter, Cerebras, Google Gemini (Studio) and Google Gemini (Vertex AI). The full walkthrough is in Configure Custom AI Providers with Model Management.
Add Custom Setting (1) creates a row for your own engine. The Managed rows at Global scope (2) are wxrks's own default models. They come last in the order of precedence. If no other model is defined for an operation, wxrks uses its own model for it. If an operation is set to a different model, the model you chose overrides the wxrks model for that operation. The wxrks Default row, which has no operations, is the last-resort fallback.
What you enter depends on the provider:
Provider | What you enter | Good to know |
OpenAI, Groq, OpenRouter, Cerebras | API key, model name, Base URL | The Base URL can point to any OpenAI-compatible endpoint. |
Azure OpenAI | API key, resource name, deployment name | wxrks always connects to |
Google Gemini (Vertex AI) | Service account JSON, project ID, region | — |
Google Gemini (Studio), Anthropic | API key | These two ignore the Base URL, so you can't point them at a proxy or gateway. |
Your own LLM behind an OpenAI-compatible endpoint. This is the simplest way to use an engine of your own, and it needs no work from wxrks. An OpenAI, Groq, OpenRouter or Cerebras row can point its Base URL at any endpoint that speaks the OpenAI chat-completions format, such as a gateway in front of a model you host. The API key is sent as a bearer token. The endpoint must:
use HTTPS;
be reachable from the public internet. Hostnames such as
localhost,*.localor*.internal, and private, loopback or link-local IP addresses, are rejected when you save.
Engines wxrks connects for you
Any provider or protocol outside the self-service list is connected by the wxrks team in the back-end.
To request a connection, contact your Account Manager. Say that you want to connect a custom AI engine, and send the items listed below.
Depending on the complexity of the implementation, wxrks will submit a quote for your approval before the work starts. Once the scope is agreed, implementation takes about 1 week.
💡 Tip: Check first whether you need a back-end connection at all. If your engine accepts the OpenAI chat-completions format with a bearer API key, connect it yourself, as described above.
What wxrks needs is different from a custom MT engine. wxrks talks to every LLM in the same way: it sends its own prompts in chat format and reads the model's reply. So wxrks needs to know how your service behaves in that exchange, not only where it is:
Item | What to include |
Compatibility | Whether the service accepts the OpenAI chat-completions format, and whether it supports streaming ( |
Endpoint | The base URL, over HTTPS and reachable from the public internet. One per environment if you run separate test and production endpoints. |
Credentials | An API key, sent as a bearer token, plus any provider-specific values from the table above. |
Models | The exact model names, and which operations (for example CS Translation) each model should serve. |
Structured output | For each model, whether it supports JSON schema responses or only plain JSON mode. wxrks asks for structured answers and falls back to JSON mode where a model can't do schemas. |
Reasoning | For each model, whether it reasons, which reasoning effort values it accepts, and whether reasoning can be turned off. |
Test access | A test key or test environment, so wxrks can run its connection test before the engine takes production traffic. |
What wxrks does. The wxrks team adds your provider to the list of supported providers, builds the connection to it, adds the credential checks and usage tracking, and then makes it available in Model Management.
ℹ️ Note: wxrks connects to an engine with an API key over a public HTTPS endpoint. wxrks handles every AI operation as a chat exchange, so a service that is not chat-based, for example one that takes a segment in and returns a post-edited segment, needs a new adapter built by wxrks. If your engine needs a different authentication method or a private network connection, say so when you make the request. wxrks evaluates these case by case.
Scope: where your engine applies
Each Model Management row has a scope and a set of operations:
Scope — your whole Account, or one Org Unit (Organizational Unit). There's no Organization-level scope.
Operations — which AI operations the row covers. Leave it empty to make the row the default for every operation not covered by another row at the same scope.
For each call, wxrks uses the most specific row: an Org Unit row for the exact operation, then the Org Unit default row, then an Account row for the exact operation, then the Account default row, then the wxrks default models.
Operations you can route to your engine
These are the values in the Operations field. Any of them can be routed to your engine, and a row of yours overrides the wxrks model for that operation.
Area | Operations |
Translation (APE) | CS Translation |
Quality evaluation (AQE) | Smells, QA Smells, Fix Smells |
Editing assists | Suggestion, Proofreading, Proof Detect, Free Flow Edit, Fix Tags, Add Missing Tags, Spell Check |
Review | Assess Review, Diff Analysis |
Terminology | Term Extraction, Glossary Term Inflection, Part of Speech |
Context and agents | Sous Chef, Sous Chef Context, Infer Translation Context, Text Analysis, Detect Language |
Other | Alignment, Message Feed, Project Feed, Web Preview |
What each quality operation covers:
Smells — the Smells check a linguist runs in the Editor.
QA Smells — the batch review that produces Confidence Scores, including the score used by Auto-Confirming Segments by Confidence Score.
Fix Smells — the automatic fix of a finding.
ℹ️ Note: The Confidence Score comes from Smells. If you route QA Smells to your own engine, your engine scores the translations. If you route CS Translation but not QA Smells, your engine writes the translation and the wxrks model scores it.
Running on customer engines only
There's no switch that turns off the wxrks models for an account. To get as close as possible:
Create an Account row with Operations left empty, pointing at your engine. This becomes the default for every operation you don't cover more specifically, so nothing reaches the wxrks default models.
Add Org Unit rows only where a unit needs a different engine.
Check the Usage column on Model Management to confirm your rows are the ones taking the calls.
⚠️ Warning: A row that can't be used — because it's disabled, or its configuration is incomplete — is skipped without any message, and the call falls through to the next rule, eventually the wxrks default models. Keep your rows Enabled, and check the Usage column to confirm your row is the one taking traffic.
ℹ️ Note: If your engine errors or times out during a call, wxrks does not retry the call on its own models: the action fails and the error is shown. For CS Translation, a row can list fallback models that are tried on the same provider when the primary model is rate-limited or unavailable.
Test the connection before production use
Providers you connect yourself. The credentials of an AI provider are tested when you save the row in Model Management:
When you click Save, wxrks sends your engine a short test request first. There is no separate test button: the test runs every time you save. If it fails, the row isn't saved and you see Could not validate followed by the provider, model and the provider's error message. This catches wrong keys, model names and endpoints before anything goes live.
The test only confirms that the credentials, the model and the endpoint work. It doesn't judge the quality of the output. So scope the new row to a test Org Unit first, and run a pilot project there. Open a segment in the Editor and run Context Sensitive Translate to see your engine's output.
Check the Usage column on Model Management to confirm the calls reached your row, then change the scope with Copy. Scope can't be edited on an existing row.
A new provider that wxrks connects for you. The wxrks QA team tests the connection in the DevOps environment before it goes live, using the test key or test environment you sent (see the table above).
Request a change
Model, credentials, scope or operations of a self-service row: change them yourself in Model Management. Changes take effect within about a minute.
To change an engine that wxrks connected for you, such as its endpoint, authentication, models or credentials, contact wxrks Support.
A bug in the connection: Support handles it according to the response times of your support plan. See wxrks Support - SLA and Request form.
An improvement or a new capability: wxrks evaluates the complexity and the cost, if any, and gives you a timeline.
Related articles
Configure Custom AI Providers with Model Management — the full Model Management walkthrough.
QA Confidence Score and Smells — how the Smells review produces the Confidence Score.
Connect your own MT engine (bring-your-own MT) — the equivalent for machine translation engines.
Auto-Confirming Segments by Confidence Score — the quality gate that uses QA Smells.

