एपीआई प्रलेखन
हमारे साधारण पुनःमेल के साथ आपके कार्यक्रम में शक्तिशाली अनुवाद एकीकृत करें.
प्रारंभ किया जा रहा है
अनुवाद के लिए भाषा 180+ भाषाओं के बीच पाठ का अनुवाद करने के लिए एक सरल रिटाक इंटरफेस प्रदान करता है. सभी एपीआई बिन्दु वापस 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!"
}
}
सत्यापन
एपीआई कुंजी का प्रयोग कर अपनी अनुरोधों को सत्यापित करें. आप अपने से एपीआई कुंजी बना सकते हैं. कुंजीपट बनाएं (S).
शीर्षिका जानकारी
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 | हाँ | अनुवाद करने के लिए पाठ (max50 वर्ण) |
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
}
बहु- लक्ष्य अनुवाद
एकल निवेदन में बहुत सी भाषाओं में पाठ का अनुवाद करें. एक ही अनुवाद के रूप में वही अंत बिन्दु इस्तेमाल करें.
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
}
बैच अनुवाद
अतुल्यकालिक प्रक्रिया के साथ कई पाठों का अनुवाद एक साथ करें. परिणाम के लिए एक बैच और पोल जमा करें.
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"
}'
अनुक्रिया (HTTP2 स्वीकृत)
{
"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)
प्रतिक्रिया (श्वासित — कतार में, जीपीयू के लिए इंतजार करें)
{
"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 (ऐ रसूल उन पैग़म्बरों के साथ झगड़ने वाले) गिरोहों में से यहाँ तुम्हारे मुक़ाबले में भी एक लशकर है जो शिकस्त खाएगा processing (कार्यात्मक अनुवाद), completed, failed |
processed_texts |
बाइबल के अलग - अलग अनुवादों की संख्या अब तक पूरी हो चुकी है । |
total_texts |
इस बैच में अनुवाद की कुल संख्या (पाठ लक्ष्य भाषा). |
progress_percentage |
प्रतिशत समाप्त (0.- 100). प्रक्रिया / कुल_ पाठ से गणना की गई. |
queue_position |
क़तार में आपकी स्थिति जब स्थिति हो (" = अगला). Null जब प्रक्रिया या पूर्ण हो तो इंतजार करें समय की गणना करें तथा अपने उपयोक्ताओं के लिए कतार स्थिति दिखाएँ. |
processing_time |
सेकण्ड में कुल प्रक्रिया समय (जब पूर्ण हो जाता है). |
status है "pending", माम्बा मज़दूर अन्य बैचियों के साथ व्यस्त हैं. जाँच करें queue_position यह देखने के लिए कि कितनी नौकरी आपकी (1 = आप अगले हैं. आपका काम स्वतः शुरू होगा — कोई भी कार्यवाही नहीं करनी चाहिए, सिर्फ सर्वे रखे रखने के लिए.
बड़े काम के लिए बढ़िया आदतें
- प्रत्येक बैच निवेदन को 1 लक्ष्य भाषा भेजें. यह प्रत्येक बैच तेजी से रहता है और ट्रैक में प्रगति को आसान बनाता है.
- 50-100 पाठों पर लाइट रखें. छोटे कवर पूर्ण तेजी से और आप अधिक बार प्रगति अद्यतन दे.
- मौजूदा जांच कार्य में 2 बारी से चलाएँ. DuPEP प्रक्रिया 2 समानांतर में जोड़ें - अतिरिक्त नौकरियों कतार और तेजी से शुरू नहीं होगा.
- समय समाप्ति पर, एक नया बैच भेजने के बजाय वही कार्य फिर से शुरू करें. मूल कार्य अभी भी जीपीपी पर प्रोसेस किया जा सकता है.
- हर 3-5 सेकंड. और भी बार बार सर्वे करने से प्रक्रिया कम नहीं होती.
मल्टी- भाषा बैच
अनेक पाठों को एक साथ अनेक भाषाओं में अनुवाद करें:
{
"texts": ["Hello", "Goodbye"],
"target_languages": ["es", "fr"],
"source_language": "en"
}
परिणाम समाप्त (_R)
{
"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 | हाँ | अनुवाद के लिए दस्तावेज़ (मि. 10MB) |
target_language |
string | हाँ | Target language code (e.g., "es", "fr", "de") |
source_language |
string | नहीं | Source language code. Default: "auto" (auto-detect) |
समर्थित फ़ाइल प्रकार
.txt- सादा पाठ फ़ाइल.docx- शब्द दस्तावेज़.pdf- पीडीएफ़ दस्तावेज़ (अण्डर को सम्मिलित करता है).json- JSON फ़ाइलें (अनुप्रयोग्स स्ट्रिंग मान).xml- एक्सएमएल फ़ाइलें
.srt- सबटाइटल फ़ाइलें.po/.pot- पाठ अनुवाद फ़ाइल पाएँ.jpg/.jpeg- जेपीईजी छवि (ओआर).png- पीएनजी छवि (ओआर).tiff/.tif- टिफ़ छवियाँ (ओसीआर).bmp- छवियों (ओसीआर).webp- वेबP छवियाँ (ओआरसी)
उदाहरण (c)URL
# 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 |
अनुवाद असफल (k_message) |
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"},
...
]
}
अनुवाद मॉडल
हम सरकार का उपयोग कर रहे स्रोत अनुवाद मॉडल हमारे अपने जीपी में चल रहा है। सभी मॉडल व्यावसायिक लाइसेंस (Apap-सेप 2. 0) कर रहे हैं।
| मॉडल | भाषाएँ | के लिए उत्तम |
|---|---|---|
| Helsinki-NLP/opus-mt | 50+ भाषा जोड़े | आम भाषाएँ (N, ES, RER, HU, RU, JA, JA, आदि) |
| Google MADLAD-400 | 400+ भाषाएँ | गोल भाषा, व्यापक विस्तार |
एपीआई स्वचालित रूप से आपकी भाषा जोड़े के लिए सर्वोत्तम मॉडल चुनता है. आप वैकल्पिक रूप से निर्दिष्ट कर सकते हैं engine पैरामीटर:
| इंजिन | वर्णन |
|---|---|
"auto" |
तयशुदा. Rance H दबा चेहरा पहले, EDD-400 पर वापस आता है |
"huggingface" |
बाध्य HEGT/MMMYT (तेज, 50+ भाषा) |
"madlad" |
बाध्य ADD-400 (400+ भाषा) |
सिंकिंग में त्रुटि
एपीआई मानक HTTP स्थिति कोड का उपयोग सफलता या असफलता को सूचित करने के लिए करता है.
| कोड | वर्णन |
|---|---|
200 |
सफलता |
400 |
गलत आग्रह - अवैध पैरामीटर |
401 |
अनधिकृत - अमान्य या गुम कुंजी |
402 |
भुगतान जरूरी - दैनिक वर्ण कोटा से अधिक हो गया |
429 |
बहुत से निवेदन सीमा से अधिक हो गए हैं |
503 |
सेवा अनुपलब्ध - अनुवाद इंजन अस्थायी रूप से नीचे |
त्रुटि प्रतिक्रिया फ़ॉर्मेट
{
"error": "daily_limit_exceeded",
"credits_remaining": 0,
"daily_limit": 100000
}
दर सीमा
योजनाएँ अलग - अलग होती हैं । स्केलिंग पूरी विवरण
| योजना | अक्षर/मा | मूल्य | |
|---|---|---|---|
| मुक्त | 250,000 | $0 | मुक्त पर हस्ताक्षर करें |
| प्रारंभ | 2,500,000 | $9/कड़ी मिटाएँ (h) | सदस्यता लें (_b) |
| प्रोग्रेड | 10,000,000 | $29/कड़ी मिटाएँ (h) | सदस्यता लें (_b) |
| व्यवसाय | 40,000,000 | $79/कड़ी मिटाएँ (h) | सदस्यता लें (_b) |
| मापक | 125,000,000 | $199/कड़ी मिटाएँ (h) | सदस्यता लें (_b) |
जब आप अपनी सीमा से अधिक, आप एक मिल जाएगा 429 Too Many Requests अगले महीने तक प्रतिक्रिया दें या आप उन्नयन करें.
ताला- बंद बादल इन्फ्रास्ट्रक्चर
EVENIVAR को स्वचालित स्केलिंग के साथ समर्पित NVIDPREREPEPEPEPEPEP उदाहरणों पर विचार करता है. जब मांग की जाती है, तब इसके अतिरिक्त जीपी उदाहरणों को मिनटों में तेजी से प्रतिक्रिया रखने के लिए प्रारंभ किया जाता है. इसका अर्थ है कि हमारे एपीआई लगभग बिना लज्जा के अंतिम निवेदन कर सकते हैं — प्रति मिनट के एक मिनट के लिए हज़ारों के लिए एक ही निवेदन कर सकते हैं.