@ action
@ info: status
@ action
The TranslateAPI provides a simple REST interface for translating text between 180+ languages. All API endpoints return JSON responses.
https://api.translateapi.ai/api/v1/
Farawa Mai Sauƙi
@ action
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!"
}
}
QFileDialog
Ka tabbatar da bukatunka ta amfani da maɓallin API. Za ka iya ƙirƙirar maɓallan API daga cikinka Dashboard.
QFileDialog
Authorization: Bearer ta_your_api_key_here
@ action
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
@ action
@ action
POST https://api.translateapi.ai/api/v1/translate/
QDialogButtonBox
| Parameters | @ action | QDialogButtonBox | Bayani |
|---|---|---|---|
text |
string | A' a | @ label: textbox |
target_language |
string | Na'am | Target language code (e.g., "es", "fr", "de") |
source_language |
string | QFileDialog | Source language code. Default: "auto" (auto-detect) |
@ action target_language (harshe) ga harshe guda ko target_languages (array) for multiple. See QFontDatabase.
Mawallafi
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
QFontDatabase
@ action: inmenu
POST https://api.translateapi.ai/api/v1/translate/
QDialogButtonBox
{
"text": "Hello, world!",
"target_languages": ["es", "fr", "de", "ja"],
"source_language": "en"
}
@ action target_languages (array) a matsayin target_language (harshe) ga manyan fayiloli da yawa.
Mawallafi
{
"source_language": "en",
"translations": {
"es": "Hola, mundo!",
"fr": "Bonjour, monde!",
"de": "Hallo, Welt!",
"ja": "こんにちは、世界!"
},
"character_count": 52,
"translation_time": 2.31
}
QPrintPreviewDialog
@ action
POST https://api.translateapi.ai/api/v1/translate/batch/
@ action
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"
}'
QDialogButtonBox
{
"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/"
}
QDialogButtonBox
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
QDialogButtonBox
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)
Amsawa (mai tsayuwa — a cikin jerin gwano, ana jira ga GPU)
{
"job_id": "67535b2b-...",
"status": "pending",
"processed_texts": 0,
"total_texts": 3,
"progress_percentage": 0.0,
"queue_position": 3
}
QDialogButtonBox
{
"job_id": "67535b2b-...",
"status": "processing",
"processed_texts": 1,
"total_texts": 3,
"progress_percentage": 33.33,
"queue_position": null
}
Mawallafi
{
"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
}
}
QDialogButtonBox
@ info: status
| @ label: textbox | Bayani |
|---|---|
status |
Halin aiki na yanzu: pending (a cikin jerin gwano, yana jira ga mai aiki na GPU), processing Sa'an nan, su zama mãsu aikatãwa. completed, failed |
processed_texts |
@ info: status |
total_texts |
@ info: status |
progress_percentage |
Cikin kashi na kammala (0-100). An ƙidaya daga processed_texts / total_texts. |
queue_position |
Matsayinka a cikin jerin gwano idan halinka na "damuwa" (1 = na gaba). Babu idan an aiwatar ko an kammala. Yi amfani da wannan don ƙididdige lokacin jira da nuna halin jerin gwano ga masu amfani da ka. |
processing_time |
Total processing time in seconds (available when completed). |
status ne "pending", masu aiki na GPU sun shagaltar da wasu bangare. Check queue_position don ka ga adadin ayyukan da ke gaba ga aikinka (1 = kai ne na gaba). Za'a fara aikinka ta atomatik — babu wani aiki da ake buƙata, kawai ka ci gaba da zaɓa.
Best Practices for Large Workloads
- @ action
- @ action
- Yi tafiyar da mafi yawan ayyuka 2 masu gudana a lokaci guda. GPU na aiwatar da ayyuka 2 masu gudana a lokaci guda - ayyuka masu yawa suna cikin jerin gwano kuma ba za su fara da sauri ba.
- A lokacin da lokaci ya yi tsawo, za'a sake tambaya kan aiki_ID mai kama da wannan ba tare da aika wani sabon bangare ba. Za'a iya cewa aikin asali na ci gaba da aiki a kan GPU.
- Yi tambaya kowace sakan 3-5. Yin tambaya da yawa ba zai rage gudun aikin ba.
@ item Spelling dictionary
@ action
{
"texts": ["Hello", "Goodbye"],
"target_languages": ["es", "fr"],
"source_language": "en"
}
An kammala sakamakon_data
{
"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
}
Parameters na tambaya
| Parameters | @ action | QDialogButtonBox | Bayani |
|---|---|---|---|
texts |
array | A' a | Array na jigogi da za'a fassara |
target_language |
string | Na'am | Ƙididdigar harshe na manufa ga harshe guda |
target_languages |
array | Na'am | Array of target language codes for multiple languages |
source_language |
string | QFileDialog | Source language code. Default: "auto" |
@ info: status target_language ko target_languagesÃ'a, duka biyun.
job_id. Hole GET /api/v1/jobs/{job_id}/ har zuwa status ne "completed"Sa'an nan ka karanta result_data Yi amfani da progress_percentage to track progress.
@ action
@ action
POST https://api.translateapi.ai/api/v1/translate/document/
Tambaya (multipart/form-data)
| Parameters | @ action | QDialogButtonBox | Bayani |
|---|---|---|---|
file |
file | A' a | Takardar da za'a fassara (maksimal 10MB) |
target_language |
string | A' a | Target language code (e.g., "es", "fr", "de") |
source_language |
string | QFileDialog | Source language code. Default: "auto" (auto-detect) |
Nau'in Fayil da Aka Goyi Bayansu
.txt- Fayil na rubutu mai sauƙi.docx- Takardun Word.pdf- Takardun PDF (ciki har da waɗanda aka yi gwaji).json- Files JSON (translates string values).xml- Files XML
.srt- Fayilolin sunaye na ƙarshe.po/.pot- @ action.jpg/.jpeg- Zane-Zane.png- Zane-Zane.tiff/.tif- Zane-Zane.bmp- Zane-Zane.webp- Zane-Zane WebP (OCR)
Misali (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 @ action: button
Mawallafi
{
"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"
}
Kimar Hali
pending |
An shigar da fayil, ana jiran a aiwatar da shi |
processing |
@ info: status |
completed |
@ info: status |
failed |
QDialogButtonBox |
GET https://api.translateapi.ai/api/v1/translate/document/{id}/
QDialogButtonBox
Mawallafi
{
"id": 123,
"original_filename": "document.docx",
"status": "completed",
"translated_file_url": "/media/translated/document_es.docx",
"character_count": 5420
}
@ action
@ action: button source_language to "auto" (ko a bar shi) kuma harshen da aka gano anã mayar da shi a cikin amsa.
POST https://api.translateapi.ai/api/v1/translate/
QDialogButtonBox
{
"text": "Bonjour, comment allez-vous?",
"target_language": "en"
}
Mawallafi
{
"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
}
QFileDialog source_language @ action
Yaren da ake goyon baya
Ka karɓi jerin dukkan harsuna da ake goyon baya.
GET https://api.translateapi.ai/api/v1/translate/languages/
Mawallafi
{
"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"},
...
]
}
QFontDatabase
Mun yi amfani da tsarin fassara mai sauki mai sauki wanda ke aiki akan ginin GPU na kanmu. Dukkanin nau'ikan suna da lasisin kasuwanci (Apache 2.0).
| @ action | @ action | QPrintPreviewDialog |
|---|---|---|
| Helsinki-NLP/opus-mt | KCharselect unicode block name | Harsuna masu yawa (EN, ES, FR, DE, IT, PT, RU, ZH, JA, da dai sauransu) |
| Google MADLAD-400 | @ item Spelling dictionary | @ item Spelling dictionary |
The API automatically chooses the best model for your language pair. You can optionally specify an engine Paramita:
| Injin | Bayani |
|---|---|
"auto" |
Default. Trys HuggingFace first, falls back to MADLAD-400 |
"huggingface" |
Ka tilasta HuggingFace/MarianMT (mafi sauri, harsuna 50+) |
"madlad" |
Force MADLAD-400 (400+ harsuna) |
QSoftKeyManager
The API uses standard HTTP status codes to indicate success or failure.
| KCharselect unicode block name | Bayani |
|---|---|
200 |
QDialogButtonBox |
400 |
QODBCResult |
401 |
Ba'a yarda ba - Maɓallin API da ba'a yarda da shi ko kuma da aka rasa |
402 |
QODBCResult |
429 |
QODBCResult |
503 |
QDialogButtonBox |
QFileDialog
{
"error": "daily_limit_exceeded",
"credits_remaining": 0,
"daily_limit": 100000
}
QDialogButtonBox
Ku bi Allah da taƙawa. Pricing for full details:
| QPrintPreviewDialog | @ action | QShortcut | |
|---|---|---|---|
| QDialogButtonBox | 250,000 | $0 | Yi rijista |
| @ action | 2,500,000 | $9/MB | @ action |
| QShortcut | 10,000,000 | $29/MB | @ action |
| QFontDatabase | 40,000,000 | $79/MB | @ action |
| @ action | 125,000,000 | $199/MB | @ action |
Kuma idan ka ƙẽtare iyãkanka, zã ka sãmi wata azãba mai raɗaɗi. 429 Too Many Requests mai amsa har zuwa wata mai zuwa ko ka canza.
QSql
TranslateAPI yana tafiya a kan NVIDIA A100 GPU masu dacewa da daidaitattun ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin ma'aunin