@ action

@ info: status

@ action

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

URL na farko: 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 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)

@ 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

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

@ action: button
@ action: button
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).
Nau'i: Yaushe 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.

Asynchronous Processing QFileDialog 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)
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.
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"
Ana sarrafa fayilolin hotuna da OCR domin fitar da rubutu kafin fassara. An mayar da fitarwa da aka fassara a matsayin .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

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