API pro lokalizaci videí pro všechny trhy

Získejte z jednoho zdrojového videa lokalizovanou verzi pro každý trh: správný regionální jazyk, konzistentní terminologii značky, hlasy mluvčích, titulky a volitelnou synchronizaci rtů. Celý proces probíhá přes jedno API a váš tým před zveřejněním zkontroluje text.
Více než 135 jazyků a regionálních variant
Slovníky a kontrola
REST + Python SDK
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}'
Používáno týmy po celém světě
Funkce

Co API pro lokalizaci videí nabízí

Lokalizace není jen o přeložené zvukové stopě. API propojuje regionální jazykové varianty, kontrolu terminologie, hlasy, titulky a kontrolu do jednoho pracovního postupu pro každý trh. Můžete přidat i volitelnou synchronizaci rtů, která se účtuje zvlášť.

Více než 135 jazyků a regionálních variant

Lokalizujte pro konkrétní region: es-mx nebo es-es, pt-br nebo pt-pt, fr-ca nebo fr-fr. Každý projekt využívá jednu cílovou lokalizaci a zdrojový jazyk se detekuje automaticky.

Kontrola terminologie

Slovníky zajišťují, že názvy značek a klíčové pojmy zůstanou v každé lokalizované verzi stejné. Jeden slovník pokryje všechny regionální varianty jazyka a u každého projektu se zaznamenává verze slovníku, která byla použita.

Váš schválený překlad

Začněte s automatickým překladem nebo nahrajte překlad ve formátu SRT, který už vaši koretoři schválili, a nechte Rask vytvořit dabing.

Synchronizace rtů pro videa před kamerou

Přizpůsobte pohyb úst lokalizované řeči všude tam, kde mluví reálný člověk. Jedná se o volitelnou funkci a každé generování celého videa se účtuje zvlášť.

Zachování pozadí zvuku

Hudba, ruchy a efekty z původního zvuku zůstávají v mixu pod lokalizovanou řečí, takže na každém trhu uslyšíte stejnou kvalitu produkce.

Titulky

Ke každé lokalizované verzi získáte titulky ve formátech SRT a VTT v cílovém jazyce, které jsou přesně načasované k mluvenému slovu.

Hlasy mluvčích na různých trzích

U rozhovorů a dialogů zachovává funkce Instant Voice Clone hlas každého mluvčího v podporovaných jazycích a uložená funkce Custom Voice Clone zajistí stálému moderátorovi jednotný hlas. Ostatní možnosti pokrývají předvolby hlasů AI.

Kontrola před zveřejněním

Koretoři si mohou přečíst zdrojový i přeložený text vedle sebe, opravit to, co se pro daný trh nehodí, a nechat znovu nadabovat jen upravené části.

Růst bez omezení

Žádné limity rychlosti, žádné kvóty na souběžnost požadavků, žádné omezování podle klíčů. Generujte stovky lokalizovaných verzí paralelně, když vydáváte obsah na všechny trhy najednou.
Podívejte se na to v akci

Jedno zdrojové video lokalizované pro čtyři trhy

Stejný klip lokalizovaný do francouzštiny, němčiny, portugalštiny a španělštiny: přeložená řeč v klonovaných hlasech mluvčích se zachovaným původním zvukovým pozadím.
EN flag
En
FR flag
Fr
DE flag
De
PT flag
Pt
ES flag
Es
Pracovní postup

Tři kroky v procesu lokalizace videa

Nastavte pravidla jednou a pak podle nich lokalizujte každé nové video. Vytvořením projektu spustíte lokalizaci; po kontrole a úpravách použijte koncový bod /generate.
1

Nastavte pravidla lokalizace

Vytvořte slovník pro každou jazykovou dvojici, uložte si vlastní hlasy pro stálé moderátory a vyberte regionální verzi pro každý trh, na kterém publikujete.

POST /v2/glossaries
2

Vytvořte verzi pro každý trh

Nahrávejte zdrojové video pouze jednou a poté vytvořte projekt pro každou cílovou lokalitu s vaším slovníkem nebo s importovaným schváleným překladem ve formátu SRT.

POST /v2/projects
3

Zkontrolujte a publikujte

Přečtěte si přeložený text vedle sebe, upravte to, co recenzenti označili, předabujte změněné části a stáhněte si lokalizované video a titulky.

GET /v2/projects/{id}/transcription
Doba zpracování se liší podle projektu. Opakovaný dabing po kontrole se účtuje podle celkové délky změněných částí, přičemž minimální délka jednoho spuštění je jedna minuta.
Přizpůsobeno vám

Chystáte se na hromadnou lokalizaci? Naplánujte si pracovní postup společně s naším týmem

Pravidelný objem, několik recenzentů, vlastní CMS nebo LMS: náš tým vám pomůže navrhnout proces lokalizace, nastavit terminologii a fáze kontroly a přidat lidskou kontrolu kvality tam, kde váš tým nemůže zkontrolovat každé video.

Jazyky a hlasy

Potřebujete jazyk nebo hlas, který není uveden ve veřejném katalogu? Obraťte se na náš tým a sdělte nám své požadavky a dostupné možnosti.

Doručení a integrace

Webhooky, odesílání do vlastní fronty, uložení přímo na S3 nebo vlastní koncové body. Řekněte nám, jak funguje váš systém, a my se přizpůsobíme.

Objem a rychlost

Velikost dávek, počet jazyků nebo priorita zpracování jsou součástí smlouvy, nikoliv pevně dané limity produktu.

Zabezpečení a hosting

Zabezpečení dat, přihlašování přes SSO a SAML, pravidla uchovávání a podpora bezpečnostních auditů jsou součástí nastavení pro firemní zákazníky.
Případy použití

Kdo používá API pro lokalizaci videí

Platformy pracující s videem

LMS a platformy pro vzdělávání zákazníků, tvůrci a video platformy, nástroje pro webináře a virtuální akce, SaaS pro hostování videí a pracovní postupy, platformy pro digitální osvojování, živé nakupování. Nabídněte ve svém produktu lokalizované verze s možnostmi regionálních jazyků, aby vaši uživatelé oslovili globální publikum a nový trh, aniž by opustili vaši platformu.

Lokalizační a produkční agentury

Spusťte lokalizaci pro několik klientů se slovníkem pro každou značku a krokem kontroly pro každý projekt. Přineste překlady, které vaši lingvisté schválili jako soubory SRT, a doručte dabované video, titulky a volitelnou synchronizaci rtů z jednoho pracovního postupu lokalizace videa.

Interní a nepřetržitá produkce videí

Mezinárodní maloobchod a e-commerce, globální franšízy, mediální vydavatelství, firemní univerzity. Lokalizujte marketingová videa, videoreklamy, e-learning a obsah video produktů pro každý region s konzistentními termíny značky a vytvořte aktualizovanou verzi, když se změní zdrojové video.
Příběhy zákazníků

Skutečné týmy, měřitelné výsledky

Jak firmy lokalizují videa pomocí Rask v řeči čísel.
šipka
šipka
Kód

Příklady kódu API pro lokalizaci videí

Jeden kompletní příklad v každém jazyce: vytvořte slovník, lokalizujte jedno zdrojové video pro dva španělské trhy a přečtěte si přeložený text ke kontrole.
# 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
Oficiálním SDK je Python. Záložky pro Node, PHP a cURL představují běžné příklady HTTP volání pro stejná koncová rozhraní.
Průběh

Jak každá lokalizovaná verze hlásí postup

Každá verze pro daný trh je projekt s vlastním zdokumentovaným stavem, takže můžete sledovat celé vydání napříč trhy v jednom zobrazení. Musíte reagovat pouze na tři skupiny.

Hotovo, tady skončete

merging_done
Lokalizace je dokončena. Získejte projekt ještě jednou a načtěte odkazy ke stažení, které jsou k dispozici pro váš projekt.

Zpracovává se, pokračujte ve zjišťování stavu

created
uploading
transcription_started
separate_background_started
determine_speakers_started
translation_started
voiceover_started
merging_started
Plus odpovídající _done stavy, jedna sekvence pro každou verzi trhu.

Chyba, zastavit a nahlásit

failed
upload_failed
transcription_failed
translation_failed
voiceover_failed
merging_failed
no_audio
no_words
forbidden_link
no_audio, no_words a forbidden_link jsou dostatečně konkrétní na to, abyste je ukázali přímo svým vlastním uživatelům.
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

Nebo cyklické dotazování úplně vynechte

Stačí nám zadat koncový bod webhooku a každá změna stavu dorazí jako požadavek POST, takže vaše fronta reaguje na každou změnu ihned, jak k ní dojde. Doručování webhooků je součástí procesu zapojení podnikových zákazníků.
Přečíst dokumentaci
preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
Výstup

Lokalizované video, zvuk a titulky pro každý trh

Každá verze pro daný trh vrací lokalizované video a titulky ve formátu SRT a VTT. U způsobilých tarifů si můžete také stáhnout lokalizovaný hlas samostatně nebo smíchaný s původním zvukem pro vlastní úpravy nebo distribuci.
Pole
Formát
Co to je
translated_video
MP4
Lokalizované video připravené k publikování
voiceover
WAV
Pouze lokalizovaná řeč pro váš vlastní mix
translated_audio
WAV
Přeložený mluvený komentář smíchaný s původním zvukovým pozadím
translation_srt_path
.srt
Titulky v cílovém jazyce
translation_vtt_path
.vtt
Stejné titulky ve formátu WebVTT pro webové přehrávače
original_video
MP4
Váš původní soubor pro kontrolu
Ovládání

Udržujte názvy značek a terminologii konzistentní na každém trhu.

Kvalita lokalizace vychází z procesu kontroly. Kontroloři procházejí jednotlivé části, upravují výrazy, které se pro daný trh nehodí, a dabují znovu pouze tyto úseky. Slovníky přenášejí tato rozhodnutí do dalších videí a zajišťují jednotnou podobu značky na všech trzích.

Úpravy po jednotlivých segmentech

Úpravy po jednotlivých segmentech
Každý projekt nabízí přepis rozdělený na segmenty s původním i přeloženým textem, takže oprava od kontrolora představuje jen jeden jednoduchý krok.
Získání přepsaného textu a jeho segmentů
Upravte původní text a my jej znovu přeložíme
Upravte přeložený text přímo a zachovejte si vlastní slovosled
Úprava časových značek, přidání nebo odstranění segmentů
Změna hlasu přiřazeného k jednotlivým mluvčím

Slovníky pro správnou terminologii

Slovníky pro správnou terminologii
Ke každému projektu můžete připojit slovník, aby se názvy značek a produktů překládaly ve všech jazykových verzích stejně, případně podle potřeby zůstaly v původním znění.

Slovník pokrývá jeden jazykový pár a platí pro všechny regionální varianty daného cílového jazyka, takže jeden španělský slovník poslouží es-mx a es-es stejně tak. Projekt uchovává záznamy glossary_version, takže pozdější úpravy nikdy nepozorovaně nezmění hotovou práci.
Vstup

Podporované formáty souborů

Nahrávejte videa v sedmi formátech a audio ve čtyřech formátech, nebo jednoduše vložte adresu URL. Lokalizovat lze i čistě zvukový obsah, jako jsou podcasty; synchronizace rtu se aplikuje u záběrů, kde je vidět obličej mluvčího.

Video

7 formátů
.mp4
.mov
.mkv
.avi
.webm
.m4v
.3gp

Zvuk

4 formáty
.mp3
.wav
.flac
.m4a

Metadata dříve, než cokoliv utratíte

Koncový bod pro média vrací délku, velikost souboru, video i audio kodek, snímkovou frekvenci, rozlišení, vzorkovací frekvenci a uspořádání kanálů. Soubor si můžete předem zkontrolovat a odhadnout náklady pro každou jazykovou verzi, protože lokalizace se účtuje po minutách.
Bezpečnost a dodržování předpisů

Připraveno pro nákupy na jakémkoli trhu

Společnost Brask Inc. splňuje normu SOC 2 Type II, řídí se nařízením GDPR a aktuální stav zabezpečení zveřejňuje ve svém Centru důvěryhodnosti. Možnosti uložení dat jsou součástí zavádění pro firemní zákazníky.

Certifikace

SOC 2 Type II
GDPR
Člen CAI a C2PA

Šifrování

TLS 1.2 při přenosu
AES-256 v klidu
Klíče spravované přes SSE-S3
Obměna klíčů minimálně každých 12 měsíců

Váš obsah

Uzavřené prostředí AI
Nikdy se nepoužívá k trénování obecných modelů
Úplný export, žádné závazky vůči jedné platformě

Přístup

SSO a SAML
Řízení přístupu na základě rolí
Pověření klienta OAuth 2.0

Podnik

Možnosti umístění dat
Vlastní smlouvy o úrovni služeb (SLA)
Vyhrazený správce účtu

Práva na hlas

Syntetické hlasy s právy k užívání
Klonování hlasu na základě souhlasu
Bezpečnostní opatření v oblasti umělé inteligence, zapojení člověka do procesu
Srovnání

Porovnání Rask API a vlastního lokalizačního postupu

Lokalizace videa propojuje překlad, hlas, titulky, terminologii a kontrolu do jednoho produkčního procesu. Zde vidíte tentýž proces sestavený dvěma různými způsoby.
Co budete potřebovat
Rask API
Sestaveno z dílů
Možnosti regionálních jazyků
Více než 135 jazyků a regionálních variant
Podpora jazykových verzí, která se u jednotlivých dodavatelů liší
Terminologie značky v každé verzi
Verzované slovníky pro jednotlivé jazykové páry
Skripty pro vyhledávání a nahrazování, které musíte udržovat
Překlady schválené vašimi kontrolory
Importováno jako SRT a následně namluveno
Ruční zarovnání s videem
Hlasy mluvčích na různých trzích
Okamžité a vlastní klonování hlasu
Samostatný dodavatel hlasových služeb pro každý jazyk
Hudba na pozadí a zvukové efekty
Ponecháno pod lokalizovanou mluvenou řečí
Krok oddělení zdrojového zvuku, který si musíte sami vytvořit
Titulky ve formátech .srt a .vtt
Součástí balení
Vytvořeno na základě vašich vlastních časových údajů
Synchronizace rtů pro videa před kamerou
Volitelné, účtuje se za každé vygenerované celé video
Samostatný dodavatel
Úprava textu po kontrole
Dabovat pouze změněné části
Znovu vygenerovat celou verzi
Rychlostní limity
Žádné
Podle nejpřísnějších podmínek vašeho dodavatele
Návrh pracovního postupu a lidská kontrola kvality
Dostupné s naším týmem
Najímá se a spravuje samostatně
Často kladené otázky

API pro lokalizaci videí: časté dotazy

Nenašli jste, co hledáte? Obraťte se na obchodní oddělení.

Co je to API pro lokalizaci videí?

V čem se lokalizace videa liší od překladu videa?

Mohu lokalizovat jedno video pro několik regionů se stejným jazykem?

Jak zajistím, aby názvy značek zůstaly v lokalizovaných verzích konzistentní?

Mohu použít překlady, které jsme již schválili?

Zohledňuje API kulturní odlišnosti?

Překládá API i text přímo ve videu?

Jaké jazyky a regiony jsou podporovány?

Mohu v každém regionu zachovat hlas mluvčího?

Jak synchronizace rtů zapadá do procesu lokalizace?

Kolik stojí lokalizace videa?

Může nám Rask pomoci s nastavením procesu lokalizace?

Jak získáte přístup k API a klíč API?

Začněte dabovat už dnes odpoledne

Zadejte svůj první požadavek ještě dnes a ozvěte se nám, jakmile budete potřebovat velký objem nebo vzácný jazyk.