# Video-Use Quality Ladder: Understanding Final, Preview, and Draft Modes

> Master video-use quality modes: final, preview, and draft. Optimize encoding speed, resolution, and fidelity for your video production workflow. Learn use cases and choose the right mode.

- Repository: [Browser Use/video-use](https://github.com/browser-use/video-use)
- Tags: deep-dive
- Published: 2026-07-07

---

**Video-use provides three distinct quality modes—final, preview, and draft—that trade encoding speed, resolution, and visual fidelity to optimize different stages of the video production workflow.**

The browser-use/video-use repository implements a **quality ladder** in [`helpers/render.py`](https://github.com/browser-use/video-use/blob/main/helpers/render.py) that allows creators to select the appropriate rendering mode based on whether they are verifying edit boundaries, reviewing content, or delivering final assets.

## Quality Ladder Modes in Video-Use

The `extract_segment()` function in [`helpers/render.py`](https://github.com/browser-use/video-use/blob/main/helpers/render.py) defines the quality ladder (documented in lines 66-70) that maps command-line flags to specific encoding parameters. Each mode targets a distinct phase of the editing process.

### Final Mode (Production-Ready)

**Final mode** represents the default output quality. It renders at **1080p resolution** using the `libx264` codec with the *fast* preset and a **CRF (Constant Rate Factor) of 20**. This configuration prioritizes visual quality while maintaining reasonable file sizes, making it ideal for delivery to social platforms like TikTok, Instagram, and YouTube.

According to the source code, this mode performs the complete rendering pipeline including segment extraction, concatenation, overlay application, and two-pass loudness normalisation.

### Preview Mode (Iterative Quality Control)

**Preview mode** accelerates the encoding process while retaining full-HD resolution. Activated with the `--preview` flag, it uses the `libx264` *medium* preset at **1080p** with a **CRF of 22**. The faster preset reduces encoding time compared to final mode, enabling rapid iteration during EDL (Edit Decision List) refinement.

This mode is optimal for quick QC checks where you need to verify timing and visual composition without waiting for the full two-pass loudness normalisation pipeline to complete.

### Draft Mode (Cut-Point Verification)

**Draft mode** prioritizes speed over fidelity for rapid verification tasks. Triggered by the `--draft` flag, it renders at **720p resolution** using the `libx264` *ultrafast* preset with a **CRF of 28**. The pipeline generates a low-resolution intermediate (`base_draft.mp4`) intended solely for confirming that segment boundaries align correctly with the EDL ranges.

This mode shortcuts expensive processing steps, making it suitable for cut-point verification immediately after changing EDL range values.

## Technical Implementation of the Quality Ladder

The argument parser in [`helpers/render.py`](https://github.com/browser-use/video-use/blob/main/helpers/render.py) (lines 75-88) connects command-line flags to the quality ladder parameters. When the script executes, it selects the appropriate ffmpeg preset and CRF value based on whether `--preview` or `--draft` flags are present.

The rendering pipeline first extracts each EDL segment using the chosen preset, then concatenates segments, applies optional overlays and subtitles, and finally runs two-pass loudness normalisation (unless disabled with `--no-loudnorm`). Draft mode specifically produces low-resolution intermediates that bypass the full post-processing chain. The [`helpers/grade.py`](https://github.com/browser-use/video-use/blob/main/helpers/grade.py) module provides automatic color-grading presets when the EDL specifies `grade: "auto"`, processing the output after the quality ladder selection.

## When to Use Each Mode

Select your rendering mode based on the current stage of production:

- **Final delivery**: Use default mode (no flag) for full-HD output with balanced compression. Suitable for platform delivery requiring the highest visual quality.
- **Rapid iteration**: Use `--preview` during EDL editing to see full-HD results with faster encoding speeds.
- **Boundary verification**: Use `--draft` when confirming that segment cuts align correctly after modifying EDL ranges. The 720p output renders quickly but lacks production quality.

## Command-Line Examples

Execute these commands from the repository root to leverage the quality ladder:

```bash

# Full-quality final render (default settings)

python helpers/render.py my_edit.edl -o final.mp4

# Preview render for QC during editing

python helpers/render.py my_edit.edl -o preview.mp4 --preview

# Draft render for ultra-fast cut-point verification

python helpers/render.py my_edit.edl -o draft.mp4 --draft

# Draft mode with subtitles (still draft quality)

python helpers/render.py my_edit.edl -o draft_with_subs.mp4 --draft --build-subtitles

# Skip loudness normalisation for encoder benchmarking

python helpers/render.py my_edit.edl -o no_norm.mp4 --no-loudnorm

```

## Summary

- **Video-use** implements a three-tier quality ladder in [`helpers/render.py`](https://github.com/browser-use/video-use/blob/main/helpers/render.py) to optimize rendering workflows.
- **Final mode** (default) provides 1080p output with `fast` preset and CRF 20 for production delivery.
- **Preview mode** (`--preview`) offers 1080p with `medium` preset and CRF 22 for iterative editing.
- **Draft mode** (`--draft`) generates 720p `ultrafast` output with CRF 28 specifically for verifying EDL cut points.
- The pipeline automatically adjusts post-processing intensity, with draft mode creating low-resolution intermediates that skip expensive normalisation steps.

## Frequently Asked Questions

### What is the video-use quality ladder?

The video-use quality ladder is a tiered encoding system defined in [`helpers/render.py`](https://github.com/browser-use/video-use/blob/main/helpers/render.py) that provides three distinct rendering modes—final, preview, and draft. Each mode configures specific ffmpeg parameters including resolution, codec preset, and CRF values to balance encoding speed against visual fidelity for different production stages.

### How do I render a quick preview in video-use?

To generate a quick preview, invoke the render script with the `--preview` flag: `python helpers/render.py my_edit.edl -o preview.mp4 --preview`. This produces 1080p output using the `medium` preset and CRF 22, encoding faster than final mode while maintaining full resolution for quality control checks.

### What is the difference between preview and draft modes in video-use?

Preview mode renders at **1080p** using the `medium` preset for iterative QC checks where visual detail matters, while draft mode renders at **720p** using the `ultrafast` preset solely for rapid cut-point verification. Draft mode produces the `base_draft.mp4` intermediate and minimizes post-processing, whereas preview mode maintains higher fidelity suitable for content review.

### Which ffmpeg preset does video-use use for final renders?

Video-use utilizes the `libx264` codec with the **fast** preset for final renders, combined with a CRF of 20 and 1080p resolution. This configuration, implemented in the `extract_segment()` logic, delivers production-ready quality while maintaining manageable file sizes for social media distribution.