Skip to content

HASYAM FOR DEVELOPERS · PRIVATE PREVIEW

Your script.
Your model.
A local-language layer.

Prepare how the words should be said before asking a video model to perform them. Keep your original captions, supply your own pronunciations and see the choices that need review.

This is a vocabulary-and-rules API preview. It prepares text; your chosen provider generates the audio or video. It has not been benchmarked for audio accuracy against other models.

ONE REQUEST BEFORE YOUR RENDER

Start with the words.

Ask for a private pilot key at sachin@getconvi.com. Use it from your server, never in a public webpage or mobile app binary.

BASE URLhttps://hasyam-api.sachinuppal.workers.dev

Prepare a line

Set HASYAM_API_URL to the base URL and HASYAM_API_KEY to your pilot key.

curl "$HASYAM_API_URL/v1/prepare" \
  -H "Authorization: Bearer $HASYAM_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
    "text": "Bhai, main client ko bola ki lunch pe milte hain.",
    "language": "hinglish"
  }'

Review the prepared text

Response excerpt. The full reply also contains tokens, review flags, alternatives, limitations and a request ID.

{
  "engine": "hasyam-dictionary-preview-1",
  "language": "hinglish",
  "original": "Bhai, main client ko bola ki lunch pe milte hain.",
  "captions": "Bhai, main client ko bola ki lunch pe milte hain.",
  "spoken": "भाई, मैं client को बोला कि lunch पे मिलते हैं."
}

Use spoken as dialogue for your chosen model and captions as the original writing. Check flagged words before rendering and listen to the result afterwards. The pronunciation-only preview does not call a model provider for you.

THE PREVIEW CONTRACT

Small input.
Inspectable output.

Eight language choices.

english · hinglish · hindi · telugu · tamil · kannada · marathi · punjabi

Choose the language explicitly. English and native-script text are preserved. This endpoint does not translate between languages.

Your vocabulary, per request.

Add up to 50 pronunciation choices, matched as complete words or phrases, with the longest match first. preserve keeps up to 50 individual words as written.

"pronunciations": [
  {"written": "Rajajinagar", "spoken": "Raja ji nagar"}
],
"preserve": ["Acme"]

These options are sent alongside text and language. They apply only to that request; keep reusable vocabularies in your own application.

Reviewable choices.

Each word token includes written, spoken, its kind, a review flag and up to three alternatives. start and end are UTF-16 offsets in the original string.

reviewCount counts flagged tokens. Unknown spellings and numbers remain unchanged. A clear review flag is not a promise of correct generated speech.

Clear limits.

Up to 8,000 UTF-16 code units of text, within a 64 KiB JSON body. Pronunciation keys can contain up to 80 characters, and spoken forms up to 120.

A target of 20 authenticated requests per minute per key per Cloudflare location. Cloudflare’s distributed counter is approximate and can allow brief bursts above that target; it is not a global billing quota. No self-service billing or business SLA.

Endpoints
RequestWhat it returnsAccess
GET /healthService and engine metadataPublic
GET /v1/languagesSupported choices and limitsBearer key
POST /v1/preparePrepared dialogue and review informationBearer key

Use JSON with Content-Type: application/json. Put credentials in the Authorization header, scripts in the body, and nothing in URL query parameters. Compressed request bodies and unrecognised fields are refused.

Error handling

Errors return {"error":{"code":"…","message":"…"},"requestId":"…"}. HTTP 400 means invalid input; 401 means a missing or invalid key; 404 or 405 means the route or method is wrong; 413 means the body is too large; 415 means unsupported content type or encoding; 429 means the preview throttle; 503 means the service is unavailable.

If your HTTP client receives a Cloudflare 403 instead of JSON, use a descriptive User-Agent such as YourProduct/1.0 and contact us if it persists. Do not send the API key to an alternative host.

For 429, respect the Retry-After: 60 header. For 503, retry later with backoff. Never put your key or private script in a support message; send the request ID and error code instead.

KNOW WHERE YOUR WORDS GO

On device in the app.
On Cloudflare in this API.

Request-time processing.

The pronunciation-only preview sends your script, language and pronunciation choices to our separate Cloudflare service. Its code does not save request bodies or replies, train on them, or forward them to external model providers. Responses ask clients and caches not to store them.

Application request logging is disabled. Cloudflare can still process operational and security metadata. Pilot enquiries remain in our support inbox until removed on request.

A focused first release.

This preview uses the app’s existing dictionaries and context rules. It does not yet include every native-app pronunciation feature: automatic language detection, fallback transliteration, number spell-out and consonant checks are outside this release.

Quality varies by language and script. Review uncertain words and your generated audio. Read the privacy details and data provenance and third-party notices.

ACCOUNT-BASED DEVELOPER BETA · IN DEVELOPMENT

Clear prices.
Control before every render.

We’re building account-owned keys, prepaid budgets and verified short-video generation. The beta is not accepting live video requests yet. The pronunciation preview above continues under its current pilot terms.

Planned developer beta pricing · INR, before applicable tax
Output15 seconds30 seconds
480p portrait video₹399₹699
720p portrait video₹799₹1,499

Quote, review, then create.

Each accepted quote fixes the maximum charge. A verified adult presenter and an approved reference clip are required. Each regeneration is a new request and charge. API prices do not include human editing.

A separate developer account.

Preparation: ₹1 per successful request. Initial prepaid funding: ₹10,000. Sandbox credits are simulated. API funds are separate from App Store purchases and Studio service packages.

Live access will open after provider capacity, language-quality, sign-in, media provenance and security checks. No production availability or delivery SLA is promised during development.

Join the developer beta list

BUILD WITH US

Bring your hardest names.
And your most local lines.

We’re looking for agencies and product teams willing to test real workflows and review the output with native speakers. Tell us your languages, video provider and expected volume.

Request a pilot key