ሰነዶች

ቀላል 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 (string) ለአንድ ቋንቋ ወይም 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 (string) ለብዙ ዓላማዎች

መልስ
{
    "source_language": "en",
    "translations": {
        "es": "Hola, mundo!",
        "fr": "Bonjour, monde!",
        "de": "Hallo, Welt!",
        "ja": "こんにちは、世界!"
    },
    "character_count": 52,
    "translation_time": 2.31
}

ትርጉም

በአንድ ጊዜ ብዙ ጽሑፎችን በተመሳሳይ ጊዜ ማስተላለፍ ይችላሉ። ውጤቶችን ለማግኘት ቡድን እና ምርጫን ይላኩ።

ርቀቶች: max 500 ጽሑፎች ለ batch, max 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)
መልስ (የሚጠባበቅ - ተከታታይ, ለጂፒዩ የሚጠብቅ)
{
    "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", የጂፒዩ ሠራተኞች በሌሎች ቡድኖች ውስጥ ተዘግተው ናቸው። queue_position ከራስህ በፊት ምን ያህል ስራዎች እንዳሉ ለማየት (1 = ቀጣዩ አንተ ነህ) ጠቅ ያድርጉ። ስራህ በራስ-ሰር ይጀምራል - ምንም ዓይነት ተግባር አይጠበቅም፣ ምርጫውን ብቻ ይቀጥሉ።
ለታላላቅ ስራዎች ምርጥ ተግባራት
  • 1 የሚፈለገው ቋንቋ በአንድ ቡድን ጥያቄ መላክ. ይህ ቡድን ሁሉ ፈጣን ይይዛል እና ሂደቱን ለመከተል ቀላል ያደርገዋል.
  • ቡድኖችን በ50-100 ጽሑፎች ውስጥ ይያዙ. ትንሽ ቡድኖች በፍጥነት ይጨርሳሉ እና የበለጠ ተከታታይ የሂደት ማሻሻያዎችን ይሰጣሉ.
  • በአማካይ 2 በአንድ ወቅት የሚከናወኑ የባች ስራዎችን ይጫኑ። የጂፒዩ 2 ባች ስራዎችን በአንድ ወቅት ያከናውናል - ተጨማሪ ስራዎች በፍጥነት አይጀምሩም
  • የጊዜ ገደብ ሲያልፍ፣ አዲስ ቡድን ከመስጠት ይልቅ ተመሳሳይ የስራ_አይዲን (job_id) መልሶ መሞከር አለብህ። የመጀመሪያው ሥራ አሁንም በጂፒዩ ላይ ሊከናወን ይችላል።
  • በየ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/
ጥያቄ (multipart/form-data)
መለኪያ ዓይነት፦ የሚያስፈልግ መግለጫ የለም
file file አዎ የሚተረጎመው ሰነድ (በአማካይ 10 ሜባ)
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 - የፒዲኤፍ ሰነዶች
  • .json - ፋይሎች ክፈት
  • .xml - የXML ፋይሎች
  • .srt - ፋይሎች ክፈት
  • .po / .pot - የተተረጎሙ ፋይሎች
  • .jpg / .jpeg - ምስሎች
  • .png - ምስሎች
  • .tiff / .tif - ምስሎች
  • .bmp - ምስሎች
  • .webp - ምስሎች
OCR ድጋፍ፦ የምስል ፋይሎችና ስክነድ ፒዲኤፍዎች ከማተም በፊት ጽሑፉን ለማውጣት በኦፕቲካል ካርታ ሪኮርዲንግ (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 ትርጉሙ አልተሳካም (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
}

ቋንቋ፦ (_L)

የቋንቋ መቆጣጠሪያ በየተተረጎመው ጥያቄ ውስጥ ይገኛል። 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, ወዘተ.)
Google MADLAD-400 ቋንቋዎች የተለመዱ ቋንቋዎች፣ አጠቃላይ መሸፈኛ

የአፕሊኬሽን ፕሮግራም መቆጣጠሪያ (API) በራስ-ሰር ለቋንቋ ዙርዎ ምርጥ ሞዴልን ይመርጣል engine ፓራሜትር፦

ኢንጂን መግለጫ የለም
"auto" ቅድመ ዕይታ. HuggingFaceን በመጀመሪያ ይሞክራል፣ ወደ MADLAD-400 ይመለሳል
"huggingface" 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 መልስ እስከሚቀጥለው ወር ወይም ከፍታ ድረስ.

የራስ-አስተዳደር

TranslateAPI በባለሙያ NVIDIA A100 GPU instances ላይ በራስ-ሰር አግድም ማሳደግ ይሠራል. ጥያቄው ሲጨምር, የተጨማሪ GPU instances ፈጣን መልስ ጊዜዎችን ለማቆየት በ ደቂቃዎች ውስጥ ይጀምራሉ. ይህ ማለት API ያለማቋረጥ ያለማቋረጥ ያለማቋረጥ ጥያቄዎችን ሊይዝ ይችላል - ከአንድ ጥያቄ እስከ ሚሊዮኖች በአንድ ደቂቃ.

ይህን ገጽ ደረጃ ስጥ
ለግምገማችሁ አመሰግናለሁ!
/5 የተመሠረተ ደረጃዎች