StructTranslate

Translate structured documents (JSON, XML, YAML)
while preserving format and structure

Use your known providers or try new AI models—without compromise

⚠️ A Few Things You Should Know

What StructTranslate Does

You have JSON. You need it in Spanish. You don't want it to break.
That's it. Structure preserved, keys untouched, values translated.

Your i18n files are a mess of {{placeholders}} and $t(keys).
We handle them. They don't get translated into garbage.

Translation is expensive, and you're stuck with one provider.
We support traditional providers (Google, DeepL, Azure) and the latest AI models—good quality, way cheaper. Switch anytime.

You need to know what it costs before you run it.
Every provider shows cost per million chars. No hidden fees, no surprises.

You're a developer. You want an API, not a dashboard.
Curl it. Script it. Automate it. Done.

curl -X POST https://structtranslate.moredevs.ai/v1/translate \ -H "Authorization: Bearer YOUR_KEY" \ -d '{ "source": "en-US", "target": "pt-PT", "provider": "gemini-2.0-flash-001", "content": { ... } }'

Current Status: Early Access

Everything's free for 30 days right now. We need real users to test this.

Available today:

We expect bugs. We need feedback. That's why it's free.

Want to test your integration without burning through translation credits (and/or helps not burning our account)? Use provider: "mock" - runs the full pipeline (parsing, format conversion, reconstruction) but skips the actual translation. Perfect for testing format conversions or pipeline integration without any translation costs.

Pricing (Launching Jan 2026)

Here's how pricing works:

Think of it like having different vehicles - some are fuel-efficient hybrids, others are gas-guzzling trucks. Same trip, different fuel costs.

We let you choose which vehicle to drive based on what you need:

We charge based on "consumed characters" = actual_chars × multiplier
This keeps our costs predictable while giving you freedom to choose.

Free Plan: 50K consumed chars/month (~1.4M actual with Gemini, ~42K with Google) • 1,000 requests/month • 10 requests/minute • 1 API key • Hard cap (no overage)

Starter

$19/month
  • 750K consumed chars/month
  • ~21M actual with Gemini
  • ~630K actual with Google
  • ~500K actual with DeepL
  • 150K requests/month
  • 120 requests/minute
  • 5 API keys
  • Overage: $28 per 1M consumed

Growth

$79/month
  • 4M consumed chars/month
  • ~112M actual with Gemini
  • ~3.3M actual with Google
  • ~2.6M actual with DeepL
  • 800K requests/month
  • 600 requests/minute
  • 20 API keys
  • Overage: $24 per 1M consumed

Professional

$299/month
  • 16M consumed chars/month
  • ~450M actual with Gemini
  • ~13.4M actual with Google
  • ~10.7M actual with DeepL
  • Unlimited requests/month
  • 6,000 requests/minute
  • 100 API keys
  • Overage: $20 per 1M consumed

Context for the math:
• Typical i18n file (en.json with 100-200 strings): ~5,000 chars
• Page of dense text: ~5,000 chars
• Medium JSON document (API response): ~50,000 chars

Free plan's 50K consumed = 10 i18n files with Google, or ~300 files with Gemini (0.035× multiplier).

These numbers will probably change based on what we learn from early users.

What We Need From You

Not just bug reports.

Tell us:

Be honest. We'd rather hear "this sucks because X" than "looks great!"

Found a bug or have an idea? Open a GitHub issue
Prefer email? Drop us a line: info@moredevs.ai

Why We Built This

We have a product that generates reports and stores them in JSON format. Reports are expensive to produce—lots of computation, API calls, data processing.

We noticed different clients were generating identical reports. So we re-architected everything to reuse common blocks. Works great, saves money.

Then clients started asking: "Can we get these reports in Portuguese? German? Japanese?"

Two options:

We chose Option B. Seemed simple.

It wasn't.

Complex JSON structures with nested objects. Only translate specific fields, preserve others. Handle arrays. Don't touch IDs, metadata, or keys.

What started as "just translate these fields" turned into an algorithm that kept growing. Edge cases everywhere. Different structures need different rules.

We also found that some blocks were fine with cheap AI providers (Gemini, GPT-3.5), while business-critical content needed traditional providers (DeepL, Google Translate).

We were tired of writing custom scripts that only grew more complex. So we built an API.

Questions? Bugs? Ideas?

info@moredevs.ai

Get Started