Rask AI API pro dabing videí, překlad a přepis

Jedno API pro kompletní úpravu videí: přepis řeči, překlad, dabing pomocí AI hlasů nebo klonovaných hlasů, synchronizace rtů a stažení titulků. Stačí nahrát video, vytvořit projekt pro každý jazyk a získat video, zvukové stopu, titulky a přepis.
Klonování hlasu
Synchronizace rtů a titulky
REST + Python SDK
three requests, start to finish
OAuth 2.0
# 1. exchange your client id and secret for a token (valid 1 hour)
curl -X POST https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token \
  -u "$CLIENT_ID:$CLIENT_SECRET" -d "grant_type=client_credentials"

# 2. upload the video - file, or a YouTube, Drive, S3, Vimeo or direct link
curl -X POST https://api.rask.ai/api/library/v1/media/link \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"link": "https://youtu.be/...", "name": "Q3 launch"}'

# 3. create the project - transcription, translation and dubbing start
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\": \"es-mx\"}"
GET /v2/projects/{project_id}
polling, 10s
# Poll until merging_done, then collect the files
curl -s https://api.rask.ai/v2/projects/$ID -H "Authorization: Bearer $TOKEN" \
  | jq '{status, translated_video, voiceover, translation_srt_path}'
Používají týmy po celém světě
Možnosti

Vše, co Rask AI API dokáže

Jedno API pokryje celý proces zpracování videa. Všechny funkce běží v rámci stejného projektu, stejného ověření a stejného minutového vyúčtování. Každá z nich má svou vlastní stránku s podrobnostmi a kódem.

AI dabing

Přepis, překlad, hlasy a míchání zvuku v jednom projektu. Stačí poslat video a vybrat jazyk a obdržíte hotový dabing.

Překlad videí

Přeložte videa do více než 135 jazyků a regionů jedním nahráním. Přeložený text si můžete zkontrolovat v každém jazyce.

Klonování hlasu

Zachovejte původní hlas každého mluvčího díky okamžitému klonování hlasu nebo použijte uložený vlastní hlas v podporovaných jazycích.

Synchronizace rtů

Přizpůsobte pohyby úst namluvenému textu jako samostatný krok v nadabovaném projektu, nejdříve s ověřením obličeje. Účtuje se zvlášť za každé celé vygenerované video.

Převod řeči na text a přepis videí

Přepisy obsahují označení mluvčích a časová razítka pro 75 zdrojových jazyků s automatickou detekcí jazyka.

Titulky ve formátu .srt a .vtt

Oba formáty v cílovém jazyce pro každý dokončený projekt, připravené pro váš přehrávač, aplikaci nebo střihový software.

Lokalizace videí

Regionální jazykové možnosti, slovníky pro značky a schválené překlady, aby každý trh získal vlastní verzi.

Převod textu na řeč pro videa

Pošlete svůj vlastní scénář s časovými razítky a získejte komentář přesně načasovaný k obrazu v AI hlasech nebo klonovaných hlasech.

Růst bez omezení

Žádné limity rychlosti, žádné kvóty souběžnosti, žádné omezování klíčů. Spusťte celý svůj katalog a všechny cílové jazyky současně.
Podívejte se na to v praxi

Co Rask AI API vrací

Jedno zdrojové video nadabované přes API do angličtiny, francouzštiny, němčiny, portugalštiny a španělštiny, s naklonovanými hlasy mluvčích a 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 požadavky od nahrání po hotové video

Každý pracovní postup v Rask AI API funguje stejně a vytvořením projektu se spustí celé zpracování. Pomocí koncového bodu /generate můžete video upravit po úpravě přepisu nebo hlasů.
1

Nahrajte své video

Odešlete video nebo audio soubor jako formulářová data, nebo vložte odkaz z YouTube, Google Drive, S3, Vimeo či jakoukoliv přímou URL. Ještě než cokoliv utratíte, získáte ID média a informace o souboru.

POST /api/library/v1/media/link
2

Vytvořit projekt

Zadejte ID média jako video_id a vyberte cílový jazyk. Můžete také přiložit vlastní přepis nebo slovník. Zpracování začne okamžitě.

POST /v2/projects
3

Získat výsledek

Sledujte stav, dokud se nezmění na merging_done, a poté si stáhněte dabované video, zvukové stopové soubory, titulky a přepis.

GET /v2/projects/{project_id}
Doba zpracování závisí na délce videa, počtu mluvčích a cílovém jazyce. V jednom testu bylo video dlouhé 3:47 nadabováno za 165 sekund.
Navrženo pro vás

Potřebujete něco, co v nabídce není? Ozvěte se našemu týmu.

Jazyk, hlas, způsob podání nebo rychlost, které veřejná nabídka zatím nepokrývá: náš tým s vámi probere vaše požadavky a dostupné možnosti.

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, doručení přímo do vašeho úložiště S3 nebo vlastní koncové body. Řekněte nám, jak váš systém potřebuje data přijímat.

Objem a propustnost

Velikost dávek, cílové jazyky na jednu akci a priorita zpracování jsou smluvní podmínky, nikoli pevné limity produktu.

Zabezpečení a hostování

Umístění dat, jednotné přihlašování (SSO a SAML), pravidla uchovávání a podpora bezpečnostních kontrol jsou součástí firemního nastavení.
Případy použití

Kdo využívá API Rask AI

Platformy pracující s videem

Platformy pro vzdělávání (LMS), tvůrci obsahu, video platformy, nástroje pro webináře a virtuální akce, video hostingy, SaaS nástroje pro pracovní postupy, platformy pro digitální zavádění a live shopping. Nabídněte dabing, titulky a přepsané texty v cizích jazycích jako součást vlastního produktu.

Lokalizační a produkční agentury

Propojte Rask se svými stávajícími nástroji: dabing, klonování hlasu, titulky a synchronizaci rtů pro klientská videa, přičemž vaši editoři mohou přepis před odevzdáním upravit.

Vlastní nepřetržitá produkce videí

Mezinárodní maloobchod a e-commerce, globální franšízy, vydavatelství a firemní univerzity. Lokalizujte tréninková, produktová a marketingová videa pro jakýkoliv trh pomocí jedné integrace.
Příběhy zákazníků

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

Jak společnosti lokalizují videa s Rask AI, vyjádřeno vlastními čísly.
šipka
šipka
Kód

Ukázky kódu pro API Rask AI

Jeden kompletní cyklus v každém jazyce: ověření totožnosti, nahrání, vytvoření projektu, čekání a stažení souborů. Každá stránka s funkcemi obsahuje ukázky pro daný pracovní postup.
# pip install git+ssh://[email protected]/braskai/rask-sdk.git@main
import asyncio
from rask_sdk import clients, enums, schemas

async def main():
    # the client exchanges your credentials for tokens and refreshes them
    client = clients.RaskSDKClient(client_id=CLIENT_ID, client_secret=CLIENT_SECRET)

    media = await client.create_media_link(data=schemas.MediaCreateLink(link="https://youtu.be/..."))
    while media.status is enums.MediaStatus.PROCESSING:
        await asyncio.sleep(5)
        media = await client.get_media(media_id=media.id)

    job = await client.create_project(data=schemas.ProjectCreate(video_id=media.id, dst_lang="es-mx"))
    while job.status is not enums.ProjectStatus.MERGING_DONE:
        await asyncio.sleep(10)
        job = await client.get_project(project_id=job.id)

    print(job.translated_video, job.translation_srt_path, job.translation_vtt_path)

asyncio.run(main())
github.com/braskai/rask-sdk
Python 3.8+, async
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}"}

with open("launch.mp4", "rb") as f:
    media = requests.post(f"{API}/api/library/v1/media", headers=h,
                          params={"kind": "video"}, files={"data": f}).json()
while media["status"] == "processing":
    time.sleep(5)
    media = requests.get(f"{API}/api/library/v1/media/{media['id']}", headers=h).json()

pid = requests.post(f"{API}/v2/projects", headers=h,
                    json={"video_id": media["id"], "dst_lang": "de-de"}).json()["id"]
while (p := requests.get(f"{API}/v2/projects/{pid}", headers=h).json())["status"] != "merging_done":
    time.sleep(10)

for field in ("translated_video", "translated_audio", "translation_srt_path"):
    print(field, p[field])   # presigned links, valid for one hour
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());

let media = await call('POST', '/api/library/v1/media/link', { link: 'https://youtu.be/...' });
while (media.status === 'processing') { await sleep(5000); media = await call('GET', `/api/library/v1/media/${media.id}`); }

let p = await call('POST', '/v2/projects', { video_id: media.id, dst_lang: 'ja-jp' });
while (p.status !== 'merging_done') { await sleep(10000); p = await call('GET', `/v2/projects/${p.id}`); }

const { translated_video, voiceover, translation_vtt_path } = p;
console.log({ translated_video, voiceover, translation_vtt_path });
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. upload by link
VIDEO_ID=$(curl -s -X POST https://api.rask.ai/api/library/v1/media/link \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"link": "https://youtu.be/..."}' | jq -r .id)

# 3. create the project once the media status is ready
ID=$(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\": \"pt-br\"}" | jq -r .id)

# 4. wait for merging_done, then read the links
until [ "$(curl -s https://api.rask.ai/v2/projects/$ID -H "Authorization: Bearer $TOKEN" | jq -r .status)" = merging_done ]; do
  sleep 10
done
curl -s https://api.rask.ai/v2/projects/$ID -H "Authorization: Bearer $TOKEN" \
  | jq '{translated_video, translated_audio, translation_srt_path}'
shell script
token to download
<?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']];

$media = $json($http->post('/api/library/v1/media/link', ['headers' => $h, 'json' => [
    'link' => 'https://youtu.be/...']]));
while ($media['status'] === 'processing') {
    sleep(5);
    $media = $json($http->get("/api/library/v1/media/{$media['id']}", ['headers' => $h]));
}

$p = $json($http->post('/v2/projects', ['headers' => $h, 'json' => [
    'video_id' => $media['id'], 'dst_lang' => 'fr-fr']]));
while ($p['status'] !== 'merging_done') {
    sleep(10);
    $p = $json($http->get("/v2/projects/{$p['id']}", ['headers' => $h]));
}
echo $p['translated_video'], PHP_EOL, $p['translation_srt_path'], PHP_EOL;
Guzzle 7
plain HTTP
Python je oficiální SDK. Karty Node, PHP a cURL představují jednoduché příklady HTTP pro stejné koncové body.
Průběh

Jak projekt v API Rask AI hlásí postup

Každý projekt prochází bez ohledu na účel stejnými popsanými stavy. Ukžate svým uživatelům přehledný průběh a pracujte pouze se třemi skupinami.

Hotovo, zde skončete

merging_done
Všechny výstupní soubory jsou připraveny. Stáhněte si projekt znovu a získejte odkazy ke stažení, které platí jednu hodinu.

Probíhá zpracování, kontrolujte stav

created
uploading
transcription_started
separate_background_started
determine_speakers_started
translation_started
voiceover_started
merging_started
Navíc odpovídající _done stavy. Tyto prvky lze skvěle začlenit do uživatelského rozhraní s fázovaným postupem.

Chyba, zastavte a nahlaste problém

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ě srozumitelné pro vaše uživatele. Každá chyba navíc vrací kód, kterému počítač snadno porozumí.
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 kontrolu stavu zcela 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

Video, audio, titulky a přepis z jednoho projektu

Dokončený projekt obsahuje dabované video, dvě zvukové stopy, dva soubory s titulky a přepis. U vybraných tarifů získáte přeložený hlas samostatně ve formátu WAV vedle kompletního mixu s původním pozadím.
Položka
Formát
Popis
translated_video
MP4
Dabované video připravené k zveřejnění
voiceover
WAV
Pouze přeložená řeč (u vybraných tarifů) pro váš vlastní mix
translated_audio
WAV
Přeložená řeč smíchaná s původním zvukem na pozadí
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
/transcription
JSON
Zdrojový text, překlad, označení mluvčího a časové značky pro jednotlivé úseky
Ovládání

Upravte přepis a vytvořte znovu jen to, co se změnilo

Automatizace odvede většinu práce, ale konečné slovo má váš tým. Opravte řádek, časovou značku nebo hlas, spusťte generování znovu a zaplaťte jen za změněné části s minimem jedné minuty na spuštění.

Úpravy po jednotlivých segmentech

Úpravy po jednotlivých segmentech
Každý projekt nabízí přepis rozdělený na přehledné části, takže opravíte jen konkrétní místo a nemusíte vytvářet nový projekt.
Získat přepis a jeho segmenty
Upravte zdrojový text a my jej znovu přeložíme
Upravte přímo přeložený text, abyste zachovali své vlastní slovní spojení
Upravit časová razítka, přidat segmenty, smazat segmenty
Přiřadit jiný hlas konkrétnímu mluvčímu

Slovníky pro odbornou terminologii

Slovníky pro odbornou terminologii
Připojte slovník a názvy značek, produktů i odborné termíny se v každém projektu přeloží stejně, případně je můžete záměrně nechat v původním jazyce.

Jeden 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. Záznamy projektu glossary_version, takže pozdější úpravy nikdy nepozorovaně nezmění již hotovou práci.
Vstup

Podporované formáty souborů

Podporujeme sedm video a čtyři audio formáty a také odkazy z YouTube, Google Drive, S3, Vimeo nebo přímé URL adresy. Nepodporovaný soubor systém odmítne dřív, než se vám odečtou jakékoliv minuty.

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

Rozhraní vrací délku, velikost souboru, video kodek, snímkovou frekvenci, rozlišení, audio kodek, vzorkovací frekvenci a uspořádání kanálů. Soubor si zkontrolujte předem a odhadněte náklady, protože projekty se účtují po minutách.
Bezpečnost a dodržování předpisů

Připraveno pro schválení nákupním a bezpečnostním oddělením

Společnost Brask Inc splňuje certifikaci SOC 2 Type II, řídí se nařízením GDPR a v Centru důvěry zveřejňuje aktuální stav zabezpečení pro váš bezpečnostní tým.

Certifikace

SOC 2 Type II
GDPR
Člen organizací CAI a C2PA

Šifrování

TLS 1.2 při přenosu
AES-256 v klidovém stavu
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

Přístup

SSO a SAML
Řízení přístupu na základě rolí
Přihlašovací údaje 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í

Rask AI API vs. propojení od různých dodavatelů

Přepis, překlad, hlasy, synchronizace rtů a titulky obvykle zajišťují různí dodavatelé. Zde vidíte stejný postup zpracování videa ve dvou variantách.
Co budete potřebovat
Rask API
Sestaveno z dílů
Přepis s označením mluvčích
Součástí balení
API pro převod řeči na text
Překlad do více než 135 jazyků a regionálních variant
Součástí balení
Překladové API
AI hlasy a klony hlasu
Součástí balení
Dodavatel převodu textu na řeč a klonování hlasu
Hudba na pozadí pod novou řečí
Smícháno automaticky
Oddělení zvukové stop a vlastní míchání
Synchronizace rtů
Samostatný úkol v rámci stejného projektu
Dodavatel synchronizace rtů
Titulky ve formátu .srt a .vtt
Součástí balení
Vlastní generátor souborů
Úprava jednoho řádku
Znovu vygenerovat změněné části
Opakované spuštění zpracování pro soubor
Správa terminologie
Slovníky
Vlastní úpravy
Fakturace
Za minutu videa, jeden balíček
Za znak, za hodinu a za požadavek napříč poskytovateli
Rychlostní limity
Žádné
Podle pravidel každého poskytovatele
Vyplňte prosím tento formulář a tým Rask AI se vám brzy ozve!
Často kladené otázky

API Rask AI: často kladené otázky

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

Co je to API Rask AI?

Která API jsou součástí API Rask AI?

Jak získáno přístup k API Rask AI?

Jak funguje ověřování?

Existuje sada SDK?

Jaké jazyky API podporuje?

Jak se účtuje API Rask AI?

Existují nějaké limity počtu požadavků?

Podporuje API webhooky?

Jaké formáty souborů mohu nahrát?

Můžu použít vlastní přepis nebo překlad?

Funguje API v reálném čase?

Je API Rask AI bezpečné?

Začněte dabovat během jednoho odpoledne

Vytvořte svůj první požadavek ještě dnes a ozvěte se nám, jakmile budete potřebovat množstevní podmínky nebo jazyk, který nikdo jiný nemá.