{"slug": "a-21-second-look-at-a-one-line-brief-becoming-a-captioned-9-16-short", "title": "A 21-second look at a one-line brief becoming a captioned 9:16 short", "summary": "A developer demonstrated a pipeline that converts a single-line text brief into a narrated, captioned vertical video, running the example brief \"Synthwave drive through a neon city\" with no API keys using mock scene art and an offline draft-quality voice. The system uses an LLM to generate a strictly validated list of scenes with image prompts, narration and timing, swaps image and voice providers through small adapters, renders steps in parallel via a job queue with retry and backoff, and assembles the output with ffmpeg using Ken Burns zooms, voice-synced scene durations and burned-in captions in 16:9, 9:16 or 1:1. The pipeline is offered as a paid kit ($49, Next.js + TypeScript + ffmpeg, 37 tests).", "body_md": "This short shows one real run of a pipeline that turns a single line of text into a narrated, captioned vertical video.\n\nThe brief was \"Synthwave drive through a neon city\", run with zero API keys (mock scene art and an offline, draft-quality voice). Here is what happens between the brief and the MP4, in plain terms:\n\n1. \n**An LLM writes the shots.** The brief becomes a list of scenes, each with an image prompt, narration and timing. The output is validated strictly, so a broken JSON reply fails cleanly instead of crashing the render.\n2. \n**Providers make the pictures and the voice.** Each provider is a small adapter, so you can swap a mock for a real image or voice service.\n3. \n**A job queue renders in parallel.** Failed steps retry with backoff, and a crashed job can be recovered or retried with one click.\n4. \n**ffmpeg puts it together.** Each scene gets a slow Ken Burns zoom, scenes stretch to fit the voice-over, and captions are burned in, timed to the narration. The output can be 16:9, 9:16 or 1:1.\n\nIf you want the ffmpeg side in detail (the 9:16 crop, the zoom filter and the caption timing), I wrote it up here: [Building an AI Shorts pipeline with ffmpeg](https://dev.to/syncoders/building-an-ai-shorts-pipeline-with-ffmpeg-916-ken-burns-zoom-captions-that-match-the-voice-1lc1).\n\n*Disclosure: the pipeline in the clip is our paid kit, the [AI Video Pipeline Kit](https://syncoder.gumroad.com/l/incack) ($49, full source, Next.js + TypeScript + ffmpeg, 37 tests).*", "url": "https://wpnews.pro/news/a-21-second-look-at-a-one-line-brief-becoming-a-captioned-9-16-short", "canonical_source": "https://dev.to/syncoders/a-21-second-look-at-a-one-line-brief-becoming-a-captioned-916-short-172i", "published_at": "2026-11-01 12:47:11+00:00", "updated_at": "2026-11-01 12:52:48.043943+00:00", "lang": "en", "topics": ["ai-tools", "generative-ai", "large-language-models", "ai-products"], "entities": ["ffmpeg", "Next.js", "TypeScript", "AI Video Pipeline Kit", "Gumroad"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/a-21-second-look-at-a-one-line-brief-becoming-a-captioned-9-16-short", "markdown": "https://wpnews.pro/news/a-21-second-look-at-a-one-line-brief-becoming-a-captioned-9-16-short.md", "text": "https://wpnews.pro/news/a-21-second-look-at-a-one-line-brief-becoming-a-captioned-9-16-short.txt", "jsonld": "https://wpnews.pro/news/a-21-second-look-at-a-one-line-brief-becoming-a-captioned-9-16-short.jsonld"}}