Video To Text banner
adhenawer adhenawer

Video To Text

AI community

Description

Turns YouTube and Twitter/X videos into readable articles (PT-BR + English) — local transcription via Whisper, translation via Claude/Gemma, static HTML with SEO, LLMO and on-demand Markdown for AI agents via Cloudflare Worker

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

video-to-text

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![GitHub release](https://img.shields.io/github/v/release/adhenawer/video-to-text)](https://github.com/adhenawer/video-to-text/releases) [![Live demo](https://img.shields.io/badge/demo-adhenawer.net-C17C3E)](https://adhenawer.net/) [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/) [![Apple Silicon](https://img.shields.io/badge/Apple%20Silicon-MLX-black)](https://github.com/ml-explore/mlx) [![Cloudflare Workers](https://img.shields.io/badge/edge-Cloudflare%20Workers-F38020)](https://workers.cloudflare.com/)

🇧🇷 **[Leia em português brasileiro](README-pt_br.md)** · 🇺🇸 You are reading in English

Turns YouTube and Twitter/X videos and podcasts into readable posts — organized by sections and published as static HTML.

URL → transcription → translation → bilingual article


Why

Long-form video is hard to skim, quote, search, or reread. This project turns videos into structured articles you can actually read.

  • Local transcription via Whisper — no API cost for audio
  • LLM-organized into thematic sections — not a chronological wall of text
  • Bilingual out of the box — PT-BR and English with hreflang alternates
  • Agent-friendly — Cloudflare Worker on free tier serves Markdown to AI crawlers via content negotiation (75% fewer tokens than HTML)
  • Zero frontend build — static HTML deployable to GitHub Pages

Live at [adhenawer.net](https://adhenawer.net/) · [Blog](https://adhenawer.net/blog/)


How it works

The pipeline auto-detects the provider from the URL and uses the right strategy to fetch the transcript:

Video URL (YouTube, Twitter/X)
    ↓
src/providers/               — detect provider, capture transcript
  ├── youtube.py                 — captions via youtube-transcript-api
  └──