YouTube Transcript Distiller Update V1.5.1

Version 1.5.1 of the YouTube Transcript Distiller is live on addons.mozilla.org. It bundles two releases from July 10: a new transcript engine, first support for Firefox on Android, and a selectable Gemini model. What the add-on does is covered in the introduction post.

The Transcript Distiller button in the YouTube action bar, next to the subscribe button

What’s new

  • The Distiller button now shows up in Firefox on Android. About two thirds of daily users are on Android and never saw the button before. Update, July 11: the device test found the path from button to posted comment broken in two places; versions 1.5.3 and 1.5.4 fixed transcript fetching and comment posting on Android, verified end to end on a physical device.
  • Distilling no longer opens the transcript panel or the video description. The add-on reads the transcript in the background; the page stays as it is.
  • The Gemini model is selectable in the settings: Flash-Lite (the new default), Flash, Pro, or any model ID typed in by hand – for experiments, or for anyone bringing a paid account.
  • When Google’s servers are overloaded or the daily free quota is used up, the error message now says what to do: pick a different model in the settings. In all eleven languages.

How it’s done

  • Transcript: the content script asks the player object for the caption track URL, waits up to eight seconds until the player has attached the proof-of-origin token (without it, the caption endpoint answers HTTP 200 with an empty body), then fetches the track as JSON. The old panel scraper stays in as a fallback. I found the technique while reading the source of the Dualsub add-on.
  • Title, channel name and description come from the player data as well (getPlayerResponse().videoDetails, getVideoData()) instead of DOM selectors.
  • Android: m.youtube.com added to manifest and content script, injection targets for the ytm-* DOM, a separate mobile comment flow.
  • The default model is now the alias ID gemini-flash-lite-latest. Alias IDs follow the newest version of a model line. The previous pinned default answered 404, “no longer available”, in early July and reappeared days later – a pinned model version is a liability either way.
  • There is no automatic fallback, on purpose: from the Lite model, a fallback could only escalate to the busier, tighter-limited models (free tier on the flash model: 20 requests per day). Instead, a 404, 429 or 503 from the API appends one line to the error message: switch the model in the settings.

What’s next

Most of this list shipped later the same day, in versions 1.5.2 to 1.5.4: a fix for a quiet bug where saving the settings froze the then-current default prompt forever (unchanged old defaults are migrated silently, customized prompts get a dismissible notice), a prompt section that carries numbers, data and study references from the video into the summary and makes the summary say so when a claim comes without them, and the Android repairs above. The comment box on Android also grows to a reviewable size after insertion, and if insertion ever fails, the finished summary lands in the clipboard instead of being lost.

  • Further out: prompt profiles, a preview before the comment is posted, and a length check against YouTube’s 10,000-character comment limit.

Changelog and source: github.com/michaelruck/yt-transcript-distiller. Install: addons.mozilla.org/addon/youtube-transcript-distiller.

Leave a Reply