> For the complete documentation index, see [llms.txt](https://help.intangible.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.intangible.ai/compose/lenses.md).

# Lenses

The lens pack in Compose mode and how focal length choice shapes the shot the visualizer renders.

Each shot has its own lens. The Compose-mode lens dropdown carries a working set of focal lengths plus a Custom option, alongside the film and social aspect ratios. Pick deliberately; lens choice carries through to the visualizer's auto-prompt and changes how the rendered image reads.

![Lens dropdown open on the shot toolbar showing 14mm Ultra-Wide, 24mm Wide, 35mm Standard (selected), 50mm Normal, 70mm Portrait, 100mm Telephoto, 200mm Super Telephoto, and Custom](https://1179478100-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSWrjIqlgVAblx6vHGJiM%2Fuploads%2Fgit-blob-d9389d5d749886af29258ebf43399bf7c5c9a7cc%2Flens-dropdown-01.png?alt=media)

## What it does

Cinematographers pick lenses on instinct. The choice is doing real work: 24mm pushes scale and includes the environment around the subject; 100mm flattens depth and isolates the subject; the 14mm Ultra-Wide distorts at the edges, which can be expressive or wrong depending on the brief. Intangible's lens dropdown gives you the same vocabulary you'd reach for on a real shoot, and the visualizer reads the choice into the \[Scene Context] block of the auto-prompt, so the rendered image gets the right "feel" without you describing it in text.

## How to use it

Each shot has its own lens setting. In Compose mode, click a shot to make it active. A toolbar appears on the shot's framing overlay, and the **Lens** control is the icon in it that reads "Lens" on hover, sitting beside the aspect-ratio control. Click it for the focal-length list. Selecting a camera in the viewport exposes the same **Lens** dropdown in the properties bar. The picker is a flat list labeled by both the category name and the focal length, with the active lens ticked.

The working set:

* **14mm Ultra-Wide** – strong perspective distortion at the edges, near fisheye; great for vehicle interiors, action that puts the camera inside something.
* **24mm Wide** – establishing shots, environments where the surrounding context matters.
* **35mm Standard** – default for most shots. Documentary-feeling, broadly cinematic, doesn't impose a strong look.
* **50mm Normal** – the photographic normal on full frame. Closest to how the eye reads a space, so it neither flatters nor distorts. Reach for it when the shot should feel observed rather than composed.
* **70mm Portrait** – compressed depth, isolated subject, soft background. Default reach for product hero shots and beauty framings.
* **100mm Telephoto** – longer compression and stronger subject isolation; pulls distant action in tight.
* **200mm Super Telephoto** – far compression, isolated subject. Good for sports-feeling action or framings at distance.

Below the presets sits **Custom**, which opens a panel for setting a focal length the presets don't cover. See [Custom lens](#custom-lens) below.

The lens selection is per-shot, so you can have a 24mm Wide establishing followed by a 100mm Telephoto reaction in the same scene without any global change.

## How the visualizer reads lens choice

```mermaid
flowchart LR
    A[Shot lens setting] --> B[Auto-prompt Scene Context]
    A --> C[3D viewport framing]
    B --> D[Diffusion model]
    C --> D
    D --> E[Render with appropriate optical character]
```

The auto-prompt's \[Scene Context] block mentions the focal length (e.g., *"24mm wide-angle establishing shot"*). The 3D viewport applies the equivalent perspective so what you see is what gets rendered. The model receives both: the geometric framing from the viewport and the descriptive language from the prompt.

{% hint style="info" %}
The wider you go, the more the visualizer leans into environmental detail. The longer you go, the more it leans into subject isolation and shallow-depth effects. If a render feels "too clean" or "too cluttered", lens choice is the first thing to revisit.
{% endhint %}

## Custom lens

The presets cover the focal lengths a shoot reaches for most. When the shot needs something between them, or needs the camera's clipping planes moved, pick **Custom** at the bottom of the lens dropdown. A cog icon on the Custom row opens the panel again once custom is active.

![The Custom Lens panel: Copy lens, Paste lens and Reset lens in the header, the Lens slider at 24.0mm with its lens and FOV switch, Film back on Full frame 35mm, Sensor W 36.00mm and H 24.00mm, Sensor fit on Vertical, then the Frustum's Near and Far inputs with the Show Near & Far toggle](https://1179478100-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSWrjIqlgVAblx6vHGJiM%2Fuploads%2Fgit-blob-47d2c26b09b159b744dd6068bfe3ea853e7c5a3b%2Fcustom-lens-panel-01.png?alt=media)

The panel carries these controls:

* **Lens or FOV.** A toggle switches the slider between focal length in millimetres and vertical field of view in degrees. They're two views of the same value, so setting one updates the other. Use focal length when you're matching a real lens, FOV when you're matching a plate or a game engine.
* **Focal length.** Dragging covers 14mm to 100mm, a soft range for comfortable dragging. Type a value to go wider or longer, anywhere from 1mm to 1000mm, to a tenth of a millimetre.
* **Film back.** The camera's sensor, which decides how a focal length frames. See [Film back](#film-back) below.
* **Near and far clipping.** The planes that bound what the camera renders, defaulting to 0.1 and 10000. Pull **near** out when the camera sits inside geometry and you want the near wall to stop occluding the shot. Pull **far** in when distant geometry is cluttering a long lens.
* **Show Near & Far.** An eye toggle that draws the near and far planes in the viewport so you can see what the clipping values are actually doing.

![Dragging the Lens slider from 35mm to 84mm: the readout climbs and the viewfinder closes in on the car as it goes](https://1179478100-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSWrjIqlgVAblx6vHGJiM%2Fuploads%2Fgit-blob-2d06a1ee17bc05e6b53e8be2c734de20f8046a06%2Fcustom-lens-drag-01.gif?alt=media)

{% hint style="info" %}
The near and far helper only draws when the camera helper is already visible, which means the camera is selected, hovered, or driving the active shot. Toggling **Show Near & Far** on a camera you can't currently see won't put anything on screen.
{% endhint %}

Custom values are stored on the camera, so a custom lens survives shot switches and reloads the same way a preset does. **Reset lens**, the circular arrow in the panel header, puts the camera back to 35mm on a full-frame sensor with the default clipping.

### Film back

A 35mm lens frames tighter on a Super 35 camera than on a full-frame one, because the sensor behind it is smaller. Before 2.0.86 every focal length framed as if on full frame, so matching a production camera meant converting by hand. The **Film back** row in the Custom Lens panel sets the sensor each camera has, and every focal length on that camera, preset or custom, frames through it.

* **Preset.** Full frame 35mm (36 × 24mm, the default), Super 35, APS-C, Micro Four Thirds, 1 inch, Super 16, ALEXA 65 and Smartphone. A size that matches no preset reads **Custom**.
* **Sensor W and H.** The sensor's width and height in millimetres, for a camera the presets don't list.
* **Sensor fit.** Which side of the sensor the focal length is measured across. **Vertical** (the default) matches the frame's height to the sensor's height. **Horizontal** matches the frame's width to the sensor's width, the way most cinema camera specs are written. **Auto** measures across the frame's longer side.

Changing the film back keeps the focal length and changes the framing, as swapping a camera body behind the same lens would. Cameras left on the default frame exactly as they always did.

### Copy a lens to other cameras

**Copy lens** and **Paste lens** sit in the Custom Lens panel header. Copy takes the camera's focal length and film back; paste writes them onto every selected camera, and each one keeps its own aspect ratio. In Build or Compose, **⌘V** on the canvas pastes a copied lens too, and a lens copied in another tab pastes the same way. Clipping and the **Show Near & Far** toggle are not copied, and a locked camera ignores the paste.

## Choosing the right lens

A few common signals:

* The subject feels small and lost in the frame – go longer.
* The environment is doing too much of the storytelling – go longer (or move the camera closer).
* The shot needs to feel "in the action" – go wider, get closer.
* The subject feels distorted at the edges in an unwanted way – go longer.
* A product hero is being upstaged by the background – go to 70mm Portrait or 100mm Telephoto.

## Limits and known issues

* **Film-grade lens characteristics aren't simulated.** Anamorphic squeeze, lens flares, breathing – the visualizer doesn't model these per-lens. They show up if the model has been trained to produce them; ask for them in the prompt or via [style presets](/visualize/style-presets.md) if needed.
* **A custom focal length still reads to the model as a focal length, not as a specific lens.** The auto-prompt describes the number. It doesn't know you were matching a particular piece of glass.
* **The auto-prompt describes the field of view, not the film back.** It names the full-frame equivalent, so a 35mm lens on a Super 35 film back reads to the model as a longer lens. The framing in the viewport and the render is still the one you set.
* **There is no film-gate overlay, lens shift or overscan.** The viewfinder shows the frame, not the sensor outline.
* **Aspect ratio is separate from focal length.** Switching from 35mm to 100mm doesn't change the gate. See [Aspect ratios and film gates](/compose/aspect-ratios-and-film-gates.md).

## Related

* [Shots](/compose/shots.md)
* [Aspect ratios and film gates](/compose/aspect-ratios-and-film-gates.md)
* [Camera controls](/compose/camera-controls.md)
* [Shot details](/compose/shot-details.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.intangible.ai/compose/lenses.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
