Vis
Back to extensions

blockether/vis-podcaster

Official

Two-host podcasts with Vis speech engines, ASR-verified takes and quality gates.

  • podcast
  • speech

Install

Only approved releases are listed. Each version keeps its reviewed commit.

Approved releases (1)
  1. 0.1.0Oct 26, 2026546426a6b045Release notes

This command selects version 0.1.0 at its approved commit. It never follows a moving tag or branch.

Project: run from your project directory to install in .vis/extensions. This command does not add an extensions entry to vis.yml. Add --save to also record the installation. Save an installation in configuration to share the setup.

Review the source first. --trust allows extension code and build backends to run with your permissions.

vis-agent extension install \
  'blockether/vis-podcaster' \
  --version '0.1.0' \
  --project \
  --trust

Then start Vis or use /reload. Dependencies are prepared automatically.

Already installed? Check, update or roll back
vis-agent extension versions 'blockether/vis-podcaster'
vis-agent extension update 'blockether/vis-podcaster' --trust
vis-agent extension rollback 'blockether/vis-podcaster' --trust

Use the identifier shown above, not the Python package name. Add --project for a project installation. Update selects the latest approved stable version; rollback restores the previous pinned source. Choose a specific version and read the lifecycle contract.

Project details

Version
0.1.0
Extension
blockether/vis-podcaster
Project folder
Repository root
License
Apache-2.0
GitHub stars
0
Downloads
0
Updated
Oct 26, 2026
GitHub owner
Blockether
Reviewed commit
546426a6b045
Metadata checked
Oct 26, 2026

Dependencies

Python >=3.12

  • vis-agent>=0.3.4

README

vis-podcaster

Turn a written dialogue into a mastered two-host podcast episode with Vis speech engines.

When to use

  • You want a short spoken episode on a topic, with two hosts who talk to each other.
  • You want each line checked by speech recognition, so that a mispronounced line is recorded again.
  • You want to compare your episode with audio from another tool, against the same quality gates.

What you get

Ask Vis for an episode in a chat, for example: "Make a five-minute podcast about the Broad Street cholera outbreak." The podcast skill then does these steps:

  1. It researches the topic, writes the script and checks the facts against sources.
  2. It scores the script against ten review criteria, such as hook, roles, listening and ending.
  3. It speaks each line, checks it with speech recognition and records it again when the check fails.
  4. A second recognizer judges the finished file.

The result is episode.mp3, episode.vtt subtitles and a quality report. The report gives the word error rate, the critical facts that the listener hears, loudness and pace.

Requirements

  • A Vis build with the speech API (vis.speech).
  • For the fastest and most natural voices: Apple silicon and a Python with mlx-audio at ~/.vis/podcaster/mlx-venv/bin/python, or in VIS_PODCASTER_QWEN_PYTHON. Without it, the same voices work on qwen3-tts-local, but slower.
  • A five-minute episode takes about five minutes to render on qwen3-tts-mlx.

Install

Install vis-podcaster from the Vis Extension Center, then select it for your sessions.

Use it from Python

check = await podcast.check("episode.json")
print(check)
r = await podcast.render("episode.json", "out/episode")
print(r)

skills/podcast/SKILL.md gives the script format, the voices and the repair steps. examples/great-wall.json is a complete script.

Voices

The named voices (stuart, caro, fabien, estelle and others) are cloned from bundled clips with CC0-1.0 or CC-BY-4.0 licenses. src/vis_podcaster/voices/voices.json gives the source and the credit of each clip. Clone only a voice whose owner agrees.

Develop

uv sync
uv run pytest
uv run ruff check src tests

License

Apache License 2.0. See LICENSE.

Community feedback

Votes and display names are not verified identities. One vote per network address; shared networks share a vote. Select your current choice again to clear it.

Loading feedback…

Comments

Add a comment

Comments appear after moderation. Use a public display name, not private information. Five comments per network address in 24 hours.

BlocketherReview community code before installing.

1 of 2 · Repository

Add a repository

Share a public GitHub project with a published Release. We check its files and metadata before moderation. New releases are discovered after your repository is approved.

Folder containing pyproject.toml and extension.py. Leave empty if they are at the repository root.

Use v1.2.0 or a monorepo tag such as vis-greeting/v1.2.0. Its version must match the manifest. A Git tag alone is not a published Release.

Submissions stay private until approved. The owner is read from GitHub. A listing does not verify the submitter or audit the code.