@ action

The TranslateAPI provides a simple REST interface for translating text between 180+ languages. All API endpoints return JSON responses.

1. Ka samu maɓallin API naka

Yi amfani da wannan asusun don ƙirƙirar maɓallin API daga dashboard:

  1. Yi rijista a translateapi.ai/signup
  2. @ action Dashboard → Maɓallan API
  3. Danna "Saita Maɓallin API" kuma ka kwafe maɓallinka

Maɓallan API suna farawa da ta_ @ action

URL na farko: https://api.translateapi.ai/api/v1/
2. Yi Tambayarka ta Farko

Sauya YOUR_API_KEY da maɓallin daga dashboard ɗinka:

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!"
Mawallafi
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}

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
QPrintPreviewDialog
Authorization: ApiKey ta_your_api_key_here
@ action
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
@ action Kada ka bayyana su a cikin lissafin uwar garke na uwar garke ko a cikin ajiyar jama'a.

@ 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)
engine string QFileDialog @ label: textbox QFontDatabase.

@ 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
}
@ action QDialogButtonBox source_language ko ka sanya shi zuwa "auto" @ action: button source_language @ action

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
}
Nau'i: Za ka iya fassara zuwa har zuwa harsuna 50 a cikin wata tambaya guda.

QPrintPreviewDialog

@ action

QDialogButtonBox @ info
_Saurin: Yaren da ake amfani da su (ES, FR, DE) suna amfani da nau'ikan da suke da sauri (~0.1s/text). Yaren da ake amfani da su kaɗan suna amfani da nau'inmu na yaren da suke da yawa (~1-3s/text).
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"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)
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
@ label: textbox Bayani
status 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
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).
@ 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.

Best Practices for Large Workloads
  • @ action
  • @ action
  • Submit as many batch jobs as you need - our GPU cluster auto-scales to handle demand. Jobs are processed in parallel across multiple instances.
  • 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.

@ 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
@ action
  • .txt - Fayil na rubutu mai sauƙi
  • .docx - Takardun Word
  • .pdf - Takardun PDF (ciki har da waɗanda aka yi gwaji)
KCharselect unicode block name
  • .json - Files JSON (translates string values)
  • .xml - Files XML
  • .srt - Fayilolin sunaye na ƙarshe
  • .po / .pot - @ action
@ 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"
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"
}
KCharselect unicode block name An yi amfani da fayilolin hotuna da PDFan da aka yi gwaji da su da na'ura mai gane alamomin gani (OCR) domin fitar da rubutu kafin fassara. Don mafi kyawun sakamako, yi amfani da hotunan da ke da inganci mai girma.
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

QDialogButtonBox

Kimar Hali
pending An shigar da fayil, ana jiran a aiwatar da shi
processing @ info: status
completed @ info: status
failed QDialogButtonBox

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"},
        ...
    ]
}

@ item Spelling dictionary

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
202 An karɓi — An sanya aikin kwance cikin jerin gwano da nasara
400 Tambaya mara kyau — Parameters masu rashin inganci (watau, rubutun da ke faruwa, harshe da ba'a goyi bayansa, da dai sauransu)
401 Ba'a yarda ba - Maɓallin API da ba'a yarda da shi ko kuma da aka rasa
402 An buƙaci biyan kuɗi — An kashe kuɗaɗen alamomin. Yi ci gaba da shirinka ko kuma saya wani ci gaba.
403 An hana — maɓallin API yana da matsala da aikace-aikacen da ake buƙata ko IP ba a cikin lissafin fari ba
503 QDialogButtonBox
QFileDialog
{
    "error": "insufficient_credits",
    "credits_remaining": 0
}

QDialogButtonBox

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:

QPrintPreviewDialog @ action API na Batch @ 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
Enterprise Unlimited $499/MB Contact Sales

Kuma idan ka ƙẽtare iyãkanka, zã ka sãmi wata azãba mai raɗaɗi. 402 Payment Required mai amsa har zuwa wata mai zuwa ko ka canza.

QSql

TranslateAPI yana tafiya a kan NVIDIA A100 GPU masu dacewa da daidaitawar tsaye ta atomatik. Idan bukata ta karu, ana fara wasu GPU a cikin minti don kiyaye lokaci mai sauri na amsawa. An sanya dukkan bukatun a cikin jerin kuma an aiwatar da su — aika daruruwan bukatun da suka haɗu kuma za a yi musu aiki. Real-time translations get priority, batch jobs process in the background.

@ action

@ action Nuna sassa na ƙarshe

@ action
Barka da zuwa!
/5 @ action: inmenu QShortcut