sarvamai

translate

Translate text between English and Indian languages using Sarvam AI's Mayura model. Use when the user needs to translate content, localize applications, or convert text between Hindi, Tamil, Bengali, Telugu, and 7 other Indian languages. Supports bidirectional translation, script control, and code-mixed text.

sarvamai 62 8 Updated 3mo ago

Resources

1
GitHub

Install

npx skillscat add sarvamai/skills/translate

Install via the SkillsCat registry.

SKILL.md

Translation with Mayura

Mayura is Sarvam AI's translation model optimized for Indian languages with support for script variations, numeral formats, and code-mixed text.

Installation

pip install sarvamai

Quick Start

from sarvamai import SarvamAI

client = SarvamAI()

response = client.translate.translate(
    input="Hello, how are you?",
    source_language_code="en-IN",
    target_language_code="hi-IN",
    model="mayura:v1"
)

print(response.translated_text)  # "नमस्ते, आप कैसे हैं?"

Supported Languages

Code Language Code Language
hi-IN Hindi ta-IN Tamil
bn-IN Bengali te-IN Telugu
kn-IN Kannada ml-IN Malayalam
mr-IN Marathi gu-IN Gujarati
pa-IN Punjabi or-IN Odia
en-IN English auto Auto-detect

Translation Directions

  • English → Indian Language: Translate English to any supported Indian language
  • Indian Language → English: Translate any Indian language to English
  • Indian → Indian: Translate between Indian languages (via English pivot)

Translation Modes

Formal Translation

response = client.translate.translate(
    input="Please submit the report by Friday",
    source_language_code="en-IN",
    target_language_code="hi-IN",
    model="mayura:v1",
    mode="formal"
)

Casual Translation

response = client.translate.translate(
    input="Hey, what's up?",
    source_language_code="en-IN",
    target_language_code="hi-IN",
    model="mayura:v1",
    mode="casual"
)

Script Control

Choose the output script for languages with multiple scripts:

# Hindi in Devanagari (default)
response = client.translate.translate(
    input="Hello",
    source_language_code="en-IN",
    target_language_code="hi-IN",
    output_script="devanagari"
)
# Output: "नमस्ते"

# Hindi in Latin (transliteration)
response = client.translate.translate(
    input="Hello",
    source_language_code="en-IN",
    target_language_code="hi-IN",
    output_script="latin"
)
# Output: "Namaste"

Numeral Format

Control numeral representation:

# International numerals (default)
response = client.translate.translate(
    input="The price is 500 rupees",
    source_language_code="en-IN",
    target_language_code="hi-IN",
    numeral_format="international"
)
# Output: "कीमत 500 रुपये है"

# Native numerals
response = client.translate.translate(
    input="The price is 500 rupees",
    source_language_code="en-IN",
    target_language_code="hi-IN",
    numeral_format="native"
)
# Output: "कीमत ५०० रुपये है"

Code-Mixed Input

Mayura handles code-mixed text (e.g., Hinglish):

response = client.translate.translate(
    input="Yaar, let's go for a movie tonight",
    source_language_code="auto",  # Auto-detect
    target_language_code="hi-IN",
    model="mayura:v1"
)
# Output: "यार, चलो आज रात फिल्म देखने चलते हैं"

Batch Translation

Translate multiple texts:

texts = [
    "Hello",
    "How are you?",
    "Thank you"
]

responses = []
for text in texts:
    response = client.translate.translate(
        input=text,
        source_language_code="en-IN",
        target_language_code="hi-IN",
        model="mayura:v1"
    )
    responses.append(response.translated_text)

print(responses)
# [
    "नमस्ते",
    "आप कैसे हैं?",
    "धन्यवाद"
]

JavaScript

import { SarvamAI
} from "sarvamai";

const client = new SarvamAI();

const response = await client.translate.translate({
  input: "Hello, how are you?",
  sourceLanguageCode: "en-IN",
  targetLanguageCode: "hi-IN",
  model: "mayura:v1"
});

console.log(response.translatedText);

cURL

curl -X POST "https://api.sarvam.ai/translate" \
  -H "api-subscription-key: $SARVAM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": "Hello, how are you?",
    "source_language_code": "en-IN",
    "target_language_code": "hi-IN",
    "model": "mayura:v1"
}'

Parameters

Parameter Type Required Description
input string Yes Text to translate
source_language_code string Yes Source language or auto
target_language_code string Yes Target language code
model string Yes mayura:v1
mode string No formal or casual
output_script string No devanagari, latin, etc.
numeral_format string No international or native

Response

{
    "request_id": "abc123",
    "translated_text": "नमस्ते, आप कैसे हैं?",
    "source_language_code": "en-IN",
    "target_language_code": "hi-IN"
}

See references/languages.md for language-specific notes.