API-dokumentation

Integrera kraftfull översättning till dina applikationer med vår enkla REST API.

Komma igång

TranslateAPI tillhandahåller ett enkelt REST-gränssnitt för att översätta text mellan 180+ språk. Alla API-slutpunkter returnerar JSON-svar.

1. Få din API-nyckel

Skapa ett gratis konto och skapa din API-nyckel från instrumentpanelen:

  1. Anmäl dig på translateapi.ai/signup
  2. Gå till Dashboard → API- nycklar
  3. Klicka på "Skapa API-nyckel" och kopiera din nyckel

API-tangenterna börjar med ta_ följt av 56 förhäxade tecken.

Baswebbadress: https://api.translateapi.ai/api/v1/
2. Gör din första begäran

Ersätt DIN API_KEY med nyckeln från instrumentpanelen:

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

Behörighetskontroll

Autentisera dina önskemål med en API-nyckel. Du kan skapa API-tangenter från din instrumentbrädan.

Behörighetskontroll av huvud (rekommenderas)
Authorization: Bearer ta_your_api_key_here
ApiKey- huvud
Authorization: ApiKey ta_your_api_key_here
Förfrågans parameter
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Håll dina API-nycklar säkra! Utsätt dem inte i klient-side-kod eller offentliga arkiv.

Översätt text

Översätt text till ett enda målspråk.

POST https://api.translateapi.ai/api/v1/translate/
Begärande organ
Parameter Typ Krävs Varuslag
text string Ja, det är jag. Text att översätta (max 50 000 tecken)
target_language string Ja, det är jag. Target language code (e.g., "es", "fr", "de")
source_language string Ej tillämpligt Source language code. Default: "auto" (auto-detect)
engine string Ej tillämpligt Översättningsmotor: "auto" (standard), "buggingface", eller "madlad". Se översättningsmodeller. Översättningsmodeller.

* Användning target_language (sträng) för ett enda språk eller target_languages För flera. Se Översättning med flera mål.

Svar
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}
Automatisk upptäckt: Ommit Ordförande source_language eller ställ in den på "auto" för att automatiskt detektera källspråket. Det detekterade språket returneras i source_language svarsfält.

Översättning med flera mål

Översätt text till flera språk i en enda begäran. Använder samma endpoint som en enda översättning.

POST https://api.translateapi.ai/api/v1/translate/
Begärande organ
{
    "text": "Hello, world!",
    "target_languages": ["es", "fr", "de", "ja"],
    "source_language": "en"
}

Användning target_languages (Array) i stället för target_language (sträng) för flera mål.

Svar
{
    "source_language": "en",
    "translations": {
        "es": "Hola, mundo!",
        "fr": "Bonjour, monde!",
        "de": "Hallo, Welt!",
        "ja": "こんにちは、世界!"
    },
    "character_count": 52,
    "translation_time": 2.31
}
Tips: Du kan översätta upp till 50 språk i en enda begäran.

Översättning av tillverkningssats

Översätt flera texter på en gång med async processing. Skicka en sats och opinionsundersökning för resultat.

Gränser: Max 100 texter per sats, max 300 totalt objekt (texter × målspråk). Jobbtid 45 minuter efter bearbetning börjar.
Varvtal: Vanliga språk (ES, FR, DE) använder snabba modeller (~0.1s/text). Mindre vanliga språk använder vår flerspråkiga modell (~1-3s/text).
POST https://api.translateapi.ai/api/v1/translate/batch/
Steg 1: Skicka in 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"
}'
Svar (HTTP 202 Godkänd)
{
    "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/"
}
Steg 2: Undersökning för resultat
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Exempel på mätning (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)
Svar (fullbordat)
{
    "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
    }
}
Spårning av realtidsframgång
Fält Varuslag
status pending (krävs, väntar på en GPU-arbetare), processing (aktivt översätta), completed,,.............................................. failed
processed_texts Antal enskilda översättningar avslutade hittills. Uppdateringar i realtid som varje text är översatt.
progress_percentage Slutfört i procent (0-100). Beräknat från bearbetade_texter / total_texter.
queue_position Din position i kön när statusen är "pending" (1 = next up). Null när bearbetning eller slutföras. Använd detta för att uppskatta väntetid och visa köstatus för dina användare.
processing_time Total processtid i sekunder (tillgänglig när den är klar).
Flerspråkig batch

Översätt flera texter till flera språk samtidigt:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
Slutfört resultat_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
}
Begär parametrar
Parameter Typ Krävs Varuslag
texts array Ja, det är jag. Array av strängar att översätta
target_language string Ja, det är jag. Målspråkskod för ett enda språk
target_languages array Ja, det är jag. Array av målspråk koder för flera språk
source_language string Ej tillämpligt Source language code. Default: "auto"

* Ge antingen target_language eller target_languages, inte båda.

Bästa praxis för stora arbetsbelastningar
  • Skicka 1 målspråk per batch begäran. Detta håller varje batch snabbt och gör framsteg lätt att spåra.
  • Håll satser på 50-100 texter. Mindre satser slutföra snabbare och ge dig mer frekventa framsteg uppdateringar.
  • Skicka in så många batch jobb som du behöver – våra GPU kluster auto-skalor för att hantera efterfrågan. Jobb behandlas parallellt över flera instanser.
  • Vid timeout, återpolera samma jobb_id istället för att skicka en ny sats. Det ursprungliga jobbet kan fortfarande vara bearbetning på GPU.
  • Rösta var 3-5 sekunder. Mer frekventa omröstningar påskyndar inte bearbetningen.

Dokumentöversättning

Översätt hela dokument medan formatering bevaras. Stöder flera filformat.

POST https://api.translateapi.ai/api/v1/translate/document/
Begäran (flera delar/formulärsuppgifter)
Parameter Typ Krävs Varuslag
file file Ja, det är jag. Dokumentet att översätta (max 10MB)
target_language string Ja, det är jag. Target language code (e.g., "es", "fr", "de")
source_language string Ej tillämpligt Source language code. Default: "auto" (auto-detect)
Filtyper som stöds
Handlingar
  • .txt - Kortfattade textfiler
  • .docx - Ordlista
  • .pdf - PDF-dokument (inklusive skannade)
Data & Lokalisering
  • .json - JSON- filer (översätter strängvärden)
  • .xml - XML- filer
  • .srt - Textningsfiler
  • .po / .pot - Hämta översättningsfiler för text
Bilder (OCR)
  • .jpg / .jpeg - JPEG- bilder (OCR)
  • .png - PNG-bilder (OCR)
  • .tiff / .tif - TIFF-bilder (OCR)
  • .bmp - BMP-bilder (OCR)
  • .webp - WebP-avbildningar (OCR)
Exempel (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"
Svar
{
    "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"
}
Stöd för OCR: Bildfiler och skannade PDF-filer behandlas med optisk teckenigenkänning (OCR) för att extrahera text före översättning. För bästa resultat, använd tydliga, högupplösta bilder.
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

Kontrollera status för en dokumentöversättning eller hämta nedladdning URL.

Statusvärden
pending Fil uppladdad, väntar på att bli behandlad
processing Översättning pågår
completed Översättning färdig, nedladdning tillgänglig
failed Översättning misslyckades (kontrollfel_ meddelande)

Språk som stöds

Hämta listan med alla språk som stöds.

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

Visa alla 186 språk

Översättningsmodeller

Vi använder toppmoderna översättningsmodeller med öppen källkod som körs på vår egen GPU-infrastruktur. Alla modeller är kommersiellt licensierade (Apache 2.0).

Förlaga Språk Bästa för
Helsinki-NLP/opus-mt 50+ språkpar Gemensamma språk (EN, ES, FR, DE, IT, PT, RU, ZH, JA, etc.)
Google MADLAD-400 400+ språk Sällsynta språk, omfattande täckning

API:et väljer automatiskt den bästa modellen för ditt språkpar. Du kan välja att ange en engine Parameter:

Motor Varuslag
"auto" Standard. Tries HuggingFace först, faller tillbaka till MADLAD-400
"huggingface" Force HuggingFace/MarianMT (snabbast, 50+ språk)
"madlad" Tvinga MADLAD-400 (400+ språk)

Felhantering

API:et använder vanliga HTTP-statuskoder för att indikera framgång eller misslyckande.

Kod för identifieringskod för det land som beviljat/utökat/ej beviljat/utökat/återkallat godkännandet Varuslag
200 Framgång
202 Godkänd – Batchjobb köat med lyckat resultat
400 Felaktig begäran – Ogiltiga parametrar (felande text, språk som inte stöds etc.)
401 Otillåten - Ogiltig eller saknad API- nyckel
402 Betalning krävs – tecken krediter utmattad. Uppgradera din plan eller köpa en toppen.
403 Förbjuden – API-nyckeln saknar erforderlig omfattning eller IP inte i vitlista
503 Service Otillgänglig - Översättningsmotor tillfälligt ner
Fel i svarsformat@ info: whatsthis
{
    "error": "insufficient_credits",
    "credits_remaining": 0
}

Användningsgränser

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 Tecken/Månad Batch- API: er Handlingar Pris
Avgiftsfri 250,000 $0 Registrera dig gratis
Uppstart 2,500,000 $9/m m m Prenumerera
För 10,000,000 $29/m m m Prenumerera
Affärer 40,000,000 $79/m m m Prenumerera
Skala 125,000,000 $199/m m m Prenumerera
Enterprise Unlimited $499/m m m Contact Sales

När du överskrider din gräns, får du en 402 Payment Required svar till nästa månad eller du uppgradera.

Automatisk skalning av molninfrastruktur

TranslateAPI körs på dedikerade NVIDIA A100 GPU- instanser med automatisk horisontell skalning. När efterfrågan ökar, lanseras ytterligare GPU- instanser inom några minuter för att upprätthålla snabba svarstider. Alla förfrågningar köas och behandlas — skicka hundratals samtidiga förfrågningar och de kommer alla att hanteras. Realtids översättningar får prioritet, batch jobb process i bakgrunden.

Behöver du fler krediter?

Har du slut på karaktärer i mitten av månaden? Köp en engångs kredit toppen utan att ändra din plan. Visa uppladdningsbara paket

Betygsätt denna sida
Tack för ditt betyg!
/5 baserat på Befattningar