About Blog2Vid
Blog2Vid was created by Abdullah Yahya to easily convert many of his blog posts on abdullahyahya.com into video.
Blog-to-video functionality existed in other apps already, but it was never their primary focus — and none of them really worked the way Abdullah wanted them to work. Blog2Vid was designed to be simple but powerful, while also being highly customizable.
What Blog2Vid is built with
The App Router, Server Components, and Server Actions run the whole app.
Every screen is built from a small set of shared design tokens (colors, fonts) defined once and reused across the marketing site and the storyboard editor.
Postgres holds every project, scene, and asset; Supabase Auth handles accounts; Supabase Storage holds uploaded presenter photos, images, videos, and generated narration audio — all scoped per-user with row-level security.
Scraping a post, generating its script, cloning a voice, upscaling an image, and rendering a scene all run as durable, retryable background functions rather than blocking a request.
Turns a post's real text and images into first-person narration, scene by scene — including describing images that have no surrounding caption or text.
Clones a real voice from a short sample, or narrates with a stock voice, and turns each scene's script into real narration audio.
Upscales blog images that were saved small for fast page loads and would otherwise look soft full-screen on a video timeline.
Parses a post's real HTML into an ordered list of headings, paragraphs, and images — the source material every scene is built from.
Composites each scene's image, narration, and optional presenter clip into a rendered video, then stitches every scene into the final export.
Fraunces for headings, IBM Plex Sans for everything else.
Every change to Blog2Vid is tracked here.
See it work on one of your own posts.
Paste a link, review the storyboard, and generate — your images stay yours the whole way through.