05 · Refine

The Refine workspace

Refine is for fixing and finishing a video you have already enhanced: select an area, tell the app what looks wrong, and re-run just that region. Masks, depth maps, mixing, patching and compare all work on one working video.

The workspace at a glance

Refine is where you fix a finished video: mask an object, re-run just that region through a model, blend passes together, or trim and crop. Open it from a project under Projects (or a video under Videos) with the Refine button. The top bar keeps a back chip to the place you came from; the session survives while you are elsewhere in the app.

The layout has three parts. Files on the left lists everything in the session. The video fills the middle, with a floating toolbar above it and the transport below. Tools open as small panels next to the video; the Reprocess dock opens along the bottom.

Files on the left, the working video in the middle. Above the video: the pointer pill, the Mask and Depth menus, the Reprocess chips, and zoom. Below it: the transport with the Clip toggle.
Pointer pillHand scrubs, zooms and pans; Box draws a selection area. Hold Space to pan from any tool. While a mask is being authored the pill also carries Include and Exclude.
Mask ▾ / Depth ▾Create a mask (Objects or From depth), generate a depth map, or show the depth map over the video.
Reprocess chipsOne chip per pinned fix (Sharpen, Consistency, Soften, Texture, Denoise). The ▾ lists every fix, the symptom picker, and the bar settings.
Zoom0.2× to 8×. The wheel or a pinch zooms on the video; drag with the Hand to pan; the reset button returns to 1×.
TransportPlay, the Clip toggle, the scrubber with a draggable range lane, layer labels for whatever is previewed over the working video, and the time and frame readout.

Files: your session

There is one working video at a time. Every tool operates on it, and every result is written next to it. Click any video in Session videos to make it the working video. The list is a lineage tree: the original, each enhance stage, and anything made in Refine, each with a role glyph (Original, Refocus, Regenerate-Q, Denoise, Frame interpolation, Mix, Version, Patch, Edit, Imported). Videos that are not linked to the session history sit under Unlinked.

The working row carries three buttons: Mix, Edit, and Patch. They are the direct edits; model runs start from the Reprocess chips above the video.

Session videosThe lineage tree. The folder button adds a video from disk.
Patch videosRe-processed regions with a recorded position and frame range. Click one to select it and preview it at its spot; the pencil edits where it lands.
MasksSaved mask sets. Click one to make it the selection. The pencil re-opens it for editing, the eye tints the masked objects on the video, the box icon shows its bounding box. New… offers Objects, From depth, and Import a mask folder.
Depth mapsClick one to make it the active map; the eye shows it over the video. New… generates a map or imports one from disk.
CompareWipe any two session videos against each other (needs at least two).

Every row renames in place: double-click the name or use its pencil. The panel pops out into a floating window from its header, and collapses to an icon rail; each rail icon opens that section as a popover. Removing a row drops it from the session; for videos the app asks whether to delete the file too.

Selecting an area and a range

A selection has two halves, and every tool reads both: an area (a drawn box or a saved mask) and a frame range. No area means the whole frame; no range means the whole clip.

Area

Pick Box in the pointer pill (or a panel's Select area) and drag on the video. Esc cancels. Once drawn, a row of chips floats under the box:

MixBlend another video inside this box.
ReprocessRun a fix on this box.
SegmentMask the object inside the box with SAM2.
DetectFind every distinct object inside the box, each as its own mask object.
Save as maskSave the rectangle itself as a mask set.
CropCrop the video to this box (opens Edit).
×Clear the box.

To use a mask as the area, click it under Masks in Files. The active area is echoed at the top of each tool panel.

Range

Click Clip on the transport to open the Range bar: numeric In and Out fields, In here / Out here to take the playhead, the frame count, Clear, and Done. The lane under the scrubber is the same range: drag to select, drag its edges to trim, drag the band to slide it, double-click to reset. With a range set the Clip button reads f 120–180.

Reprocess: fix what looks wrong

Reprocess re-runs models on the selection and writes the result as a patch video. Start from the chips above the video. Each chip is a saved pipeline; hover one to see what it runs and on what. Click it and the dock opens in its short form with Where, When, and Output rows and a Run button.

If you are not sure which fix you need, open the ▾ next to the chips and choose Choose by symptom…. The picker asks What looks wrong? and shows one card per fix, headlined by the symptom:

Blurry or softSharpen: crisper edges and finer detail. Regenerate-Q over a ×4 canvas.
Flicker or shimmer between framesConsistency: steadier motion. VFI then Regenerate-Q, run from the pre-upscale source (the VFI output when the enhance pipeline interpolated first, else the original).
Plastic or over-sharpenedSoften: a light blur before Regenerate-Q over a ×2 canvas, so the model re-invents detail instead of copying the flaws.
Flat, waxy, no grainTexture: temporal grain before Regenerate-Q over a ×2 canvas.
Noisy or grainyDenoise: one denoise pass at the working size.
Something elseBuild a custom pipeline: pick the stages and every knob, then save it as a preset.
The dock on a mask selection. Left: Source (video, region, frames). Middle: the pipeline stepper and knob cards. Right: The run. The footer holds warnings, one-click fixes, and Run.

The dock

The full dock sits bottom-center, over the transport, or as a popover under the chips (the ⌄⌄ / ⌃⌃ button switches; the choice is remembered). The header names the working video and holds Preset ▾ (switch fix, adjust a preset's pipeline, delete a custom one), Defaults (save the current settings as what Reprocess opens with), Settings (the full pipeline editor, every model setting, drag to reorder), minimize to the short form, and close.

SourceVideo: which session video the run crops and processes (the preset picks a default). Region: Whole, a saved Mask, or a drawn Area. A mask region can Follow object (a window re-centers on it every frame) or use a Fixed area (one crop of the union bounding box). Frames: the mask’s covered frames, the full clip, or an explicit range via Edit….
ConsistencyOff, ×2, or ×4 frame interpolation before diffusion. The added frames are removed again afterwards so the patch stays on the working clock.
Detail & textureSoften (a gaussian blur, with an amount) and Grain (temporal noise, with an amount) applied before diffusion.
Denoise inputA denoise pass before diffusion, with a strength.
DiffusionCanvas Off, the patch size (×1), ×2, or ×4: how far past the patch size Regenerate-Q runs before scaling back. Levels the engine tile cannot serve for this selection are disabled. Tile overlap and the engine pick sit here too.
ResultsBlend back into a chosen video (default) or Patch only. Name and folder for the patch, and for the blended result.
EncodingCodec, quality, container, and pixel format for the patch.
The runThe stages in run order, one line per detail: crop size, pre-filters, each model and its engine, then postprocess (blend target and codec). Click a stage to open the editor.

The footer shows the plan check. When the pipeline cannot land back on the working video 1:1 (wrong frame count, wrong scale) it explains why and offers one-click fixes such as Add VFI ×2, Auto headroom, or Add Regenerate-Q. Warnings (an offline engine, a missing model, re-running Regenerate-Q on Regenerate-Q output) list here as well. Progress runs in the footer and in a strip above the transport.

Blend back or patch only

A run always makes a patch video; it lands under Patch videos with its position and frame range recorded. With Blend back on, the run also pastes the patch into the chosen target, gated to the mask when there is one, and the result joins Session videos as the next Version of that target. With Patch only, nothing else changes; blend it later with the Patch tool.

Patches are encoded with FFV1 (lossless) by default, so a patch round-trips through blend and further reprocessing without generation loss. Change it under Encoding if file size matters more.

Managing fixes

Customize… in the ▾ menu pins, reorders, edits, and deletes fixes, and hides or shows the chip bar. Pinned fixes are the chips. New fix… opens the editor empty; Save as preset there keeps a pipeline you built.

Masks

A mask set holds one or more objects, each tracked across a frame range. Masks are the area for Mix, Reprocess, and Edit, and they gate a blend so only the object changes.

Create, track, correct

  1. 1Open Mask ▾ → Objects. The pointer switches to Include. Click the object on the video; SAM2 masks it on this frame. Drag a box around it instead if a click grabs too little. Exclude clicks remove areas.
  2. 2Tune what a click grabs with Pick in the pointer pill: Auto, Object, Part, or Detail. Auto-detect finds every distinct object on the frame (or inside a drawn box as Detect in box). Undo removes the last prompt; the trash clears everything.
  3. 3The masking bar over the transport names the mask, lists its objects as chips (click a chip to prompt that object, click its name to rename it), and picks the SAM2 model size (Tiny, Small, Base+, Large: larger tracks better, loads slower). The f a–b button opens the Range bar to set which frames to track.
  4. 4Click Track f a–b & create. The object is tracked across the range and the mask is saved. The bar switches to Saved ✓ and reports how many frames carry masks; the green lane over the scrubber shows coverage.
  5. 5Scrub through. Where the mask is wrong, add include or exclude points on that frame, then click Re-track f a–b. Tracking restarts from the corrected frames and updates the saved mask. Done closes the bar.
One click with Include masks the object. The masking bar holds the name, the object chips, the model size, the range, and Track & create.

Saved masks live under Masks in Files. The pencil re-opens one for more prompts and a re-track. While a mask is being authored, its objects also list in Files, where they can be merged into the active object or removed. From a drawn box, the Segment, Detect, and Save as mask chips make a mask without opening the tool.

One mask session belongs to one video. Switching the working video, starting a new Objects mask, or editing another mask ends the session; the app asks first if it has unsaved work. Mix, Reprocess, and Patch only consume saved masks.

Masks from depth

Mask ▾ → From depth opens the Mask tool on its Depth tab. Pick a depth map, then drag From (far) and To (near) (percentages for a relative map, meters as Near and Far limits for a metric map). Blue shows what joins the mask on this frame. To limit it to part of the frame, choose Depth limit box in the pointer pill and drag. Create depth mask creates it on the range from In/Out, or on the current frame; Apply to frames extends it before, after, to the start, or to the end.

Depth maps & focus

A depth map is a video where brightness encodes distance. It powers depth masks and the depth overlay. Open Depth ▾ → Generate a depth map:

Depth typeRelative orders each frame from nearest to farthest with no units; masks from depth work from this. Metric gives distance from the camera in meters, comparable across frames.
Model sizeSmall is fastest and fine for masks; Base has sharper edges; Large has the best detail and is heaviest. Sizes that are not downloaded or built say so; the button downloads or builds first.
ScopeArea: the whole frame, a drawn box, or a saved mask. Frames: all, or the In/Out range.
Saves asName and folder for the map.
Settings (gear)Run mode: Scaled fits the frame to about 960 pixels, runs once, and scales the map back (the default). Tiled runs the full frame across tiles. Also pins a specific built engine.

Depth ▾ → Show depth over the video overlays the active map. Pause to see it; brighter is nearer. With the Depth tool open, hovering reads the distance under the cursor, in meters for a metric map. The eye on a map under Depth maps toggles the same overlay.

The active depth map over the working video. Brighter is nearer; hover to read the depth under the cursor.
Mask from depth: the From/To sliders pick a distance band; blue shows what joins the mask. Use it with Mix and Reprocess like any other mask.

The depth-of-field Focus render is not exposed in this release; depth maps are used for masks and inspection.

Mix, Edit and Patch

The three buttons on the working row are direct edits. Each opens a panel beside the video, reads the current selection, and writes a new video into the session.

Mix

Blend another session video into the working video. Pick the blend layer and a strength (0 is all working video, 100 is all blend layer; 15 to 30 pulls generative detail back toward a cleaner pass). The layer previews on the video while the panel is open. Mix area attaches a mask or a drawn box, then chooses Inside or Outside and whether to crop the output to the selection. Clipping limits it to a frame range. Export writes <working>_mix via a save dialog.

Edit

Trim to the selection range, crop to the selection box, rotate by 90° steps, and flip horizontally or vertically. The Crop chip under a drawn box opens Edit with the crop ticked. Render writes <working>_edit.

Patch

Paste a patch video back onto the working video at its recorded spot. Choose the patch; it previews as a box on the video. Drag the box to move it, or use Edit placement for exact numbers and a frame range. Everything outside the box and range stays the untouched working video. The result is the next Version of the working video (<base>_v2, _v3, …), named and placed from the panel. Reprocess with Blend back does this step for you.

Compare

Compare at the top of Files wipes two session videos against each other. Pick Left and Right, swap them, and drag the wipe. Zoom to 8× for pixel inspection; while zoomed, a toggle decides whether dragging pans or moves the wipe. Space plays and pauses, Esc closes.

Sides are synced by timestamp, so a frame-interpolated output lines up with its source. A trimmed clip (a patch, a trimmed edit) is placed at its offset on the source timeline: its label reads starts at 0:04 until the clock reaches it, and ended (holding its last frame) once it runs out while the longer side plays on.

Where files go

Everything a session makes is written into one folder beside the working video's family, <base>_refine/, where <base> is the file name without any _vN suffix. Refining clip_v2 keeps writing into clip_refine/.

masks/<name>/Mask sets. The default name is the first object’s name.
depth/Depth maps, named <base>_depth_<type>_<size>[_scaled][_area][_fA-B].mp4 with a .json sidecar.
patches/Reprocess output, named <base>_<objects>_<fix>_<in>-<out> with a .patch.json placement sidecar.
versions/Blended results, <base>_v2, _v3, … These are the Version entries in Files.
work/Scratch: clips, blend manifests, pending runs.

Mix and Edit exports use a save dialog instead. Names are editable everywhere they are shown; a rename moves the file and its sidecars and updates the project record, so the session reopens with the new name. Artifacts from earlier releases in their old locations are still found and editable.

Tool parameters

Reprocess dock

SettingValuesDefaultWhat it does · when to change it
PresetSharpen · Consistency · Soften · Texture · Denoise · customSharpenThe pipeline to run. Built-ins can be adjusted through the preset menu; edits are remembered per preset and Restore defaults in the editor undoes them. Defaults in the header saves the current dock state as the opening state.
Videosession videopresetWhat the run crops and processes. Sharpen, Soften, Texture, and Denoise start from the working video; Consistency starts from the pre-upscale source.
RegionWhole · Mask · AreaselectionFollows the current selection. For a mask, Follow object moves a window with the tracked object; Fixed area crops the union bounding box once.
FramesMask · Full · rangeselectionThe frames to process: the mask's covered frames, the whole clip, or the In/Out range. Frames outside come back unchanged.
ConsistencyOff · ×2 · ×4presetVFI factor before diffusion. Interpolated frames are dropped again after the run.
Soften / Grainon · off + amountpresetPre-filters before diffusion. Soften is a gaussian blur in pixels (0.8 default); Grain adds temporal noise (6 default).
Denoise inputon · off + strengthoffA denoise stage before diffusion. Strength is the model's sigma (30 default); higher removes more noise and more fine texture.
Diffusion canvasOff · patch size · ×2 · ×4presetHow far past the patch size Regenerate-Q runs before a bicubic scale back. Larger recovers finer detail and takes longer. A level is disabled when the selection times the level is smaller than the engine tile.
Overlap W / HpxMinimum tile overlap for the diffusion stage. Raise it if you see seams in the patch.
ResultsBlend back · Patch onlyBlend backWhether the patch is pasted into a target video as its next version. The patch file is kept either way.
Encodingcodec · quality · container · pixel formatFFV1The patch encoder. FFV1 is lossless; pick a lossy codec for smaller files.

Mask

SettingValuesDefaultWhat it does · when to change it
Model sizeTiny · Small · Base+ · LargeThe SAM2 variant. Larger tracks more accurately through motion but loads and runs slower. Switching restarts the session.
PickAuto · Object · Part · DetailAutoHow much of what you click is selected: the model's own pick, a whole object, a part (a face, a wheel), or a fine detail (an eye, a logo).
Rangef a–bwhole clipThe frames Track and Re-track cover. Set it from the masking bar or the Clip toggle.
Depth scaleRelative · MetricFor depth masks: percentages (0% farthest, 100% nearest) or meters as Near and Far limits.
Depth limit boxoptionalRestrict a depth mask to a drawn region instead of the whole frame.

Mix

SettingValuesDefaultWhat it does · when to change it
Blend insession videoThe layer mixed into the working video.
Strength0–100%0 is all working video, 100 is all blend layer.
Mix areaNone · mask · boxWhere the layer comes in. With an area set: Blend region Inside or Outside, and Crop output Full frame or To selection.
ClippingNone · rangeLimit the blend to a frame range.
Output encodingMatch source · PNG sequence · encoderMatch sourceThe export codec. Match source keeps the working video's codec.

Edit

SettingValuesWhat it does · when to change it
Trim to selection rangeon · offKeep only the In/Out frames. Needs a range.
Crop to selection boxon · offOutput only the drawn box. Needs a box.
Rotate / Flip0° · 90° · 180° · 270° / Horizontal · VerticalRotate by quarter turns and mirror the frame.

Patch

SettingValuesDefaultWhat it does · when to change it
Patch videopatchWhich patch to paste. Its recorded frames and region show underneath.
Placementx · y · w · h · in · outrecordedWhere the patch lands. Drag the box on the video or edit the numbers; changes are saved to the patch's sidecar.
Resultname · folder<base>_vNThe blended video: the next version of the working video.