Video-Transkriptions-API für jedes Video in Ihrer Mediathek

Senden Sie Videodateien oder Links von YouTube, Google Drive und Vimeo und erhalten Sie durchsuchbare Transkripte mit Sprecherkennzeichnung und Zeitstempeln in 75 Sprachen sowie automatischer Spracherkennung. Transkribieren Sie ein einzelnes Video oder Ihre gesamte Mediathek und übersetzen Sie die Transkripte und Untertitel für ein globales Publikum.
Dateien und Videolinks
Massen-Transkription
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)"'
Von globalen Teams genutzt
Funktionen

Was die Video-Transkriptions-API leistet

Senden Sie Videodateien oder Links und erhalten Sie für jedes Video in Ihrer Mediathek ein Transkript mit Sprechern und Zeitstempeln. Im selben Projekt wird jedes Transkript in Übersetzungen, Untertitel und eine synchronisierte Version verwandelt.

Videos aus einer Datei oder einem Link transkribieren

Laden Sie Videodateien hoch oder fügen Sie einen Link von YouTube, Google Drive, Vimeo, S3 oder einen direkten Link ein. Die API ruft das Video selbst ab, ohne dass Sie es herunterladen müssen.

Mehrere Sprecher, gekennzeichnet

Interviews, Podiumsdiskussionen und Webinare mit verschiedenen Sprechern enthalten bei jedem Segment eine Sprecherkennzeichnung, sodass Sie immer wissen, wer was gesagt hat.

Automatische Spracherkennung

Transkribieren Sie Videos in 75 Ausgangssprachen, einschließlich Englisch. Lassen Sie das Feld für die Ausgangssprache leer, wird die Sprache jedes Videos automatisch erkannt.

Durchsuchbare Transkripte

Jedes Segment hat eine Start- und Endzeit, sodass Nutzer den Textinhalt eines Videos durchsuchen und direkt zu dem Moment springen können, in dem ein Satz gesprochen wird.

Transkripte in mehreren Sprachen

Jedes Segment enthält auch seine Übersetzung in über 135 Sprach- und Regionaloptionen, sodass ein einziges Transkript ein globales Publikum in anderen Sprachen erreicht.

Untertitel als .srt und .vtt

Jedes Projekt liefert zudem Untertiteldateien in der Zielsprache, passend zu den Segmenten, für Zuschauer mit Hörbeeinträchtigung oder ausgeschaltetem Ton.

Reiner Text oder strukturierte Daten

Lesen Sie das Transkript als JSON-Segmente oder fügen Sie den Text zu einfachem Text zusammen für Suchindizes, Artikel, Show-Beschreibungen und Notizen.

Fachbegriffe korrigieren

Korrigieren Sie Namen, Produktbegriffe und Fachausdrücke in jedem Segment über die API. Ein Glossar sorgt dafür, dass dieselben Begriffe bei der Übersetzung des Transkripts konsistent bleiben.

Skalieren Sie ohne Grenzen

Keine Ratenlimits, kein gleichzeitiges Nutzungslimit, keine API-Schlüssel-Drosselung. Führen Sie Massentranskriptionen für mehrere Videos oder Ihre gesamte Mediathek parallel aus.
In Aktion erleben

Aus einem Transkript werden fünf Sprachversionen

Aus dem Transkript dieses Clips wurden eine englische, französische, deutsche, portugiesische und spanische Version erstellt – jeweils mit Untertiteln und dem originalen Hintergrund-Audio.
EN flag
En
FR flag
Fr
DE flag
De
PT flag
Pt
ES flag
Es
Workflow

Drei Schritte vom Videolink zum Transkript

Beim Erstellen des Projekts starten Transkription, Übersetzung, Untertitelung und die synchronisierte Version in einem Durchgang. Verwenden Sie den Endpunkt /generate, nachdem Sie das Transkript korrigiert haben.
1

Video senden

Laden Sie eine Videodatei als Multipart-Formulardaten hoch oder senden Sie einen YouTube-, Google Drive-, Vimeo-, S3- oder Direktlink. Sie erhalten eine Medien-ID und die Videometadaten, bevor Kosten anfallen.

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

Projekt erstellen

Übergeben Sie die Medien-ID als video_id und eine Zielsprache. Lassen Sie die Quellersprache für die automatische Spracherkennung leer. Die Transkription beginnt sofort.video_id

POST /v2/projects
3

Transkript lesen

Lesen Sie Transkriptsegmente ab, sobald sie verfügbar sind, damit Sie mit der Indizierung der Aufnahme beginnen können, während die übersetzten Medien noch verarbeitet werden. Laden Sie Untertitel und Mediendateien herunter, wenn das Projekt abgeschlossen ist.

GET /v2/projects/{id}/transcription
Die Transkription funktioniert bei aufgezeichneten Videos, nicht bei Live-Streams. Die Verarbeitungszeit hängt von der Videolänge und der Anzahl der Sprecher ab: Bei einem beobachteten Durchlauf war ein 3:47 Minuten langes Video in 165 Sekunden fertig.
Auf Ihre Bedürfnisse zugeschnitten

Möchten Sie Videos in einer Sprache oder einem Umfang transkribieren, die nicht aufgeführt sind? Sprechen Sie mit unserem Team

Transkriptionen in großen Mengen, eine Quellsprache außerhalb der Liste, ein Transkriptformat, das Ihr Suchindex erwartet, oder die Bereitstellung in Ihrem eigenen Speicher: Unser Team prüft Ihre Anforderungen und die verfügbaren Optionen.

Sprachen und Stimmen

Benötigen Sie eine Quellsprache außerhalb des öffentlichen Katalogs? Sprechen Sie mit unserem Team über Ihre Anforderungen und die verfügbaren Optionen.

Bereitstellung und Integration

Webhooks, Einspeisung in Ihre eigene Warteschlange, direkte Bereitstellung auf Ihrem S3 oder benutzerdefinierte Endpunkte. Sagen Sie uns einfach, wie Ihre Pipeline Daten benötigt.

Volumen und Durchsatz

Batch-Größen, Zielsprachen pro Aktion und Verarbeitungspriorität sind Teil Ihrer vertraglichen Vereinbarung und unterliegen keinen starren Produktlimits.

Sicherheit und Hosting

Datenspeicherung, SSO und SAML, Aufbewahrungsregeln und Support bei Sicherheitsprüfungen werden im Rahmen des Enterprise-Onboardings geregelt.
Anwendungsfälle

Wer nutzt eine Video-Transkriptions-API?

Plattformen mit integrierten Videos

LMS- und Kundenschulungsplattformen, Creator- und Videoplattformen, Webinar- und virtuelle Event-Tools, Video-Hosting- und Workflow-SaaS, Plattformen für digitale Einführung sowie Live-Shopping. Fügen Sie Video-Uploads durchsuchbare Transkripte und Untertitel als Produktfunktion hinzu.

Lokalisierungs- und Produktionsagenturen

Transkribieren Sie Kundenvideos in großen Mengen, stellen Sie Prüfern das Transkript mit Sprecherkennzeichnungen zur Verfügung und liefern Sie Untertitel und Übersetzungen aus denselben Projekten.

Interne, kontinuierliche Videoproduktion

Internationaler Einzelhandel und E-Commerce, globale Franchises, Medienverlage, Unternehmensuniversitäten und Contentersteller. Machen Sie jedes Video durchsuchbar und zugänglich und verwenden Sie die Transkripte für Artikel und Beschreibungen wieder.
Kundenreferenzen

Echte Teams, messbare Ergebnisse

Wie Unternehmen mit Rask Videos lokalisieren – in konkreten Zahlen.
Pfeil
Pfeil
Code

Codebeispiele für die Video-Transkriptions-API

Ein vollständiges Beispiel pro Sprache: Senden Sie Videos als Links oder Dateien, warten Sie, speichern Sie dann Klartext-Transkripte oder durchsuchen Sie diese nach Zeitstempel.
# 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
Python ist das offizielle SDK. Die Registerkarten für Node, PHP und cURL zeigen einfache HTTP-Beispiele für dieselben Endpunkte.
Fortschritt

Wie ein Video-Transkriptionsprojekt über den Fortschritt berichtet

Jedes Video wird zu einem Projekt mit dokumentierten Statusangaben, sodass Sie den Fortschritt für jedes Video bei einem Massenlauf nachvollziehen können. Sie müssen nur bei drei Gruppen eingreifen.

Erfolgreich, hier stoppen

merging_done
Die finalen Medien- und Untertiteldateien sind bereit. Sie können das Transkript früher lesen und indizieren, sobald die Segmente verfügbar sind.

Wird ausgeführt, Status weiter abfragen

created
uploading
transcription_started
separate_background_started
determine_speakers_started
translation_started
voiceover_started
merging_started
Plus das passende _done Diese lassen sich perfekt in einer Benutzeroberfläche für den Fortschritt darstellen.

Fehler, Stopp und Meldung

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.

Oder das Abfragen ganz überspringen

Verweisen Sie auf einen Webhook-Endpunkt, und jeder Statusübergang kommt als POST an, sodass Ihre Warteschlange im Moment des Geschehens auf jede Änderung reagiert. Die Webhook-Bereitstellung ist Teil des Enterprise-Onboardings.
Dokumentation lesen
preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
Ausgabe

Was Sie für jedes Video erhalten

Jedes fertige Projekt stellt das Transkript als JSON-Segmente, Untertiteldateien im SRT- und VTT-Format in der Zielsprache sowie das übersetzte Video und Audio bereit. Die Download-Links sind vorab signiert und eine Stunde lang gültig.
Feld
Format
Was es ist
/transcription
JSON
Sprecherkennzeichnung, Zeitstempel, Quelltext und Übersetzung für jedes Segment
translation_srt_path
.srt
Untertitel in der Zielsprache, zeitlich auf die Segmente abgestimmt
translation_vtt_path
.vtt
Dieselben Untertitel als WebVTT für Web-Player
translated_video
MP4
Das übersetzte Video mit Voiceover
translated_audio
WAV
Übersetzte Sprache gemischt mit dem Original-Hintergrundaudio
original_video
MP4
Ihr Quellvideo als Referenz gespeichert
Steuerung

Namen und Fachbegriffe im Transkript korrigieren

Die automatische Transkription erledigt den größten Teil eines Videos. Namen, Akzente und Fachbegriffe erfordern jedoch manchmal menschliches Eingreifen. Korrigieren Sie Text, Timing oder Sprecher eines Segments mit einer einzigen Anfrage und generieren Sie die übersetzte Version neu. Die Abrechnung erfolgt nach geänderten Segmenten mit einer Mindestdauer von einer Minute pro Durchlauf.

Bearbeitung auf Segmentebene

Bearbeitung auf Segmentebene
Jedes Projekt stellt sein Transkript als adressierbare Segmente bereit, sodass ein falsch verstandener Name durch eine einfache Anpassungsanfrage anstatt durch manuelle Transkription behoben werden kann.
Das Transkript und seine Segmente abrufen
Den Quelltext anpassen, damit wir ihn neu übersetzen
Den übersetzten Text direkt anpassen, um Ihre eigenen Formulierungen beizubehalten
Zeitstempel anpassen, Segmente hinzufügen oder löschen
Sprechern eine neue Stimme zuweisen

Glossare für Fachbegriffe

Glossare für Fachbegriffe
Hinterlegen Sie ein Glossar, damit Produktnamen und Fachbegriffe in jedem übersetzten Transkript einheitlich sind oder absichtlich in der Originalsprache verbleiben.

Ein Glossar deckt ein Sprachpaar ab und gilt für alle regionalen Varianten dieser Zielsprache, sodass ein einziges spanisches Glossar es-mx und es-es gleichermaßen dient. Das Projekt speichert glossary_version, sodass spätere Änderungen bereits fertiggestellte Arbeit nicht unbemerkt verändern.
Eingabe

Unterstützte Dateiformate

Transkribieren Sie Videodateien in sieben Formaten und Audioaufnahmen in vier oder senden Sie einen Link von einer großen Plattform wie YouTube, Google Drive oder Vimeo. Nicht unterstützte Dateien werden abgelehnt, bevor Minuten berechnet werden.

Video

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

Audio

4 Formate
.mp3
.wav
.flac
.m4a

Metadaten, bevor Kosten entstehen

Der Medienendpunkt liefert Informationen zu Dauer, Dateigröße, Videocodec, Bildrate, Auflösung, Audiocodec, Abtastrate und Kanal-Layout. Überprüfen Sie eine Datei im Voraus und schätzen Sie die Kosten ab, da Projekte nach Videominuten abgerechnet werden.
Sicherheit und Compliance

Ihre Videos und Transkripte unter streng kontrollierten Bedingungen

Brask Inc erfüllt die Anforderungen nach SOC 2 Type II sowie DSGVO und veröffentlicht den aktuellen Sicherheitsstatus im Trust Center für Ihr Sicherheitsteam.

Zertifizierungen

SOC 2 Type II
DSGVO
Mitglied bei CAI und C2PA

Verschlüsselung

TLS 1.2 während der Übertragung
AES-256 im Ruhezustand
Verwaltete SSE-S3-Schlüssel
Schlüsselrotation mindestens alle 12 Monate

Ihre Inhalte

Geschlossene KI-Umgebung
Niemals zum Trainieren allgemeiner Modelle verwendet
Vollständiger Export, keine Bindung an einen Anbieter

Zugang

SSO und SAML
Rollenbasierte Zugriffskontrolle
OAuth 2.0-Client-Anmeldeinformationen

Enterprise

Optionen für den Speicherort der Daten
Individuelle SLAs
Dedizierter Ansprechpartner

Stimmrechte

Synthetische Stimmen mit Nutzungsrechten
Einwilligungsbasierte Stimmklonung
KI-Sicherheitskontrollen, menschliche Überprüfung
Vergleich

Rask API im Vergleich zu einem aus verschiedenen Tools zusammengestellten Transkriptions-Workflow

Das Transkript eines Videos ist selten das Endergebnis. Teams benötigen außerdem Sprecherkennzeichnungen, Untertitel und andere Sprachen. Hier ist dieselbe Arbeit auf zwei verschiedene Weisen umgesetzt.
Was Sie benötigen
Rask API
Aus Einzelteilen zusammengesetzt
Videolinks von YouTube, Drive, Vimeo oder S3
Direkt akzeptiert
Zuerst herunterladen und konvertieren
Sprecherkennzeichnung für mehrere Sprecher
Im Lieferumfang enthalten
Ein Diarisierungs-Add-on oder manuelle Markierung
Die Sprache jedes Videos
Automatisch erkannt
Pro Datei einstellbar oder separat erkannt
Transkripte in anderen Sprachen
Über 135 Sprachen und regionale Optionen
Eine Übersetzungs-API pro Sprache
Untertitel als .srt und .vtt
Im Lieferumfang enthalten
Ein Untertitel-Tool oder ein eigener Dateigenerator
Fachbegriffe korrigieren
Eine Anpassungsanfrage pro Segment
Kopien in jedem Tool bearbeiten
Eine synchronisierte Version des Videos
Im selben Projekt enthalten
Ein TTS-Anbieter plus Ihr eigenes Mixing
Ratenlimits
Keine
Je nachdem, was der jeweilige Anbieter vorgibt
Echtzeit-Untertitel für Live-Meetings
Nutzen Sie eine Streaming-Speech-to-Text-API
Bei einigen Anbietern bereits integriert
Eine Sprache, die noch niemand unterstützt
Wir entwickeln sie
Nicht verfügbar
Häufig gestellte Fragen

API zur Videotranskription: Häufig gestellte Fragen

Sie finden nicht, wonach Sie suchen? Wenden Sie sich an den Vertrieb.

Bietet Rask eine API für die Videotranskription an?

Kann ich ein YouTube-Video oder einen Videolink transkribieren?

Kann ich mehrere Videos gleichzeitig transkribieren?

Wie wird mit mehreren Sprechern umgegangen?

Welche Sprachen werden unterstützt?

Wie genau ist die Transkription?

Kann ich das Transkript als einfachen Text erhalten?

Werden KI-Zusammenfassungen, Hauptthemen oder eine Sentiment-Analyse generiert?

Können Meetings transkribiert werden?

Gibt es eine maximale Dateigröße?

Wie wird die Videotranskription abgerechnet?

Gibt es eine kostenlose Testversion?

Wie erhalte ich API-Zugriff und einen API-Schlüssel?

Starten Sie noch heute Nachmittag mit der Synchronisation

Starten Sie noch heute Ihre erste Anfrage und sprechen Sie mit uns, wenn Sie Großkundenkonditionen oder eine seltene Sprache benötigen.