.png&w=828&q=75)
CaptionCraft is a Dockerized video captioning agent for AMD Developer Hackathon Track 2. Given a tasks.json of video URLs and requested styles, the container downloads each clip, extracts scene-change frames (typically 8–12 at 384px, with long-clip caps), and writes styled English captions to /output/results.json. The pipeline uses a describe-then-style approach: one Kimi K2.6 vision call on Fireworks AI produces a structured factual description; DeepSeek V4 Flash then rewrites it in parallel into formal, sarcastic, humorous_tech, and humorous_non_tech. Each style uses JSON-first output and meta-leak salvage. MiniMax M3 is the vision fallback when Kimi times out (60s API timeout) or a deadline guard switches models under time pressure. Batch optimizations include overlapping the next clip’s describe with the current clip’s captioning, prefetching upcoming downloads, incremental results.json writes, and a pipelined judge+retry pass (gpt-oss-120b) that scores each clip as it finishes and re-captions failures in the background. Style-aware friendly failure messages keep output valid when describe or caption calls fail. Speed hardening (scene frame caps, 384px width, single DeepSeek pool, ~520s internal budget) keeps UHD and long clips inside the official 10-minute limit. Validated across outdoor aerials, ocean, office, coding, and animal clips. On the fast Kimi stack, a 10-clip blind set finished in ~205s wall time with local text proxy ~0.96; a 10-clip train set finished in ~284s with proxy ~0.95. At 12-clip submission scale, the same stack projects to ~250s under a 520s budget (~350s headroom within the 10-minute cap). Packaged as linux/amd64 at ghcr.io/vipinkulkarni/captioncraft:latest; FIREWORKS_API_KEY is baked at build time—judges pull and run with no runtime configuration.
13 Jul 2026