VowelMarks API

Build Persian reading support into your product.

Add source-preserving diacritics, readable Pinglish, Persian-to-English translation, and Persian speech through one developer interface.

Private developer access. Keys are issued manually.

Example request
POST /v1/diacritize
Authorization: Bearer vm_...

{
  "text": "کتاب جدید",
  "include_ezafe": true
}

// response
{
  "original": "کتاب جدید",
  "marked": "کِتابِ جَدید",
  "operations": [...]
}

One key, four capabilities

Use only the Persian support your product needs.

Text endpoints return structured evidence alongside their result. Speech is a separate audio endpoint, and translation remains separate from the reading-cue pipeline.

/v1/diacritize

Diacritization

Add Persian short vowels and optional Ezafe while keeping the submitted letters, punctuation, spacing, and ZWNJ intact.

  • Marked Persian
  • Source-indexed operations
  • Optional Ezafe evidence
1× submitted input characters; Ezafe included

/v1/pinglish

Pinglish

Turn Persian script into pronunciation-first Latin text using either a readable heritage style or a systematic style.

  • Readable or systematic output
  • Word alignment
  • Pronunciation warnings
1× submitted input characters

/v1/translate

Translation

Translate Persian into English as a separate result so products can preserve Persian as the primary reading surface.

  • Persian to English
  • Request ID parity
  • Separate source and result
2× submitted input characters

/v1/speech

Persian speech

Generate Persian audio with Basic and Premium voices while keeping delivery choices explicit in the request.

  • Custom voice presets
  • Custom performance direction
  • Pace and tone controls
Separate audio allowance

Built for Persian reading products

Give Persian text the reading support your users need.

Use one capability or combine them around the same source passage. VowelMarks keeps Persian script central while your product adds pronunciation, meaning, or audio.

Language learning & edtech

Add marked Persian, Pinglish, translation, and speech to lessons, exercises, and reading tools.

Publishing workflows

Prepare learner-readable Persian and pronunciation guides while retaining the submitted source text.

Speech & voice products

Pair contextual Persian reading cues with generated speech through the same developer interface.

Accessibility & reading tools

Offer layered pronunciation and meaning support without replacing the Persian reading surface.

One integration, layered output

Start with Persian. Return only the help your experience calls for.

A learning app can request marked Persian and Pinglish for a reading view, add English translation on demand, and offer speech from the same passage without combining the results into one opaque response.

Submitted Persianکتاب جدیدت را آماده کن.
Marked Persianکِتابِ جَدیدِت را آمادِه کُن.
Pinglishketaab-e jadidet raa aamaade kon.
EnglishPrepare your new book.
SpeechSeparate audio response

Persian reading accuracy

Measured results for the reading engine.

The latest evaluation covers pronunciation, Ezafe, and preservation of the original Persian text. Translation and speech are measured separately.

View accuracy and evaluation methods
96.1%

Pronunciation accuracy2,590 words across 300 Persian sentences

96.5%

Ezafe precision93.9% recall across 800 Persian sentences

100%

Source text preservedNo source text changes across 337,107 sentences

API pricing

Launch Persian reading features at a predictable cost.

Start with a free evaluation, then scale diacritization, Pinglish, and translation as your usage grows. Persian speech capacity is confirmed with your integration.

How text usage works

1×
Diacritization input character; Ezafe included
1×
Pinglish or pronunciation input character
2×
Persian-to-English translation input character
Audio
Speech allowance based on generated audio and voice tier

Each text endpoint is metered separately. Returned marks, metadata, Pinglish, and English output do not count.

Sandbox

$0one-time evaluation

For evaluating and testing an integration before choosing a plan.

Included
50,000 processed characters
Rate limit
10 requests / minute
Additional usage
Not available
Request access

Builder

$9per month

For prototypes, small learning tools, and low-volume production use.

Included
1 million processed characters / month
Rate limit
60 requests / minute
Additional usage
$8 per additional 1M processed characters
Request access

Scale

$79per month

For higher-volume platforms that need coordinated capacity planning.

Included
20 million processed characters / month
Rate limit
600 requests / minute
Additional usage
$4 per additional 1M processed characters
Request access

Additional usage

Need more than your included monthly allowance? Additional processed characters are available at the plan's listed rate. Extra usage is enabled only after confirmation, so you won't be charged automatically for exceeding your allowance.

Monthly processed-character allowances reset each billing cycle and do not roll over.

Need custom capacity or processing terms?

Tell us about monthly text volume, latency needs, regions, and support requirements.

Discuss your integration

Built for dependable integration

Clear contracts for text, usage, and support.

Source-preserving text

Diacritization returns added marks and source-indexed operations without replacing the submitted Persian letters.

Explicit output layers

Marked Persian, Pinglish, translation, and speech remain separate results, so your product controls when each appears.

Capacity confirmed with you

Keys, endpoint scope, speech allowance, and any additional usage are confirmed before access and charges are enabled.

API questions

Everything you need to know about the VowelMarks API.

Can I generate an API key now?

We issue private API keys after reviewing your use case, expected volume, and data requirements. Contact us to request API access.

Why bill by characters instead of requests?

A request might contain one word or several pages. Input-character billing makes those workloads comparable and prevents short requests from subsidizing unusually large ones.

What counts as a character?

The meter counts Unicode code points in the submitted input, including spaces and punctuation. Diacritization and Pinglish count input characters at 1×; translation counts them at 2×. Added diacritics, metadata, Pinglish output, and English translation output do not count.

Can one key use every endpoint?

Yes. One API key can be scoped to diacritization, Pinglish, translation, and speech. Processing the same text through multiple text endpoints is metered separately for each operation. Speech receives a separate audio allowance confirmed during manual access approval.

Are failed requests billed?

Our policy is to charge successful responses, not validation errors or VowelMarks service failures. Provider-attempt and retry details are confirmed in your access terms before activation.

Is there a production SLA?

Standard developer access is provided without guaranteed uptime SLAs. Enterprise contracts with uptime SLAs, dedicated capacity, or regional data residency are available upon request.

Start with a conversation

Tell us what you want Persian text to do.

Include your product, endpoints, expected text volume, and launch timing. We will reply with fit, capacity recommendations, and integration terms.

Contact support@vowelmarks.com