> ## Documentation Index
> Fetch the complete documentation index at: https://hyperframes-canary-calibration-notes.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Render in 4K

> Author at 4K or supersample an existing composition at render time.

## Render an existing project in 4K

```bash theme={null}
npx hyperframes render --resolution 4k --output final-4k.mp4
```

HyperFrames keeps the composition's layout unchanged and captures it at a higher device-pixel ratio. A 1920×1080 composition becomes a 3840×2160 file.

Use the matching preset for portrait or square work:

| Preset                 | Output    |
| ---------------------- | --------- |
| `4k` or `landscape-4k` | 3840×2160 |
| `portrait-4k`          | 2160×3840 |
| `square-4k`            | 2160×2160 |

## Author a project at 4K

If the project should use a 4K canvas from the start:

```bash theme={null}
npx hyperframes init my-video --resolution 4k
```

Choose this when canvas or WebGL code, fixed-resolution media, or layout decisions need to know the final pixel dimensions while you author.

## What gets sharper

| Content                               | Result when supersampled                     |
| ------------------------------------- | -------------------------------------------- |
| HTML text, SVG, CSS shapes, gradients | Re-rasterized at 4K                          |
| High-resolution images                | Use their available source detail            |
| 1080p images and video                | Scaled up; no new source detail              |
| `<canvas>` and WebGL                  | Limited by the canvas's intrinsic dimensions |

For a fully sharp 4K result, use 4K source media and size canvas/WebGL buffers for the target resolution.

## Constraints

`--resolution` only works when:

* the preset has the same aspect ratio as the composition;
* the target is an integer multiple of the authored dimensions;
* the target is not smaller than the composition;
* the output is MP4 rather than an alpha format;
* HDR is not forced for the same render.

HyperFrames checks these conditions before opening the browser. Render at the composition's native size and resize separately when a combination is unsupported.

## Verify the file

```bash theme={null}
ffprobe -v error -select_streams v:0 \
  -show_entries stream=width,height final-4k.mp4
```

For landscape 4K, the output should report `3840` by `2160`.

4K captures four times as many pixels as 1080p, so expect more render time, memory use, and output data. Start with `--quality draft` for review, then render the approved version at the quality you need.

## Related topics

* [Render from the command line](/guides/rendering)
* [Improve render performance](/guides/performance)
* [Deliver an HDR project](/guides/hdr)
