01The feature is inpainting, not a blur brush
A blur, crop or opaque patch can hide a watermark, but it also advertises that something was covered. Timeline Studio takes a different path. The selected pixels become unknown input to a compact MI-GAN generator, while nearby visible pixels provide context for reconstructing plausible color and texture. The current model is a 256-pixel ONNX generator loaded in a dedicated Worker and executed through ONNX Runtime Web's WebGPU provider. The browser downloads a pinned model revision, stores it in Cache Storage and reuses the session for later frames. No source image or video is sent to a repair service by this code path. Model files still have to arrive from a configured Hugging Face or ModelScope mirror, but inference runs on the user's device.
05Images stop after one frame—and remain reversible
For an image, Timeline Studio captures the current bitmap, applies every active region in sequence and produces a PNG preview. A draggable divider lets the editor compare before and after at the same scale. Applying the result creates a new user asset and replaces the selected visual's active source, but the segment's repair metadata preserves the original source, blob, dimensions, source timing and track-frame information. The chosen regions, backend and processed result are recorded alongside it. This is an important product boundary: local AI repair becomes another editable project state rather than destroying the original upload. If the context reconstruction looks wrong, the editor can revise the mask or return to the preserved source.
09Every active frame passes through the same image repair core
The video loop does not contain a second inpainting implementation. It seeks the source video, creates an ImageBitmap for the current frame, resolves all regions active at that moment and calls the same repairMiganFrame function used for still images. When several regions overlap the same frame, the repaired Blob from one pass becomes the bitmap for the next. The UI can display each completed frame while progress advances, and an AbortController can stop decoding, inference and encoding. Reusing one core keeps mask construction, crop logic, MI-GAN preprocessing, feathering and diagnostics consistent across image and video. The media-specific code is responsible for clocks and composition, not for inventing different repair semantics.
12The honest limits are visible in the architecture
MI-GAN reconstructs plausible surroundings; it cannot recover the exact pixels that existed before a watermark was added. Large masks, faces, typography, hands, fences and highly regular patterns can expose incorrect synthesis. The 256-pixel model and nearest sampling limit fine detail, while independent per-frame inference can produce temporal inconsistency because the network has no memory of the previous frame. Position keyframes move the mask, not the generated texture. WebGPU availability, model download, GPU memory, video seeking and FFmpeg.wasm memory all affect whether a device can finish. There is currently no automatic watermark detector or semantic object tracker. These limits make preview and full playback part of the workflow, not optional polish.