Plugins / AI & summaries

Read Aloud BYOK

by GeneralPawz · github.com/GeneralPawz/zotero-tts-byok

Bring your own API key instead of using local TTS models or waiting for Zotero to offer more Standard/Premium Voice budget for sale.

View source
Downloads a .xpi file (0.07 MB). In Zotero, open Tools → Plugins and install it from the file.
StarsPeople who starred the repository on GitHub: a rough measure of interest.
2
DownloadsAll-time downloads of its release files from GitHub. Installs from elsewhere aren't counted.
42
ContributorsPeople who have committed code to the repository.
2
LicenceThe licence the code is published under, as GitHub reports it.
MIT
A+
Atlas gradeRecommended
because every code check came out low, and our live test in Zotero found nothing unexpected
Applies to v1.15.1, released 14 Aug 2026Code checked · tested installed in Zotero 10.0.3 on 27 Sep 2026
What we found in the codeSets the gradeThe worst finding in these three areas sets the grade.
Code transparencyReadable code, uploaded by the project's automated GitHub buildThe release file was uploaded by the project's automated GitHub build. We haven't yet rebuilt it from the source to compare.LowLow concern: normal for plugins that do this job. Listed so you know.
Updates
Updates come from this project's GitHub repositoryThe update address offers this version
Where your data goesOnly contacts services we could identify5 addresses in 2 groups.LowLow concern: normal for plugins that do this job. Listed so you know.
AI services (3)
api.openai.comgenerativelanguage.googleapis.comopenrouter.ainamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.
Translation (2)
api.elevenlabs.ioapi.speechify.ai
Where we found it
api.openai.comlib/byok-tts.js · line 408
let base = (this.getPref('baseUrl') || 'https://api.openai.com/v1').replace(/\/+$/, '');
generativelanguage.googleapis.comlib/byok-tts.js · line 498
let base = (this.getPref('baseUrl') || 'https://generativelanguage.googleapis.com/v1beta')
api.elevenlabs.iolib/byok-tts.js · line 440
let base = (this.getPref('baseUrl') || 'https://api.elevenlabs.io/v1').replace(/\/+$/, '');
Powerful capabilitiesUses the clipboard, and 2 moreLowLow concern: normal for plugins that do this job. Listed so you know.
Uses the clipboardlowLow concern.Stores API keys or passwordslowLow concern.Works with files on your computerlowLow concern.
Before you installShown, not gradedFacts to help you decide. They don't change the grade.
Works withZotero 8, 9, 10 · not 11 betaUpdates automatically
Zotero 8 ✓ worksZotero 9 ✓ worksZotero 10 ✓ worksZotero 11 beta ✗ doesn't work
What you'll needAn API keyDetected automatically from its code
No further detail for this area yet.
MaintenanceActive · last release 14 Aug 20262 contributors
No further detail for this area yet.
LanguagesDocumentation in EnglishInterface: German and English
No further detail for this area yet.
We report what we found in the code. Open any area for the evidence.How we gradeReport a problem

What it does

Description coming soon. We haven't written a summary yet. The line above is the developer's own description; the developer's README is linked above.

What you'll need

Detected automatically
  • An API keyNeeds a key you get from the service (OpenAI, ElevenLabs, Azure, Google Gemini and Speechify). What needs it: the text-to-speech service (OpenAI, ElevenLabs, Azure, Gemini, Speechify or custom).

Where your data goes

We found: only contacts services we could identify. 5 addresses in 2 groups.

AI services (3)
api.openai.comgenerativelanguage.googleapis.comopenrouter.ainamed in its code
Translation (2)
api.elevenlabs.ioapi.speechify.ai
Evidence · file and line
api.openai.comlib/byok-tts.js · line 408
let base = (this.getPref('baseUrl') || 'https://api.openai.com/v1').replace(/\/+$/, '');
generativelanguage.googleapis.comlib/byok-tts.js · line 498
let base = (this.getPref('baseUrl') || 'https://generativelanguage.googleapis.com/v1beta')
api.elevenlabs.iolib/byok-tts.js · line 440
let base = (this.getPref('baseUrl') || 'https://api.elevenlabs.io/v1').replace(/\/+$/, '');

Forks and alternatives

No forks listed.

Plugins for the same job
  • Add Items from TextAI & summaries · Import & metadataA+Recommended, tested in Zotero
  • MkteroReading & PDFs · Citing & writing · AI & summariesA+Recommended, tested in Zotero
  • Zotero 阅读模式沉浸式双语Reading & PDFs · Translation · AI & summariesA+Recommended, tested in Zotero
  • Zotero 标题翻译Reading & PDFs · Translation · Organising & tags · AI & summariesA+Recommended, tested in Zotero

The developer's response

The developer hasn't responded. Developers can reply here, and their reply sits next to our findings.I'm the developer
Install Read Aloud BYOK
A+Recommended, tested in Zotero
  1. 1Download the plugin fileDownload v1.15.1.xpi · 0.07 MB
  2. 2In Zotero, open Tools › Plugins
  3. 3Click the gear, choose Install Plugin From File… and pick the file
Step-by-step guide with pictures