Handleiding voor het gebruik van Google Translate API

Als je API-automatisering voor vertaalwerk nodig hebt, is Google Translate API een goede keuze. De vertaalkwaliteit is mogelijk iets minder dan DeepL, maar biedt een betere prijs-kwaliteitverhouding, met name vanwege de maandelijkse gratis limiet van 500.000 tekens.

Productinleiding

Google Translate is algemeen bekend. Hier introduceer ik de API-service, voluit Google Cloud Translation. Via de API kunnen bulkvertalingen, aangepaste vertaalmodellen en documentvertalingen worden geautomatiseerd.

Productinleiding

Prijzen

Maandelijkse gratis limiet van 500.000 tekens, boven dit limiet in rekening gebracht per teken.

Prijstabel

Verschil tussen Basis- en Premiumversie

FunctieBasisversiePremiumversie
Gratis limiet500.000 tekens/maand500.000 tekens/maand
Per miljoen tekens20 USD80 USD
Documentvertaling0,08 per pagina0,25 per pagina
Aangepaste vertaling

Aan de slag

Project aanmaken of selecteren

  • Activeer de API. Als de factureringsfunctie niet is geactiveerd, wordt hier gevraagd om een factureringsaccount toe te voegen. Een creditcard in buitenlandse valuta is vereist.

Activeren

API activeren

    $cred = gcloud auth print-access-token
    $project_id = "example"
    $headers = @{ "Authorization" = "Bearer $cred" }
    Invoke-WebRequest `
        -Method GET `
        -Headers $headers `
        -Uri "https://cloudresourcemanager.googleapis.com/v3/projects/${project_id}" | Select-Object -Expand Content
  • Testen
    $cred = gcloud auth print-access-token
    $project_id = "example"
    $body = @{
        "sourceLanguageCode" = "en"
        "targetLanguageCode" = "zh"
        "contents" = @("Hello, world!")
        "mimeType" = "text/plain"
    }
    $body = $body | ConvertTo-Json
    $headers = @{
        "Authorization" = "Bearer $cred"
        "Content-Type" = "application/json; charset=utf-8"
        "x-goog-user-project" = $project_id
    }
    Invoke-WebRequest `
        -Method POST `
        -Headers $headers `
        -Uri "https://translation.googleapis.com/v3/projects/${project_id}:translateText" `
        -Body $body | Select-Object -Expand Content

Uitvoering geslaagd

Linux met curl-opdracht:

    export CRED=$(gcloud auth print-access-token)
    export PROJECT_ID="example"
    export SOURCE_LANGUAGE_CODE="en"
    export TARGET_LANGUAGE_CODE="zh"
    export CONTENTS="Hello, world!"
    export MIME_TYPE="text/plain"
    curl -X POST -H "Authorization: Bearer $CRED" -H "Content-Type: application/json; charset=utf-8" -H "x-goog-user-project: $PROJECT_ID" -d "{
        \"sourceLanguageCode\": \"$SOURCE_LANGUAGE_CODE\",
        \"targetLanguageCode\": \"$TARGET_LANGUAGE_CODE\",
        \"contents\": [\"$CONTENTS\"],
        \"mimeType\": \"$MIME_TYPE\"
    }" "https://translation.googleapis.com/v3/projects/$PROJECT_ID:translateText"

Tot zover kun je Google Translate API gebruiken voor bulkvertalingen.

Toepassingsvoorbeelden

  • Vertaal websites of applicaties
  • Train aangepaste vertaalmodellen
  • Voeg ondertitels in verschillende talen toe aan video’s
  • Genereer audio in verschillende talen voor video’s
  • Vertaal gestructureerde documenten
  • Vertaal klantinteracties in real-time

Aanvullende leesstof

Slot

De officiële documentatie van Google Translate is langdradig. Er zijn meerdere manieren om dezelfde functionaliteit te implementeren, met diverse routes voor authenticatie en oproepen. Dit artikel kiest de eenvoudigste en meest aanbevolen methode voor gewone gebruikers.

  • Voor authenticatie kies ik lokale authenticatie (gcloud CLI)
  • Voor gebruik kies ik REST API (Curl/Invoke-WebRequest)
  • Tussen basis- en premiumversie kies ik premiumversie

Dit is een oorspronkelijk artikel gepubliceerd op blog.jqknono.dev, het is niet toegestaan om zonder toestemming te herpubliceren.