Vernacular translation

Tapra-Translate

Derja in, real meaning out — in both directions.

Tapra-Translate is built on Hy-MT2 with Tunisian adapters. It translates Derja, including the French and English words mixed into it, into French, English, MSA, and 38 other languages — and back again, so an English reply lands as something a Tunisian would actually say. Streaming NDJSON deltas make it usable inside live chat and dubbing pipelines.

  • 0.150 TND / 1k chars
  • Derja ↔ 38 langs
  • streaming NDJSON

POST /v1/translations

Input · target: French

عندي برشا خدمة اليوم، نكلمك بعد ال réunion.

French

J’ai beaucoup de travail aujourd’hui, je vous appellerai après la réunion.

Live output · hops: 2

Real output

Recorded from the live model.

Every output on this page came from tapra-translate-v1 on 8 October 2026 and is shown unedited, mistakes included. Each live response also carries its exact charge in x-tapra-cost-tnd.

A Derja sentence with a French loan word. The model reads réunion as part of the sentence, not as noise.

Input · target: French

عندي برشا خدمة اليوم، نكلمك بعد ال réunion.

French

J’ai beaucoup de travail aujourd’hui, je vous appellerai après la réunion.

hops: 2

The French target goes through an internal English hop. Only the final French is returned, and here it picked the formal vous.

What it does

Capabilities you can build on today.

01

Derja is the source language

Set target: "Derja" to translate English into what people in Tunis actually say, instead of a stilted MSA gloss that nobody speaks.

02

Three directions

forward translates Derja into the target. reverse takes French, English, or MSA into Derja. base handles English ↔ another Hy-MT2 language.

03

Intermediate hops never leak

The pipeline may route through English internally, but that English step is never returned to you — only the final target text.

04

Stream while it thinks

The default response is NDJSON: status, then delta frames, then done. That is what powers live dubbing and chat replies as they are written.

Integrate

The contract, in one place.

Model id
tapra-translate-v1
Endpoint
POST /v1/translations
Directions
forward | reverse | base
Input limit
2,000 characters per request
Targets
Language label, Hy-MT2 name, or ISO code
Generation cap
max_new_tokens 32 – 512, default 256
Streaming
NDJSON (status, delta, done), or stream: false for one object
Arabic caveat
target "Arabic" is MSA — use "Derja" for vernacular
Stream a translationpy
import json, requests

res = requests.post(
    f"{BASE_URL}/v1/translations",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={
        "model": "tapra-translate-v1",
        "input": "عندي برشا خدمة اليوم، نكلمك بعد ال réunion.",
        "target": "French",
        "stream": True,
    },
    stream=True,
)
for line in res.iter_lines(decode_unicode=True):
    if line:
        event = json.loads(line)
        if event.get("delta"):
            print(event["delta"], end="")

Comparison

How Tapra-Translate differs.

Compared with general-purpose MT APIs, which route Derja through MSA or English and lose the vernacular on the way.

Tapra-Translate compared with a generic alternative
CapabilityTapra-TranslateGeneric alternative
Tunisian Derja as a languageFirst-class source and targetNot in the language list; falls back to Arabic or MSA
Derja round tripsMeaning kept, phrasing stays localDouble pivot through English flattens idioms
Code-switched inputDerja with French or English words in the same lineMixed-language input confuses source detection
Output streamingNDJSON deltas in the default responseFull-string responses only
Pivot transparencyIntermediate English is never returnedPivots are invisible and quietly change tone
Cost0.150 TND / 1k chars (≈ $0.050), $0.001 minimumPer-token pricing that grows with prompt scaffolding

Pricing

Metered, never subscribed.

You pay for exactly what you send. The same prepaid balance covers all five Tapra models, billed in TND.

Headline rate

0.150 TND / 1k chars

Translation that treats Tunisian as a language, not as broken Arabic: French, English, and MSA without ironing out the local phrasing.

Rate
$0.050 per 1,000 characters
In bulk
$50.04 per 1M characters
In dinars
150.00 TND per 1M characters
Metered unit
characters (input length)
Minimum charge
$0.001 per request

Questions

What builders ask first.

Why not translate into "Arabic"?

In the API, "Arabic" means Modern Standard Arabic. Ask for target: "Derja" when you want the vernacular, and the model writes Tunisian phrasing instead of MSA.

Can I send Arabizi input?

It is accepted in the forward direction, but quality is best on Arabic script. Run Arabizi through Tapra-Script (ZI2AR) first; it costs 0.100 TND / 1k chars and takes tens of milliseconds.

How do I get one JSON object instead of a stream?

Set stream: false. You get the same fields — translation, target, target_code, hops, processing_ms, usage — in a single response.