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.
| Pointer pill | Hand 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 chips | One chip per pinned fix (Sharpen, Consistency, Soften, Texture, Denoise). The ▾ lists every fix, the symptom picker, and the bar settings. |
| Zoom | 0.2× to 8×. The wheel or a pinch zooms on the video; drag with the Hand to pan; the reset button returns to 1×. |
| Transport | Play, 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 videos | The lineage tree. The folder button adds a video from disk. |
| Patch videos | Re-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. |
| Masks | Saved 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 maps | Click one to make it the active map; the eye shows it over the video. New… generates a map or imports one from disk. |
| Compare | Wipe 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:
| Mix | Blend another video inside this box. |
| Reprocess | Run a fix on this box. |
| Segment | Mask the object inside the box with SAM2. |
| Detect | Find every distinct object inside the box, each as its own mask object. |
| Save as mask | Save the rectangle itself as a mask set. |
| Crop | Crop 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 soft | Sharpen: crisper edges and finer detail. Regenerate-Q over a ×4 canvas. |
| Flicker or shimmer between frames | Consistency: 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-sharpened | Soften: a light blur before Regenerate-Q over a ×2 canvas, so the model re-invents detail instead of copying the flaws. |
| Flat, waxy, no grain | Texture: temporal grain before Regenerate-Q over a ×2 canvas. |
| Noisy or grainy | Denoise: one denoise pass at the working size. |
| Something else | Build a custom pipeline: pick the stages and every knob, then save it as a preset. |
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.
| Source | Video: 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…. |
| Consistency | Off, ×2, or ×4 frame interpolation before diffusion. The added frames are removed again afterwards so the patch stays on the working clock. |
| Detail & texture | Soften (a gaussian blur, with an amount) and Grain (temporal noise, with an amount) applied before diffusion. |
| Denoise input | A denoise pass before diffusion, with a strength. |
| Diffusion | Canvas 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. |
| Results | Blend back into a chosen video (default) or Patch only. Name and folder for the patch, and for the blended result. |
| Encoding | Codec, quality, container, and pixel format for the patch. |
| The run | The 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.
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
- 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.
- 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.
- 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–bbutton opens the Range bar to set which frames to track. - 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.
- 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.
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.
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 type | Relative 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 size | Small 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. |
| Scope | Area: the whole frame, a drawn box, or a saved mask. Frames: all, or the In/Out range. |
| Saves as | Name 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 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
| Setting | Values | Default | What it does · when to change it |
|---|---|---|---|
| Preset | Sharpen · Consistency · Soften · Texture · Denoise · custom | Sharpen | The 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. |
| Video | session video | preset | What the run crops and processes. Sharpen, Soften, Texture, and Denoise start from the working video; Consistency starts from the pre-upscale source. |
| Region | Whole · Mask · Area | selection | Follows the current selection. For a mask, Follow object moves a window with the tracked object; Fixed area crops the union bounding box once. |
| Frames | Mask · Full · range | selection | The frames to process: the mask's covered frames, the whole clip, or the In/Out range. Frames outside come back unchanged. |
| Consistency | Off · ×2 · ×4 | preset | VFI factor before diffusion. Interpolated frames are dropped again after the run. |
| Soften / Grain | on · off + amount | preset | Pre-filters before diffusion. Soften is a gaussian blur in pixels (0.8 default); Grain adds temporal noise (6 default). |
| Denoise input | on · off + strength | off | A denoise stage before diffusion. Strength is the model's sigma (30 default); higher removes more noise and more fine texture. |
| Diffusion canvas | Off · patch size · ×2 · ×4 | preset | How 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 / H | px | Minimum tile overlap for the diffusion stage. Raise it if you see seams in the patch. | |
| Results | Blend back · Patch only | Blend back | Whether the patch is pasted into a target video as its next version. The patch file is kept either way. |
| Encoding | codec · quality · container · pixel format | FFV1 | The patch encoder. FFV1 is lossless; pick a lossy codec for smaller files. |
Mask
| Setting | Values | Default | What it does · when to change it |
|---|---|---|---|
| Model size | Tiny · Small · Base+ · Large | The SAM2 variant. Larger tracks more accurately through motion but loads and runs slower. Switching restarts the session. | |
| Pick | Auto · Object · Part · Detail | Auto | How 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). |
| Range | f a–b | whole clip | The frames Track and Re-track cover. Set it from the masking bar or the Clip toggle. |
| Depth scale | Relative · Metric | For depth masks: percentages (0% farthest, 100% nearest) or meters as Near and Far limits. | |
| Depth limit box | optional | Restrict a depth mask to a drawn region instead of the whole frame. |
Mix
| Setting | Values | Default | What it does · when to change it |
|---|---|---|---|
| Blend in | session video | The layer mixed into the working video. | |
| Strength | 0–100% | 0 is all working video, 100 is all blend layer. | |
| Mix area | None · mask · box | Where the layer comes in. With an area set: Blend region Inside or Outside, and Crop output Full frame or To selection. | |
| Clipping | None · range | Limit the blend to a frame range. | |
| Output encoding | Match source · PNG sequence · encoder | Match source | The export codec. Match source keeps the working video's codec. |
Edit
| Setting | Values | What it does · when to change it |
|---|---|---|
| Trim to selection range | on · off | Keep only the In/Out frames. Needs a range. |
| Crop to selection box | on · off | Output only the drawn box. Needs a box. |
| Rotate / Flip | 0° · 90° · 180° · 270° / Horizontal · Vertical | Rotate by quarter turns and mirror the frame. |
Patch
| Setting | Values | Default | What it does · when to change it |
|---|---|---|---|
| Patch video | patch | Which patch to paste. Its recorded frames and region show underneath. | |
| Placement | x · y · w · h · in · out | recorded | Where the patch lands. Drag the box on the video or edit the numbers; changes are saved to the patch's sidecar. |
| Result | name · folder | <base>_vN | The blended video: the next version of the working video. |