Skip to main content

Connect your own MT engine (bring-your-own MT)

Which MT engines you connect yourself, how wxrks connects any other engine, and how it behaves once live.

Use this article when you want wxrks to translate with a machine translation (MT) engine of your own: a commercial engine your company already pays for, or a proprietary engine you trained or host. It explains which engines you connect yourself, how wxrks connects any other engine for you, and how a connected engine behaves once it's live.

Who is this for? Account Admins. Connecting and applying MT configurations requires the Account Admin role.

Two ways to connect an engine

Your engine

Who connects it

Where

Amazon Translate, Google Cloud Translation, Microsoft Azure Translator, DeepL API, Google AutoML, ODIN, TransPerfect or Intento

You

Settings > Translation Settings > MT (the MT Settings page) — see Connect a Machine Translation (MT) Provider to wxrks

Any other engine, including one your company built or hosts

wxrks, in the back-end

MT Settings page with a red box around the MT Settings by default list, where the built-in wxrks (Powered by Microsoft) engine is the selected default and your own configurations appear once added.

💡 Tip: Check the self-service list before requesting a back-end connection. Some "proprietary" engines are already covered by it:

  • A custom model trained in Microsoft Azure Custom Translator connects through the microsoft provider. Add your Custom Translator category to the credentials JSON. Add "fallback": false if Azure should never fall back to its general model when the category can't serve a language pair.

  • A model trained in Google AutoML connects through the automl provider, with its model path.

  • An engine you already reach through Intento connects through the intento provider.

Request a connection for any other engine

A custom MT engine is connected the same way wxrks added providers such as Intento or Azure Translator: the wxrks team builds a new provider integration for your engine in the back-end. There is no generic "custom endpoint" MT setting in the product.

To request a connection, contact your Account Manager. Say that you want to connect a custom MT 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.

What you supply

wxrks needs the following to start. It can't start the connection without the first three.

Item

What to include

Endpoint URL

The base URL wxrks calls to translate, over HTTPS and reachable from the public internet. Send one per environment if you run separate test and production endpoints.

API specification

The request and response format, with example requests and responses: how source text, source language and target language are sent, and how the translation comes back. Also include how your engine names languages compared with the language codes in wxrks, its limits on text size, request rate and timeout, and its error responses. An OpenAPI file is ideal.

Authentication

An API key or custom headers, sent over HTTPS, and the credentials.

Test access

Credentials for a test environment of your engine, so the connection can be tried before it takes production traffic.

ℹ️ Note: An API key or custom headers over a public HTTPS endpoint is the standard setup. 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.

What wxrks configures

  • The connection — a new provider integration that calls your endpoint with your credentials, in the same way as the providers already in the list.

  • The mapping — how wxrks's translate calls, language codes and text segments translate into your API's requests, and how your responses map back to target segments.

  • Availability — once available, your engine is listed with the other providers in the Provider list on the MT Settings page, and you use it by saving a configuration with your credentials, like any other provider.

How the engine behaves once connected

A connected engine behaves like any other MT configuration. Apply it at the Account, Organization or Organizational Unit level, as that level's default or for a specific language pair, exactly as described in Applying a configuration at the Account, Organization, or Org Unit level.

When wxrks picks the MT configuration for a segment, it checks every language-pair setting first, then every default:

  1. A language-pair setting on the Organizational Unit.

  2. A language-pair setting on the Organization.

  3. A language-pair setting on the Account.

  4. The Organizational Unit's default configuration.

  5. The Organization's default configuration.

  6. The Account's default configuration.

  7. If none is set, the built-in wxrks (Powered by Microsoft) engine.

A language-pair setting counts only while it's active.

Example. Your Account default is your own engine. The "Acme Legal" Organizational Unit has a language-pair setting that sends en-US → de-DE to DeepL. A project in Acme Legal:

  • en-US → de-DE uses DeepL (step 1).

  • en-US → fr-FR uses your engine: no language-pair setting matches, and Acme Legal has no default of its own (step 6).

⚠️ Warning: A language-pair setting at any level beats a default at every level. If you set a new default on an Organizational Unit but an Account-level language-pair setting exists for the same pair, the Account's language-pair setting still wins for that pair. This is the most common reason an engine "isn't being used".

When the engine is unavailable

wxrks does not switch to another engine when the engine it picked fails. What you see depends on where MT was called:

Where MT was called

What happens if your engine errors or times out

Project pre-translation (Auto Translate From > Machine Translation)

The job finishes with the status Completed with warning. Segments that needed MT stay untranslated, ready for a linguist or a re-run.

Context Sensitive translation and Sous Chef

They carry on without MT input and still produce a translation from the translation memory (TM), glossary and instructions.

MT requested directly on a segment in the Editor

The request fails and returns an error.

Running with no fallback

To make sure no text is ever sent to the built-in engine, make your engine the Account default. Every lookup then ends at your engine (step 6) instead of reaching the built-in engine (step 7). Since a failing engine is never replaced by another one, that's all it takes.

ℹ️ Note: There are two narrow exceptions where the built-in engine can still be used:

  • If wxrks can't read the MT configuration itself (for example, the configuration record is damaged), it falls back to the built-in engine for that call.

  • If the configuration picked for a Polish (pl-PL) target uses the Google provider, wxrks uses the built-in engine instead.

Test the connection before production use

  1. On the MT Settings page (Settings > Translation Settings > MT), click the refresh icon on your engine's row to open Test credentials.

  2. Pick a source and target language, type a short sample in Type to test, and run it. A good connection returns the translation and Credentials tested successfully!. A failure returns Credentials test failed with the reason: Language pair not supported., Invalid or expired credentials., or Unexpected error while testing the credential.

  3. Run a pilot project in a test Organizational Unit before you set the engine as your Account default. Apply the engine to that unit only and review the output in the Editor.

ℹ️ Note: wxrks also checks the credentials when you save the configuration, by translating a short sample from English to Portuguese (Brazil). If your engine doesn't support that pair, the save shows a credentials warning even though the engine works. The configuration is still saved, so use Test credentials with a pair your engine supports.

Request a change

To change an engine that wxrks connected for you, such as its endpoint, API version, authentication 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.

To change where the engine is used (default, language pairs, level), you don't need wxrks: update the configuration yourself on the MT tab of the Account, Organization or Organizational Unit.

Related articles

Did this answer your question?