ascii-video

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

Updated Jul 10, 2026
One-click install
npx skills add https://github.com/AvaTar-ArTs/.Agent-skills --skill ascii-video-avatar-arts
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ascii-video
Source: https://github.com/AvaTar-ArTs/.Agent-skills/tree/main/skills/creative/ascii-video
Command: npx skills add https://github.com/AvaTar-ArTs/.Agent-skills --skill ascii-video-avatar-arts

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, color mapping, audio analysis, and video encoding all at once, which is a large amount of specialized engineering for a single creative project. ## Core Features & Use Cases - Six Input Modes: Convert existing video to ASCII, build audio-reactive visualizers from FFT analysis, generate procedural animations from math, combine video with audio-reactive overlays, render timed lyrics from SRT files, or produce TTS-narrated quote videos via the ElevenLabs API. - Full Effect Vocabulary: 21 value field generators, 38 composable shaders, 24 character palettes, 20 pixel blend modes, particle systems, feedback buffers, and an OKLAB/OKLCH perceptual color system. - Production Pipeline: A 6-stage pipeline (input, analyze, scene function, tonemap, shade, encode) with parallel ffmpeg encoding, hardware-adaptive quality profiles, and per-scene gamma tuning. - Use Case: Given a music track, generate a 3-minute audio-reactive ASCII visualizer at 1080p 24fps with beat-triggered particles, section-specific effects, and muxed audio, all from a single self-contained Python script. ## Quick Start Ask the agent to create an audio-reactive ASCII music visualizer from your audio file, rendered as a 1080p MP4.

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 animation in Python?

Sample frames from the source video, map per-cell luminance to characters from a density-sorted palette, and color cells from the original pixel values. Frames are composited with pre-rasterized font bitmaps and piped to ffmpeg for H.264 encoding.

How do I make an audio-reactive ASCII music visualizer?

Analyze the audio with FFT to extract frequency bands, RMS energy, spectral centroid, and beat events per frame. Drive value field generators, particle systems, and beat-reactive shaders from those features, then encode frames to MP4 with the audio muxed.

Does ASCII video rendering require a GPU?

No GPU is required. Rendering runs on CPU with NumPy-vectorized effects and a per-cell compositing loop, using concurrent.futures workers for parallel encoding. Hardware detection adapts resolution and worker count automatically.

Why does my ASCII video look too dark?

ASCII characters are small bright marks on black, so most frame pixels are background and linear brightness multipliers clip highlights. Use percentile-based adaptive tonemapping with gamma around 0.75 instead of multiplying the canvas.

Why does ffmpeg hang when encoding long ASCII videos?

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 stdin as the raw frame pipe.

What are the limitations of ASCII video rendering in pure Python?

The per-cell font bitmap compositing loop runs at roughly 100-150ms per frame and is the bottleneck, so a 5-minute 1080p video takes about 17 minutes on 8 workers. Python loops over rows and columns in effect functions will further degrade performance.