DokuQuellen und Einstellungen
Quellen und Einstellungen
Welche Links funktionieren, wann transcript1 Untertitel nutzt und wie du Sprecherzuordnung und Sprache einstellst.
Für eine Transkription übergibst du einen Video-Link oder lädst eine Datei hoch. Die Tabelle zeigt, welche öffentlichen Aufnahmen und Linkformate transcript1 akzeptiert. Mit source wählst du Untertitel oder KI-Transkription, mit diarize die Sprecherzuordnung und mit language die Sprache. Diese drei Felder sind im Request-Body von POST /v1/transcriptions optional.
Von diesen Plattformen kannst du Videos einreichen
Setze den Link in url. Die API erkennt daran die Plattform. Du kannst platform zusätzlich angeben, der Wert muss dann aber zum Link passen.
| Plattform | Diese Links funktionieren |
|---|---|
YouTube (youtube) | Die unten aufgeführten Video-URLs. |
X (x) | Links zu Video-Posts auf x.com oder twitter.com, zum Beispiel https://x.com/user/status/1234567890. |
TikTok (tiktok) | Links zu Video-Posts auf tiktok.com. Auch Kurzlinks über vm.tiktok.com, vt.tiktok.com und www.tiktok.com/t/ funktionieren. |
Instagram (instagram) | Reels und Video-Posts auf instagram.com mit /reel/, /reels/, /p/ oder /tv/. Vor dem Reel- oder Post-Pfad darf auch der Nutzername stehen. |
Facebook (facebook) | Videos und Reels auf facebook.com, auch über Watch-Links. Dazu kommen fb.watch und die Kurzlinks /share/v/ und /share/r/. |
Bluesky (bluesky) | Links zu Video-Posts auf bsky.app, zum Beispiel https://bsky.app/profile/user.example/post/3l3w4b5c6d7e2. |
Twitch (twitch) | VODs nach Ende der Übertragung unter twitch.tv/videos/<id> oder /<channel>/v/<id>; statt v geht auch video. Clips unter clips.twitch.tv/<slug>, twitch.tv/<channel>/clip/<slug> oder /clip/<slug>. Erlaubte Hosts: twitch.tv, www, m, go und clips.twitch.tv. |
Dailymotion (dailymotion) | Videos unter dailymotion.com/video/<id>, auch mit angehängtem _title, sowie /embed/video/<id> und dai.ly/<id>. Die Hosts www.dailymotion.com und touch.dailymotion.com funktionieren ebenfalls. |
Pinterest (pinterest) | Direkt auf Pinterest hochgeladene Video-Pins unter pinterest.com oder www.pinterest.com, mit /pin/<id>/ oder /pin/<slug>--<id>/. transcript1 nimmt den ersten nativen Videoblock. Extern eingebettete Videos, Bilder, Boards, pin.it und regionale Domains funktionieren nicht. |
LinkedIn (linkedin) | Öffentliche Video-Posts auf linkedin.com oder www.linkedin.com unter /posts/<slug>-<activity-id>-<four-character-suffix> oder /feed/update/urn:li:activity:<id>/. Profile, LinkedIn Learning, Events und lnkd.in funktionieren nicht. |
Snapchat Spotlight (snapchat) | Videos unter /spotlight/<id> auf snapchat.com oder www.snapchat.com. Stories und Profile funktionieren nicht. |
Für Twitch, Dailymotion, Pinterest, LinkedIn und Snapchat Spotlight muss der Link HTTPS verwenden. Er darf weder Zugangsdaten noch einen eigenen Port enthalten. Reiche einzelne, öffentliche Aufnahmen ein. Private Posts, Posts hinter einem Login, laufende oder noch verarbeitete Streams, Profile, Feeds und Sammlungen funktionieren nicht. transcript1 sendet keine Account-Cookies mit. Zeitangaben in der URL schneiden die Aufnahme nicht zu.
Twitch-Clips und Snapchat Spotlight können einen media_id-String liefern, dessen Aufbau du nicht interpretieren solltest. Übernimm ihn unverändert, statt eine ID aus der URL abzuleiten.
Auf X, TikTok, Instagram, Facebook und Bluesky muss der Post öffentlich sein. Enthält er mehrere Videos, nimmt transcript1 nur das erste. Profile, Stories, Live-Seiten und TikTok-Fotoposts funktionieren nicht. Verlangt die Plattform eine Anmeldung, bekommst du login_required. Fehlt dem Video die Tonspur, bekommst du no_audio. In beiden Fällen berechnen wir nichts.
Untertitel lassen sich auf YouTube, X, TikTok, Bluesky, Dailymotion und LinkedIn nutzen, sofern das Video eine passende Spur in der Originalsprache hat. Für Instagram, Facebook, Twitch, Pinterest und Snapchat läuft die Transkription mit auto oder stt immer über KI-Speech-to-Text. captions ist dort nicht erlaubt. Der Minutenpreis ist für alle Plattformen und Uploads gleich; abgerechnet wird die gemessene Länge.
Kurzlinks funktionieren nur in den oben genannten Formen. Willst du eine frühere Transkription wiederverwenden, nimm den vollständigen Post-Link. Share-Links ohne Post-ID können wir beim Absenden keiner früheren Transkription zuordnen.
| Plattform mit Untertiteln | Verfügbare Spuren und Zeitangaben |
|---|---|
| YouTube und X | transcript1 ruft vorhandene Untertitelspuren ab. Wort-Zeitstempel gibt es dabei nur für automatisch erzeugte YouTube-Untertitel. |
| TikTok | Native Untertitel in VTT oder SRT, sofern vorhanden. Zeitstempel gibt es nur für ganze Segmente. |
| Bluesky | Native Video-Untertitel auf dem unterstützten, vertrauenswürdigen PDS. Beliebige föderierte Hosts sowie zitierte und externe Videos funktionieren nicht. Zeitstempel gibt es nur pro Segment. |
| Dailymotion | Direkt abrufbare SRT-Dateien, keine Untertitel-Playlists. Zeitstempel gibt es nur pro Segment. Bei erkannten en-auto/fr-auto-Spuren lautet der Wert auto_generated. |
| Verfügbare VTT-Spuren öffentlicher, direkt auf LinkedIn hochgeladener Video-Posts. LinkedIn Learning gehört nicht dazu. Zeitstempel gibt es nur pro Segment. |
Diese YouTube-Links funktionieren
Für YouTube setzt du den Video-Link in url und lässt platform weg oder wählst youtube. Die folgenden Formate funktionieren jeweils mit und ohne www.:
| Linktyp | Beispiel |
|---|---|
| Normale Videoseite | https://www.youtube.com/watch?v=dQw4w9WgXcQ |
| Kurzlink | https://youtu.be/dQw4w9WgXcQ |
| Shorts | https://www.youtube.com/shorts/dQw4w9WgXcQ |
| Embed-Link | https://www.youtube.com/embed/dQw4w9WgXcQ |
| Live | https://www.youtube.com/live/dQw4w9WgXcQ |
| Mobile Website und YouTube Music | https://m.youtube.com/watch?v=dQw4w9WgXcQ, https://music.youtube.com/watch?v=dQw4w9WgXcQ |
Zusätzliche Query-Parameter wie t, list und si haben keinen Einfluss. Unterschiedliche Links zum selben Video erkennt transcript1 als dasselbe Video. Gib immer die vollständige URL an; die 11 Zeichen lange Video-ID allein reicht nicht.
Für Kanalseiten, reine Playlist-Links und andere nicht unterstützte Links antwortet die API mit 422 invalid_url. Kennt sie den Wert von platform nicht, bekommst du 422 unsupported_platform samt der Liste supported_platforms.
Das Video muss öffentlich oder nicht gelistet sein. Bei privaten Videos bekommst du media_private, bei Altersbeschränkungen age_restricted und bei Livestreams live_stream. Gehört dir die Datei, kannst du sie stattdessen hochladen.
source
Mit source entscheidest du, ob transcript1 vorhandene Untertitel abruft oder den Ton transkribiert.
| Wert | Was transcript1 macht |
|---|---|
auto (Standard) | Prüft auf YouTube, X, TikTok, Bluesky, Dailymotion und LinkedIn zuerst die Untertitel in der Originalsprache. Lässt sich keine Spur nutzen, übernimmt KI-Speech-to-Text. |
captions | Ruft ausschließlich Untertitel von Plattformen ab, die das unterstützen. transcript1 lädt dabei kein Audio herunter und nutzt kein KI-Speech-to-Text. Ohne passende Spur endet die Transkription mit no_captions und kostet nichts. Scheitert der Abruf des Untertiteltexts, lautet der Fehler fetch_failed. Für andere Link-Plattformen bekommst du 422 invalid_request. |
stt | Nutzt immer KI-Speech-to-Text für die Audiospur. |
Bei hochgeladenen Dateien läuft immer Speech-to-Text. Erlaubt sind dafür auto und stt. Mit captions bekommst du 422 invalid_request.
Die Untertitelspur muss zur gewählten Sprache passen. Steht language auf auto, zählt die Originalsprache des Videos. Auf YouTube kommen vom Creator hochgeladene Untertitel und von YouTube in dieser Sprache erzeugte Untertitel infrage. Automatisch übersetzte Spuren nutzt transcript1 nie.
Zuerst kommen vom Creator hochgeladene Untertitel, dann Spuren unbekannter Herkunft und zuletzt automatisch erzeugte Untertitel. Eine unbekannte Herkunft bedeutet nicht, dass die Spur vom Creator stammt. Auf X nutzt transcript1 verfügbare VTT-Spuren mit Zeitstempeln pro Segment. Wort-Zeitstempel gibt es dort auch bei automatisch erzeugten Untertiteln nicht.
Im Modus auto kann STT übernehmen, wenn der Untertiteltext fehlt oder sich nicht parsen lässt. Bei Routing-, Speicher- oder Programmierfehlern passiert das nicht. Mit stt überspringst du die Untertitel immer.
diarize
Aktiviere diarize, wenn du wissen willst, wer welchen Abschnitt spricht. Ohne Angabe gilt false.
- Sprecherzuordnung funktioniert nur mit Speech-to-Text. Wenn
sourceaufautosteht und dudiarize: truesetzt, nutzt transcript1 deshalb direkt Speech-to-Text, auch wenn Untertitel vorhanden sind. source: "captions"lässt sich nicht mitdiarize: truekombinieren. Die API antwortet dann mit422 invalid_request.- Du bekommst Bezeichnungen wie
Speaker 1undSpeaker 2. Sie stehen intranscript.speakersund im Feldspeakerdes jeweiligen Segments. BeitextundsrtstehtSpeaker 1:vor dem Text; beivttkommt das Voice-Tag<v Speaker 1>zum Einsatz.
{ "platform": "youtube", "url": "https://youtu.be/dQw4w9WgXcQ", "source": "stt", "diarize": true }language
Lass language auf dem Standardwert auto oder gib einen zweistelligen ISO-639-1-Code an, zum Beispiel en, de oder es.
- Für Untertitel legst du damit fest, welche Sprachspur transcript1 abruft.
autowählt die Originalsprache des Videos. - Bei Speech-to-Text bekommt der Anbieter den Wert als Hinweis auf die Sprache der Aufnahme. Mit
autoläuft die Sprachenerkennung automatisch. Jedes Segment hat sein eigenes Feldlanguage.
Im Feld language des Transkriptionsobjekts steht die Sprache, die in der Aufnahme überwiegt.
Was im Transkript steht
An transcript_source erkennst du, woher der Text stammt. Mögliche Werte sind youtube_captions, x_captions, tiktok_captions, bluesky_captions, dailymotion_captions, linkedin_captions und speech_to_text.
Bei Untertiteln beschreibt caption_kind die Herkunft: manual, auto_generated oder null für eine unbekannte Herkunft. Stelle null in deiner Anwendung nicht als „vom Creator hochgeladen“ dar.
youtube_captions, caption_kind manual | youtube_captions, caption_kind auto_generated | speech_to_text | |
|---|---|---|---|
| Segmente | Ein Segment pro Untertiteleintrag | Ein Segment pro Untertiteleintrag | Ein neues Segment bei Sprecherwechsel, Sprachwechsel oder Satzende, spätestens nach 15 Sekunden |
Wort-Zeitstempel mit include=words | Keine; words ist null | Startzeit je Wort. Als Ende gilt der Beginn des nächsten Worts | Anfang und Ende jedes Worts sowie confidence |
| Sprecherzuordnung | Nein | Nein | Ja, wenn diarize auf true steht |
| Sprache | Sprache der Untertitelspur | Sprache der Untertitelspur | Eigene Sprachangabe pro Segment |
YouTube-Untertitel bleiben unverändert, auch mit Tags wie [Music]. Für Speech-to-Text darf die Aufnahme höchstens 5 Stunden lang sein. Dauert sie länger, bekommst du media_too_long.
Bei X-Untertiteln (x_captions) und Untertiteln von TikTok, Bluesky, Dailymotion und LinkedIn gibt es nur Zeitstempel pro Segment. Mit include=words bleibt words: null in jedem Segment, auch bei automatisch erzeugten Spuren. Diese Untertitel enthalten keine Sprecherzuordnung. Für Wort-Zeitstempel aus der KI-Transkription wählst du source: "stt". Für die Sprecherzuordnung setzt du diarize: true zusammen mit auto oder stt.
So wird abgerechnet
Jede angefangene Audiominute kostet einen Credit, egal ob transcript1 Untertitel abruft oder Speech-to-Text nutzt. Du wählst also nur die Quelle des Texts; der Preis bleibt gleich. Mehr dazu unter Abrechnung und Limits.
Zuletzt aktualisiert 20. Oktober 2026