This project is a Dockerized submission for the AMD Developer Hackathon Track 2: Video Captioning. Given a list of short video URLs, the agent downloads each clip, extracts a small set of scene-aware keyframes, and produces four captions per video: formal, sarcastic, humorous_tech, and humorous_non_tech. The pipeline is designed around accuracy and style control. First, a vision model writes a dense structured brief from the sampled frames. The same vision model then verifies and corrects that brief to remove unsupported or invented details. A text-only caption model then generates the four required styles sequentially, with each style aware of the previous captions so the outputs do not sound repetitive. Built-in keyword guardrails detect weak style matches and trigger a single retry. The agent uses only Fireworks AI endpoints, keeps API keys configurable via environment variables, and is packaged as a linux/amd64 Docker image. It handles failures gracefully: every task gets an entry in results.json, even if a download or model call fails. Optional local Whisper transcription is included but disabled by default to keep runtime fast and predictable.
Category tags: