ScrapeCreators transcript fallback returns auto-dubbed foreign-language tracks: no language param sent
The ScrapeCreators transcript fallback returns an auto-dubbed foreign-language track on English videos.
What happens
youtube_yt._sc_fetch_transcript calls /v1/youtube/video/transcript with only params={"url": video_url} (main 084662b, around line 1732). Many English videos now carry YouTube auto-dubbed caption tracks in a dozen or more languages. With no language requested, the endpoint returns one of those, and for us it was usually Arabic, sometimes Bengali. The fallback then reports success, so the run carries a foreign-language transcript into transcript_highlights, relevance scoring and the rendered brief as if it were English.
This fallback runs often in practice. It is the backstop #595 added for yt-dlp being 429'd, and we saw yt-dlp get HTTP 429 on subtitle downloads for every video in a small batch on 2026-09-23.
Repro
Video n5bZHETCiJA (English speech, English title and description):
GET /v1/youtube/video/transcript?url=https://www.youtube.com/watch?v=n5bZHETCiJAreturned an Arabic transcript. The response'scaptionTrackslistsar(auto-generated) first, thenbn,nl-NL, ..., withenfurther down.- The same call with
&language=enreturned the English transcript (17,536 characters, starting "I gave one prompt to two models..."), and the response shows"language": "English".
Six other English videos from different channels behaved the same way. All were rescued correctly once language=en was passed.
Suggested fix
Pass a language to the SC call: en by default, or the same preference list the yt-dlp path uses (--sub-langs, and the fallback languages from #469). Optionally, check the returned track's language against the request and treat a mismatch as a failure, so a wrong-language transcript never counts as a rescue.
Source: mvanhorn/last30days-skill