API दस्तऐवजीकरण
आपल्या अनुप्रयोगांमध्ये आपल्या सोप्या REST API द्वारे शक्तिशाली भाषांतर एकत्रित करा.
प्रारंभ करीत आहे
TranslateAPI 180+ भाषांमधील पाठ्य अनुवादित करण्यासाठी एक सोपा REST इंटरफेस प्रदान करतो. सर्व API एंडपॉइंट JSON प्रतिसाद परत करतो.
https://api.translateapi.ai/api/v1/
जलद प्रारंभ
तुमची पहिली अनुवाद विनंती करा:
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!"
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
class Program
{
static async Task Main()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add(
"Authorization", "Bearer YOUR_API_KEY"
);
var content = new StringContent(
JsonConvert.SerializeObject(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 = await response.Content.ReadAsStringAsync();
var data = JsonConvert.DeserializeObject<dynamic>(result);
Console.WriteLine(data.translated_text); // "Hola, mundo!"
}
}
अधिप्रमाणन
API कि वापरून तुमच्या विनंतींची अधिप्रमाणन करा. तुम्ही API कि तुमच्या संगणकातून बनवू शकता डॅशबोर्ड.
हेडर अधिप्रमाणन (सूचविले)
Authorization: Bearer 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) |
* वापर 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
}
बहु- लक्ष्य भाषांतर
एकाच विनंती अंतर्गत अनेक भाषांत पाठ्यचे भाषांतर करा. एकल भाषांतर करीता समान अंतबिंदूचा वापर करा.
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"Completed: {processed}/{total} texts in {result.get('processing_time', 0):.1f}s")
translations = result["result_data"]["translations"]
break
elif status == "failed":
print(f"Failed at {processed}/{total}: {result.get('error_message', 'unknown')}")
raise Exception(result.get("error_message", "Translation failed"))
elif status == "pending":
queue_pos = result.get("queue_position", "?")
print(f"Queued (position {queue_pos}) — waiting for GPU worker...")
else:
print(f"[{status}] {processed}/{total} ({progress:.0f}%)")
time.sleep(3)
प्रतिसाद (आहे - कतारबद्ध, GPU करीता वाट पहात आहे)
{
"job_id": "67535b2b-...",
"status": "pending",
"processed_texts": 0,
"total_texts": 3,
"progress_percentage": 0.0,
"queue_position": 3
}
प्रतिसाद (प्रक्रिया करीता)
{
"job_id": "67535b2b-...",
"status": "processing",
"processed_texts": 1,
"total_texts": 3,
"progress_percentage": 33.33,
"queue_position": null
}
प्रतिसाद (पूर्ण झाले)
{
"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 |
आतापर्यंत पूर्ण झालेले एकल भाषांतरांची संख्या. प्रत्येक पाठ्यचे भाषांतर केल्यावर वास्तविक वेळेत अद्ययावत होते. |
total_texts |
या बॅचमधील अनुवादांची एकूण संख्या (पाठ्य × लक्ष्य भाषा). |
progress_percentage |
पूर्णत्वाचे टक्केवारी (0-100). processed_texts / total_texts पासून मोजले. |
queue_position |
स्थिती "आहे" (1 = पुढे) असल्यास कतार अंतर्गत तुमचे स्थान. प्रक्रिया किंवा पूर्ण झाल्यास शून्य. वाट पाहण्याचा वेळ अंदाजे करण्यासाठी व वापरकर्त्यांना कतार स्थिती दर्शविण्याकरीता याचा वापर करा. |
processing_time |
सेकंद अंतर्गत एकूण प्रक्रिया वेळ (पूर्ण झाल्यावर उपलब्ध). |
status आहे "pending", GPU कार्यकर्ते इतर बॅचशी व्यस्त आहेत. तपासा queue_position तुमच्यापेक्षा किती कार्य पुढे आहेत हे पाहण्याकरीता (1 = तुम्ही पुढे आहात). तुमचे कार्य आपोआप सुरू होईल - कार्यवाहीची गरज नाही, फक्त पोलिंग चालू ठेवा.
मोठ्या कार्यभारासाठी सर्वोत्तम प्रथा
- प्रत्येक बॅच विनंती करीता 1 लक्ष्य भाषा पाठवा. यामुळे प्रत्येक बॅच वेगवान राहते व प्रगतीची नोंद ठेवणे सोपे होते.
- बॅच 50- 100 पाठ्य करीता ठेवा. लहान बॅच जलद पूर्ण होईल व तुम्हाला वारंवार प्रगती अद्ययावत देईल.
- कमाल २ एकत्रित बॅच कार्य चालवा. GPU समांतरपणे २ बॅच कार्यान्वित करतो - अतिरिक्त कार्य कतारबद्ध करा व लवकर सुरू होणार नाही.
- टाइमआऊटवर, नविन बॅच सादर करण्याऐवजी सारखेच job_id पुन्हा-पोल करा. मूळ काम अजूनही GPU वर कार्यरत असू शकते.
- प्रत्येक 3-5सेकंद करीता पॉल करा. जास्त वेळा पॉल केल्यास प्रक्रिया वेगवान होत नाही.
बहुभाषिक बॅच
एकावेळी अनेक भाषांत अनेक पाठ्यचे भाषांतर करा:
{
"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, दोन्ही नाही.
job_id. छेद GET /api/v1/jobs/{job_id}/ पर्यंत status आहे "completed", मग वाचा result_data अनुवाद करीता. Use progress_percentage प्रगतीचा आढावा घेण्यासाठी.
दस्तऐवज भाषांतर
संपूर्ण दस्तऐवजाचे रूपांतरण करीता स्वरूपन राखून ठेवा. अनेक फाइल स्वरूपन करीता समर्थन पुरविते.
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) |
समर्थीत फाइल प्रकार
.txt- सादा पाठ्य फाइल.docx- Word दस्तऐवज.pdf- PDF दस्तऐवज (स्कॅनसह).json- JSON फाइल (स्ट्रिंग मूल्यांचे भाषांतर).xml- XML फाइल
.srt- उपशीर्षक फाइल.po/.pot- Gettext अनुवाद फाइल.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"
.txt फाइल.
प्रतिसाद
{
"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"
}
स्थिती मुल्य
pending |
फाइल अपलोड केले, प्रक्रिया करीता वाट पहात आहे |
processing |
अनुवाद कार्यरत आहे |
completed |
अनुवाद पूर्ण झाले, डाउनलोड उपलब्ध आहे |
failed |
अनुवाद असफल (त्रुटी संदेश तपासा) |
GET https://api.translateapi.ai/api/v1/translate/document/{id}/
दस्तऐवज भाषांतराची स्थिती तपासा किंवा डाऊनलोड URL प्राप्त करा.
प्रतिसाद
{
"id": 123,
"original_filename": "document.docx",
"status": "completed",
"translated_file_url": "/media/translated/document_es.docx",
"character_count": 5420
}
भाषा शोध
प्रत्येक अनुवाद विनंती अंतर्गत भाषा शोध अंतर्भूत केले गेले आहे. Set source_language to "auto" (किंवा ते सोडून द्या) व आढळलेली भाषा प्रतिसादात परत केली जाते.
POST https://api.translateapi.ai/api/v1/translate/
विनंतीचे मुख्य भाग
{
"text": "Bonjour, comment allez-vous?",
"target_language": "en"
}
प्रतिसाद
{
"translated_text": "Hello, how are you?",
"source_language": "fr",
"target_language": "en",
"translations": {
"en": "Hello, how are you?"
},
"character_count": 28,
"translation_time": 0.52
}
ते source_language स्वचलित शोध वापरले जाते तेव्हा प्रतिसादातील क्षेत्र आढळलेली भाषा दर्शविते.
समर्थीत भाषा
सर्व समर्थीत भाषांची यादी प्राप्त करा.
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 |
यशस्वी |
400 |
वाईट विनंती - अवैध पैरामीटर |
401 |
अनधिकृत - अवैध किंवा आढळलेली API कि |
402 |
देय आवश्यक आहे - दैनंदिन अक्षर कोटा ओलांडला |
429 |
खूपच जास्त विनंती - दर मर्यादा ओलांडले |
503 |
सेवा उपलब्ध नाही - अनुवाद इंजिन तात्पुरते बंद आहे |
त्रुटी प्रतिसाद स्वरूप
{
"error": "daily_limit_exceeded",
"credits_remaining": 0,
"daily_limit": 100000
}
दर मर्यादा
या योजनेत विविध उपक्रम राबविले जातात. किंमत संपूर्ण तपशीलांसाठी:
| प्लॅन | अक्षरे/महिने | किंमत | |
|---|---|---|---|
| मोकळे | 250,000 | $0 | नोंदणी करा |
| प्रारंभकर्ता | 2,500,000 | $9/% 1 सेकंद | सब्सक्राइब करा |
| प्रो | 10,000,000 | $29/% 1 सेकंद | सब्सक्राइब करा |
| व्यवसाय | 40,000,000 | $79/% 1 सेकंद | सब्सक्राइब करा |
| माप | 125,000,000 | $199/% 1 सेकंद | सब्सक्राइब करा |
तुम्ही तुमची मर्यादा ओलांडल्यास, तुम्हाला एक प्राप्त होईल 429 Too Many Requests पुढील महिन्यापर्यंत प्रतिसाद किंवा तुम्ही अद्ययावत करा.
Auto-Scaling Cloud Infrastructure
TranslateAPI runs on dedicated NVIDIA A100 GPU instances with automatic horizontal scaling. When demand increases, additional GPU instances are launched within minutes to maintain fast response times. This means our API can handle virtually unlimited concurrent requests without degradation — from a single request to thousands per minute.