Arabizi converter

Tapra-Script

Arabizi ⇄ Arabic script, without eating your numbers.

Tapra-Script is a compact 34.5M-parameter character model trained on Tunisian Arabizi, served on CPU. It moves text between Latin-typed Darija and Arabic script in both directions, normalizes the phonetic digits that stand in for Arabic letters, and copies through everything it should not touch: prices, phone numbers, dates, URLs, emoji, and Latin words. It is the model behind the live Arabizi toggle in the Tapra playground.

  • 0.100 TND / 1k chars
  • ZI2AR + AR2ZI
  • digit-aware

POST /v1/converters/transliterate

ZI2AR input

3lech 7abit l9anoun?

Output

علاش حبيت القانون؟

Live output · 32 ms

Real output

Recorded from the live model.

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

The test line from the API reference. Every phonetic digit becomes its letter.

ZI2AR input

3lech 7abit l9anoun?

Output

علاش حبيت القانون؟

32 ms

What it does

Capabilities you can build on today.

01

Two directions, one model

direction: "ZI2AR" turns Arabizi into Arabic script. direction: "AR2ZI" turns it back. One set of weights handles both, so the two directions agree on spelling.

02

Digit-aware normalization

3 → ع, 5 → خ, 7 → ح, and 9 → ق are read as letters when they are letters — and left alone when they are a price, a phone number, or a date.

03

Token copy-through

Latin words, acronyms, punctuation, emoji, and URLs pass straight through instead of being guessed at as Arabic syllables.

04

Built for live editing

Requests up to 5,000 characters finish fast enough to run behind a keystroke, which is how the playground Arabizi toggle stays live.

Integrate

The contract, in one place.

Model id
tapra-script-v1
Endpoint
POST /v1/converters/transliterate
Directions
ZI2AR (Arabizi → Arabic), AR2ZI (Arabic → Arabizi)
Input limit
5,000 characters per request
Digits
3 5 7 9 normalized as letters; numeric spans preserved
Model
34.5M-parameter character model, one network for both directions
Throughput
32 – 83 ms per request on the examples below
Response
input, output, direction, processing_ms, usage
Convert live textts
const res = await fetch(baseUrl + '/v1/converters/transliterate', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer ' + apiKey,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    text: '5allast 20.500 DT, 3aychek',
    direction: 'ZI2AR'
  })
});

const { output } = await res.json();
// خلصت 20.500 DT, عيّشك

Comparison

How Tapra-Script differs.

Compared with rule-based Arabizi converters and phonetic transliterators.

Tapra-Script compared with a generic alternative
CapabilityTapra-ScriptGeneric alternative
Digits as letters3, 5, 7, 9 mapped with contextHard-coded character substitution, wrong on real numbers
Numbers, prices, phone numbersDetected and copied through untouchedRewritten into Arabic-Indic digits or split apart
Latin words inside DarijaCopied through as-isTransliterated into unreadable Arabic
Reverse directionOne model, both directionsUsually one-way, or a second lossy ruleset
PunctuationCommas and question marks mapped to Arabic formsLatin punctuation left inside Arabic text
Cost0.100 TND / 1k chars (≈ $0.033), $0.001 minimumBundled into an LLM call with token markups

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.100 TND / 1k chars

Bidirectional transliteration for the way Tunisians actually type: 3, 5, 7, and 9 are letters, but 20.500 DT and 07 12 34 56 are still numbers.

Rate
$0.033 per 1,000 characters
In bulk
$33.36 per 1M characters
In dinars
100.00 TND per 1M characters
Metered unit
characters (input length)
Minimum charge
$0.001 per request

Questions

What builders ask first.

Which digits does it normalize?

3 → ع, 7 → ح, 9 → ق, and 5 → خ when converting to Arabic script. In the reverse direction it writes them the same way, and uses 8 for غ as many Tunisians type it. Digits that belong to a price, a phone number, or a date stay digits.

Can I mix French and Darija?

Yes. French words are copied through untouched, so mixed messages stay readable in both directions.

Is it safe to run on every keystroke?

At 5,000 characters per request the model answers fast enough for debounced live editing. The playground does exactly that.