API di localizzazione video per ogni mercato

Trasforma un video di origine in una versione localizzata per ciascun mercato: la lingua regionale giusta, termini del brand coerenti, le voci dei relatori, i sottotitoli e la sincronizzazione labial facoltativa. Un'unica API gestisce il flusso di lavoro di localizzazione e il tuo team verifica il testo prima della pubblicazione.
Oltre 135 lingue e varianti regionali
Glossari e revisione
REST + SDK Python
one source, two Spanish markets
OAuth 2.0
# 1. one Spanish glossary - it applies to every Spanish regional variant
curl -X POST https://api.rask.ai/v2/glossaries \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"name": "Brand terms", "src_lang": "en", "dst_lang": "es",
       "entries": {"Rask Studio": "Rask Studio", "onboarding": "incorporación"}}'

# 2. a localized version per market, both with the same glossary
for lang in es-mx es-es; do
  curl -X POST https://api.rask.ai/v2/projects \
    -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
    -d "{\"video_id\": \"$VIDEO_ID\", \"dst_lang\": \"$lang\", \"glossary_id\": \"$GLOSSARY_ID\"}"
done
GET /v2/projects/{project_id}/transcription
review
# Review: source and translated text, segment by segment
curl -s https://api.rask.ai/v2/projects/$ID/transcription \
  -H "Authorization: Bearer $TOKEN" \
  | jq '.segments[] | {speaker, src: .src.text, dst: .dst.text}'
Utilizzato da team in tutto il mondo
Funzionalità

Cosa include l'API di localizzazione video

La localizzazione è molto più di una semplice traccia audio tradotta. L'API unisce opzioni di lingua regionale, controllo della terminologia, voci, sottotitoli e revisione in un unico flusso di lavoro per ciascun mercato. Aggiungi la sincronizzazione labiale opzionale, fatturata separatamente.

Oltre 135 lingue e varianti regionali

Localizza per una regione specifica: es-mx o es-es, pt-br o pt-pt, fr-ca o fr-fr. Ogni progetto richiede una lingua di arrivo e la lingua di origine viene rilevata automaticamente.

Controllo della terminologia

I glossari mantengono i nomi e i termini del brand identici in ogni versione localizzata. Un singolo glossario copre tutte le varianti regionali di una lingua e ogni progetto registra la versione del glossario utilizzata.

La tua traduzione approvata

Inizia con la traduzione automatica oppure carica una traduzione già approvata dai tuoi revisori in formato file SRT e lascia che Rask si occupi del doppiaggio.

Sincronizzazione labiale per video con persone inquadrate

Sincronizza il movimento della bocca con il discorso localizzato nei punti in cui una persona parla davanti alla telecamera. È un'opzione e ogni generazione video completa viene fatturata separatamente.

Audio di sottofondo preservato

Musica, rumore ambientale ed effetti dell'audio originale rimangono nel mix sotto il discorso localizzato, in modo che ogni mercato percepisca la stessa qualità di produzione.

Sottotitoli e didascalie

Ogni versione localizzata include didascalie in formato SRT e VTT, nella lingua di arrivo e sincronizzate con il discorso localizzato.

Voci dei relatori nei diversi mercati

Nelle interviste e nei dialoghi, la clonazione istantanea della voce mantiene quella di ciascun relatore nelle lingue supportate, mentre la clonazione vocale personalizzata salvata garantisce a un presentatore ricorrente una voce sempre uguale. I preset vocali IA coprono il resto.

Revisione prima della pubblicazione

I revisori leggono il testo originale e quello tradotto affiancati, correggono ciò che non si adatta al mercato e doppiano nuovamente solo i segmenti modificati.

Cresci senza limiti

Nessun limite di frequenza, nessuna quota di concorrenza, nessuna limitazione per chiave. Genera centinaia di versioni localizzate in parallelo quando un lancio interessa tutti i mercati.
Guardalo in azione

Un video di origine, localizzato per quattro mercati

La stessa clip localizzata in francese, tedesco, portoghese e spagnolo: parlato tradotto con le voci clonate dei relatori e audio di sottofondo originale intatto.
EN flag
En
FR flag
Fr
DE flag
De
PT flag
Pt
ES flag
Es
Flusso di lavoro

Tre passaggi in un flusso di lavoro di localizzazione video

Imposta le regole una sola volta e usale per tradurre ogni nuovo video. La creazione di un progetto avvia la traduzione; usa l'endpoint /generate dopo aver verificato le modifiche.
1

Imposta le regole di traduzione

Crea un glossario per ogni combinazione di lingue, salva le voci personalizzate per i presentatori ricorrenti e scegli la variante regionale per ogni mercato in cui pubblichi.

POST /v2/glossaries
2

Crea una versione per ogni mercato

Carica il video originale una sola volta, quindi crea un progetto per ciascuna lingua di arrivo usando il tuo glossario o una traduzione approvata importata da un file SRT.

POST /v2/projects
3

Rivedi e pubblica

Leggi il testo tradotto affiancato, modifica ciò che viene segnalato dai revisori, crea nuovamente il doppiaggio per i segmenti modificati e scarica il video localizzato e i sottotitoli.

GET /v2/projects/{id}/transcription
Il tempo di elaborazione varia a seconda del progetto. Il nuovo doppiaggio dopo la revisione viene fatturato in base alla durata combinata dei segmenti modificati, con un minimo di un minuto per esecuzione.
Creato intorno a te

Devi localizzare grandi volumi di video? Pianifica il flusso di lavoro con il nostro team

Volumi ricorrenti, diversi revisori, il tuo CMS o LMS: il nostro team può aiutarti a progettare il flusso di lavoro di traduzione, configurare la terminologia e le fasi di revisione, e aggiungere un controllo qualità umano dove il tuo team non può controllare ogni video.

Lingue e voci

Hai bisogno di una lingua o di una voce non presenti nel catalogo pubblico? Parla con il nostro team per esporre le tue esigenze e scoprire le opzioni disponibili.

Consegna e integrazione

Webhook, invio nella tua coda, consegna diretta al tuo S3, endpoint personalizzati. Diteci come il vostro sistema si aspetta di ricevere i dati.

Volume e capacità

Le dimensioni dei lotti, le lingue di arrivo per azione e la priorità di elaborazione sono termini contrattuali, non limiti fissi del prodotto.

Sicurezza e hosting

La residenza dei dati, l'SSO e SAML, le regole di conservazione e il supporto per la revisione della sicurezza vengono gestiti durante l'attivazione per le aziende.
Casi d'uso

Chi usa un'API di localizzazione video

Piattaforme con video integrati

Piattaforme LMS e di formazione per clienti, piattaforme per creator e video, strumenti per webinar ed eventi virtuali, SaaS di hosting video e flussi di lavoro, piattaforme di digital adoption, live shopping. Offri versioni localizzate con opzioni di lingua regionale all'interno del tuo prodotto, in modo che i tuoi utenti possano raggiungere un pubblico globale e un nuovo mercato senza uscire dalla tua piattaforma.

Agenzie di localizzazione e produzione

Gestisci la traduzione per diversi clienti con un glossario per ciascun brand e una fase di revisione per progetto. Importa le traduzioni approvate dai tuoi linguisti come file SRT e consegna video doppiati, sottotitoli e sincronizzazione labiale opzionale da un unico flusso di lavoro.

Produzione video interna e continua

Retail internazionale e e-commerce, franchising globali, editori multimediali, università aziendali. Localizza video di marketing, video pubblicitari, e-learning e contenuti video di prodotti per ciascuna regione con termini di brand coerenti, e crea una versione aggiornata quando il video originale cambia.
Storie di clienti

Squadre vere, risultati tangibili

Come le aziende localizzano i video con Rask, attraverso i loro numeri.
freccia
freccia
Codice

Esempi di codice per l'API di localizzazione video

Un esempio completo per ciascuna lingua: crea un glossario, traduci un video originale per due mercati di lingua spagnola e leggi il testo tradotto per la revisione.
# pip install git+ssh://[email protected]/braskai/rask-sdk.git@main
import asyncio
from rask_sdk import clients, enums, schemas

MARKETS = ["es-mx", "es-es"]

async def localize(client, video_id, locale, glossary_id):
    job = await client.create_project(data=schemas.ProjectCreate(
        video_id=video_id, dst_lang=locale, glossary_id=glossary_id))
    while job.status is not enums.ProjectStatus.MERGING_DONE:
        await asyncio.sleep(10)
        job = await client.get_project(project_id=job.id)
    return job

async def main():
    client = clients.RaskSDKClient(client_id=CLIENT_ID, client_secret=CLIENT_SECRET)

    glossary = await client.create_glossary(data=schemas.GlossaryCreate(
        name="Brand terms", src_lang="en", dst_lang="es",
        entries={"Rask Studio": "Rask Studio", "onboarding": "incorporación"}))

    jobs = await asyncio.gather(*(localize(client, VIDEO_ID, m, glossary.id) for m in MARKETS))

    for job in jobs:   # review before publishing
        script = await client.get_project_transcription(project_id=job.id)
        for seg in script.segments[:3]:
            print(job.dst_lang, seg.speaker, seg.src.text, "->", seg.dst.text)

asyncio.run(main())
github.com/braskai/rask-sdk
async, typed models
import time, requests

AUTH = "https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token"
API  = "https://api.rask.ai"
token = requests.post(AUTH, auth=(CLIENT_ID, CLIENT_SECRET),
                      data={"grant_type": "client_credentials"}).json()["access_token"]
h = {"Authorization": f"Bearer {token}"}

glossary = requests.post(f"{API}/v2/glossaries", headers=h, json={
    "name": "Brand terms", "src_lang": "en", "dst_lang": "es",
    "entries": {"Rask Studio": "Rask Studio", "onboarding": "incorporación"}}).json()

ids = [requests.post(f"{API}/v2/projects", headers=h, json={
          "video_id": VIDEO_ID, "dst_lang": locale, "glossary_id": glossary["id"]}).json()["id"]
       for locale in ["es-mx", "es-es"]]

for pid in ids:
    while requests.get(f"{API}/v2/projects/{pid}", headers=h).json()["status"] != "merging_done":
        time.sleep(10)
    script = requests.get(f"{API}/v2/projects/{pid}/transcription", headers=h).json()
    for seg in script["segments"][:3]:
        print(seg["src"]["text"], "->", seg["dst"]["text"])
requests + polling
no SDK required
// no dependencies, Node 18+ global fetch
const API = 'https://api.rask.ai';
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
const auth = await fetch('https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token', {
  method: 'POST',
  headers: { Authorization: 'Basic ' + btoa(`${CLIENT_ID}:${CLIENT_SECRET}`) },
  body: new URLSearchParams({ grant_type: 'client_credentials' }),
}).then((r) => r.json());
const h = { Authorization: `Bearer ${auth.access_token}`, 'Content-Type': 'application/json' };
const call = (method, path, body) => fetch(API + path, { method, headers: h, body: body && JSON.stringify(body) }).then((r) => r.json());

const glossary = await call('POST', '/v2/glossaries', {
  name: 'Brand terms', src_lang: 'en', dst_lang: 'es',
  entries: { 'Rask Studio': 'Rask Studio', onboarding: 'incorporación' },
});

for (const dst_lang of ['es-mx', 'es-es']) {
  let p = await call('POST', '/v2/projects', { video_id: VIDEO_ID, dst_lang, glossary_id: glossary.id });
  while (p.status !== 'merging_done') { await sleep(10000); p = await call('GET', `/v2/projects/${p.id}`); }
  const { segments } = await call('GET', `/v2/projects/${p.id}/transcription`);
  segments.slice(0, 3).forEach((s) => console.log(dst_lang, s.src.text, '->', s.dst.text));
}
fetch, Node 18+
plain HTTP
# 1. token (valid 1 hour - cache and reuse it)
TOKEN=$(curl -s -X POST https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token \
  -u "$CLIENT_ID:$CLIENT_SECRET" -d "grant_type=client_credentials" | jq -r .access_token)

# 2. import the translation your reviewers approved (source and translated .srt)
TRANSCRIPT_ID=$(curl -s -X POST "https://api.rask.ai/v2/transcriptions/srt?src_lang=en&dst_lang=es-mx" \
  -H "Authorization: Bearer $TOKEN" \
  -F "src=@source_en.srt" -F "dst=@approved_es-mx.srt" | jq -r .id)

# 3. create the localized version from it - Rask voices the approved script
curl -s -X POST https://api.rask.ai/v2/projects \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d "{\"video_id\": \"$VIDEO_ID\", \"dst_lang\": \"es-mx\", \"transcript_id\": \"$TRANSCRIPT_ID\"}"
POST /v2/transcriptions/srt
approved translation from SRT
<?php
use GuzzleHttp\Client;

$http = new Client(['base_uri' => 'https://api.rask.ai']);
$json = fn($r) => json_decode($r->getBody(), true);
$auth = $json((new Client)->post('https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token',
    ['auth' => [$clientId, $clientSecret], 'form_params' => ['grant_type' => 'client_credentials']]));
$h = ['Authorization' => 'Bearer ' . $auth['access_token']];

$glossary = $json($http->post('/v2/glossaries', ['headers' => $h, 'json' => [
    'name' => 'Brand terms', 'src_lang' => 'en', 'dst_lang' => 'es',
    'entries' => ['Rask Studio' => 'Rask Studio', 'onboarding' => 'incorporación'],
]]));

foreach (['es-mx', 'es-es'] as $locale) {
    $p = $json($http->post('/v2/projects', ['headers' => $h, 'json' => [
        'video_id' => $videoId, 'dst_lang' => $locale, 'glossary_id' => $glossary['id']]]));
    while ($p['status'] !== 'merging_done') {
        sleep(10);
        $p = $json($http->get("/v2/projects/{$p['id']}", ['headers' => $h]));
    }
    $script = $json($http->get("/v2/projects/{$p['id']}/transcription", ['headers' => $h]));
    echo $locale, ': ', $script['segments'][0]['dst']['text'], PHP_EOL;
}
Guzzle 7
plain HTTP
Python è l'SDK ufficiale. Le schede Node, PHP e cURL mostrano semplici esempi HTTP sugli stessi endpoint.
Avanzamento

Come viene comunicato lo stato di avanzamento di ogni versione localizzata

Ogni versione di mercato è un progetto con il suo stato documentato, così puoi monitorare un'intera release su più mercati da un'unica schermata. Devi intervenire solo su tre gruppi.

Operazione riuscita, fermati qui

merging_done
La localizzazione è completata. Richiedi nuovamente il progetto per recuperare i link di download disponibili.

In corso, continua a verificare

created
uploading
transcription_started
separate_background_started
determine_speakers_started
translation_started
voiceover_started
merging_started
In più la corrispondenza _done stati, una sequenza per ogni versione di mercato.

Errore, interruzione e segnalazione

failed
upload_failed
transcription_failed
translation_failed
voiceover_failed
merging_failed
no_audio
no_words
forbidden_link
no_audio, no_words e forbidden_link sono abbastanza specifici da poter essere mostrati direttamente ai vostri utenti.
Observed run, 3:47 source video, en → es-mx
GET /v2/projects/{project_id}
   0s  created
  11s  transcription_started
  87s  translation_started
  99s  voiceover_started
 154s  merging_started
 165s  merging_done

Oppure salta del tutto il controllo

Indica un endpoint webhook e ogni transizione di stato arriverà come richiesta POST, così la tua coda potrà reagire a ogni cambiamento nel momento stesso in cui si verifica. La consegna tramite webhook fa parte dell'onboarding per le aziende.
Leggi la documentazione
preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
Output

Video, audio e sottotitoli localizzati per ogni mercato

Ogni versione di mercato restituisce il video localizzato e i sottotitoli in formato SRT e VTT. Sui piani idonei, puoi anche scaricare la voce localizzata da sola o combinata con l'audio originale, per le tue modifiche o per la distribuzione.
Campo
Formato
Cosa contiene
translated_video
MP4
Il video localizzato, pronto per la pubblicazione
voiceover
WAV
Solo voce localizzata, per il tuo mix audio
translated_audio
WAV
Voce tradotta unita all'audio di sottofondo originale
translation_srt_path
.srt
Sottotitoli nella lingua di arrivo
translation_vtt_path
.vtt
Gli stessi sottotitoli in formato WebVTT, per lettori web
original_video
MP4
Il file di origine salvato, come riferimento
Controllo

Mantieni la terminologia e il tono del brand coerenti in ogni mercato

La qualità della localizzazione nasce da un processo di revisione. I revisori controllano ogni segmento, correggono i termini non adatti al mercato e doppiano nuovamente solo quei segmenti. Iglossari applicano queste scelte ai video successivi e mantengono la coerenza del marchio in tutti i mercati.

Modifica per singoli segmenti

Modifica per singoli segmenti
Ogni progetto mostra la sua trascrizione divisa in segmenti con il testo originale e tradotto, così la correzione di un revisore richiede una singola modifica.
Scarica la trascrizione e i suoi segmenti
Modifica il testo originale e noi penseremo a ritradurlo
Modifica direttamente il testo tradotto per usare le parole che preferisci
Modifica i tempi, aggiungi segmenti o cancellane altri
Cambia la voce associata a qualsiasi speaker

Glossari per la terminologia

Glossari per la terminologia
Collega un glossario a ogni progetto per fare in modo che i nomi dei marchi e i termini dei prodotti vengano tradotti allo stesso modo in ogni versione localizzata, oppure rimangano nella lingua originale se preferito.

Un glossario copre una coppia di lingue e si applica a tutte le varianti regionali di quella lingua, così un unico glossario in spagnolo è utile per es-mx e es-es allo stesso modo. Il progetto registra glossary_version, così le modifiche successive non alterano mai inaspettatamente il lavoro completato.
Input

Formati di file supportati

Carica uno dei sette formati video e quattro audio supportati, oppure inserisci un URL. Anche i contenuti solo audio, come i podcast, possono essere localizzati; la sincronizzazione labial si applica ai video con un volto sullo schermo.

Video

7 formati
.mp4
.mov
.mkv
.avi
.webm
.m4v
.3gp

Audio

4 formati
.mp3
.wav
.flac
.m4a

Tutte le informazioni prima di iniziare

L'interfaccia multimediale restituisce la durata, la dimensione del file, il codec video, la frequenza dei fotogrammi, la risoluzione, il codec audio, la frequenza di campionamento e la disposizione dei canali. Verifica un file e stima in anticipo il costo per ogni versione linguistica, poiché la localizzazione viene fatturata al minuto.
Sicurezza e conformità

Pronto per gli acquisti in qualsiasi mercato

Brask Inc possiede la certificazione SOC 2 Tipo II, opera nel rispetto del GDPR e pubblica lo stato dei controlli in tempo reale nel suo Centro Affidabilità. Le opzioni per la residenza dei dati fanno parte dell'onboarding aziendale.

Certificazioni

SOC 2 Tipo II
GDPR
Membro CAI e C2PA

Crittografia

TLS 1.2 in transito
AES-256 a riposo
Chiavi gestite SSE-S3
Rotazione delle chiavi almeno ogni 12 mesi

I tuoi contenuti

Ambiente di intelligenza artificiale chiuso
Mai utilizzato per addestrare modelli generali
Esportazione completa, senza vincoli

Accesso

SSO e SAML
Controllo degli accessi basato sui ruoli
Credenziali client OAuth 2.0

Enterprise

Opzioni di localizzazione dei dati
SLA personalizzati
Account manager dedicato

Diritti sulle voci

Voci sintetiche con diritti di utilizzo
Clonazione vocale basata sul consenso
Controlli di sicurezza dell'IA, supervisione umana
Confronto

Rask API a confronto con un flusso di lavoro di localizzazione creato autonomamente

La localizzazione video unisce traduzione, voce, sottotitoli, terminologia e revisione in un unico flusso di produzione. Ecco lo stesso flusso, realizzato in due modi diversi.
Ciò di cui hai bisogno
Rask API
Assemblato da componenti
Opzioni per le lingue regionali
Oltre 135 lingue e varianti regionali
Supporto linguistico variabile a seconda del fornitore
Termini del marchio presenti in ogni versione
Glossari con versioni per ogni combinazione di lingue
Script di ricerca e sostituzione gestiti da te
Traduzioni approvate dai tuoi revisori
Importati come SRT e poi doppiati
Allineamento manuale con il video
Voci dei relatori nei diversi mercati
Cloni vocali istantanei e personalizzati
Un fornitore di voci separato per ogni lingua
Musica di sottofondo ed effetti
Mantenuti sotto il parlato localizzato
Una fase di separazione delle tracce audio creata da te
Sottotitoli in formato .srt e .vtt
Incluso
Generato dai tuoi dati di tempistica
Sincronizzazione labiale per video con persone inquadrate
Facoltativi, fatturati per ogni generazione completa del video
Un fornitore separato
Correzione di una riga dopo la revisione
Nuovo doppiaggio solo per i segmenti modificati
Genera di nuovo l'intera versione
Limiti di velocità
Nessuno
Il livello di sicurezza più severo richiesto dai tuoi fornitori
Progettazione del flusso di lavoro e controllo qualità umano
Disponibile con il nostro team
Assunti e gestiti separatamente
Domande frequenti

API di localizzazione video: domande frequenti

Non riesci a trovare quello che cerchi? Contatta l'ufficio vendite.

Cos'è un'API di localizzazione video?

In cosa differisce la localizzazione video dalla traduzione video?

Posso localizzare un video per diverse regioni della stessa lingua?

Come posso mantenere coerenti i nomi dei marchi tra le versioni localizzate?

Posso usare traduzioni che abbiamo già approvato?

L'API gestisce i riferimenti culturali?

L'API traduce il testo sullo schermo?

Quali lingue e regioni sono supportate?

Posso mantenere la voce dello speaker in ogni mercato?

Come si inserisce la sincronizzazione labiale in un flusso di lavoro di localizzazione?

Quanto costa la localizzazione video?

Rask può aiutarci a progettare il nostro flusso di lavoro di localizzazione?

Come posso ottenere l'accesso alle API e una chiave API?

Inizia a doppiare in un solo pomeriggio

Fai la tua prima prova oggi e contattaci se hai bisogno di tariffe per grandi volumi o di una lingua che nessun altro offre.