ሰነዶች
ቀላል 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 (string) ለአንድ ቋንቋ ወይም 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 (string) ለብዙ ዓላማዎች
መልስ
{
"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}/
ምርጫዎች (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- ምስሎች
ምሳሌ (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
}
ቋንቋ፦ (_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 ያለማቋረጥ ያለማቋረጥ ያለማቋረጥ ጥያቄዎችን ሊይዝ ይችላል - ከአንድ ጥያቄ እስከ ሚሊዮኖች በአንድ ደቂቃ.