← back to lingorelay
lingorelay · by YagnoTech

LLM-quality translation you only pay for once.

Content-hash caching means every repeat translation is instant and free — perfect for menus, catalogs, product feeds and CMS content that changes rarely but is read in every language, constantly.

Open dashboard → Sign up, manage projects & glossaries, try translations live — no curl required.

How it works

Every string is hashed as sha256(sourceText | targetLang | glossaryVersion). The first request hits Claude (Haiku) and is metered; every identical request after that is served from your project cache — 0 provider calls, 0 metered characters. Edit your glossary and the version bump naturally re-translates only what you ask for next.

First call in 60 seconds

# 1. sign up (14-day free trial, no card)
curl -s -X POST http://localhost:5104/api/auth/signup \
  -H 'content-type: application/json' \
  -d '{"email":"you@company.com","password":"a-strong-password"}'

# 2. mint an API key (returned once)
curl -s -X POST http://localhost:5104/api/keys \
  -H "Authorization: Bearer $TOKEN" -H 'content-type: application/json' -d '{"name":"prod"}'

# 3. create a project + translate
curl -s -X POST http://localhost:5104/v1/projects \
  -H "Authorization: Bearer $API_KEY" -H 'content-type: application/json' -d '{"name":"Menu"}'
curl -s -X POST http://localhost:5104/v1/translate \
  -H "Authorization: Bearer $API_KEY" -H 'content-type: application/json' \
  -d '{"projectId":"'$PROJECT'","targetLang":"fr","items":[{"id":"1","text":"Grilled salmon with lemon butter"}]}'
# → run it again: "cached": true, "charsTranslated": 0

API reference

EndpointAuthWhat it does
POST /api/auth/signup · /loginCreate an account / get a dashboard JWT
GET /api/auth/meJWTCurrent account
POST · GET · DELETE /api/keysJWTMint, list (masked), revoke API keys
GET /api/usageJWTThis month's metered characters vs plan limit
POST /api/billing/checkout · /portalJWTSubscribe / manage billing (Stripe or simulated)
POST · GET · PUT · DELETE /v1/projectsAPI keyProjects with source language + glossary
POST /v1/translateAPI keyTranslate up to 100 items — cache first, provider for misses only
POST /v1/detectAPI keyDetect the language of a text (free)
GET /v1/projects/:id/entriesAPI keyInspect cached translations + hit counts
DELETE /v1/projects/:id/cacheAPI keyInvalidate the cache (optionally per language)
GET /api/healthService + database status

Pricing (CAD / month)

Trial

$0 14 days

  • 200k chars/mo
  • All features
  • No card required

Starter

$29

  • 200k chars/mo
  • Unlimited cached reads
  • Glossaries included

Growth

$79

  • 1M chars/mo
  • Unlimited cached reads
  • Priority support

Scale

$199

  • 5M chars/mo
  • Unlimited cached reads
  • Volume glossaries

Only characters translated by the LLM are metered. Cache hits are free on every plan — that's the point.