API pro přepis každého videa ve vaší knihovně

Pošlete soubory videí nebo odkazy na YouTube, Google Drive a Vimeo a získejte textové přepisy s rozpoznáním mluvčích a časovými razítky v 75 jazycích s automatickou detekcí jazyka. Přepisujte jedno video nebo celou knihovnu a pak přepisy a titulky přeložte pro diváky po celém světě.
Soubory a odkazy na videa
Hromadný přepis
REST + Python SDK
link in, transcript out
OAuth 2.0
# 1. send the video as a link - YouTube, Google Drive, Vimeo, S3 or direct URL
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": "camera review"}'

# 2. create the project - the language of the video is detected automatically
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}/transcription
plain text
# The transcript as plain text with timestamps and speakers
curl -s https://api.rask.ai/v2/projects/$ID/transcription -H "Authorization: Bearer $TOKEN" \
  | jq -r '.segments[] | "\(.start) \(.speaker): \(.src.text)"'
Používáno týmy po celém světě
Funkce

Co API pro přepis videí umí

Pošlete soubory nebo odkazy na videa a získejte přepis s mluvčími a časovými razítky pro každé video ve vaší knihovně. Ze stejného projektu pak můžete vytvořit překlady, titulky a dabovanou verzi.

Přepisujte videa ze souboru nebo odkazu

Nahrajte soubory videí nebo vložte odkaz na YouTube, Google Drive, Vimeo, S3 či přímý odkaz. API si video stáhne samo, takže vy nemusíte nic řešit.

Více mluvčích s označením

Rozhovory, diskuze a webináře s více mluvčími se vrátí s označením mluvčího u každého úseku, takže vždycky víte, kdo co řekl.

Automatická detekcja jazyka

Přepisujte videa v 75 zdrojových jazycích včetně angličtiny. Původní jazyk můžete nechat prázdný a systém ho detekuje automaticky.

Přepisy, ve kterých lze vyhledávat

Každý úsek má svůj začátek i konec, takže uživatelé můžou v textu vyhledávat a přeskočit rovnou na moment, kdy zazněla konkrétní fráze.

Přepisy ve více jazycích

Každý úsek obsahuje také překlad do více než 135 jazyků a regionálních variant, takže jediný přepis poslouží divákům po celém světě v různých jazycích.

Titulky ve formátech .srt a .vtt

Každý projekt vrací také soubory s titulky v cílovém jazyce, které jsou přesně načasované pro diváky se sluchovým postižením nebo pro sledování bez zvuku.

Prostý text nebo strukturovaná data

Přečtěte si přepis jako JSON úseky nebo text spojte do souvislého textu pro vyhledávání, články, popisy a poznámky k videu.

Oprava odborných výrazů

Opravte jména, názvy produktů a odborné termíny v libovolném úseku pomocí API. Slovník zajišťuje, že tyto termíny zůstanou při překladu přepisu jednotné.

Růst bez omezení

Žádné limity rychlosti, žádné kvóty na souběžnost. Spusťte hromadný přepis několika videí nebo celé knihovny najednou.
Podívejte se na to v akci

Z jednoho přepisu do pěti jazykových verzí

Zápis tohoto klipu byl převeden do angličtiny, francouzštiny, němčiny, portugalštiny a španělštiny, přičemž každá verze obsahuje titulky a původní zvuk na pozadí.
EN flag
En
FR flag
Fr
DE flag
De
PT flag
Pt
ES flag
Es
Pracovní postup

Tři kroky od odkazu na video k přepisu

Vytvoření projektu spustí přepis, následně překlad, titulky a nadabovanou verzi v jediném kroku. Po úpravě přepisu použijte koncový bod /generate.
1

Odešlete video

Nahrajte videokorpus jako multipart data, nebo vložte odkaz na YouTube, Google Drive, Vimeo, S3 či přímý odkaz. Než cokoliv utratíte, získáte ID médií a metadata videa.

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

Vytvořte projekt

Předejte ID média jako video_id a zvolte cílový jazyk. Pro automatické rozpoznání jazyka nechte zdrojový jazyk prázdný. Přepis se spustí okamžitě.video_id

POST /v2/projects
3

Přečtěte si přepis

Čtěte části přepisu, jakmile jsou k dispozici, abyste mohli začít indexovat záznam, zatímco zpracování přeložených médií pokračuje. Po dokončení projektu si stáhněte soubory s titulky a médii.

GET /v2/projects/{id}/transcription
Přepis funguje u natočených videí, nikoli u živého vysílání. Doba zpracování se liší podle délky videa a počtu mluvčích: v jednom testu bylo 3:47 dlouhé video hotové za 165 sekund.
Přizpůsobeno vám

Potřebujete přepis ve velkém objemu nebo v jazyce, který nenabízíme? Kontaktujte náš tým

Objemný přepis, zdrojový jazyk mimo náš seznam, formát přepisu, který vyžaduje váš vyhledávací index, nebo doručení do vlastního úložiště: náš tým posoudí vaše požadavky a dostupné možnosti.

Jazyky a hlasy

Potřebujete zdrojový jazyk mimo veřejný katalog? Řekněte nám své požadavky a probereme možné varianty.

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 přepis videí

Platformy pracující s videem

LMS a vzdělávací platformy, tvůrci a video platformy, nástroje pro webináře a virtuální akce, video hosting a workflow SaaS, platformy pro digitální osvojení, živé nakupování. Přidejte do svého produktu vyhledávatelné přepsané texty a titulky k nahraným videím.

Lokalizační a produkční agentury

Přepisujte klientská videa hromadně, poskytněte recenzentům text s označením mluvčích a dodejte titulky i překlady v rámci stejných projektů.

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

Mezinárodní maloobchod a e-commerce, globální franšízy, mediální vydavatelství, firemní univerzity, tvůrci obsahu. Umožněte, aby každé video bylo vyhledatelné a přístupné, a využijte přepisy znovu pro články a popisy.
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 pro API přepisu videa

Jeden kompletní příklad v každém jazyce: odesílání videí jako odkazů nebo souborů, čekání na zpracování a následné uložení čistého textu nebo jeho vyhledávání podle časových značek.
# pip install git+ssh://[email protected]/braskai/rask-sdk.git@main
import asyncio
from rask_sdk import clients, enums, schemas

VIDEOS = ["https://youtu.be/aaa", "https://youtu.be/bbb", "https://vimeo.com/123"]

async def transcribe(client, i, link):
    media = await client.create_media_link(data=schemas.MediaCreateLink(link=link))
    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="en-us"))
    while job.status is not enums.ProjectStatus.MERGING_DONE:
        await asyncio.sleep(10)
        job = await client.get_project(project_id=job.id)
    t = await client.get_project_transcription(project_id=job.id)
    with open(f"video_{i}.txt", "w") as f:   # plain text, one segment per line
        f.write("\n".join(f"{s.speaker}: {s.src.text}" for s in t.segments))

async def main():
    client = clients.RaskSDKClient(client_id=CLIENT_ID, client_secret=CLIENT_SECRET)
    await asyncio.gather(*(transcribe(client, i, v) for i, v in enumerate(VIDEOS)))   # no rate limits

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

media = requests.post(f"{API}/api/library/v1/media/link", headers=h,
                      json={"link": "https://youtu.be/..."}).json()

project = requests.post(f"{API}/v2/projects", headers=h,
                        json={"video_id": media["id"], "dst_lang": "es-mx"}).json()

while project["status"] != "merging_done":
    time.sleep(10)
    project = requests.get(f"{API}/v2/projects/{project['id']}", headers=h).json()

print(project["translated_video"])
requests
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://drive.google.com/file/d/...' });
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: 'fr-fr' });
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`);
const index = segments.map((s) => ({ t: s.start, speaker: s.speaker, text: s.src.text, fr: s.dst.text }));
console.log(JSON.stringify(index, null, 2));   // ready for your search index
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 a local video file
VIDEO_ID=$(curl -s -X POST "https://api.rask.ai/api/library/v1/media?kind=video" \
  -H "Authorization: Bearer $TOKEN" -F "[email protected]" | 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\": \"de-de\", \"num_speakers\": 3}" | jq -r .id)

# 4. when status is merging_done, save the transcript as plain text
curl -s https://api.rask.ai/v2/projects/$ID/transcription -H "Authorization: Bearer $TOKEN" \
  | jq -r '.segments[].src.text' > webinar.txt
local video file
multipart upload
<?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://vimeo.com/123456']]));
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' => 'pt-br']]));
while ($p['status'] !== 'merging_done') {
    sleep(10);
    $p = $json($http->get("/v2/projects/{$p['id']}", ['headers' => $h]));
}

$t = $json($http->get("/v2/projects/{$p['id']}/transcription", ['headers' => $h]));
file_put_contents('video.txt', implode("\n", array_map(fn($s) => $s['src']['text'], $t['segments'])));
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 projekt přepisu videa hlásí svůj postup

Každé video se stane projektem s jasným stavem, takže můžete sledovat průběh u všech videí v hromadné úloze. Stačí reagovat na tři skupiny.

Hotovo, tady skončete

merging_done
Finální soubory médií a titulků jsou připraveny. Přepis můžete číst a indexovat dříve, jakmile jsou dostupné jeho jednotlivé části.

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. Tyto položky přesně odpovídají uživatelskému rozhraní pro sledování průběhu.

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 and forbidden_link are specific enough to show directly to your own user, for example a video without speech.
Plain text transcript, two speakers
jq -r on /transcription
00:00:00,320  SPEAKER_00  Welcome back. Today we test three cameras in low light.
00:00:06,180  SPEAKER_01  I brought the footage from last week's night shoot.
00:00:10,940  SPEAKER_00  Let's start with the smallest sensor, the hardest case.
00:00:15,500  SPEAKER_01  At ISO 6400 the noise is visible, but the colors hold up.

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

Co získáte pro každé video

Každý dokončený projekt nabízí přepis ve formátu JSON, soubory titulků ve formátech SRT a VTT v cílovém jazyce a přeložené video i zvuk. Odkazy ke stažení jsou předpodepsané a platné jednu hodinu.
Pole
Formát
Co to je
/transcription
JSON
Označení mluvčího, časové značky, zdrojový text a překlad pro každý úsek
translation_srt_path
.srt
Titulky v cílovém jazyce načasované na jednotlivé úseky
translation_vtt_path
.vtt
Stejné titulky ve formátu WebVTT pro webové přehrávače
translated_video
MP4
Přeložené video s dabingem
translated_audio
WAV
Přeložený mluvený komentář smíchaný s původním zvukovým pozadím
original_video
MP4
Vaše původní video uložené pro potřeby kontroly
Ovládání

Oprava jmen a odborných termínů v přepsaném textu

Automatický přepis zvládne většinu videa. Jména, přízvuky a odborné výrazy však občas vyžadují lidský zásah. Upravte text, časování nebo mluvčího u vybrané části pomocí jediného požadavku a poté přeloženou verzi znovu vygenerujte. Účtují se pouze upravené části s minimální délkou jedné minuty na požadavek.

Úpravy po jednotlivých segmentech

Úpravy po jednotlivých segmentech
Každý projekt nabízí přepis rozdělený na jednotlivé části, takže špatně slyšené jméno opravíte jednoduše pomocí jednoho požadavku namísto ručního přepisu.
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
Připojte slovník, aby se jména produktů a odborné termíny četly ve všech přeložených přepisech stejně, nebo je úmyslně ponechte v původním jazyce.

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ů

Přepisujte videoubor v sedmi formátech a zvukové nahrávky ve čtyřech, případně odešlete odkaz z velkých platforem, jako je YouTube, Google Drive nebo Vimeo. Nepodporované soubory jsou odmítnuty předtím, než se 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

Koncový bod média vrací délku, velikost souboru, video kodek, snímkovou frekvenci, rozlišení, audio kodek, vzorkovací frekvenci a uspořádání kanálů. Ověřte soubor a předem odhadněte cenu, protože projekty jsou účtovány po minutách videa.
Bezpečnost a dodržování předpisů

Vaše videa a přepisy pod přísnou kontrolou zabezpečení

Společnost Brask Inc je držitelem certifikace SOC 2 Type II, funguje v souladu s nařízením GDPR a pro váš bezpečnostní tým zveřejňuje aktuální stav zabezpečení ve svém Centru důvěry.

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í

Rozhraní Rask API v porovnání s procesem přepisu složeným z více částí

Přepis videa málokdy představuje konečný výsledek. Týmy potřebují také označení mluvčích, titulky a překlady do jiných jazyků. Zde je srovnání stejné práce provedené dvěma způsoby.
Co budete potřebovat
Rask API
Sestaveno z dílů
Odkazy na videa z YouTube, Drivu, Vimea nebo S3
Přijato přímo
Nejprve stáhnout a převést
Označení pro více mluvčích
Součástí balení
Doplněk pro rozlišení mluvčích nebo ruční označení
Jazyk každého videa
Zjištěno automaticky
Nastaveno pro každý soubor nebo zjištěno samostatně
Přepisy v jiných jazycích
Více než 135 jazyků a regionálních variant
Překladové API pro každý jazyk
Titulky ve formátech .srt a .vtt
Součástí balení
Nástroj na titulky nebo vlastní editor
Oprava odborných termínů
Jeden požadavek na úpravu pro danou část
Úprava kopií v každém nástroji
Dabovaná verze videa
Zahrnuto ve stejném projektu
Poskytovatel převodu textu na řeč a vaše vlastní úpravy zvuku
Rychlostní limity
Žádné
Podle toho, co vyžaduje daný poskytovatel
Titulky v reálném čase pro živé schůzky
Použijte streamovací API pro převod řeči na text
Zabudováno u některých poskytovatelů
Jazyk, který ještě nikdo nepodporuje
Vytvoříme ho
Není k dispozici
Často kladené otázky

API pro přepis videí: často kladené otázky

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

Má Rask API pro přepis videí?

Mohu přepsat video z YouTube nebo z odkazu?

Mohu přepisovat více videí najednou?

Jak si systém poradí s více mluvčími?

Jaké jazyky jsou podporovány?

Jak přesný je přepis?

Mohu získat přepis jako obyčejný text?

Generuje systém AI souhrny, klíčová témata nebo analýzu sentimentu?

Umí to přepisovat schůzky?

Existuje maximální velikost souboru?

Jak se účtuje přepis videí?

Existuje bezplatná verze?

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.