SRT Whiteboard Animation is a Python tool that converts SRT subtitles into hand-drawn whiteboard animation videos with a warm cream-colored paper background.
The tool solves the problem of creating narrative-driven animated explainers by combining subtitle-driven sequencing with continuous ink-stroke rendering. It parses SRT files, breaks them into scenes of recommended length, and generates animations where each visual element appears in narrative order rather than by spatial coordinates. Elements are drawn with flowing pen strokes that first lay down line art, then add color, all synchronized to subtitle timing. The workflow emphasizes staged confirmation at each step—from storyboard planning through line art generation, annotation, preview adjustment, and final rendering—to avoid wasting render time on unfinalized designs.
The tool suits projects that need to transform knowledge explanations, story narration, course subtitles, or short-form video scripts into hand-drawn animations. It enforces a specific visual language: minimalist hand-drawn style with deep gray sketch lines, warm cream backgrounds, and restrained use of red, orange, and blue for conceptual accents. The annotation system uses pixel coordinates tied to subtitle events, with support for protected regions to manage overlapping elements. A browser-based preview interface lets creators adjust regions, drawing order, timing, and subtitle associations before committing to rendering. The tool supports both single-scene and multi-scene projects with frame-by-frame or batch rendering to MP4.
The project maintains an independent Python virtual environment setup to ensure dependency isolation across renders. Development activity shows ongoing refinement of the annotation and preview workflow, with the tool designed to handle iterative adjustments without re-rendering completed work. The codebase emphasizes semantic organization of drawing sequences tied to narrative events rather than visual positioning, and includes quality-check utilities for validating region layouts before animation generation.