API दस्तऐवजीकरण
आपल्या अनुप्रयोगांमध्ये आपल्या सोप्या REST API द्वारे शक्तिशाली भाषांतर एकत्रित करा.
प्रारंभ करीत आहे
TranslateAPI 180+ भाषांमधील पाठ्य अनुवादित करण्यासाठी एक सोपा REST इंटरफेस प्रदान करतो. सर्व API एंडपॉइंट JSON प्रतिसाद परत करतो.
1. तुमची API कि प्राप्त करा
मोफत खाते तयार करा आणि डॅशबोर्ड पासून तुमची API किल्ली तयार करा:
- येथे नोंदणी करा translateapi.ai/signup
- येथे जा डॅशबोर्डComment → API कि
- "API कि बनवा" वर क्लिक करा व तुमची कि प्रतिकृत करा
API कि वापरून सुरू होते ta_ 56 हेक्स अक्षरे नंतर.
https://api.translateapi.ai/api/v1/2. तुमची पहिली विनंती करा
YOUR_API_KEY ला तुमच्या डॅशबोर्ड पासून किल्लीने बदलवा:
curl -X POST https://api.translateapi.ai/api/v1/translate/ \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"text": "Hello, world!",
"target_language": "es"
}'
import requests
response = requests.post(
"https://api.translateapi.ai/api/v1/translate/",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"text": "Hello, world!",
"target_language": "es"
}
)
result = response.json()
print(result["translated_text"]) # "Hola, mundo!"
const response = await fetch("https://api.translateapi.ai/api/v1/translate/", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
text: "Hello, world!",
target_language: "es"
})
});
const result = await response.json();
console.log(result.translated_text); // "Hola, mundo!"
$ch = curl_init("https://api.translateapi.ai/api/v1/translate/");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer YOUR_API_KEY",
"Content-Type: application/json"
],
CURLOPT_POSTFIELDS => json_encode([
"text" => "Hello, world!",
"target_language" => "es"
])
]);
$result = json_decode(curl_exec($ch), true);
echo $result["translated_text"]; // "Hola, mundo!"
payload := strings.NewReader(`{
"text": "Hello, world!",
"target_language": "es"
}`)
req, _ := http.NewRequest("POST", "https://api.translateapi.ai/api/v1/translate/", payload)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result["translated_text"]) // "Hola, mundo!"
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_API_KEY");
var content = new StringContent(
JsonSerializer.Serialize(new {
text = "Hello, world!",
target_language = "es"
}),
Encoding.UTF8,
"application/json"
);
var response = await client.PostAsync("https://api.translateapi.ai/api/v1/translate/", content);
var result = JsonSerializer.Deserialize<JsonElement>(
await response.Content.ReadAsStringAsync()
);
Console.WriteLine(result.GetProperty("translated_text")); // "Hola, mundo!"
प्रतिसाद
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
अधिप्रमाणन
API कि वापरून तुमच्या विनंतींची अधिप्रमाणन करा. तुम्ही API कि तुमच्या संगणकातून बनवू शकता डॅशबोर्ड.
हेडर अधिप्रमाणन (सूचविले)
Authorization: Bearer ta_your_api_key_here
APIKey शिर्षक
Authorization: ApiKey ta_your_api_key_here
क्वेरी पैरामीटर
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
पाठ्य भाषांतरीत करा
पाठ्य एकाच लक्ष्य भाषेत भाषांतरित करा.
POST https://api.translateapi.ai/api/v1/translate/
विनंतीचे मुख्य भाग
| पैरामीटर | प्रकार | आवश्यक | वर्णन |
|---|---|---|---|
text |
string | होय | अनुवाद करीता पाठ्य (कमाल 50, 000 अक्षरे) |
target_language |
string | होय* | Target language code (e.g., "es", "fr", "de") |
source_language |
string | नाही | Source language code. Default: "auto" (auto-detect) |
engine |
string | नाही | अनुवाद इंजिन: "auto" (मूलभूत), "huggingface", किंवा "madlad". अनुवाद मॉडेल पहा. Name अनुवाद मॉडेल. |
* वापर target_language (string) एकल भाषा किंवा target_languages बहुविध करीता (अॅरे). पहा बहु- लक्ष्य भाषांतर.
प्रतिसाद
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
source_language किंवा यास निश्चित करा "auto" स्त्रोत भाषा आपोआप शोधण्याकरीता वापरले जाते. शोधलेली भाषा या यादीतील यादीतील भाषा मध्ये परत केली जाते source_language उत्तर क्षेत्र.
बहु- लक्ष्य भाषांतर
एकाच विनंती अंतर्गत अनेक भाषांत पाठ्यचे भाषांतर करा. एकल भाषांतर करीता समान अंतबिंदूचा वापर करा.
POST https://api.translateapi.ai/api/v1/translate/
विनंतीचे मुख्य भाग
{
"text": "Hello, world!",
"target_languages": ["es", "fr", "de", "ja"],
"source_language": "en"
}
वापरा target_languages (अॅरे) ऐवजी target_language अनेक लक्ष्यांकरीता (string).
प्रतिसाद
{
"source_language": "en",
"translations": {
"es": "Hola, mundo!",
"fr": "Bonjour, monde!",
"de": "Hallo, Welt!",
"ja": "こんにちは、世界!"
},
"character_count": 52,
"translation_time": 2.31
}
बॅच भाषांतर
एकाच वेळी अनेक पाठ्यचे अतुल्यकालिक प्रक्रियेद्वारे भाषांतर करा. परिणाम करीता बॅच व पोल सादर करा.
POST https://api.translateapi.ai/api/v1/translate/batch/
चरण 1: बॅच सादर करा
curl -X POST https://api.translateapi.ai/api/v1/translate/batch/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"texts": ["Hello", "Goodbye", "Thank you"],
"target_language": "es",
"source_language": "en"
}'
प्रतिसाद (HTTP 202 स्वीकारले)
{
"job_id": "67535b2b-c9e3-4f82-9499-e237edbc1dd8",
"status": "pending",
"total_texts": 3,
"queue_position": 1,
"source_language": "en",
"target_languages": ["es"],
"character_count": 22,
"credits_remaining": -1,
"poll_url": "https://api.translateapi.ai/api/v1/jobs/67535b2b-c9e3-4f82-9499-e237edbc1dd8/"
}
चरण 2: निकालासाठी मतदान करा
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
पॉलिंग उदाहरण (पायथन)
import time, requests
job_id = response.json()["job_id"]
total = response.json()["total_texts"]
headers = {"Authorization": "Bearer YOUR_API_KEY"}
print(f"Batch submitted: {total} texts (job {job_id})")
while True:
result = requests.get(f"https://api.translateapi.ai/api/v1/jobs/{job_id}/", headers=headers).json()
status = result["status"]
processed = result.get("processed_texts", 0)
progress = result.get("progress_percentage", 0)
if status == "completed":
print(f"Done: {processed}/{total} in {result.get('processing_time', 0):.1f}s")
translations = result["result_data"]["translations"]
break
elif status == "failed":
raise Exception(result.get("error_message", "Translation failed"))
elif status == "pending":
print(f"Queued (position {result.get('queue_position', '?')})")
else:
print(f"[{status}] {processed}/{total} ({progress:.0f}%)")
time.sleep(3)
प्रतिसाद (पूर्ण झाले)
{
"job_id": "67535b2b-...",
"status": "completed",
"processed_texts": 3,
"total_texts": 3,
"progress_percentage": 100.0,
"processing_time": 10.65,
"result_data": {
"translations": ["Hola", "Adiós", "Gracias"],
"source_language": "en",
"target_language": "es",
"character_count": 22,
"processing_time": 10.65
}
}
वास्तविक- वेळ प्रगती ट्रॅकिंग
| क्षेत्र | वर्णन |
|---|---|
status |
pending (गटबद्ध, GPU वर्कर करीता वाट पहात आहे), processing (सक्रीयरित्या अनुवादित करत आहे), completed, failed |
processed_texts |
आतापर्यंत पूर्ण झालेले एकल भाषांतरांची संख्या. प्रत्येक पाठ्यचे भाषांतर केल्यावर वास्तविक वेळेत अद्ययावत होते. |
progress_percentage |
पूर्णत्वाचे टक्केवारी (0-100). processed_texts / total_texts पासून मोजले. |
queue_position |
स्थिती "आहे" (1 = पुढे) असल्यास कतार अंतर्गत तुमचे स्थान. प्रक्रिया किंवा पूर्ण झाल्यास शून्य. वाट पाहण्याचा वेळ अंदाजे करण्यासाठी व वापरकर्त्यांना कतार स्थिती दर्शविण्याकरीता याचा वापर करा. |
processing_time |
सेकंद अंतर्गत एकूण प्रक्रिया वेळ (पूर्ण झाल्यावर उपलब्ध). |
बहुभाषिक बॅच
एकावेळी अनेक भाषांत अनेक पाठ्यचे भाषांतर करा:
{
"texts": ["Hello", "Goodbye"],
"target_languages": ["es", "fr"],
"source_language": "en"
}
पूर्ण झालेले परिणाम (_d)
{
"translations": [
{"es": "Hola", "fr": "Bonjour"},
{"es": "Adiós", "fr": "Au revoir"}
],
"source_language": "en",
"target_languages": ["es", "fr"],
"character_count": 24,
"processing_time": 2.45
}
विनंती परिमाणे
| पैरामीटर | प्रकार | आवश्यक | वर्णन |
|---|---|---|---|
texts |
array | होय | भाषांतर करण्याकरीता स्ट्रिंगची एरे |
target_language |
string | होय* | एकल भाषा करीता लक्ष्य भाषा कोड |
target_languages |
array | होय* | अनेक भाषांकरीता लक्ष्य भाषा कोडची यादी |
source_language |
string | नाही | Source language code. Default: "auto" |
* किंवा पुरवा target_language किंवा target_languages, दोन्ही नाही.
मोठ्या कार्यभारासाठी सर्वोत्तम प्रथा
- प्रत्येक बॅच विनंती करीता 1 लक्ष्य भाषा पाठवा. यामुळे प्रत्येक बॅच वेगवान राहते व प्रगतीची नोंद ठेवणे सोपे होते.
- बॅच 50- 100 पाठ्य करीता ठेवा. लहान बॅच जलद पूर्ण होईल व तुम्हाला वारंवार प्रगती अद्ययावत देईल.
- तुम्हाला आवश्यक तितके बॅच काम सादर करा - आमचे GPU क्लस्टर ऑटो- स्केल मागणी हाताळण्यासाठी. अनेक उदाहरणांमधून समांतरपणे काम प्रक्रियेत आहे.
- टाइमआऊटवर, नविन बॅच सादर करण्याऐवजी सारखेच job_id पुन्हा-पोल करा. मूळ काम अजूनही GPU वर कार्यरत असू शकते.
- प्रत्येक 3-5सेकंद करीता पॉल करा. जास्त वेळा पॉल केल्यास प्रक्रिया वेगवान होत नाही.
दस्तऐवज भाषांतर
संपूर्ण दस्तऐवजाचे रूपांतरण करीता स्वरूपन राखून ठेवा. अनेक फाइल स्वरूपन करीता समर्थन पुरविते.
POST https://api.translateapi.ai/api/v1/translate/document/
विनंती (बहुभाग/फॉर्म-डेटा)
| पैरामीटर | प्रकार | आवश्यक | वर्णन |
|---|---|---|---|
file |
file | होय | अनुवाद करीता दस्तऐवज (कमाल 10MB) |
target_language |
string | होय | Target language code (e.g., "es", "fr", "de") |
source_language |
string | नाही | Source language code. Default: "auto" (auto-detect) |
समर्थीत फाइल प्रकार
दस्तऐवजName
.txt- सादा पाठ्य फाइल.docx- Word दस्तऐवज.pdf- PDF दस्तऐवज (स्कॅनसह)
माहिती व स्थानिकीकरणName
.json- JSON फाइल (स्ट्रिंग मूल्यांचे भाषांतर).xml- XML फाइल.srt- उपशीर्षक फाइल.po/.pot- Gettext अनुवाद फाइल
प्रतिमा (OCR)
.jpg/.jpeg- JPEG प्रतिमा (OCR).png- PNG प्रतिमा (OCR).tiff/.tif- TIFF प्रतिमा (OCR).bmp- BMP प्रतिमा (OCR).webp- WebP प्रतिमा (OCR)
उदाहरण (cURL)
# Translate a Word document
curl -X POST https://api.translateapi.ai/api/v1/translate/document/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@document.docx" \
-F "target_language=es" \
-F "source_language=en"
# Translate text from an image (OCR)
curl -X POST https://api.translateapi.ai/api/v1/translate/document/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@scanned_page.jpg" \
-F "target_language=es" \
-F "source_language=en"
प्रतिसाद
{
"id": 123,
"original_filename": "document.docx",
"file_type": "docx",
"source_language": "en",
"target_language": "es",
"status": "completed",
"character_count": 5420,
"translated_file_url": "/media/translated/document_es.docx",
"created_at": "2024-01-15T10:30:00Z",
"completed_at": "2024-01-15T10:30:05Z"
}
GET https://api.translateapi.ai/api/v1/translate/document/{id}/
दस्तऐवज भाषांतराची स्थिती तपासा किंवा डाऊनलोड URL प्राप्त करा.
स्थिती मुल्य
pending |
फाइल अपलोड केले, प्रक्रिया करीता वाट पहात आहे |
processing |
अनुवाद कार्यरत आहे |
completed |
अनुवाद पूर्ण झाले, डाउनलोड उपलब्ध आहे |
failed |
अनुवाद असफल (त्रुटी संदेश तपासा) |
समर्थीत भाषा
सर्व समर्थीत भाषांची यादी प्राप्त करा.
GET https://api.translateapi.ai/api/v1/translate/languages/
प्रतिसाद
{
"count": 186,
"results": [
{"iso": "en", "name": "English", "en_label": "English"},
{"iso": "es", "name": "Español", "en_label": "Spanish"},
{"iso": "fr", "name": "Français", "en_label": "French"},
...
]
}
अनुवाद मॉडेल
आम्ही आपल्या स्वतःच्या GPU पायाभूत सुविधांवर चालणारे state-of-the-art ओपन सोर्स अनुवाद मॉडेल वापरतो. सर्व मॉडेल व्यावसायिकरित्या परवानाकृत आहेत (अपाची 2.0).
| मॉडेल | भाषा | सर्वोत्तम |
|---|---|---|
| Helsinki-NLP/opus-mt | 50+ भाषा जोडी | सामान्य भाषा (EN, ES, FR, DE, IT, PT, RU, ZH, JA, इ. |
| Google MADLAD-400 | 400+ भाषा | दुर्मिळ भाषा, व्यापक कव्हरेज |
API आपोआप तुमच्या भाषा जोडी करीता सर्वोत्तम नमूना निवडतो. तुम्ही वैकल्पिकरित्या एक निर्देशीत करू शकता engine पैरामीटर:
| इंजिन | वर्णन |
|---|---|
"auto" |
मुलभूत. HuggingFace चा प्रथम प्रयत्न करतो, MADLAD- 400 वर परत जातो |
"huggingface" |
Force HuggingFace/MarianMT (सर्वात जलद, 50+ भाषा) |
"madlad" |
४०० (इंग्रजी मजकूर) |
त्रुटी हाताळणी
हे API यश किंवा अपयश दर्शविण्यासाठी मानक HTTP स्थिती कोडचा वापर करते.
| कोड | वर्णन |
|---|---|
| 200 | यशस्वी |
| 202 | स्वीकारले — बॅच कार्य यशस्वीरित्या कतारबद्ध केले |
| 400 | वाईट विनंती - अवैध बाब (गुप्त पाठ्य, असमर्थीत भाषा, इ. |
| 401 | अनधिकृत - अवैध किंवा आढळलेली API कि |
| 402 | भरपाई आवश्यक — अक्षर क्रेडिट संपले. तुमचे प्लॅन अद्ययावत करा किंवा टॉप-अप खरेदी करा. |
| 403 | प्रतिबंधित — API किल्लीकडे आवश्यक क्षेत्र किंवा IP पांढऱ्या यादीत नाही |
| 503 | सेवा उपलब्ध नाही - अनुवाद इंजिन तात्पुरते बंद आहे |
त्रुटी प्रतिसाद स्वरूप
{
"error": "insufficient_credits",
"credits_remaining": 0
}
वापरणी मर्यादा
TranslateAPI has no request rate limits. All requests are queued and processed by our auto-scaling GPU cluster. Your plan determines your monthly character allowance:
| प्लॅन | अक्षरे/महिने | बॅच API | दस्तऐवजName | किंमत | |
|---|---|---|---|---|---|
| मोकळे | 250,000 | — | — | $0 | नोंदणी करा |
| प्रारंभकर्ता | 2,500,000 | $9/% 1 सेकंद | सब्सक्राइब करा | ||
| प्रो | 10,000,000 | $29/% 1 सेकंद | सब्सक्राइब करा | ||
| व्यवसाय | 40,000,000 | $79/% 1 सेकंद | सब्सक्राइब करा | ||
| माप | 125,000,000 | $199/% 1 सेकंद | सब्सक्राइब करा | ||
| Enterprise | Unlimited | $499/% 1 सेकंद | Contact Sales |
तुम्ही तुमची मर्यादा ओलांडल्यास, तुम्हाला एक प्राप्त होईल 402 Payment Required पुढील महिन्यापर्यंत प्रतिसाद किंवा तुम्ही अद्ययावत करा.
स्व-मानांकन क्लाउड पायाभूत सुविधा
TranslateAPI समर्पित NVIDIA A100 GPU उदाहरणांवर चालते ज्यात स्वयंचलित क्षैतिज स्केलिंग आहे. मागणी वाढल्यावर, अतिरिक्त GPU उदाहरणे गतीने प्रतिसाद वेळ टिकविण्यासाठी मिनिटांमध्ये सुरू केली जातात. सर्व विनंती कतारबद्ध केली जातात आणि प्रक्रिया केली जाते - एकत्रित शंभर विनंती पाठवा आणि ते सर्व हाताळले जातील. वास्तविक- वेळ अनुवादांना प्राधान्य मिळते, पार्श्वभूमीत बॅच काम प्रक्रिया.
अधिक क्रेडिट हवे का?
महिन्याच्या मध्यात अक्षरे संपली? तुमचा प्लॅन बदलविल्याशिवाय एकदाच क्रेडिट टॉपअप खरेदी करा. टॉप-अप पॅकेजेस पहा