DocumentatieBronnen en instellingen
Bronnen en instellingen
Welke videolinks werken? Kies ondertitels of AI-transcriptie en stel sprekerherkenning en taal in.
Stuur een videolink van YouTube, X, TikTok, Instagram, Facebook of Bluesky, of upload je eigen bestand. Hieronder vind je ook de andere platforms en de links die je daarvoor kunt gebruiken. Met source, diarize en language bepaal je hoe de transcriptie werkt. Je kunt deze velden weglaten of meesturen in de body van POST /v1/transcriptions.
Welke videolinks werken?
Zet de link in url. De API herkent het platform zelf. Stuur je toch platform mee, dan moet die waarde overeenkomen met de link.
| Platform | Deze links kun je gebruiken |
|---|---|
YouTube (youtube) | De URL-vormen in het YouTube-overzicht hieronder. |
X (x) | Posts met video op x.com of twitter.com, bijvoorbeeld https://x.com/user/status/1234567890. |
TikTok (tiktok) | Posts met video op tiktok.com. Ook korte links via vm.tiktok.com, vt.tiktok.com en www.tiktok.com/t/. |
Instagram (instagram) | Reels en videoposts op instagram.com met /reel/, /reels/, /p/ of /tv/. De gebruikersnaam mag ook vóór het reel- of postpad staan. |
Facebook (facebook) | Video’s en reels op facebook.com, ook via watch-links. Korte links via fb.watch, /share/v/ en /share/r/ werken ook. |
Bluesky (bluesky) | Posts met video op bsky.app, bijvoorbeeld https://bsky.app/profile/user.example/post/3l3w4b5c6d7e2. |
Twitch (twitch) | VOD’s na afloop van de uitzending: twitch.tv/videos/<id> of /<channel>/v/<id>; video mag ook. Voor clips: clips.twitch.tv/<slug>, twitch.tv/<channel>/clip/<slug> en /clip/<slug>. Toegestane hosts zijn twitch.tv, www, m, go en clips.twitch.tv. |
Dailymotion (dailymotion) | Gebruik dailymotion.com/video/<id>, eventueel met _title, of /embed/video/<id> of dai.ly/<id>. De hosts www.dailymotion.com en touch.dailymotion.com werken ook. |
Pinterest (pinterest) | Videopins die op Pinterest zelf staan, via pinterest.com of www.pinterest.com: /pin/<id>/ of /pin/<slug>--<id>/. We gebruiken het eerste videoblok dat op Pinterest zelf staat. Externe embeds, afbeeldingen, borden, pin.it en regionale domeinen werken niet. |
LinkedIn (linkedin) | Openbare videoposts op linkedin.com of www.linkedin.com, met /posts/<slug>-<activity-id>-<four-character-suffix> of /feed/update/urn:li:activity:<id>/. Profielen, LinkedIn Learning, evenementen en lnkd.in werken niet. |
Snapchat Spotlight (snapchat) | Spotlight-video’s via /spotlight/<id> op snapchat.com of www.snapchat.com. Stories en profielen werken niet. |
Voor de vijf extra platforms moet de link HTTPS gebruiken, zonder inloggegevens of afwijkend poortnummer. Gebruik een link naar één openbare opname. Privéposts, posts waarvoor je moet inloggen, livestreams en streams die nog worden verwerkt werken niet. Dat geldt ook voor profielen, feeds en verzamelingen. We sturen geen accountcookies mee. Een tijdparameter in de URL kort de opname niet in. Bij Twitch-clips en Snapchat Spotlight kan media_id een string zijn die je niet uit de URL kunt afleiden. Bewaar die waarde ongewijzigd.
Op X, TikTok, Instagram, Facebook en Bluesky moet de post openbaar zijn. Staan er meerdere video’s in, dan transcribeert transcript1 alleen de eerste. Gebruik geen profiel, story, livepagina of TikTok-fotopost. Moet je inloggen om de post te bekijken, dan krijg je login_required. Heeft de video geen audiospoor, dan krijg je no_audio. In beide gevallen betaal je niets.
Bij YouTube, X, TikTok, Bluesky, Dailymotion en LinkedIn kun je ondertitels gebruiken als er een bruikbaar spoor in de oorspronkelijke taal is. Dat verschilt per video. Voor Instagram, Facebook, Twitch, Pinterest en Snapchat kies je auto of stt: die platforms gebruiken AI-speech-to-text en accepteren geen captions.
Je betaalt voor elk platform en elke upload hetzelfde tarief per minuut, op basis van de gemeten duur. Alleen de hierboven genoemde korte links werken. Wil je een eerdere transcriptie hergebruiken, stuur dan de volledige postlink. Een deellink zonder post-id kunnen we bij het indienen niet aan een eerdere transcriptie koppelen.
| Platform | Welke ondertitels krijg je? |
|---|---|
| YouTube en X | De bestaande ondertitelsporen. Alleen automatisch gegenereerde YouTube-ondertitels hebben tijdstempels per woord. |
| TikTok | De VTT- of SRT-ondertitels die bij de video beschikbaar zijn, met tijdstempels per segment. |
| Bluesky | Ondertitels bij video’s die rechtstreeks op de ondersteunde, vertrouwde PDS staan. Geen andere federatiehosts en geen geciteerde of externe video’s. Je krijgt tijdstempels per segment. |
| Dailymotion | Rechtstreeks beschikbare SRT-bestanden, geen playlists met ondertitels. Je krijgt tijdstempels per segment. Herkende en-auto/fr-auto-sporen krijgen de waarde auto_generated. |
| VTT-sporen bij openbare video’s die op LinkedIn zelf staan, niet bij LinkedIn Learning. Je krijgt tijdstempels per segment. |
Welke YouTube-URL kun je gebruiken?
Zet de volledige videolink in url. Laat platform weg of geef youtube mee. Deze URL-vormen werken met en zonder www.:
| Soort link | Voorbeeld |
|---|---|
| Gewone videopagina | https://www.youtube.com/watch?v=dQw4w9WgXcQ |
| Korte link | https://youtu.be/dQw4w9WgXcQ |
| Shorts | https://www.youtube.com/shorts/dQw4w9WgXcQ |
| Embed | https://www.youtube.com/embed/dQw4w9WgXcQ |
| Live | https://www.youtube.com/live/dQw4w9WgXcQ |
| Mobiele site en YouTube Music | https://m.youtube.com/watch?v=dQw4w9WgXcQ, https://music.youtube.com/watch?v=dQw4w9WgXcQ |
De API negeert extra queryparameters zoals t, list en si. Alle URL-vormen van een video verwijzen dus naar dezelfde video. Alleen de video-id van 11 tekens meesturen is niet genoeg: je hebt een volledige URL nodig. Bij een kanaalpagina, een link naar alleen een afspeellijst of een andere ongeldige link krijg je 422 invalid_url. Geef je een onbekende waarde voor platform mee, dan krijg je 422 unsupported_platform, met de toegestane waarden in supported_platforms.
Je kunt openbare en verborgen YouTube-video’s transcriberen. Een privévideo geeft media_private, een video met leeftijdsbeperking age_restricted en een livestream live_stream. Heb je zelf het bestand, dan kun je het uploaden.
source
Met source kies je of transcript1 ondertitels ophaalt of de audio transcribeert.
| Waarde | Wat doet transcript1? |
|---|---|
auto (standaard) | Probeert op YouTube, X, TikTok, Bluesky, Dailymotion en LinkedIn eerst bruikbare ondertitels in de oorspronkelijke taal. Lukt dat niet, dan transcribeert AI de audio. |
captions | captions (alleen ondertitels) haalt geen audio op en gebruikt geen AI-speech-to-text. Deze optie werkt alleen op platforms met ondertitelondersteuning. Zonder bruikbaar spoor krijg je no_captions en betaal je niets. Mislukt het ophalen van de ondertitelinhoud, dan krijg je fetch_failed. Op de andere platforms geeft deze optie 422 invalid_request. |
stt | Transcribeert altijd de audio met AI-speech-to-text. |
Voor bestanden gebruiken we altijd speech-to-text. Bij een upload kun je source dus op auto of stt zetten. Met captions krijg je 422 invalid_request.
Een ondertitelspoor is alleen bruikbaar als de taal past bij je request. Bij language op auto gebruiken we de oorspronkelijke taal van de video. Voor YouTube gebruiken we ondertitels die de maker heeft geüpload of die YouTube in die taal heeft gegenereerd. Automatisch vertaalde ondertitels gebruiken we nooit. Eerst komen door de maker geüploade ondertitels, daarna sporen met onbekende herkomst en tot slot automatisch gegenereerde ondertitels. Een onbekende herkomst betekent niet dat de maker ze heeft aangeleverd.
Voor X halen we de beschikbare VTT-sporen op. Die hebben alleen tijdstempels per segment, ook als de ondertitels automatisch zijn gegenereerd. Bij auto schakelen we over op STT als de ondertitelinhoud ontbreekt of niet te parsen is. Dat gebeurt niet bij fouten in de routering, opslag of programmacode. Met stt slaan we ondertitels altijd over.
diarize
Zet diarize aan voor sprekerherkenning. Standaard staat het op false.
- Sprekerherkenning werkt via speech-to-text. Bij
sourceopautoga je metdiarize: truedaarom meteen naar audio, zonder eerst ondertitels te proberen. - Combineer je
source: "captions"metdiarize: true, dan krijg je422 invalid_request. - Je krijgt labels zoals
Speaker 1enSpeaker 2. Die staan intranscript.speakersen inspeakerbij elk segment. IntextensrtstaatSpeaker 1:vóór de tekst;vttgebruikt de voice-tag<v Speaker 1>.
{ "platform": "youtube", "url": "https://youtu.be/dQw4w9WgXcQ", "source": "stt", "diarize": true }language
Laat language op auto staan of geef een ISO 639-1-code van twee letters mee, zoals en, de of es. auto is de standaardwaarde.
- Voor ondertitels bepaalt dit welk taalspoor je krijgt. Met
autokiest transcript1 de oorspronkelijke taal van de video. - Voor speech-to-text geven we de code als taalhint mee aan de provider. Met
autowerkt taalherkenning automatisch. Elk segment krijgt een eigenlanguage.
In het transcriptieobject staat de meest gesproken taal in language.
Wat staat er in het transcript?
Aan transcript_source zie je waar de tekst vandaan komt: youtube_captions, x_captions, tiktok_captions, bluesky_captions, dailymotion_captions, linkedin_captions of speech_to_text. Bij ondertitels geeft caption_kind meer informatie: manual, auto_generated of null bij onbekende herkomst. Presenteer null niet als door de maker geüploade ondertitels.
youtube_captions, caption_kind manual | youtube_captions, caption_kind auto_generated | speech_to_text | |
|---|---|---|---|
| Segmenten | Eén per ondertitelblok | Eén per ondertitelblok | Een nieuw segment bij een andere spreker, een andere taal, een leesteken dat een zin afsluit of na maximaal 15 seconden |
Tijdstempels per woord met include=words | Geen: words is null | Begintijd per woord; de eindtijd is de begintijd van het volgende woord | Begin- en eindtijd per woord, met confidence |
| Sprekerherkenning | Nee | Nee | Ja, als diarize true is |
| Taal | Taal van het ondertitelspoor | Taal van het ondertitelspoor | Per segment |
De tekst van YouTube-ondertitels nemen we ongewijzigd over, inclusief tags zoals [Music]. Voor speech-to-text mag een opname maximaal 5 uur duren. Bij een langere opname krijg je media_too_long.
Bij X (x_captions), TikTok, Bluesky, Dailymotion en LinkedIn hebben ondertitels alleen tijdstempels per segment. Ook met include=words blijft elk segment words: null houden, ongeacht of het spoor automatisch is gegenereerd. Sprekerherkenning ontbreekt ook. Wil je tijdstempels per woord, kies dan source: "stt". Voor sprekerherkenning gebruik je diarize: true met auto of stt.
Wat kost het?
Voor ondertitels en speech-to-text betaal je evenveel: één credit per minuut van de opname, naar boven afgerond. Met source kies je dus hoe de tekst wordt gemaakt, niet het tarief. Lees meer over minuten, abonnementen en limieten.
Laatst bijgewerkt 20 oktober 2026