Back to projects

Project

Video Captioning Agent

An AI-powered pipeline that turns raw video links into ready-to-use captions in four distinct tones, processing entire batches of videos automatically and reliably, with no manual review needed at any step.

Video Captioning Agent

What This Project Does

This project is an automated system that watches videos and writes captions for them in four different writing styles — Formal, Sarcastic, Humorous-Tech, and Humorous-Non-Tech. A user submits a batch of video links along with which styles they want, and the system downloads each video, figures out what's happening in it, and writes the requested captions — without any human watching the video or writing a word by hand.

Think of it like having an assistant who watches a stack of videos, takes careful factual notes on each one, and then hands those notes to a second assistant who's a skilled writer and can rewrite the same facts in whatever tone is needed — professional, witty, playful — depending on what the client wants.

Why It's Built the Way It Is (The Clever Part)

The standout design decision — the kind of thing that separates a solid engineer from someone just gluing tools together — is splitting "understanding the video" from "writing about the video" into two separate stages, connected only by a short factual summary in between.

Why this matters, in plain terms:

  • The "watching" AI never talks directly to the "writing" AI. Instead, it produces a short, structured fact sheet (who's in the video, what's happening, what objects appear, a timeline of events).
  • The "writing" AI only ever sees that fact sheet — never the actual video footage.
  • This means the two AI systems can be swapped, upgraded, or replaced independently, and it creates a clear, auditable record of exactly what information the writing stage was allowed to use. That's valuable for accuracy, cost control, and accountability — you can always point to the fact sheet and say "here's exactly what the caption was based on."

This is the same instinct that shows up in well-run teams and organizations: separate the people who gather facts from the people who communicate them, so each can focus on doing their job well, and mistakes are easier to trace.

How It Handles Real-World Messiness

Automated systems that process large batches of anything (videos, files, applications, transactions) inevitably hit bad inputs — a broken link, a corrupted file, a service that times out. This project was explicitly engineered so that:

  • One bad video doesn't stop the whole job. If a single video fails to download or can't be understood, the system quietly logs that one as empty and moves on to the rest of the batch — rather than the entire run crashing.
  • Infrastructure problems are treated differently from content problems. If the underlying AI service itself is unavailable (a setup/configuration issue), the system stops immediately and flags it clearly, rather than silently producing bad results. If it's just one bad video, it isolates the damage.
  • Work is done efficiently in parallel. While one video's captions are being written, the next video is already being downloaded and analyzed — so the whole batch finishes faster instead of doing everything one step at a time.

Skills and Judgment This Project Demonstrates

  • Systems thinking: breaking a complex process into clean, independent stages with clear responsibilities, rather than one tangled script.
  • Reliability engineering: anticipating failure (bad videos, network issues, service outages) and designing so failures are contained instead of catastrophic.
  • Working with modern AI tools: integrating both a vision-capable AI model (one that can "look" at images) and a text-based AI model (one that writes), and knowing when to use which.
  • Attention to data integrity: validating information at every handoff point so bad or malformed data can't quietly corrupt the results.
  • Production-readiness: the system is packaged to run reliably in real environments (containerized, with automatic setup of the AI infrastructure it depends on), not just as a one-off script on someone's laptop.
  • Testing discipline: the project includes a thorough test suite that specifically proves the reliability claims above — for example, tests that verify one failed video really doesn't sink the whole batch, and that results always come back in the right order.
  • Experimentation mindset: a separate toolkit exists for systematically trying different prompts/settings and tracking which ones produce better results — showing an iterative, evidence-based approach to improving quality over time.

TL;DR

A reliable, batch-processing AI pipeline that turns videos into multi-style captions by cleanly separating "understanding" from "writing," and that's engineered to keep working smoothly even when individual videos fail.

Demo

Refer to video below where I explain about project and give a live demo as well!!!