API ডকুমেন্টেশন
আমাদের সহজ রেস্ট এপিআই ব্যবহার করে আপনার অ্যাপ্লিকেশনে শক্তিশালী অনুবাদ একীভূত করুন।
শুরু করা হচ্ছে
180+ ভাষার মধ্যে টেক্সট অনুবাদ করার জন্য TranslateAPI একটি সহজ REST ইন্টারফেস প্রদান করে। সব API শেষ বিন্দু JSON প্রতিক্রিয়া ফিরিয়ে দেয়।
১. আপনার API কী পান
একটি বিনামূল্যে অ্যাকাউন্ট তৈরি করুন এবং ড্যাশবোর্ড থেকে আপনার API কী উত্পাদন করুন:
- নিবন্ধন করুন translateapi.ai/signup
- এখানে যাও ড্যাশবোর্ড → API কী
- "Create API Key" ক্লিক করুন এবং আপনার কী অনুলিপি করুন
API কী-এর আরম্ভের সময় ta_ ৫৬টি hex অক্ষরের সাথে ।
https://api.translateapi.ai/api/v1/২. আপনার প্রথম অনুরোধ করুন
আপনার ড্যাশবোর্ড থেকে YOUR_API_KEY কী প্রতিস্থাপন করুন:
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!"
$ch = curl_init("https://api.translateapi.ai/api/v1/translate/");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer YOUR_API_KEY",
"Content-Type: application/json"
],
CURLOPT_POSTFIELDS => json_encode([
"text" => "Hello, world!",
"target_language" => "es"
])
]);
$result = json_decode(curl_exec($ch), true);
echo $result["translated_text"]; // "Hola, mundo!"
payload := strings.NewReader(`{
"text": "Hello, world!",
"target_language": "es"
}`)
req, _ := http.NewRequest("POST", "https://api.translateapi.ai/api/v1/translate/", payload)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result["translated_text"]) // "Hola, mundo!"
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_API_KEY");
var content = new StringContent(
JsonSerializer.Serialize(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 = JsonSerializer.Deserialize<JsonElement>(
await response.Content.ReadAsStringAsync()
);
Console.WriteLine(result.GetProperty("translated_text")); // "Hola, mundo!"
প্রতিক্রিয়া
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
অনুমোদন
API কী ব্যবহার করে আপনার অনুরোধ অনুমোদন করুন। আপনি আপনার অ্যাকাউন্ট থেকে API কী তৈরি করতে পারেন ড্যাশবোর্ড.
হেডার অনুমোদন (উপস্থিত)
Authorization: Bearer ta_your_api_key_here
API কী হেডার
Authorization: ApiKey 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 | হ্যাঁ | যে টেক্সট অনুবাদ করা হবে (অতিরিক্ত ৫০,০০০ অক্ষর) |
target_language |
string | হ্যাঁ* | Target language code (e.g., "es", "fr", "de") |
source_language |
string | না | Source language code. Default: "auto" (auto-detect) |
engine |
string | না | অনুবাদ ইঞ্জিন: "auto" (ডিফল্ট), "huggingface", অথবা "madlad"। অনুবাদ মডেল দেখুন। অনুবাদ মডেল. |
* ব্যবহার 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
}
source_language অথবা এটিকে নির্ধারণ করুন "auto" স্বয়ংক্রিয়ভাবে উৎস ভাষা সনাক্ত করতে ব্যবহার করুন । সনাক্তকৃত ভাষাটি বার্তাটিতে ফিরে আসবে source_language উত্তর ক্ষেত্র।
মাল্টি- টার্গেট অনুবাদ
একটি একক অনুরোধের মধ্যে একাধিক ভাষায় টেক্সট অনুবাদ করো । একক অনুবাদ হিসাবে একই শেষ বিন্দু ব্যবহার করো ।
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/
পদক্ষেপ ১: ব্যাচ জমা দিন
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 ২০২ গ্রহণ করা হয়েছে)
{
"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/"
}
২য় ধাপ: ফলাফল পরীক্ষা করুন
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"Done: {processed}/{total} in {result.get('processing_time', 0):.1f}s")
translations = result["result_data"]["translations"]
break
elif status == "failed":
raise Exception(result.get("error_message", "Translation failed"))
elif status == "pending":
print(f"Queued (position {result.get('queue_position', '?')})")
else:
print(f"[{status}] {processed}/{total} ({progress:.0f}%)")
time.sleep(3)
উত্তর (সম্পূর্ণ)
{
"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 |
এখন পর্যন্ত সম্পন্নকৃত ব্যক্তিগত অনুবাদ সংখ্যা । প্রতিটি টেক্সট অনুবাদ করা হলে তা বাস্তব সময়ে হালনাগাদ করা হয় । |
progress_percentage |
সমাপ্তির শতাংশ (০-১০০)। processed_texts / total_texts থেকে গণনা করা হয়েছে। |
queue_position |
স্ট্যাটাস "অপেক্ষারত" (১ = পরবর্তী পদক্ষেপ) হলে অপেক্ষারত তালিকায় আপনার অবস্থান। প্রক্রিয়াকরণ অথবা সম্পন্ন হলে শূণ্য। অপেক্ষা করার সময় অনুমান করতে এবং ব্যবহারকারীদের অপেক্ষারত তালিকার স্ট্যাটাস প্রদর্শন করতে এটি ব্যবহার করুন। |
processing_time |
সেকেন্ডে মোট প্রসেসিং সময় (সম্পূর্ণ হলে উপলব্ধ)। |
বহুভাষিক ব্যাচ
একই সময়ে একাধিক ভাষায় একাধিক টেক্সট অনুবাদ করুন:
{
"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দুটোই নয়।
বড় ওয়ার্কলোডের জন্য সেরা প্র্যাকটিস
- প্রতিটি ব্যাচ অনুরোধের জন্য একটি লক্ষ্য ভাষা পাঠাও । এটি প্রতিটি ব্যাচকে দ্রুত রাখে এবং অগ্রগতি অনুসরণ করা সহজ করে ।
- ব্যাচগুলি ৫০-১০০ টেক্সটের মধ্যে রাখুন । ছোট ব্যাচগুলি দ্রুত সম্পন্ন হবে এবং আপনাকে আরও ঘন ঘন অগ্রগতি হালনাগাদ দেবে ।
- আপনার যে পরিমাণ ব্যাচ কাজ প্রয়োজন, তা জমা দিন - আমাদের GPU ক্লাস্টার চাহিদা মেটাতে স্বয়ংক্রিয়ভাবে পরিমাপ করে। একাধিক ইনস্ট্যান্সের মধ্যে সমান্তরালে কাজ প্রক্রিয়াকরণ করা হয়।
- টাইম-আউট হলে, নতুন ব্যাচ জমা দেয়ার পরিবর্তে একই job_id পুনরায় পোলিং করা হবে। GPU-তে মূল কাজ এখনো প্রসেস করা হতে পারে।
- প্রতি ৩-৫ সেকেন্ডে পোলিং করা হবে । বেশি বার পোলিং করলে প্রসেসিং- এর গতি বাড়বে না ।
নথি অনুবাদ
ফরম্যাট সংরক্ষণ করে সম্পূর্ণ নথি অনুবাদ করুন । একাধিক ফাইল ফরম্যাট সমর্থন করে ।
POST https://api.translateapi.ai/api/v1/translate/document/
অনুরোধ (মাল্টিপার্ট/ফরম-ডাটা)
| প্যারামিটার | ধরন | আবশ্যক | বর্ণনা |
|---|---|---|---|
file |
file | হ্যাঁ | যে নথিটি অনুবাদ করা হবে (অতিরিক্ত ১০ মেগাবাইট) |
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 অনুবাদ ফাইল
ছবি (OCR)
.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"
প্রতিক্রিয়া
{
"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"
}
GET https://api.translateapi.ai/api/v1/translate/document/{id}/
একটি নথির অনুবাদ অবস্থা পরীক্ষা করুন অথবা ডাউনলোড ইউ- আর- এল পুনরুদ্ধার করুন ।
অবস্থার মান
pending |
ফাইল আপলোড করা হয়েছে, প্রক্রিয়াকরণের জন্য অপেক্ষা করছে |
processing |
অনুবাদ চলছে |
completed |
অনুবাদ সম্পন্ন, ডাউনলোড উপলব্ধ |
failed |
অনুবাদ ব্যর্থ (error_message পরীক্ষা করুন) |
সমর্থিত ভাষা
সমস্ত সমর্থিত ভাষার তালিকা প্রাপ্ত করুন।
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"},
...
]
}
অনুবাদ মডেল
আমরা অত্যাধুনিক ওপেন সোর্স অনুবাদ মডেল ব্যবহার করি যা আমাদের নিজস্ব জিপিইউ পরিকাঠামোতে চলছে। সকল মডেল বাণিজ্যিকভাবে লাইসেন্সপ্রাপ্ত (আপাচি ২. ০)।
| মডেল | ভাষা | এর জন্য সেরা |
|---|---|---|
| Helsinki-NLP/opus-mt | ৫০+ ভাষা জুটি | সাধারণ ভাষা (EN, ES, FR, DE, IT, PT, RU, ZH, JA, ইত্যাদি) |
| Google MADLAD-400 | ৪০০+ ভাষা | বিরল ভাষা, বিস্তৃত কাভারেজ |
API স্বয়ংক্রিয়ভাবে আপনার ভাষা জোড়ার জন্য সেরা মডেল নির্বাচন করে। আপনি ইচ্ছাকৃতভাবে একটি উল্লেখ করতে পারেন engine পরামিতি:
| ইঞ্জিন | বর্ণনা |
|---|---|
"auto" |
ডিফল্ট। প্রথমে HuggingFace চেষ্টা করে, তারপর MADLAD-400-এ ফিরে যায় |
"huggingface" |
Force HuggingFace/MarianMT (সবচেয়ে দ্রুত, ৫০+ ভাষা) |
"madlad" |
ফোর্স MADLAD-400 (400+ ভাষা) |
ত্রুটি ব্যবস্থাপনা
এপিআই সফলতা বা ব্যর্থতা নির্দেশ করতে আদর্শ HTTP স্ট্যাটাস কোড ব্যবহার করে।
| কোড | বর্ণনা |
|---|---|
| 200 | সাফল্য |
| 202 | গ্রহণ করা হয়েছে — ব্যাচ কাজ সফলভাবে অপেক্ষায় রাখা হয়েছে |
| 400 | খারাপ অনুরোধ — অবৈধ প্যারামিটার (অবচিত টেক্সট, অসমর্থিত ভাষা, ইত্যাদি) |
| 401 | অনুমোদিত নয় - অবৈধ অথবা অনুপস্থিত API কী |
| 402 | পরিশোধের প্রয়োজন — চরিত্রের ক্রেডিট শেষ হয়ে গেছে। আপনার পরিকল্পনা আপগ্রেড করুন অথবা একটি টপ-আপ কিনুন। |
| 403 | নিষিদ্ধ — API কী-এর প্রয়োজনীয় পরিধি অথবা IP-র বৈধতা তালিকায় উপস্থিত নেই |
| 503 | সার্ভিস পাওয়া যাচ্ছে না - অনুবাদ ইঞ্জিন অস্থায়ীভাবে বন্ধ |
ত্রুটি সাড়ার ফরম্যাট
{
"error": "insufficient_credits",
"credits_remaining": 0
}
ব্যবহারের সীমা
TranslateAPI has no request rate limits. All requests are queued and processed by our auto-scaling GPU cluster. Your plan determines your monthly character allowance:
| প্ল্যান | অক্ষর/মাস | ব্যাচ API | নথি | মূল্য | |
|---|---|---|---|---|---|
| মুক্ত | 250,000 | — | — | $0 | নিবন্ধন করুন |
| আরম্ভকারী | 2,500,000 | $9/% 1 সেকেন্ড | সাবস্ক্রাইব | ||
| প্রফেসর | 10,000,000 | $29/% 1 সেকেন্ড | সাবস্ক্রাইব | ||
| ব্যবসা | 40,000,000 | $79/% 1 সেকেন্ড | সাবস্ক্রাইব | ||
| আকার পরিবর্তন | 125,000,000 | $199/% 1 সেকেন্ড | সাবস্ক্রাইব | ||
| Enterprise | Unlimited | $499/% 1 সেকেন্ড | Contact Sales |
যখন আপনি আপনার সীমা অতিক্রম, আপনি একটি পাবেন 402 Payment Required আগামী মাসে অথবা আপনি আপগ্রেড পর্যন্ত প্রতিক্রিয়া।
স্বয়ংক্রিয়ভাবে স্কেলিং ক্লাউড ইনফ্রাস্ট্রাকচার
স্বয়ংক্রিয়ভাবে অনুভূমিক স্কেলিং সহ বিশেষ NVIDIA A100 GPU ইন্সট্যান্সে TranslateAPI চলছে। যখন চাহিদা বৃদ্ধি পাবে, দ্রুত প্রতিক্রিয়া সময় বজায় রাখতে মিনিটের মধ্যে অতিরিক্ত GPU ইন্সট্যান্স চালু করা হবে। সব অনুরোধ লাইন করা এবং প্রক্রিয়াকৃত হবে - শত শত একযোগে অনুরোধ পাঠানো হবে এবং তারা সবাই পরিচালিত হবে। বাস্তব-সময়ের অনুবাদ অগ্রাধিকার পাবে, ব্যাচ কাজ পটভূমিতে প্রক্রিয়া করা হবে।
আরো ক্রেডিট প্রয়োজন?
মাসের মাঝামাঝি সময়ে আপনার ক্যারেক্টার শেষ হয়ে যাবে? আপনার পরিকল্পনা পরিবর্তন না করে একবার ক্রেডিট টপ-আপ কিনুন। টপ-আপ প্যাক প্রদর্শন করুন