Nmedia Services v1.1 Module 07 · Reel Polish

Polishing AI animation reels at production speed.

Most AI shots come out the door at 720p, 16fps, with the wrong aspect ratio. We built one panel that fixes all three — in a queue, with a kill switch, and without making the editor click forty times.

N
Nmedia Services
Animation Production Pipeline · v1.1
Video walkthrough · coming soon

A short product video lands here. Drop your YouTube ID into data-yt-id on this section to enable.

Upscale
60fpsInterpolated
1-clickKill switch
Queue depth
Real-ESRGAN RIFE ffmpeg Flask Operator UX

AI generates shots faster than a human can finish them. The bottleneck has moved — from "can we make the frames?" to "can we get the frames into a deliverable shape, today, without a TD on standby?" Module 07 is our answer.

01The problem

Generative video models — Veo, Kling, Runway, Sora and the open-source pack — share a polite output preset: roughly 720p, 16 to 24 frames per second, often in whatever aspect ratio the model was trained on. That is fine for a pitch GIF. It is not a deliverable.

To turn a folder of those clips into a reel that survives a client review you need three separate operations: spatial upscale, frame interpolation, and a final repack to the target frame, fps and aspect. Each one historically meant a different binary, a different config file, and a different mental model of what a "good" command-line invocation looks like. Multiply that by twenty shots and a junior editor's afternoon is gone.

The Reel Polish control panel showing the input file list and preset row.
Reel Polish — single panel, queued jobs, live progress per shot.

02The approach

We collapsed the three operations behind a single Flask control panel and gave the operator three knobs that matter: upscale factor, target fps, and output frame (with fit mode — pad, cover or stretch). Everything else — model selection, ncnn-vulkan flags, ffmpeg map arguments, audio routing — is hidden behind presets the editor never has to read.

Under the hood it's Real-ESRGAN ncnn-vulkan for the upscale, RIFE ncnn-vulkan for the interpolation, and ffmpeg for the final fit-and-finish. A single FIFO worker queue serialises GPU access so two jobs never fight over VRAM. Every subprocess is registered against a job ID, which means there is one button on the panel that always works: Kill.

"We stopped writing render scripts the day the kill switch shipped. That single button changed how the team uses the tool."

03Inside the control panel

The panel is intentionally one screen. The editor picks files, picks a preset, hits go. The rest is observable.

Live progress console with stderr streaming during a polish job.
Live stderr is streamed back via Server-Sent Events — no log files, no SSH, no guessing.
Why it matters → Reel Polish moves the artist's job back to creative review. They look at output cards instead of typing flags. Throughput on a 20-shot reel went from a half-day of supervised rendering to forty minutes of unattended queue.

04What's next

Reel Polish is the last gate before delivery in the Nmedia Services pipeline — the modules upstream (Asset Design, Story / Script, Storyboard, Animatics, Animation Sandbox) all eventually feed into it. Next up is a presets registry that travels with the project file, so a "client A house style" preset is one click away on every new job, and an automatic spec-sheet exporter that writes the final fps / resolution / codec back into the project manifest. The pipeline keeps getting shorter.

Want a pipeline like this for your studio?

Nmedia Services is building the next generation of AI-native animation tools — modular, format-aware, and operator-friendly.

Get in touch →