YouTube Markup Language
Create videos
by writing code
Write a .ytml script. Run one command. Get a production-ready video — complete with AI narration, animations, and transitions.

How it works
From script to video in three steps
Write a .ytml script
Author your video in plain text — HTML frames, voice lines, transitions, and music — all in one file.
Run the CLI
One command: `ytml -i video.ytml -o output.mp4`. No timeline editor, no export queue.
Get a video
YTML renders your HTML frames, generates AI voiceovers, syncs audio, and exports a production-ready MP4.
Code your video,
literally.
YTML is a superset of HTML. If you know CSS animations, you already know how to make beautiful video slides. Add <voice> tags for narration and <transition> tags between scenes.
<ytml>
<segment>
<frame duration="4s">
<div style="background:#1e1e2e; color:#cdd6f4;
display:flex; align-items:center;
justify-content:center; height:100vh;">
<h1>Hello, World!</h1>
</div>
</frame>
<voice start="0.5s" end="4s">
Hello! This video was written in YTML.
</voice>
</segment>
</ytml>Why YTML?
Everything you need to ship videos fast
💻Code-Driven Creation
Your video lives in a .ytml file — version-controlled, diff-able, shareable.
🎙️AI Narration Built In
Drop in <voice> tags. YTML generates audio via Eleven Labs or gTTS — no recording needed.
🎨Full HTML + CSS Power
Any CSS animation, Mermaid diagram, or code block works out of the box.
⚡Resume Anywhere
Long render? Use --skip or --resume to pick up exactly where you left off.
🔁Reusable Templates
Define a <template> once for your branding and <use> it in every segment.
📦One pip Install
pip install ytml-toolkit and you're ready. FFmpeg and Playwright are auto-configured.
Made with YTML
Real videos — generated entirely from .ytml scripts
What Developers Miss About The Single Responsibility Principle (SRP)
Building a Microservices E-commerce System: End-to-End Architecture
React Rendering Explained in 5 Quick Steps
Auto-Generate React Client & MSW Mocks with OpenAPI
Start your first video in 30 seconds
pip install ytml-toolkit
ytml init my-video
cd my-video
ytml -i video.ytml -o output.mp4 --use-gttsFull Getting Started Guide →