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!"
    }
}

प्रमाणीकरण

एपीआई कुञ्जी प्रयोग गरेर आफ्नो अनुरोध प्रमाणित गर्नुहोस्। तपाईं आफ्नोबाट एपीआई कुञ्जीहरू सिर्जना गर्न सक्नुहुन्छ डेस्कटप.

हेडर प्रमाणीकरण (सिफारिस गरिएको)
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 हो अनुवाद गर्न पाठ (अधिकतम ५०,००० क्यारेक्टर)
target_language string हो* Target language code (e.g., "es", "fr", "de")
source_language string होइन Source language code. Default: "auto" (auto-detect)

* प्रयोग target_language एकल भाषा वा लागि (स्ट्रिङ) target_languages बहुविध लागि (एरे)। हेर्नुहोस् बहु- लक्षित अनुवाद.

प्रतिक्रिया
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}

बहु- लक्षित अनुवाद

एकल अनुरोधमा बहुभाषिक पाठ अनुवाद गर्नुहोस् । एकल अनुवादको रूपमा उही अन्त बिन्दु प्रयोग गर्दछ ।

प्रकार: तपाईं एक एकल अनुरोध मा 50 भाषाहरू सम्म अनुवाद गर्न सक्नुहुन्छ।
POST https://api.translateapi.ai/api/v1/translate/
अनुरोध मुख्य भाग
{
    "text": "Hello, world!",
    "target_languages": ["es", "fr", "de", "ja"],
    "source_language": "en"
}

प्रयोग target_languages (एरे) को सट्टामा target_language बहुविध लक्ष्यका लागि (स्ट्रिङ) ।

प्रतिक्रिया
{
    "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/
चरण १: ब्याच पेश गर्नुहोस्
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 २०२ स्वीकार गरियो)
{
    "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/"
}
चरण २: नतिजाका लागि भोट गर्नुहोस्
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 पूरा प्रतिशत (०-१००) । प्रक्रिया गरिएको पाठ / कूल पाठबाट गणना गरिएको ।
queue_position वस्तुस्थिति "निलम्बित" (१ = पछिल्लो माथि) हुँदा लाममा तपाईँको स्थिति । प्रक्रिया गर्दा वा समाप्त हुँदा शून्य । तपाईँको प्रयोगकर्तालाई प्रतिक्षा समय अनुमान गर्न र लाम वस्तुस्थिति देखाउन यसलाई प्रयोग गर्नुहोस् ।
processing_time सेकेन्डमा कूल प्रक्रिया समय (पूर्ण भएपछि उपलब्ध) ।
प्रकार: जब status"pending", GPU कामदार अन्य ब्याचसँग व्यस्त छन् । जाँच गर्नुहोस् queue_position तपाईँको अगाडि कति काम छन् हेर्न (1 = तपाईँ पछिल्लो हुनुहुन्छ) । तपाईँको काम स्वचालित रूपमा सुरु हुनेछ — कुनै कार्य आवश्यक छैन, केवल मतदान जारी राख्नुहोस् ।
ठूलो कार्यभारको लागि सर्वश्रेष्ठ अभ्यासहरू
  • प्रति ब्याच अनुरोध १ लक्षित भाषा पठाउनुहोस् । यसले प्रत्येक ब्याच छिटो राख्दछ र ट्रयाक गर्न प्रगति सजिलो बनाउँछ ।
  • 50-100 पाठहरूमा ब्याचहरू राख्नुहोस्। साना ब्याचहरू छिटो पूरा गर्नुहोस् र तपाईंलाई बढी नियमित प्रगति अद्यावधिक दिनुहोस्।
  • अधिकतम २ एकसाथ ब्याच कार्यहरू चलाउनुहोस् । GPU ले समानान्तरमा २ ब्याचहरू प्रक्रिया गर्दछ — अतिरिक्त कामहरू लामबद्ध हुन्छन् र छिटो सुरु हुँदैनन् ।
  • समय समाप्तिमा, नयाँ ब्याच पेश गर्नुको सट्टा उही काम आईडी पुन: पोल गर्नुहोस् । मौलिक काम अझै GPU मा प्रक्रिया भइरहेको हुन सक्छ ।
  • प्रत्येक ३-५ सेकेन्डमा पोलिंग गर्नुहोस् । बढी बारम्बार पोलिंगले प्रक्रिया गति बढाउँदैन ।
बहु- भाषा ब्याच

एक पटकमा धेरै भाषामा धेरै पाठहरू अनुवाद गर्नुहोस्:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
समाप्त भएको परिणाम डेटा
{
    "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 अनुवादका लागि । प्रयोग गर्नुहोस् progress_percentage प्रगति ट्रयाक गर्न ।

कागजात अनुवाद

ढाँचा बचत गर्दै सम्पूर्ण कागजात अनुवाद गर्नुहोस् । बहुविध फाइल ढाँचा समर्थन गर्दछ ।

POST https://api.translateapi.ai/api/v1/translate/document/
अनुरोध (बहुभाग/रूप-डेटा)
परिमिति प्रकार: आवश्यक वर्णन:
file file हो अनुवाद गर्न कागजात (अधिकतम १० मेगाबाइट)
target_language string हो Target language code (e.g., "es", "fr", "de")
source_language string होइन Source language code. Default: "auto" (auto-detect)
समर्थित फाइल प्रकार
  • .txt - सादा पाठ फाइल
  • .docx - वर्ड कागजातहरू
  • .pdf - PDF कागजातहरू (स्क्यान सहित)
  • .json - JSON फाइलहरू (स्ट्रिङ मानहरू अनुवाद गर्दछ)
  • .xml - XML फाइलहरू
  • .srt - उपशीर्षक फाइलहरू
  • .po / .pot - अनुवाद फाइलहरू
  • .jpg / .jpeg - JPEG छविहरू (ओसीआर)
  • .png - PNG छविहरू (OCR)
  • .tiff / .tif - TIFF छविहरू (OCR)
  • .bmp - BMP छविहरू (OCR)
  • .webp - वेबपी छविहरू (ओसीआर)
ओसीआर समर्थन: छवि फाइलहरू र स्क्यान गरिएको 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"
छवि फाइलहरू अनुवाद गर्नु अघि पाठ निकाल्न ओसीआरसँग प्रक्रिया गरिन्छ । अनुवाद गरिएको निर्गत एउटा रूपमा फर्काइन्छ .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}/

कागजात अनुवादको स्थिति जाँच गर्नुहोस् वा डाउनलोड यूआरएल पुन: प्राप्त गर्नुहोस् ।

प्रतिक्रिया
{
    "id": 123,
    "original_filename": "document.docx",
    "status": "completed",
    "translated_file_url": "/media/translated/document_es.docx",
    "character_count": 5420
}

भाषा पहिचान

भाषा पत्ता लगाउने हरेक अनुवाद अनुरोधमा निर्माण गरिएको छ । सेट 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 पूर्वाधार मा चलिरहेको प्रयोग. सबै मोडेल व्यावसायिक लाइसेन्स छन् (Apache 2.0).

नमूना भाषाहरू यसका लागि उत्तम
Helsinki-NLP/opus-mt 50+ भाषा जोडीहरू सामान्य भाषाहरू (EN, ES, FR, DE, IT, PT, RU, ZH, JA, आदि)
Google MADLAD-400 ४००+ भाषाहरू दुर्लभ भाषाहरू, व्यापक कवरेज

एपीआई स्वचालित रूपमा आफ्नो भाषा जोडी लागि सबै भन्दा राम्रो नमूना चयन गर्दछ. तपाईं वैकल्पिक एक निर्दिष्ट गर्न सक्नुहुन्छ engine परिमिति:

इन्जिन वर्णन:
"auto" पूर्वनिर्धारित । पहिलो पटक HuggingFace प्रयास गर्दछ, MADLAD-400 मा फर्किन्छ
"huggingface" HuggingFace/MarianMT बल (द्रुत, 50+ भाषाहरू)
"madlad" बल MADLAD-400 (400+ भाषाहरू)

त्रुटि ह्यान्डलिङ

एपीआई सफलता वा असफलता संकेत गर्न मानक 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/मिनेट सदस्य बनाउनुहोस्
प्रो 10,000,000 $29/मिनेट सदस्य बनाउनुहोस्
व्यवसाय 40,000,000 $79/मिनेट सदस्य बनाउनुहोस्
मापन 125,000,000 $199/मिनेट सदस्य बनाउनुहोस्

जब तपाईं आफ्नो सीमा भन्दा बढी, तपाईं एक प्राप्त हुनेछ 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 यसमा आधारित मूल्याङ्कन