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!"
}
}
අවසරදීම
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
}
කට්ටල පරිවර්තනය
async සැකසුම් සමග එකවර බහු පෙළ පරිවර්තනය. ප්රතිඵල සඳහා කණ්ඩායමක් සහ ඡන්දය ඉදිරිපත් කරන්න.
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}/
පෝලින් උදාහරණය (Python)
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 |
[Error: UNIQUE constraint failed: translations_translation.textbase_id, translations_translation.language_id] pending [Error: UNIQUE constraint failed: translations_translation.textbase_id, translations_translation.language_id] processing (ක්රියාකාරී පරිවර්තනය), completed, failed |
processed_texts |
[Error: UNIQUE constraint failed: translations_translation.textbase_id, translations_translation.language_id] |
total_texts |
[Error: UNIQUE constraint failed: translations_translation.textbase_id, translations_translation.language_id] |
progress_percentage |
සම්පූර්ණ ප්රතිශතය (0-100). processed_texts / total_texts සිට ගණනය. |
queue_position |
පෝලිමේ ඔබේ ස්ථානය තත්වය "පවතිමින්" නම් (1 = ඊලඟට). සැකසීම හෝ සම්පූර්ණ වූ විට ශුන්ය වේ. ඔබේ පරිශීලකයන්ට පෝලිමේ තත්වය පෙන්වීමට බලාසිටින කාලය ඇස්තමේන්තු කිරීමට මෙය භාවිත කරන්න. |
processing_time |
තත්පර මුළු සැකසුම් කාලය (සම්පූර්ණ වූ විට ලබා ගත හැක). |
status යි "pending", GPU කම්කරුවන් අනෙකුත් කණ්ඩායම් සමඟ කාර්යබහුල වේ. පරීක්ෂා කරන්න queue_position කොපමණ රැකියා ඔබ ඉදිරියේ සිටින බව බලන්න (1 = ඔබ ඊළඟ). ඔබේ රැකියාව ස්වයංක්රීයව ආරම්භ වනු ඇත - කිසිදු ක්රියාමාර්ග අවශ්ය, හුදෙක් ඡන්ද විමසීම තබා.
විශාල වැඩ බර සඳහා හොඳම ප්රතිපත්ති
- කණ්ඩායම් ඉල්ලීමකට 1 ඉලක්ක භාෂාව යවන්න. මෙම එක් එක් කණ්ඩායම් වේගයෙන් පවත්වාගෙන යන අතර ප්රගතිය පහසුවෙන් හඳුනා ගැනීමට කරයි.
- [Error: UNIQUE constraint failed: translations_translation.textbase_id, translations_translation.language_id]
- [Error: UNIQUE constraint failed: translations_translation.textbase_id, translations_translation.language_id]
- කාලය අවසන් වූ විට, නව කණ්ඩායමක් ඉදිරිපත් කිරීම වෙනුවට එම 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 පරිවර්තන සඳහා. භාවිතා 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)
උදාහරණය (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 |
පරිවර්තනය අසාර්ථක විය (check error_message) |
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
}
භාෂා හඳුනාගැනීම
භාෂා හඳුනා ගැනීම සෑම පරිවර්තන ඉල්ලීම තුළ ඉදි කර ඇත. 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 යටිතල පහසුකම් මත ධාවනය රාජ්ය-of-the-art විවෘත මූලාශ්රය පරිවර්තන ආකෘති භාවිතා. සියලු ආකෘති වාණිජ බලපත්ර (Apache 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" |
බලය HuggingFace / MarianMT (වේගවත්ම, 50+ භාෂා) |
"madlad" |
බලය 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.