API मिसिलीकरण
हाम्रो सरल REST API संग आफ्नो अनुप्रयोगहरूमा शक्तिशाली अनुवाद एकीकृत।
सुरुआत गर्दै
यो TranslateAPI 180+ भाषाहरू बीच पाठ अनुवाद लागि एक सरल REST इन्टरफेस प्रदान गर्दछ। सबै API अन्त बिन्दुहरू JSON प्रतिक्रियाहरू फर्काउँछ।
1. आफ्नो एपीआई कुञ्जी प्राप्त
एक नि: शुल्क खाता सिर्जना गर्नुहोस् र डैशबोर्डबाट आफ्नो एपीआई कुञ्जी उत्पन्न गर्नुहोस्:
- यसमा दर्ता गर्नुहोस् translateapi.ai/signup
- यसमा जानुहोस् डेस्कटप → 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
}
प्रमाणीकरण
एपीआई कुञ्जी प्रयोग गरेर आफ्नो अनुरोध प्रमाणित गर्नुहोस्। तपाईं आफ्नोबाट एपीआई कुञ्जीहरू सिर्जना गर्न सक्नुहुन्छ डेस्कटप.
हेडर प्रमाणीकरण (सिफारिस गरिएको)
Authorization: Bearer ta_your_api_key_here
एपीआई कुञ्जी हेडर
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 | हो | अनुवाद गर्न पाठ (अधिकतम ५०,००० क्यारेक्टर) |
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" । अनुवाद नमूना हेर्नुहोस् । अनुवाद नमूना. |
* प्रयोग 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
}
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 बहुविध लक्ष्यका लागि (स्ट्रिङ) ।
प्रतिक्रिया
{
"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/
चरण १: ब्याच पेश गर्नुहोस्
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"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 |
पूरा प्रतिशत (०-१००) । प्रक्रिया गरिएको पाठ / कूल पाठबाट गणना गरिएको । |
queue_position |
वस्तुस्थिति "निलम्बित" (१ = पछिल्लो माथि) हुँदा लाममा तपाईँको स्थिति । प्रक्रिया गर्दा वा समाप्त हुँदा शून्य । तपाईँको प्रयोगकर्तालाई प्रतिक्षा समय अनुमान गर्न र लाम वस्तुस्थिति देखाउन यसलाई प्रयोग गर्नुहोस् । |
processing_time |
सेकेन्डमा कूल प्रक्रिया समय (पूर्ण भएपछि उपलब्ध) । |
बहु- भाषा ब्याच
एक पटकमा धेरै भाषामा धेरै पाठहरू अनुवाद गर्नुहोस्:
{
"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, दुवै होइन ।
ठूलो कार्यभारको लागि सर्वश्रेष्ठ अभ्यासहरू
- प्रति ब्याच अनुरोध १ लक्षित भाषा पठाउनुहोस् । यसले प्रत्येक ब्याच छिटो राख्दछ र ट्रयाक गर्न प्रगति सजिलो बनाउँछ ।
- 50-100 पाठहरूमा ब्याचहरू राख्नुहोस्। साना ब्याचहरू छिटो पूरा गर्नुहोस् र तपाईंलाई बढी नियमित प्रगति अद्यावधिक दिनुहोस्।
- तपाईं आवश्यक रूपमा धेरै ब्याच कामहरू पेश गर्नुहोस् - हाम्रो GPU क्लस्टर माग ह्यान्डल गर्न स्वचालित-स्केल। कामहरू बहु उदाहरणहरूमा समानान्तर रूपमा प्रक्रिया गरिन्छ।
- समय समाप्तिमा, नयाँ ब्याच पेश गर्नुको सट्टा उही काम आईडी पुन: पोल गर्नुहोस् । मौलिक काम अझै GPU मा प्रक्रिया भइरहेको हुन सक्छ ।
- प्रत्येक ३-५ सेकेन्डमा पोलिंग गर्नुहोस् । बढी बारम्बार पोलिंगले प्रक्रिया गति बढाउँदैन ।
कागजात अनुवाद
ढाँचा बचत गर्दै सम्पूर्ण कागजात अनुवाद गर्नुहोस् । बहुविध फाइल ढाँचा समर्थन गर्दछ ।
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- वेबपी छविहरू (ओसीआर)
उदाहरण (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}/
कागजात अनुवादको स्थिति जाँच गर्नुहोस् वा डाउनलोड यूआरएल पुन: प्राप्त गर्नुहोस् ।
वस्तुस्थिति मान
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 पूर्वाधार मा चलिरहेको प्रयोग. सबै मोडेल व्यावसायिक लाइसेन्स छन् (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 | सफलता |
| 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 | कागजात | मूल्य | |
|---|---|---|---|---|---|
| स्वतन्त्र | 250,000 | — | — | $0 | निःशुल्क दर्ता गर्नुहोस् |
| सुरुआतकर्ता | 2,500,000 | $9/मिनेट | सदस्य बनाउनुहोस् | ||
| प्रो | 10,000,000 | $29/मिनेट | सदस्य बनाउनुहोस् | ||
| व्यवसाय | 40,000,000 | $79/मिनेट | सदस्य बनाउनुहोस् | ||
| मापन | 125,000,000 | $199/मिनेट | सदस्य बनाउनुहोस् | ||
| Enterprise | Unlimited | $499/मिनेट | Contact Sales |
जब तपाईं आफ्नो सीमा भन्दा बढी, तपाईं एक प्राप्त हुनेछ 402 Payment Required अर्को महिना वा तपाईं स्तरोन्नति सम्म प्रतिक्रिया।
स्वत: स्केलिङ क्लाउड पूर्वाधार
TranslateAPI स्वचालित तेर्सो स्केलिंग संग समर्पित NVIDIA A100 GPU उदाहरणहरू मा चल्छ. जब माग वृद्धि, अतिरिक्त GPU उदाहरणहरू छिटो प्रतिक्रिया समय कायम गर्न मिनेट भित्र सुरु छन्. सबै अनुरोधहरू लाइनमा छन् र प्रक्रिया - एकै समयमा अनुरोध को सयौं पठाउन र तिनीहरूले सबै ह्यान्डल गरिनेछ. वास्तविक-समय अनुवाद प्राथमिकता प्राप्त, पृष्ठभूमिमा ब्याच काम प्रक्रिया.
अझै क्रेडिटहरू आवश्यक छ?
मध्य महिनामा क्यारेक्टरहरू बाहिर चलाउनुहोस्? आफ्नो योजना परिवर्तन बिना एक एक-पटक क्रेडिट शीर्ष-अप खरीद गर्नुहोस्। माथि-माथि प्याकहरू हेर्नुहोस्