Flout Translation Proxy API

Keep your existing translation vendor and reduce repeat translation spend using persistent caching.


Translation Cost Control

Keep Your Existing Translation Vendor.
Spend Less Every Time Text Repeats.

Most translation workloads contain repeated strings, repeated pages, repeated products, repeated UI labels, and repeated content fragments. Vendor APIs usually bill those repeats again. Flout intercepts them, serves cached translations first, and turns repeat traffic into cost savings.

Core Economic Benefit

The more your content repeats, the more the proxy can save.

This is not just middleware. It is a cost-reduction layer in front of Google or Microsoft Translate. Your app keeps the same vendor request format, but repeat translations can be served from Flout cache instead of being billed again by the vendor.

Without proxy Repeated strings go back to the vendor again and again. You keep paying for duplicates.
With Flout proxy Known strings are returned from persistent cache first, reducing vendor calls, latency, and repeat spend.
1

Turn Repeated Translation Traffic Into Savings

Translation vendors usually charge for the same text every time it is submitted. Flout adds persistent per-customer caching, so repeated strings can be served from cache instead of triggering another paid vendor request.

2

Automatic Vendor Limit Handling

Vendor payload limits create brittle client logic. The proxy accepts large requests, chunks them safely, and reassembles results transparently.

3

Stable Endpoint Architecture

Applications call one stable endpoint while the proxy handles routing and engine selection underneath.

4

Transparent Vendor Parity

Flout mirrors vendor request and response formats so you can add caching and routing without breaking your existing integration shape.

5

Centralized Authorization

Vendor credentials spread across systems increase risk and management overhead. Flout centralizes authorization at the proxy layer.

6

Hard Safety Guardrails

Oversized or malformed payloads can cause runaway cost or failure conditions. The proxy enforces a hard cap and fails fast.


Technical Specifications


Base URL:

https://cacheproxy.flouttranslate.com

Single endpoint replacing vendor-specific routes. Request and response formats remain identical to the original vendor APIs.

Authentication

Required header:

x-flout-key: YOUR_FLOUT_CUSTOMER_KEY

This header is required for authorization and cache scoping. The proxy does not read customer keys from query parameters.


Engine Selection

Engine values are internal identifiers (example: gv2, mv3) and may evolve over time. Use values documented here.

Vendor is selected using the engine request header.

engine: gv2   → Google Translate
engine: mv3   → Microsoft Translator

The engine replaces vendor-specific routes. All other request structure remains identical to the vendor API.


Google Translate (via Proxy)

Endpoint

POST https://cacheproxy.flouttranslate.com

Headers

Content-Type: application/json
x-flout-key: YOUR_FLOUT_CUSTOMER_KEY
engine: gv2
x-goog-api-key: YOUR_GOOGLE_API_KEY

Body (identical to Google API)

{
  "q": ["Text one", "Text two"],
  "target": "de",
  "source": "en"
}

Response (identical to Google API)

{
  "data": {
    "translations": [
      { "translatedText": "Text eins" },
      { "translatedText": "Text zwei" }
    ]
  }
}

Microsoft Translator (via Proxy)

Endpoint

POST https://cacheproxy.flouttranslate.com?to=de&from=en

Headers

Content-Type: application/json
x-flout-key: YOUR_FLOUT_CUSTOMER_KEY
engine: mv3
Ocp-Apim-Subscription-Key: YOUR_MICROSOFT_KEY
Ocp-Apim-Subscription-Region: YOUR_REGION

Body (identical to Microsoft API)

[
  { "Text": "Text one" },
  { "Text": "Text two" }
]

Response (identical to Microsoft API)

[
  {
    "translations": [
      { "text": "Text eins", "to": "de" }
    ]
  },
  {
    "translations": [
      { "text": "Text zwei", "to": "de" }
    ]
  }
]

cURL Examples

Google (engine: gv2)

curl -X POST "https://cacheproxy.flouttranslate.com" \
  -H "Content-Type: application/json" \
  -H "x-flout-key: YOUR_KEY" \
  -H "engine: gv2" \
  -H "x-goog-api-key: YOUR_GOOGLE_API_KEY" \
  --data '{
    "q": ["Hello world", "How are you?"],
    "target": "de",
    "source": "en"
  }'

Microsoft (engine: mv3)

curl -X POST "https://cacheproxy.flouttranslate.com?to=de&from=en" \
  -H "Content-Type: application/json" \
  -H "x-flout-key: YOUR_KEY" \
  -H "engine: mv3" \
  -H "Ocp-Apim-Subscription-Key: YOUR_MICROSOFT_KEY" \
  -H "Ocp-Apim-Subscription-Region: YOUR_REGION" \
  --data '[
    { "Text": "Hello world" },
    { "Text": "How are you?" }
  ]'

JavaScript Examples

Google (engine: gv2)

const response = await fetch(
  "https://cacheproxy.flouttranslate.com",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "x-flout-key": "YOUR_KEY",
      "engine": "gv2",
      "x-goog-api-key": "YOUR_GOOGLE_API_KEY"
    },
    body: JSON.stringify({
      q: ["Hello world", "How are you?"],
      target: "de",
      source: "en"
    })
  }
);

const data = await response.json();
console.log(data);

Microsoft (engine: mv3)

const response = await fetch(
  "https://cacheproxy.flouttranslate.com?to=de&from=en",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "x-flout-key": "YOUR_KEY",
      "engine": "mv3",
      "Ocp-Apim-Subscription-Key": "YOUR_MICROSOFT_KEY",
      "Ocp-Apim-Subscription-Region": "YOUR_REGION"
    },
    body: JSON.stringify([
      { Text: "Hello world" },
      { Text: "How are you?" }
    ])
  }
);

const data = await response.json();
console.log(data);

Legal Notice

By providing API credentials to Flout Translate, you authorize Flout Translate to act as your agent for submitting translation requests to third-party translation providers on your behalf.

Flout Translate performs orchestration, caching, batching, and cost optimisation. Vendor services remain the property of their respective owners.