API ලේඛන

අපගේ සරල REST API සමඟ ඔබේ අයදුම්පත් බවට බලවත් පරිවර්තනය ඒකාබද්ධ.

ආරම්භ කිරීම

මෙම TranslateAPI 180+ භාෂා අතර පෙළ පරිවර්තනය කිරීම සඳහා සරල REST අතුරුමුහුණත සපයයි. සියලු API අවසාන ලකුණු JSON ප්රතිචාර ආපසු.

මූලික URL: 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
ඔබේ API යතුරු ආරක්ෂිතව තබා ගන්න! සේවාලාභියා-පැත්තේ කේතය හෝ පොදු කෞතුකාගාර ඔවුන් නිරාවරණය කරන්න එපා.

පෙළ පරිවර්තනය

තනි ඉලක්ක භාෂාවකට පෙළ පරිවර්තනය කරන්න.

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
}

බහු- ඉලක්ක පරිවර්තනය

තනි ඉල්ලීමක් බහු භාෂා පෙළ පරිවර්තනය. තනි පරිවර්තනය ලෙස එම අවසන් ස්ථානය භාවිතා කරයි.

වර්‍ගය: ඔබ තනි ඉල්ලීමක් භාෂා 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
}

කට්ටල පරිවර්තනය

async සැකසුම් සමග එකවර බහු පෙළ පරිවර්තනය. ප්රතිඵල සඳහා කණ්ඩායමක් සහ ඡන්දය ඉදිරිපත් කරන්න.

සීමාවන්: බැච් එකකට උපරිම 500 පෙළ, උපරිම 750 මුළු අයිතම (පෙළ × ඉලක්ක භාෂා). රැකියා කාලය අවසන් 30 සැකසුම් ආරම්භ වූ පසු විනාඩි (පෙළ බලා කාලය ගණනය නොවේ).
සැකසුම් කාලය භාෂාව අනුව වෙනස් වේ: පොදු භාෂා (ස්පාඤ්ඤ, ප්රංශ, ජර්මානු, ආදිය) වේගවත් ආකෘති භාවිතා (පෙළකට ~ 0.1s), අඩු පොදු භාෂා අපගේ විශාල බහුභාෂා ආකෘතිය භාවිතා කරන අතර (පෙළකට ~ 1-3s). 100-පෙළ කණ්ඩායම සාමාන්යයෙන් පොදු භාෂා සඳහා තත්පර 10-30 තුළ සම්පූර්ණ, හෝ 2-5 අඩු පොදු අය සඳහා විනාඩි. හොඳම ප්රතිඵල සඳහා, කණ්ඩායම් ඉල්ලීමකට 1 ඉලක්ක භාෂාව යැවීමට සහ කණ්ඩායම් ප්රමාණ යටතේ 50 පෙළ තබා.
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 තත්පර මුළු සැකසුම් කාලය (සම්පූර්ණ වූ විට ලබා ගත හැක).
[Error: UNIQUE constraint failed: translations_translation.textbase_id, translations_translation.language_id] කවදද 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)
OCR සහාය: පින්තූර ගොනු සහ පරිලෝකනය PDF පරිවර්තනය කිරීමට පෙර පෙළ ලබා ගැනීම සඳහා දෘෂ්ය අක්ෂර හඳුනා ගැනීම (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"
රූප ගොනු පරිවර්තනය කිරීමට පෙර පෙළ වෙන් කිරීමට OCR සමග සකස් කර ඇත. පරිවර්තනය ප්රතිදානය ලෙස ආපසු .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.

මෙම පිටුව අගය කරන්න
ඔබේ ශ්‍රේණිගත කිරීම් සඳහා ස්තුතියි!
/5 මත පදනම්ව ඇගයීම්