Skip to main content

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.

YTML

How it works

From script to video in three steps

01

Write a .ytml script

Author your video in plain text — HTML frames, voice lines, transitions, and music — all in one file.

02

Run the CLI

One command: `ytml -i video.ytml -o output.mp4`. No timeline editor, no export queue.

03

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-gtts

Full Getting Started Guide →