ascii-video

Convert video, audio, and generative input into colored ASCII character video rendered to MP4 or GIF.

Updated Aug 21, 2026
One-click install
npx skills add https://github.com/TylerSimons1127/vibe --skill ascii-video-tylersimons1127
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ascii-video
Source: https://github.com/TylerSimons1127/vibe/tree/main/skills/creative/ascii-video
Command: npx skills add https://github.com/TylerSimons1127/vibe --skill ascii-video-tylersimons1127

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires numpy, pillow, scipy, opencv, ffmpeg, and includes references (resource) components.

What problem does it solve? Creating animated ASCII art video from scratch requires solving font rasterization, grid composition, audio analysis, shader post-processing, and ffmpeg encoding all at once. This Skill gives an agent the complete production pipeline so it can write a single-file Python renderer and output actual video files instead of terminal escape codes. ## Core Features & Use Cases - Six Input Modes: Video-to-ASCII conversion, audio-reactive visualizers with FFT beat detection, generative procedural animation, hybrid video+audio, timed lyrics/text overlays, and TTS-narrated quote videos via ElevenLabs. - Full Effect Vocabulary: 24 character palettes, 21 value field generators (fBM noise, voronoi, reaction-diffusion, strange attractors), 9 particle systems, 38 composable shaders, 20 blend modes, and a feedback buffer for temporal trails. - Production Pipeline: Multi-density grid composition, adaptive percentile-based tonemapping, OKLAB/OKLCH color system, hardware-adaptive quality profiles, and parallel ffmpeg encoding. - Use Case: Ask for a 3-minute audio-reactive music visualizer and the agent builds a Python script that analyzes the audio's frequency bands and beats, renders layered ASCII scenes with per-section palettes and shaders, and encodes a 1080p 24fps MP4 with the audio muxed in. ## Quick Start Use the ascii-video skill to turn my song 'track.mp3' into an audio-reactive ASCII music visualizer at 1080p.

Frequently Asked Questions about ascii-video

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert a video to ASCII art in Python?▼

Decode the source video with ffmpeg, sample per-frame luminance and edges, map brightness values to characters from a density-sorted palette, and composite pre-rasterized font bitmaps onto a pixel canvas. Pipe the raw RGB frames back to ffmpeg for H.264 encoding.

How to make an audio-reactive ASCII visualizer?▼

Analyze the audio with SciPy FFT to extract frequency bands, RMS energy, spectral centroid, and beat detection per frame. Drive value field generators, particle systems, and shader intensity from those features, then render character grids and encode with the original audio muxed.

Does ASCII video rendering require a GPU?▼

No GPU is required. The pipeline runs on CPU with vectorized NumPy operations and parallel workers via concurrent.futures, rendering 1080p at roughly 100-200ms per frame. Hardware detection adapts resolution and worker count automatically.

Why is my ASCII video output too dark?▼

ASCII characters are small bright dots on black backgrounds, so most frame pixels are dark and linear brightness multipliers clip highlights. Use percentile-based adaptive tonemapping with gamma correction (default 0.75) to lift shadows without washing out bright areas.

Why does ffmpeg hang when encoding long videos from Python?▼

Setting stderr=subprocess.PIPE on a long-running ffmpeg process deadlocks once the buffer fills at about 64KB. Redirect stderr to a log file instead and keep only stdin piped for raw frame data.

Can ASCII video render Unicode characters like braille or katakana?▼

Yes, but not all monospace fonts render every Unicode glyph. Validate palettes at initialization by rendering each character and checking for blank output, silently dropping glyphs the selected font cannot draw.