API दस्तऐवजीकरण

आपल्या अनुप्रयोगांमध्ये आपल्या सोप्या REST API द्वारे शक्तिशाली भाषांतर एकत्रित करा.

प्रारंभ करीत आहे

TranslateAPI 180+ भाषांमधील पाठ्य अनुवादित करण्यासाठी एक सोपा REST इंटरफेस प्रदान करतो. सर्व API एंडपॉइंट JSON प्रतिसाद परत करतो.

आधार URL: 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
तुमचे API की सुरक्षित ठेवा! या योजनेत कोणत्याही प्रकारची गुंतवणूक किंवा गुंतवणूकदारांची नोंदणी केली जात नाही.

पाठ्य भाषांतरीत करा

पाठ्य एकाच लक्ष्य भाषेत भाषांतरित करा.

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
}

बॅच भाषांतर

एकाच वेळी अनेक पाठ्यचे अतुल्यकालिक प्रक्रियेद्वारे भाषांतर करा. परिणाम करीता बॅच व पोल सादर करा.

मर्यादा: कमाल 500 पाठ्य प्रति बॅच, कमाल 750 एकूण घटक (पाठ्य × लक्ष्य भाषा). प्रक्रिया प्रारंभ झाल्यावर कार्याचे टाइमआऊट 30 मिनिट आहे (कतार प्रतीक्षा यादीतील वेळ मोजले जात नाही).
प्रोसेसिंग वेळ भाषानुरूप बदलतो: सामान्य भाषा (स्पॅनिश, फ्रेंच, जर्मन, इत्यादी) वेगवान मॉडेल वापरतात (~ 0. 1s प्रति पाठ्य), तर कमी सामान्य भाषा आमचे मोठे बहुभाषिक मॉडेल वापरतात (~ 1-3s प्रति पाठ्य). 100- पाठ्य बॅच सामान्यतः सामान्य भाषा करीता 10- 30 सेकंद अंतर्गत पूर्ण होते, किंवा कमी सामान्य भाषा करीता2-5मिनिट. सर्वोत्तम परिणाम करीता, प्रति बॅच विनंती करीता 1 लक्ष्य भाषा पाठवा व बॅच आकार 50 पाठ्य पेक्षा कमी ठेवा.
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)
OCR समर्थन: प्रतिमा फाइल व स्कॅन केलेले PDFs ऑप्टिकल कॅरेक्टर ओळखणे (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"
भाषांतर करण्यापूर्वी पाठ्य काढून टाकण्याकरीता OCR सह प्रतिमा फाइल प्रक्रिया केली जाते. भाषांतरीत आऊटपुट प्रमाणे परत केले जाते .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.

या पानाला दर्जा द्या
तुमच्या रेटिंग साठी धन्यवाद!
/5 वर आधारित दर्जा