API ஆவணமாக்கம்
எங்கள் எளிய REST API உடன் உங்கள் பயன்பாடுகளில் பலமான மொழிபெயர்ப்பை ஒருங்கிணைக்கவும்.
துவங்கு
TranslateAPI ஒரு எளிய REST இடைமுகத்தை 180+ மொழிகளுக்கு இடையே உரையை மொழிபெயர்ப்பதற்கு வழங்குகிறது. அனைத்து 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 (சரம்) ஒற்றை மொழி அல்லது 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"
}'
பதில் (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)
பதில் (நிறுத்தப்பட்டுள்ளது - வரிசையில் உள்ளது, ஜிபியுவிற்காக காத்திருக்கிறது)
{
"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 உரைகளில் தொகுப்புகளை வைத்திருக்கவும். சிறிய தொகுப்புகள் விரைவாக முடிந்து, அதிக முன்னேற்ற அப்டேட்களை தரும்.
- அதிகபட்சமாக2ஒரே நேரத்தில் செயல்படும் கூட்டு பணிகளை இயக்கவும். GPU இணையாக2கூட்டங்களை செயல்படுத்துகிறது - கூடுதல் பணிகள் வரிசைப்படுத்தப்படுகின்றன மற்றும் வேகமாகத் தொடங்கப்படுவதில்லை.
- நேரம் முடிந்தவுடன், புதிய தொகுப்பை அனுப்புவதை விட அதே வேலை_ அடையாளத்தை மீண்டும் கேட்கவும். உண்மையான வேலை இன்னும் ஜிபியுவில் செயலாக்கப்படலாம்.
- ஒவ்வொரு 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 | ஆமாம் | மொழிபெயர்க்க வேண்டிய ஆவணம் (max 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- 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 |
மொழிபெயர்ப்பு தோல்வியுற்றது (error_ 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
}
மொழி கண்டறிதல்
ஒவ்வொரு மொழிபெயர்ப்பு கோரிக்கையிலும் மொழி கண்டறிதல் உள்ளமைக்கப்பட்டுள்ளது. 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"},
...
]
}
மொழிபெயர்ப்பு மாதிரிகள்
நாங்கள் திறந்த மூல மொழிபெயர்ப்பு மாதிரிகளை பயன்படுத்துகிறோம். அனைத்து மாதிரிகளும் வர்த்தக ரீதியாக அனுமதிக்கப்பட்டுள்ளன (அப்பாச்சி 2.0).
| மாதிரி | மொழிகள் | சிறந்த |
|---|---|---|
| Helsinki-NLP/opus-mt | 50+ மொழி ஜோடி | பொதுவான மொழிகள் (EN, ES, FR, DE, IT, PT, RU, ZH, JA, etc.) |
| Google MADLAD-400 | 400+ மொழிகள் | அரிதான மொழிகள், விரிவான கட்டுரை |
API தானாகவே உங்கள் மொழி ஜோடிக்கு சிறந்த மாதிரியை தேர்ந்தெடுக்கிறது. நீங்கள் விருப்பப்படி ஒரு குறிப்பிடலாம் engine அளபுரு:
| இயந்திரம் | விளக்கம் |
|---|---|
"auto" |
முன்னிருப்பு. HuggingFace முதலில் முயற்சிக்கிறது, MADLAD- 400 க்கு திரும்புகிறது |
"huggingface" |
Force HuggingFace/MarianMT (வேகமானது, 50+ மொழிகள்) |
"madlad" |
Force MADLAD-400 (400+ மொழிகள்) |
பிழை கையாளுதல்
இந்த 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/மணிகள் | உறுப்பினராக்கு |
| புரொ | 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.