API-dokumentaatio

Integroi tehokas käännös sovelluksiisi yksinkertaisella REST API -rajapinnallamme.

Aloittaminen

TranslateAPI tarjoaa yksinkertaisen REST-rajapinnan tekstin kääntämiseen 180+ kielen välillä. Kaikki API-päätteet palauttavat JSON-vastaukset.

Perusverkko- osoite: https://api.translateapi.ai/api/v1/
Pikakäynnistys

Tee ensimmäinen käännöspyyntösi:

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!"
    }
}

Todentaminen

Toteuta pyyntösi API-avaimella. Voit luoda API-avaimet kojelauta.

Otsake Authentication (suositeltu)
Authorization: Bearer ta_your_api_key_here
Kyselyparametri
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Pidä API-avaimesi turvassa! Älä paljasta niitä asiakastunnuksessa tai julkisissa arkistoissa.

Käännä teksti

Käännä teksti yhdelle kohdekielelle.

POST https://api.translateapi.ai/api/v1/translate/
Pyynnön esittävä elin
Muuttuja Tyyppi Vaadittu Tavaran kuvaus
text string Kyllä Käännettävä teksti (enintään 50 000 merkkiä)
target_language string Kyllä Target language code (e.g., "es", "fr", "de")
source_language string Ei tarvitse. Source language code. Default: "auto" (auto-detect)

* Käytä target_language (String) yhdellä kielellä tai target_languages Moninkertainen. Ks. Multi-Target-käännös.

Vaste
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}

Multi-Target-käännös

Käännä tekstiä usealle kielelle yhdellä pyynnöllä. Käyttää samaa päätepistettä kuin yksi käännös.

Vihje: Voit kääntää yhdellä pyynnöllä jopa 50 kielelle.
POST https://api.translateapi.ai/api/v1/translate/
Pyynnön esittävä elin
{
    "text": "Hello, world!",
    "target_languages": ["es", "fr", "de", "ja"],
    "source_language": "en"
}

Käyttö target_languages Sen sijaan, että target_language Useita kohteita.

Vaste
{
    "source_language": "en",
    "translations": {
        "es": "Hola, mundo!",
        "fr": "Bonjour, monde!",
        "de": "Hallo, Welt!",
        "ja": "こんにちは、世界!"
    },
    "character_count": 52,
    "translation_time": 2.31
}

Erän käännös

Käännä useita tekstejä kerralla async-käsittelyllä. Lähetä erä ja kysely tulokset.

Raja-arvot: enintään 500 tekstiä per erä, enintään 750 kappaletta (tekstit × kohdekielet). Työaika päättyy 30 minuuttia käsittelyn alkamisen jälkeen (jonoa ei lasketa).
Käsittelyaika vaihtelee kielen mukaan: yleiskielet (espanja, ranska, saksa jne.) käyttävät nopeita malleja (~0,1s tekstiä kohti), kun taas harvinaisemmat kielet käyttävät isoa monikielistä malliamme (~1-3s tekstiä kohti). 100-tekstinen erä on yleensä valmis 10-30 sekunnissa yleiskielisille, tai 2-5 minuuttia vähemmän yleisille. Parhaiden tulosten saamiseksi lähetä yksi kohdekieli per eräpyyntö ja pidä eräkoot alle 50 tekstille.
POST https://api.translateapi.ai/api/v1/translate/batch/
Vaihe 1: Lähetä erä
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"
}'
Vaste (HTTP 202 hyväksytty)
{
    "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/"
}
Vaihe 2: Tuloskysely
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Pölyesimerkki (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"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)
Vastaus (mitattuna – jonotettuna, odottamassa GPU:ta)
{
    "job_id": "67535b2b-...",
    "status": "pending",
    "processed_texts": 0,
    "total_texts": 3,
    "progress_percentage": 0.0,
    "queue_position": 3
}
Vaste (käsittelyn aikana)
{
    "job_id": "67535b2b-...",
    "status": "processing",
    "processed_texts": 1,
    "total_texts": 3,
    "progress_percentage": 33.33,
    "queue_position": null
}
Vaste (täydellinen)
{
    "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
    }
}
Reaaliaikainen edistymisseuranta

Jokainen kyselyn vastaus sisältää reaaliaikaiset edistyskentät, jotta voit seurata tarkasti, mitä erälle on tapahtumassa:

Kenttä Tavaran kuvaus
status Nykyinen työn tila: pending (odottaen GPU:n työntekijää) processing (kääntäminen aktiivisesti), completed, failed
processed_texts Tähän mennessä suoritettujen yksittäisten käännösten määrä. Päivityksiä reaaliajassa, kun jokainen teksti käännetään.
total_texts Käännösten kokonaismäärä tässä erässä (tekstit × kohdekielet).
progress_percentage Valmistumisprosentti (0-100). Laskettu jalostetuista teksteistä / kokonaistekstistä.
queue_position Asemasi jonossa, kun status on "menossa" (1 = seuraava ylös). Null, kun käsittelet tai valmistut. Käytä tätä arvioidaksesi odotusaikaa ja näyttääksesi jonotilan käyttäjillesi.
processing_time Kokonaiskäsittelyaika sekunteina (saatavilla valmistuttuaan).
Vihje: Milloin status is "pending"GPU:n työntekijät ovat kiireisiä muiden erien kanssa. queue_position Katso, kuinka monta työpaikkaa sinulla on edessä (1 = olet seuraava). Työsi alkaa automaattisesti – mitään toimia ei tarvita, jatka vain kyselyjä.
Parhaita käytäntöjä suurille työtahdille
  • Lähetä 1 kohdekieli per eräpyyntö. Tämä pitää jokaisen erän nopeana ja tekee etenemisestä helppoa seurata.
  • Pidä erät 50-100 teksteissä. Pienemmät erät valmistuvat nopeammin ja antavat sinulle useammin edistyspäivityksiä.
  • Suorita enintään kaksi samanaikaista erätyötä. GPU käsittelee kaksi erää rinnakkain – lisää työjonoa, eikä käynnisty nopeammin.
  • Aikalisällä toimita sama työ_id uuden erän lähettämisen sijaan. Alkuperäinen työ saattaa vielä olla GPU:n käsittelyssä.
  • Kysely 3-5 sekunnin välein. Useammat kyselyt eivät nopeuta käsittelyä.
Useita kieliä sisältävä erä

Käännä useita tekstejä usealle kielelle kerralla:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
Täytetty tulos_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
}
Pyydä parametreja
Muuttuja Tyyppi Vaadittu Tavaran kuvaus
texts array Kyllä Käännettäviä naruja säe
target_language string Kyllä Yhden kielen kohdekielikoodi
target_languages array Kyllä Usean kielen kohdekielikoodien kuvaus
source_language string Ei tarvitse. Source language code. Default: "auto"

* Tarjoa jompaakumpaa target_language tai target_languagesEi molempia.

Async Processing: Erän pyynnöt palautuvat välittömästi, kun job_id. Kysely GET /api/v1/jobs/{job_id}/ kunnes status is "completed"Lue sitten result_data Käännöksille. progress_percentage edistyksen seuraamiseksi.

Asiakirjan käännös

Käännä kokonaisia asiakirjoja säilyttäen muotoilemisen. Tukee useita tiedostomuotoja.

POST https://api.translateapi.ai/api/v1/translate/document/
Pyyntö (moniosainen/muodollinen tieto)
Muuttuja Tyyppi Vaadittu Tavaran kuvaus
file file Kyllä Käännettävä asiakirja (max. 10MB)
target_language string Kyllä Target language code (e.g., "es", "fr", "de")
source_language string Ei tarvitse. Source language code. Default: "auto" (auto-detect)
Tuetut tiedostotyypit
  • .txt - Pelkkiä tekstitiedostoja
  • .docx - Sanakirjat
  • .pdf - PDF-dokumentit (mukaan lukien skannatut)
  • .json - JSON-tiedostot (kääntää merkkijonon arvot)
  • .xml - XML-tiedostot
  • .srt - Suomennos: Michael T. Francis Pinmontagne SUBHEAVEN.ORG
  • .po / .pot - Hae tekstikäännöstiedostot
  • .jpg / .jpeg - JPEG-kuvat (OCR)
  • .png - PNG-kuvat (OCR)
  • .tiff / .tif - TIFF-kuvat (OCR)
  • .bmp - BMP-kuvat (OCR)
  • .webp - WebP-kuvat (OCR)
OCR-tuki: Kuvatiedostoja ja skannattuja pdf-tiedostoja käsitellään optisella merkkitunnistuksella (OCR), jotta teksti voidaan poimia ennen käännöstä. Parhaiden tulosten saavuttamiseksi on käytettävä selkeitä, korkearesoluutioisia kuvia.
Esimerkki (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"
Kuvatiedostot käsitellään OCR poimia tekstiä ennen käännöstä. Käännetty tuloste palautetaan .txt Kansio.
Vaste
{
    "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"
}
Tila-arvot
pending Ladattu tiedosto odottaa käsittelyä
processing Kääntäminen käynnissä
completed Käännös valmis, ladattavissa
failed Käännös epäonnistui (tarkista virhe_viesti)
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

Tarkista asiakirjakäännöksen tila tai hae ladattava URL.

Vaste
{
    "id": 123,
    "original_filename": "document.docx",
    "status": "completed",
    "translated_file_url": "/media/translated/document_es.docx",
    "character_count": 5420
}

Kielidetektio

Kielentunnistus on sisäänrakennettu jokaiseen käännöspyyntöön. source_language to "auto" (tai jättää sen pois) ja havaittu kieli palautetaan vastauksessa.

POST https://api.translateapi.ai/api/v1/translate/
Pyynnön esittävä elin
{
    "text": "Bonjour, comment allez-vous?",
    "target_language": "en"
}
Vaste
{
    "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
}

Erytropoietiini source_language Vastauksen kentässä näkyy havaittu kieli, kun automaattihavaitsemista käytetään.

Tuetut kielet

Hanki lista kaikista tuetuista kielistä.

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

Käännösmallit

Käytämme huippuluokan avoimen lähdekoodin käännösmalleja, jotka toimivat omassa GPU-infrastruktuurissamme. Kaikki mallit ovat kaupallisesti luvanvaraisia (Apache 2.0).

Malli Kielet Paras
Helsinki-NLP/opus-mt 50+ kieliparia Yhteiset kielet (EN, ES, FR, DE, IT, PT, RU, ZH, JA jne.)
Google MADLAD-400 400+ kieltä Harvinaiset kielet, kattava uutisointi

API valitsee kieliparisi parhaan mallin automaattisesti. Voit määrittää valinnaisesti engine parametri:

Moottori Tavaran kuvaus
"auto" Oletus. Yrittää ensin HuggingFacea, putoaa takaisin MADLAD-400:aan
"huggingface" Force HuggingFace/MarianMT (nopein, 50+ kieltä)
"madlad" Force MADLAD-400 (400+ kieltä)

Virheiden käsittely

API käyttää tavanomaisia HTTP-tilakoodeja osoittaakseen onnistuneensa tai epäonnistuneensa.

Koodi Tavaran kuvaus
200 Onnistuminen
400 Huono pyyntö - virheelliset parametrit
401 Luvaton - Virheellinen tai puuttuva API-näppäin
402 Vaadittu maksu - Päiväkohtainen merkkikiintiö ylittyi
429 Liikaa pyyntöjä - Määrä ylittyi
503 Palvelu ei saatavilla - Kääntäjän moottori tilapäisesti pois päältä
Virheen vastausmuoto
{
    "error": "daily_limit_exceeded",
    "credits_remaining": 0,
    "daily_limit": 100000
}

Raja-arvot

Raja-arvot vaihtelevat suunnitelmallisesti. Ks. hinnoittelu täydelliset tiedot:

Suunnitelma Hahmot/Kuukausi Hinta
Vapaa 250,000 $0 Rekisteröidy ilmaiseksi
Käynnistin 2,500,000 $9/m Tilaa
Pro 10,000,000 $29/m Tilaa
Bisnekset 40,000,000 $79/m Tilaa
Skaala 125,000,000 $199/m Tilaa

Kun ylität rajasi, saat 429 Too Many Requests vastaa seuraavaan kuukauteen tai päivität.

Automaattiskaalautuva pilviinfrastruktuuri

TranslateAPI toimii erityisissä NVIDIA A100 GPU -tapahtumissa, joissa on automaattinen horisontaalinen skaalaus. Kun kysyntä kasvaa, uudet GPU-tapahtumat käynnistyvät muutamassa minuutissa nopean reagointiajan ylläpitämiseksi. Tämä tarkoittaa, että API pystyy käsittelemään lähes rajattomasti samanaikaisia pyyntöjä ilman heikkenemistä – yhdestä pyynnöstä tuhansiin minuuttiin.

Arvostele tätä sivua
Kiitos katsojaluvusta!
/5 joka perustuu luokitukset