YouTube Transcript Distiller Update V1.5.6

Version 1.5.6 of the YouTube Transcript Distiller is live on addons.mozilla.org. It fixes a one-day outage that Google caused on July 21. It also bundles version 1.5.5 from July 12, which cleans up the typography of the summaries. If the add-on is new to you, the introduction post covers the basics.

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

What’s new

  • On July 21, every summary attempt failed. The error read: “Gemini API Fehler: Request contains an invalid argument.” Video and settings made no difference, because Google had moved its model aliases to a new Gemini generation overnight. Version 1.5.6 repairs the request, so there is nothing to change on your side. Firefox updates the add-on on its own.
  • Error messages now name the culprit. Some failures you can’t fix in the settings: an API rejection like the one above, or a Google server error. Until now, the message left you guessing. Now it says so and also points to the add-on page, where the update shows up. An invalid API key still gets its own message and reopens the key input.
  • Since 1.5.5, summaries only contain characters you could type yourself. No em dashes, no curly quotes, no single-character ellipsis. A comment should look hand-typed, but these characters betray the machine.
  • One more tip: if you dislike a summary, run the Distiller again on the same video. The add-on generates with temperature 0.4, so every run words the text a little differently. Each run costs one request of the daily free quota, though.

How it’s done

  • The default model is the alias ID gemini-flash-lite-latest. Version 1.5.1 picked it so the add-on survives model retirements. On July 21 the alias started resolving to gemini-3.5-flash-lite. The 3.5/3.6 generation rejects thinkingBudget: 0, the parameter the add-on sent to switch off model reasoning. Older generations accepted or ignored it. The new ones instead answer HTTP 400 and name neither field nor reason.
  • Diagnosis took two minimal requests: one with the parameter, one without. 400 versus 200. Then the modelVersion field of the successful response named the model behind the alias. That’s how the generation change surfaced.
  • The fix drops thinkingConfig entirely. Lite models don’t reason without it anyway; their responses carry no thoughtsTokenCount. The other models now follow their own defaults. Alias IDs trade one failure mode for another: the model never disappears, but a new generation can reject a parameter overnight. That trade is also why the new error hint exists.
  • The blame check is narrower than it looks, because Google reports an invalid API key as HTTP 400 too. So the add-on inspects the error details (API_KEY_INVALID) before it declares a failure unfixable.
  • The typography cleanup in 1.5.5 works on two layers. First, a character rule in the default prompt of all eleven languages. Second, a sanitizer for every Gemini response, because models mirror the style of their prompt and custom prompts don’t contain the rule.

What’s next

  • Unchanged from last time: prompt profiles, a preview before posting, 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.

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.

YouTube Transcript Distiller – A Firefox Add-On That Reads So You Don’t Have To

drowning in media

You open a video. Twelve minutes. You watch. You wait. The one insight you came for arrives at minute nine — buried under filler, recaps, and sponsor breaks.

I built this add-on because I got tired of it.

What it does

YouTube Transcript Distiller fetches the full transcript of any YouTube video, sends it to Google Gemini AI with a customizable prompt, and posts the result directly into the YouTube comment field — formatted and ready to publish.

One click. The important points, right where other viewers can see them.

Why post it as a comment?

A good summary helps everyone. The more users share what a video is actually about, the less time we all waste on clickbait and padded content. YouTube’s own algorithm rewards watch time — this add-on rewards substance.

How to get it

  1. Install the add-on from Firefox Add-Ons
  2. Get a free Gemini API key at aistudio.google.com/app/apikey
  3. Enter the key under add-on settings (gear icon next to the button)
  4. Open any YouTube video with subtitles and click Transcript Distiller

That’s it.

Features

  • AI-powered summary via Google Gemini (free API key required)
  • Posts directly into the YouTube comment field
  • Prompt fully customizable — change the instruction to anything you want
  • Supports 11 languages: Arabic, Chinese, English, French, German, Hindi, Japanese, Korean, Portuguese, Russian, Spanish
  • UI adapts to your browser language automatically
  • Your API key stays in your browser — no tracking, no data collection

Usage statistics

434
summaries created  ·  last used 19 hours ago

Response languages

LanguageCount
DE 353
EN 55
ZH 7
FR 6
RU 5
HI 3
ES 2
AR 1

Source code

The full source is on GitHub: github.com/michaelruck/yt-transcript-distiller

Built at

marsgasse.com — Just another Basement Lab