Videotranskription API
Senden Sie eine Video- oder Audiodatei und erhalten Sie ein wortgenaues Transkript mit Sprecher-Diarisierung (jedes Segment ist mit dem erkannten Sprecher gekennzeichnet). Die API unterstützt Videos der wichtigsten Plattformen und lokal hochgeladene Video-/Audiodateien, samt Spracheinstellungen.
Unterstützte Videoquellen
YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble und weitere.
Sie können auch lokale Audio- oder Videodateien, die Sie hochladen, transkribieren — der lokale Upload erfordert einen Standard-Plan oder höher.
Transkriptionsaufgabe einreichen
POST https://wayinvideo-api.wayin.ai/api/v2/transcripts
Anfragekörper
| Parameter | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|
video_url | string | Ja | — | Quellvideo/-audio-URL oder hochgeladene Dateikennung |
source_lang | string | Nein | null | Quellsprache des Videos. Wenn null, automatische Erkennung. |
target_lang | string | Nein | null | Zielsprache für das Transkript. Wenn null, keine Übersetzung. Wenn von der Quellsprache abweichend, wird das Transkript automatisch übersetzt. |
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/transcripts \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-d '{"video_url": "https://www.youtube.com/watch?v=example", "target_lang": "en"}'
import requests
requests.post(
"https://wayinvideo-api.wayin.ai/api/v2/transcripts",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"x-wayinvideo-api-version": "v2",
},
json={
"video_url": "https://www.youtube.com/watch?v=example",
"target_lang": "en",
},
)
await fetch("https://wayinvideo-api.wayin.ai/api/v2/transcripts", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"x-wayinvideo-api-version": "v2",
"Content-Type": "application/json",
},
body: JSON.stringify({
video_url: "https://www.youtube.com/watch?v=example",
target_lang: "en",
}),
});
Antwort
{"data": {"id": "trans_proj_001", "name": "sample project name", "status": "CREATED"}}
Beispiele
Gängige Transkriptionsszenarien. Ersetzen Sie YOUR_API_KEY durch einen Schlüssel aus dem API-Dashboard.
Ein YouTube-Video transkribieren
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/transcripts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{"video_url": "https://www.youtube.com/watch?v=EXAMPLE"}'
Einen Podcast mit mehreren Sprechern transkribieren
Übergeben Sie eine beliebige Podcast-Audio-URL (oder eine Kennung einer hochgeladenen Datei) — die Sprecher-Diarisierung erfolgt automatisch; jedes Segment in der Antwort enthält ein speaker-Label.
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/transcripts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{"video_url": "https://www.youtube.com/watch?v=EXAMPLE"}'
Ein nicht-englisches Transkript ins Englische übersetzen
Setzen Sie target_lang, um die Übersetzung sofort durchzuführen. Kombinieren Sie dies mit source_lang, wenn Sie die Quelle bereits kennen.
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/transcripts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://www.youtube.com/watch?v=EXAMPLE",
"source_lang": "ja",
"target_lang": "en"
}'
Transkriptionsergebnisse abrufen
GET https://wayinvideo-api.wayin.ai/api/v2/transcripts/results/{id}
Antwort
{
"data": {
"status": "SUCCEEDED", "cost_usage": 27.0,
"transcript": [
{"text": "Welcome to today's presentation", "language": null, "start": 200, "end": 4500, "speaker": "Speaker 1"},
{"text": "Thanks for coming", "language": null, "start": 5000, "end": 8200, "speaker": "Speaker 2"}
]
}
}
Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
status | string | CREATED, QUEUED, ONGOING, SUCCEEDED, FAILED |
error_message | string | Fehlerursache (nur wenn FAILED) |
cost_usage | number | Verbrauchte API-Einheiten |
transcript | array | Liste der Transkript-Segmente |
Transkript-Segment
| Feld | Typ | Beschreibung |
|---|---|---|
text | string | Transkribierter Text |
language | string | null | Erkannter Sprachcode oder null |
start | integer | Startzeit in Millisekunden |
end | integer | Endzeit in Millisekunden |
speaker | string | Sprecher-Label (z.B. "Speaker 1") |
FAQ
Wie lang darf das Video maximal sein?
Es gibt keine feste Längenbegrenzung. Die API unterstützt sowohl kurze Clips als auch lange Video- oder Audioinhalte auf den unterstützten Quellplattformen.
Liefert die API wortgenaue Zeitstempel?
Ja. Jedes Transkript-Segment enthält start- und end-Zeitstempel in Millisekunden, den transkribierten text, die erkannte language sowie das durch die Sprecher-Diarisierung zugewiesene speaker-Label.
Wie funktioniert die Sprecher-Diarisierung?
Sprecher werden automatisch erkannt und pro Segment beschriftet (Speaker 1, Speaker 2, …). Keine Konfiguration erforderlich — die Diarisierung läuft bei jeder Transkriptionsaufgabe.
Welche Audio- und Videoformate werden unterstützt?
Quell-URLs werden von YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble und mehr unterstützt. Für lokale Uploads senden Sie mp4, mov, webm oder avi (reine Audiodateien können in einen dieser Container gemuxt werden).
Kann ich das Transkript in eine andere Sprache übersetzen?
Ja — übergeben Sie den Parameter target_lang. Das Transkript wird übersetzt, wenn target_lang von der Quellsprache abweicht. Die vollständige Liste der Sprachcodes finden Sie unter Unterstützte Sprachen.