API Dokumentasie
Dra kragtige vertaling in jou aansoeke met ons eenvoudige REST API.
Hoe om te begin
Die VertaalAPI verskaf 'n eenvoudige REST-koppelvlak om teks tussen 180+ tale te vertaal. Al 'nPI-puntpunte gee terug JSON antwoord.
1. Kry jou API-sleutel
Skep 'n gratis rekening en genereer jou API sleutel van die paneelbord:
- Teken op na: translateapi.ai/signup
- Gaan na Kasbord → API-sleutelsComment
- Kliek "Skep API Sleutel" en kopieer jou sleutel
API sleutels begin met ta_ gevolg deur 56 heks karakters.
https://api.translateapi.ai/api/v1/2. Doen jou eerste versoek
Vervang JOU_API_KYE met die sleutel van jou paneelbord:
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!"
Reaksie
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
Geldigheidsverklaring
Verifiëer jou versoeke deur 'n API-sleutel te gebruik. Jy kan API-sleutels van jou skep K- bord.
Opskrif Geldigheidsverklaring (Aanbeveel)
Authorization: Bearer ta_your_api_key_here
Apileuteltitel
Authorization: ApiKey ta_your_api_key_here
Navraag Parameter
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Vertaal Teks
Vertaal teks na 'n enkel doel taal.
POST https://api.translateapi.ai/api/v1/translate/
Versoek Liggaam
| Parameter | Tipe | Benodig | Beskrywing |
|---|---|---|---|
text |
string | Ja | Teks om te vertaal (max 50 000 karakters) |
target_language |
string | Ja* | Target language code (e.g., "es", "fr", "de") |
source_language |
string | Nee | Source language code. Default: "auto" (auto-detect) |
engine |
string | Nee | Vertalingsenjin: "outo" (verstek), "koggingace", of "madlaak". Sien Vertaling Models. Vertaling Modelle. |
* Gebruik target_language (string) vir enkeltaal of target_languages (skikking) vir veelvuldige. Sien Multi- Polerge Translation.
Reaksie
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
source_language of stel dit aan "auto" na automaties verklik die bron taal. Die opgespoor taal is teruggestuur in die source_language Antwoord veld.
Multi- Polerge Translation
Vertaal teks na veelvuldige tale in 'n enkel versoek. Gebruik dieselfde punt as enkel vertaling.
POST https://api.translateapi.ai/api/v1/translate/
Versoek Liggaam
{
"text": "Hello, world!",
"target_languages": ["es", "fr", "de", "ja"],
"source_language": "en"
}
Gebruik target_languages (skikking) in plaas van target_language (string) vir veelvuldige teikens.
Reaksie
{
"source_language": "en",
"translations": {
"es": "Hola, mundo!",
"fr": "Bonjour, monde!",
"de": "Hallo, Welt!",
"ja": "こんにちは、世界!"
},
"character_count": 52,
"translation_time": 2.31
}
Bangt TranslationQuery
Vertaal veelvuldige tekste dadelik met ansync verwerking. Instuur 'n klomp en bestuiwers vir resultate.
POST https://api.translateapi.ai/api/v1/translate/batch/
Stap 1: Dien Batch in
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"
}'
Reaksie (HTTP 202 aanvaar)
{
"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/"
}
Stap 2: Smeer vir resultate
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Hoe om'n voorbeeld te stel (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)
Reaksie (%d%% klaar)
{
"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
}
}
Reël-tyd Vordering
| Veld | Beskrywing |
|---|---|
status |
pending (Gekies, gewag vir 'n GPU-werker), processing (aktief vertaal), completed, failed |
processed_texts |
Aantal individuele vertalings wat tot dusver voltooi is. Dateer op in werklike tyd namate elke teks vertaal word. |
progress_percentage |
Voltooià ̄ng persentasie (0- 100). Geformateerde van verwerkte_tekste / totaal_tekste. |
queue_position |
Jou posisie in die wagtou wanneer status is "hang" (1 = volgende begin). Null wanneer verwerking of voltooi. Gebruik hierdie na skat wag tyd en vertoon wagtou status aan jou gebruikers. |
processing_time |
Totaal verwerking tyd in sekondes (beskikbaar wanneer voltooi). |
Multi-Language Bangch
Vertaal veelvuldige tekste na veelvuldige tale op 'n slag:
{
"texts": ["Hello", "Goodbye"],
"target_languages": ["es", "fr"],
"source_language": "en"
}
Voltooide resultaat
{
"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
}
Versoek Parameters
| Parameter | Tipe | Benodig | Beskrywing |
|---|---|---|---|
texts |
array | Ja | Verbranding van stringe om te vertaal |
target_language |
string | Ja* | Teiken taal kode vir enkel taal |
target_languages |
array | Ja* | Array van teikentaalkodes vir veelvuldige tale |
source_language |
string | Nee | Source language code. Default: "auto" |
* Voorsien ook target_language of target_languages, nie albei nie.
Beste gebruike vir groot werklaste
- Stuur 1 teiken taal per bord versoek. Dit hou elke klomp vinnig en maak vordering maklik om te volg.
- Hou hope by 50-100 tekste, Kleiner klomps voltooi vinniger en gee jou meer gereelde vordering bywerkings.
- @ info/ rich crash situation example
- Op tydverstreke, re-poll dieselfde werk_id in plaas van instuur 'n nuwe klomp. die oorspronklike werk dalk mag wees verwerking op die GPU.
- Tel elke 3- 5 sekondes. Meer gereelde meningspeilings bespoedig nie verwerking nie.
Dokument Vertaling
Vertaal hele dokumente terwyl besig is om formatering te bewaar. Ondersteun veelvuldige lêer formate.
POST https://api.translateapi.ai/api/v1/translate/document/
Versoek (ultipart/form- data)
| Parameter | Tipe | Benodig | Beskrywing |
|---|---|---|---|
file |
file | Ja | Die dokument om te vertaal (max 10mb) |
target_language |
string | Ja | Target language code (e.g., "es", "fr", "de") |
source_language |
string | Nee | Source language code. Default: "auto" (auto-detect) |
Ondersteunde Lêer Tipes
Dokumente
.txt- Skoontekslêers.docx- Woorddokumente.pdf- PDF-dokumente (insluitende ingevoer)
Data Lokalisering
.json- JSON lêers (vertaal string waardes).xml- XML-lêers.srt- Subtitel lÃaers.po/.pot- Krytext - vertalinglêers
Beelde (OCR) Name
.jpg/.jpeg- JPEG-beelde (OCR).png- PNG-beelde (OCR).tiff/.tif- TIFF-beelde (OCR).bmp- BMP-beelde (OCR).webp- WebP-beelde (OCR)
Voorbeeld (c URL)
# 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"
Reaksie
{
"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}/
Bevestig die status van 'n dokument vertaling of onttrek die aflaai Url.
Status waardes
pending |
Lêer opgelaai, wag om verwerk te word |
processing |
Vertaling in vordering |
completed |
Vertaling voltooi, aflaai beskikbaar |
failed |
Vertaling gevaal (toets fout_boodskap) |
Ondersteunde tale
Kry die lys van alle ondersteunde tale.
GET https://api.translateapi.ai/api/v1/translate/languages/
Reaksie
{
"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"},
...
]
}
Vertaling Modelle
Ons gebruik staat-van-die-kuns oop bron vertaal modelle wat op ons eie GPU-U infrastruktuur loop. Alle modelle is kommersieel gelisensieer (Apache 2,0).
| Model | Tale | Beste vir |
|---|---|---|
| Helsinki-NLP/opus-mt | 50+ taalpare | Gemeenskaplike tale (EN, ES, FR, DE, DIT, PT, RUT, ZH, JA, etc.) |
| Google MADLAD-400 | 400+ tale | Rare tale, omvattende dekking |
Die API kies outomaties die beste model vir jou taal paar. Jy kan 'n opsie spesifiseer. engine parameter:
| Masjien | Beskrywing |
|---|---|
"auto" |
Verstek. Trys Hugging Face first, terug na MADLAD-400 |
"huggingface" |
Forseer Hugging Face/MaricMT (vinnigste, 50+ tale) |
"madlad" |
Forseer MADLAD-400 (400+ tale) |
Fout met hantering van lêer: %s
Die API gebruik standaard HTTP status kodes om sukses of mislukking aan te dui.
| Kommentaar | Beskrywing |
|---|---|
| 200 | Sukses |
| 202 | Aanvaar dji Batch werk wagtou suksesvol |
| 400 | Slegte Versoek parameters Ongeldige parameters (vermisde teks, nie ondersteunde taal, ens.) |
| 401 | ongemagtigde - Ongeldig of afwesig 'nPI-sleutel |
| 402 | Betaal benodig Karakter krediete uitgeput. Gradeer jou plan op of koop 'n bo-op. |
| 403 | Voorgelate Š API sleutel ontbreek benodigde omvang of ip nie in witlys nie |
| 503 | Diens nie beskikbaar nie - Vertaalenjin tydelik af |
Fout Reaksie Formaat
{
"error": "insufficient_credits",
"credits_remaining": 0
}
Gebruik Limiet
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:
| Plan | Karakter/Maand | Bang API | Dokumente | Prys | |
|---|---|---|---|---|---|
| Beskikbaar | 250,000 | — | — | $0 | Meld aan om vry te wees |
| Beginer | 2,500,000 | $9/mo | Teken in | ||
| Pro | 10,000,000 | $29/mo | Teken in | ||
| Besigheid | 40,000,000 | $79/mo | Teken in | ||
| Skaal | 125,000,000 | $199/mo | Teken in | ||
| Enterprise | Unlimited | $499/mo | Contact Sales |
As jy jou grens oorskry, sal jy 'n 402 Payment Required reaksie tot die volgende maand of op opgradering.
Outo- caling Wolk Infrastruktuur
Vertaalfoto's loop op toegewyde NVIDIA A100 GPU gevalle met outomatiese horisontaleskalering. Wanneer die aanvraag toeneem, word addisionele GPU gevalle binne minute gelanseer om vinnige reaksietye te handhaaf. Alle versoeke word getoue en verwerk ooit ter harte geneem, en dit sal alles hanteer word. Real-time vertalings kry prioriteit, vragwerk proses in die agtergrond.
Het jy nog krediete nodig?
Hardloop uit van karakters mid-month? Purchase 'n eentyd krediet top-up sonder om jou plan te verander. Besigtig bo-up pakkies