Dogfennaeth API

Cyfuno cyfieithiad pwerus i'ch cymhwysiadau gyda'n API REST syml.

Cychwyn

Mae'r TranslateAPI yn darparu rhyngwyneb REST syml ar gyfer cyfieithu testun rhwng 180+ o ieithoedd. Mae pob diwedd-bwynt API yn dychwelyd ymatebion JSON.

1. Get Your API Key

Create a free account and generate your API key from the dashboard:

  1. Sign up at translateapi.ai/signup
  2. Go to Dashboard → Allweddi API
  3. Click "Create API Key" and copy your key

API keys start with ta_ followed by 56 hex characters.

URL Sail: https://api.translateapi.ai/api/v1/
2. Make Your First Request

Replace YOUR_API_KEY with the key from your dashboard:

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

Dilysiant

Dilysu eich ceisiadau gan ddefnyddio allwedd API. Gallwch greu allweddi API o'ch Dashboard.

Dilysiant Pennawd (Argymhellir)
Authorization: Bearer ta_your_api_key_here
ApiKey Header
Authorization: ApiKey ta_your_api_key_here
Paramedrau Ymholiad
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Cadw eich allweddi API yn ddiogel! Peidiwch â'u datgelu mewn cod ar ochr y cleient neu storfeydd cyhoeddus.

Cyfieithu Testun

Cyfieithu testun i iaith targed sengl.

POST https://api.translateapi.ai/api/v1/translate/
Corff y Cais
Paramedrau Math Angenrheidiol Disgrifiad
text string _Yw Testun i' w gyfieithu (uchafswm o 50,000 o nodau)
target_language string Ie* Target language code (e.g., "es", "fr", "de")
source_language string _Na Source language code. Default: "auto" (auto-detect)
engine string _Na Translation engine: "auto" (default), "huggingface", or "madlad". See Translation Models. Modelau Cyfieithu.

* Defnyddio target_language (string) ar gyfer iaith sengl neu target_languages (arae) ar gyfer lluosog. Gweler Cyfieithiad Aml- Targed.

Ymateb
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}
Auto-Detection: Omit source_language or set it to "auto" to automatically detect the source language. The detected language is returned in the source_language response field.

Cyfieithiad Aml- Targed

Cyfieithu testun i ieithoedd lluosol mewn cais unigol. Defnyddia' r un diwedd- pwynt â chyfieithiad unigol.

POST https://api.translateapi.ai/api/v1/translate/
Corff y Cais
{
    "text": "Hello, world!",
    "target_languages": ["es", "fr", "de", "ja"],
    "source_language": "en"
}

Defnyddio target_languages (arae) yn lle target_language (string) ar gyfer nifer o dargedau.

Ymateb
{
    "source_language": "en",
    "translations": {
        "es": "Hola, mundo!",
        "fr": "Bonjour, monde!",
        "de": "Hallo, Welt!",
        "ja": "こんにちは、世界!"
    },
    "character_count": 52,
    "translation_time": 2.31
}
Math: Gallwch gyfieithu i hyd at 50 o ieithoedd mewn cais sengl.

Cyfieithiad

Cyfieithu testunau lluosol ar yr un pryd gyda phrosesu asyncronig. Anfon batch a pleidleisio am ganlyniadau.

Limits: Max 100 texts per batch, max 300 total items (texts × target languages). Jobs time out 45 minutes after processing starts.
Speed: Common languages (ES, FR, DE) use fast models (~0.1s/text). Less common languages use our multilingual model (~1-3s/text).
POST https://api.translateapi.ai/api/v1/translate/batch/
Cam 1: Anfon 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"
}'
Ymateb (Cedwir 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/"
}
Cam 2: Pleidleisio am ganlyniadau
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Enghraifft o bleidleisio (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"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)
Ymateb (wedi cwblhau)
{
    "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
    }
}
Real-Time Progress Tracking
Field Disgrifiad
status pending (queued, waiting for a GPU worker), processing (actively translating), completed, failed
processed_texts Number of individual translations completed so far. Updates in real time as each text is translated.
progress_percentage Completion percentage (0-100). Calculated from processed_texts / total_texts.
queue_position Your position in the queue when status is "pending" (1 = next up). Null when processing or completed. Use this to estimate wait time and show queue status to your users.
processing_time Total processing time in seconds (available when completed).
Batch Aml- Iaith

Cyfieithu testunau lluosol i nifer o ieithoedd ar yr un pryd:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
_Data canlyniad wedi'i gwblhau
{
    "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
}
Paramedrau Cais
Paramedrau Math Angenrheidiol Disgrifiad
texts array _Yw Array o linynnau i gyfieithu
target_language string Ie* Côd iaith cyrchfan ar gyfer iaith sengl
target_languages array Ie* Array o godau iaith cyrchfan ar gyfer nifer o ieithoedd
source_language string _Na Source language code. Default: "auto"

* Rhowch naill ai target_language neu target_languages, nid y ddau.

Best Practices for Large Workloads
  • Send 1 target language per batch request. This keeps each batch fast and makes progress easy to track.
  • Keep batches at 50-100 texts. Smaller batches complete faster and give you more frequent progress updates.
  • Submit as many batch jobs as you need — our GPU cluster auto-scales to handle demand. Jobs are processed in parallel across multiple instances.
  • On timeout, re-poll the same job_id instead of submitting a new batch. The original job may still be processing on the GPU.
  • Poll every 3-5 seconds. More frequent polling does not speed up processing.

Cyfieithiad Dogfen

Cyfieithu dogfennau cyfan tra' n cadw fformatio. Cynhelir fformatau ffeil lluosol.

POST https://api.translateapi.ai/api/v1/translate/document/
Cais (data aml-ran/forma)
Paramedrau Math Angenrheidiol Disgrifiad
file file _Yw Y ddogfen i gyfieithu (uchafswm 10MB)
target_language string _Yw Target language code (e.g., "es", "fr", "de")
source_language string _Na Source language code. Default: "auto" (auto-detect)
Mathau Ffeil a Gynhelir
Documents
  • .txt - Ffeiliau testun plaen
  • .docx - Dogfennau Word
  • .pdf - Dogfennau PDF (gan gynnwys rhai wedi'u sganio)
Data & Localization
  • .json - Ffeiliau JSON (yn cyfieithu gwerthoedd llinyn)
  • .xml - Ffeil XML
  • .srt - Ffeiliau isdeitlau
  • .po / .pot - Ffeiliau cyfieithiad Gettext
Images (OCR)
  • .jpg / .jpeg - Delwedd JPEG
  • .png - Delwedd PNG
  • .tiff / .tif - Delwedd TIFF
  • .bmp - Delweddau BMP
  • .webp - Delwedd WebP
Enghraifft (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"
Ymateb
{
    "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"
}
Cynhaliaeth OCR: Mae ffeiliau delwedd a PDFau arswydedig yn cael eu prosesu gydag adnabod nodau optegol (OCR) er mwyn echdynnu testun cyn cyfieithu. Er mwyn cael y canlyniadau gorau, defnyddiwch ddelweddau clir, cydraniad uchel.
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

Gwirio cyflwr cyfieithiad dogfen neu nôl URL y lawrlwythiad.

Gwerthoedd Cyflwr
pending Ffeil wedi' i lanlwytho, yn aros i' w phrosesu
processing Cyfieithiad ar waith
completed Cyfieithiad wedi gorffen, lawrlwythiad ar gael
failed Methodd y cyfieithiad (gweler error_message)

Ieithoedd a gynhelir

Nôl y rhestr o holl ieithoedd a gynhelir.

GET https://api.translateapi.ai/api/v1/translate/languages/
Ymateb
{
    "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"},
        ...
    ]
}

View All 186 Languages

Submit Corrections

Suggest a better translation for a given source text. Corrections enter a moderation queue; once approved by our team they surface as "Community Verified" translations for that text.

Note: this endpoint is served from the main domain https://translateapi.ai/api/v1/ (not the api. translation host), and requires an API key.
POST https://translateapi.ai/api/v1/suggestions/
Corff y Cais
Parameter Math Disgrifiad
source_text string The original text that was translated.
source_language string Source language code (e.g. "en").
target_language string Target language code (e.g. "es").
machine_translation string The machine translation you are correcting.
suggested_translation string Your improved translation (must differ from machine_translation).
Example Request
curl -X POST https://translateapi.ai/api/v1/suggestions/ \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
    "source_text": "Hello, world!",
    "source_language": "en",
    "target_language": "es",
    "machine_translation": "Hola, mundo!",
    "suggested_translation": "¡Hola, mundo!"
}'
Ymateb
{
    "id": 4213,
    "status": "pending",
    "created": true,
    "message": "Correction submitted for review."
}

Re-submitting the same source/language pair updates your existing suggestion instead of creating a duplicate (returns 200 with "created": false).

Modelau Cyfieithu

Rydym yn defnyddio modelau cyfieithu ffynhonnell agored o'r radd flaenaf sy'n rhedeg ar ein strwythur GPU ein hunain. Mae pob model wedi'i drwyddedu'n fasnachol (Apache 2.0).

Model Ieithoedd Gorau ar gyfer
Helsinki-NLP/opus-mt 50+ pâr iaith Ieithoedd cyffredin (EN, ES, FR, DE, IT, PT, RU, ZH, JA, ac ati)
Google MADLAD-400 400+ iaith Ieithoedd annisgwyl, cwmpasu eang

Mae'r API yn dewis yn ymysgogol y model gorau ar gyfer eich pâr iaith. Gallwch benodi un yn ddewisol engine paramedr:

Peiriant Disgrifiad
"auto" Rhagosodedig. Ceisio HuggingFace yn gyntaf, yna dychwelyd i MADLAD-400
"huggingface" Gorfodi HuggingFace/MarianMT (y cyflymaf, 50+ iaith)
"madlad" Force MADLAD-400 (400+ iaith)

Triniaeth Gwallau

Mae'r API yn defnyddio codau cyflwr HTTP safonol i ddangos llwyddiant neu fethiant.

Côd Disgrifiad
200 Llwyddiant
202 Accepted — Batch job queued successfully
400 Bad Request — Invalid parameters (missing text, unsupported language, etc.)
401 Heb ei awdurdodi - Allwedd API annilys neu ar goll
402 Payment Required — Character credits exhausted. Upgrade your plan or purchase a top-up.
403 Forbidden — API key lacks required scope or IP not in whitelist
503 Gwasanaeth ddim ar gael - peiriant cyfieithu dros dro i lawr
Fformat Ymateb Gwall
{
    "error": "insufficient_credits",
    "credits_remaining": 0
}

Usage Limits

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:

Cynllun Nodau/Mis Batch API Documents Prisiau
Rhydd 250,000 $0 Cofrestru
Cychwynydd 2,500,000 $9/% 1 mis Tanysgrifio
Pro 10,000,000 $29/% 1 mis Tanysgrifio
Busnes 40,000,000 $79/% 1 mis Tanysgrifio
Graddio 125,000,000 $199/% 1 mis Tanysgrifio
Enterprise Unlimited $499/% 1 mis Contact Sales

Pan fyddwch yn mynd dros eich terfyn, byddwch yn derbyn 402 Payment Required hyd y mis nesaf neu nes i chi uwchraddio.

Auto-Scaling Cloud Infrastructure

TranslateAPI runs on dedicated NVIDIA A100 GPU instances with automatic horizontal scaling. When demand increases, additional GPU instances are launched within minutes to maintain fast response times. All requests are queued and processed — send hundreds of concurrent requests and they'll all be handled. Real-time translations get priority, batch jobs process in the background.

Need More Credits?

Run out of characters mid-month? Purchase a one-time credit top-up without changing your plan. View top-up packs

Graddio'r dudalen hon
Diolch am eich cyfraddiad!
/5 yn seiliedig ar graddau