Keep your existing translation vendor and reduce repeat translation spend using persistent caching.
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.
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.
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.
Vendor payload limits create brittle client logic. The proxy accepts large requests, chunks them safely, and reassembles results transparently.
Applications call one stable endpoint while the proxy handles routing and engine selection underneath.
Flout mirrors vendor request and response formats so you can add caching and routing without breaking your existing integration shape.
Vendor credentials spread across systems increase risk and management overhead. Flout centralizes authorization at the proxy layer.
Oversized or malformed payloads can cause runaway cost or failure conditions. The proxy enforces a hard cap and fails fast.
Base URL:
https://cacheproxy.flouttranslate.com
Single endpoint replacing vendor-specific routes. Request and response formats remain identical to the original vendor APIs.
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 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.
POST https://cacheproxy.flouttranslate.com
Content-Type: application/json x-flout-key: YOUR_FLOUT_CUSTOMER_KEY engine: gv2 x-goog-api-key: YOUR_GOOGLE_API_KEY
{
"q": ["Text one", "Text two"],
"target": "de",
"source": "en"
}
{
"data": {
"translations": [
{ "translatedText": "Text eins" },
{ "translatedText": "Text zwei" }
]
}
}
POST https://cacheproxy.flouttranslate.com?to=de&from=en
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
[
{ "Text": "Text one" },
{ "Text": "Text two" }
]
[
{
"translations": [
{ "text": "Text eins", "to": "de" }
]
},
{
"translations": [
{ "text": "Text zwei", "to": "de" }
]
}
]
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"
}'
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?" }
]'
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);
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);
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.