# Welcome to Intangible

Tool documentation for Intangible Studio. Build the set, compose the shot, render the result.

Build the set, compose the shot, render the result. Intangible turns ideas into shot-ready 3D scenes with AI that takes direction instead of guessing. The three modes below mirror how a creative team already works.

{% embed url="<https://www.youtube.com/watch?v=cEUR62621tk>" %}

## The three modes

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th></th></tr></thead><tbody><tr><td><a href="/pages/B7VGbu2CawYNuBaKmFoZ">/pages/B7VGbu2CawYNuBaKmFoZ</a></td><td>Create the scene. Upload CAD, references, characters. The model honors what you imported.</td></tr><tr><td><a href="/pages/sU7IIcXcB40drTqt74Rf">/pages/sU7IIcXcB40drTqt74Rf</a></td><td>Direct the shot. Place cameras, frame the moment. Spatial input the model can't override.</td></tr><tr><td><a href="/pages/at99Aa687tXsKbtb6JsB">/pages/at99Aa687tXsKbtb6JsB</a></td><td>Render the draft. The shot you composed, rendered in full and ready for client delivery.</td></tr></tbody></table>

## Start here

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th></th></tr></thead><tbody><tr><td><a href="/pages/3p0lL9CSPJxuk3RC1eRO">/pages/3p0lL9CSPJxuk3RC1eRO</a></td><td>Five minutes from sign-up to a finished shot. No upload needed – we'll start you with a scene.</td></tr><tr><td><a href="/pages/b3XcyyF7lIaWzF1q9iuG">/pages/b3XcyyF7lIaWzF1q9iuG</a></td><td>Build, Compose, Visualize. What each one does and why they sit in separate modes.</td></tr><tr><td><a href="/pages/qCaRmCYWAzGbxTlKnwL3">/pages/qCaRmCYWAzGbxTlKnwL3</a></td><td>Why a 3D scene plus a structured prompt beats text alone.</td></tr></tbody></table>

## Build the scene

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th></th></tr></thead><tbody><tr><td><a href="/pages/aN2Javl8dFdLVVSpVQXM">/pages/aN2Javl8dFdLVVSpVQXM</a></td><td>Attach a photo to a 3D object. The render comes back as the actual product, not a generic version. Object fidelity, in one step.</td></tr><tr><td><a href="/pages/Ru9Vqrw6W2gjibB6GHLL">/pages/Ru9Vqrw6W2gjibB6GHLL</a></td><td>Prompt for a city block, a tropical forest, a living room. The agent collects the objects and arranges them.</td></tr><tr><td><a href="/pages/ixGkIcEo4JgIi88b6PJP">/pages/ixGkIcEo4JgIi88b6PJP</a></td><td>FBX, OBJ, DXF, GLB. Bring your client's actual product with scale and orientation correct.</td></tr></tbody></table>

## Compose the shot

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th></th></tr></thead><tbody><tr><td><a href="/pages/OzghTRoeLl3GeDOeoz6y">/pages/OzghTRoeLl3GeDOeoz6y</a></td><td>Add, duplicate, reorder. Each shot saves its own camera, lens, aspect, and timeline.</td></tr><tr><td><a href="/pages/jwoZ0AYafPzZyuUe5i5g">/pages/jwoZ0AYafPzZyuUe5i5g</a></td><td>Free cam to find an angle, fine-tune to nail it. Plus game-controller support.</td></tr><tr><td><a href="/pages/dCQHa0kYQ6oCZ1WF6N4r">/pages/dCQHa0kYQ6oCZ1WF6N4r</a></td><td>Keyframe cameras, characters, and props per shot.</td></tr></tbody></table>

## Render and ship

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th></th></tr></thead><tbody><tr><td><a href="/pages/kULHN3VGsD1kxkvjkdh3">/pages/kULHN3VGsD1kxkvjkdh3</a></td><td>Every image and video model in the visualizer, with guidance on when to reach for each.</td></tr><tr><td><a href="/pages/VBA9cFzaeM6dosPPQ4Yx">/pages/VBA9cFzaeM6dosPPQ4Yx</a></td><td>Preloaded style looks – photoreal, illustration, storyboard – plus lighting presets for atmosphere and time of day.</td></tr><tr><td><a href="/pages/yvWrR1CSwCxNf7mvZZnl">/pages/yvWrR1CSwCxNf7mvZZnl</a></td><td>Bundle every shot in the sequence into one continuous file ready for client delivery.</td></tr></tbody></table>

## Run your team

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th></th></tr></thead><tbody><tr><td><a href="/pages/Zpls8ndkJI9ezCHnysx9">/pages/Zpls8ndkJI9ezCHnysx9</a></td><td>Personal versus team. What changes when you switch and which assets stay where.</td></tr><tr><td><a href="/pages/meTHkW1oQijULR5cBWyV">/pages/meTHkW1oQijULR5cBWyV</a></td><td>Free, Explorer, Business tiers, plus credit packs and payment options.</td></tr><tr><td><a href="/pages/4y4dB8maXDbjB3fbKcIK">/pages/4y4dB8maXDbjB3fbKcIK</a></td><td>Member versus owner. Who can edit, who can manage seats, who handles billing.</td></tr></tbody></table>

## Look it up

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th></th></tr></thead><tbody><tr><td><a href="/pages/58Ob6BSCWMajqZgPjNgL">/pages/58Ob6BSCWMajqZgPjNgL</a></td><td>Every shortcut, grouped by mode. The lookup table for fast keyboard work.</td></tr><tr><td><a href="/pages/bSJ2oqpF5pWX4d4UMRrS">/pages/bSJ2oqpF5pWX4d4UMRrS</a></td><td>Credits, plans, AI behavior, workflow. The top-of-inbox set with quick answers.</td></tr><tr><td><a href="/pages/6OXretEuHzZTvyKGpZ5M">/pages/6OXretEuHzZTvyKGpZ5M</a></td><td>What Intangible doesn't do today, plus the workaround we recommend for each gap.</td></tr></tbody></table>


# Get Started

The 20-minute path from a fresh account to your first render.

The 20-minute path from a fresh account to your first render. Every page here is one specific friction point: viewport navigation first, because your hands have to learn it before anything else works.

## In order

* [Sign up and set up](/overview/get-started/sign-up-and-set-up): account, plan choice, what your free credits cover.
* [Move the camera](/overview/get-started/viewport-navigation): orbit, pan, zoom, frame – the controls Blender and Unreal don't prepare you for.
* [The homepage](/overview/get-started/the-homepage): showcase templates, recent projects, credit counter.
* [Create your first project](/overview/get-started/create-your-first-project): new project, name it, understand scenes vs shots.
* [Place your first objects](/overview/get-started/place-your-first-objects): drag from the asset library, snap, swap, lock.
* [First render in 20 minutes](/overview/get-started/first-render-in-20-minutes): end-to-end – build a set, frame a shot, generate the image.

## Also worth a read

* [First Steps and onboarding](/overview/get-started/first-steps-and-onboarding): the in-app tour, where to find it later.
* [Help and feedback](/overview/get-started/help-and-feedback): how to reach us when something's wrong.


# Sign up and set up

Create an Intangible account, choose a plan, and understand what your free credits cover before you start your first project.

The fastest path from intangible.ai to an empty 3D scene. Two minutes, two decisions.

## Create the account

Go to [studio.intangible.ai](https://studio.intangible.ai). Sign up with Google or with email and password. Email accounts will get a verification link – click it, then you're back on the signup flow.

You'll be asked a short series of questions about your role and what you're working on. Answer honestly; the answers feed which showcase templates show up first on your homepage. None of them lock you into anything.

## Pick a plan

Four tiers are available:

* **Free** – enough credits to walk through the [first render](/overview/get-started/first-render-in-20-minutes) and try a few shots. No team seats. No Generate 3D Asset (requires Explorer or Business).
* **Explorer** – individual creator tier. More credits, watermark-free output, full Generate 3D Asset, no team seats.
* **Business** – multi-seat workspaces, full export options. Required for any team collaboration.
* **Enterprise** – custom-fit for teams at scale. Pricing and feature scope handled directly with the Intangible team via the **Contact Us** action.

If you're trying the product solo, Explorer is fine. If you know you'll be working with anyone else on the same project, you're going to need Business; start there to avoid the swap later. Plan details and current pricing live on [intangible.ai/pricing](https://www.intangible.ai/pricing).

{% hint style="info" %}
You can upgrade or downgrade at any time. Monthly credits don't accumulate across cycles, but whatever balance you have at downgrade is preserved into the new tier. Downgrades take effect at the next billing cycle.
{% endhint %}

## What your free credits cover

Credits are the underlying unit – every image render, video render, AI Composer prompt, and Generate 3D Asset call costs credits. The free tier gets you enough to:

* Generate \~30 image renders at 1K resolution
* Generate \~5 image-to-video renders at standard duration
* Run AI Composer prompts dozens of times for environment construction
* Walk through the [first-render-in-20-minutes](/overview/get-started/first-render-in-20-minutes) tutorial without running out

Past that, upgrade or buy a credit pack. Costs by action live in [Credits and tokens](/overview/concepts/credits-and-tokens).

## Land on the homepage

After signup you're dropped on the homepage. Showcase templates across the top, your projects below (empty for now), credit counter and Help button at the top right.

![Post-signup homepage with the Showcase templates section showing the Intangible team's starter templates (Cars in City, City Street, Jeep in Forest, etc.) plus the credit counter visible in the top-right](/files/QllIaK1iV5a0LJtZhmya)

Read [The homepage](/overview/get-started/the-homepage) for what each surface does, or jump straight to [Create your first project](/overview/get-started/create-your-first-project) if you'd rather start building.

## Related

* [The homepage](/overview/get-started/the-homepage)
* [Create your first project](/overview/get-started/create-your-first-project)
* [First render in 20 minutes](/overview/get-started/first-render-in-20-minutes)
* [Plans and billing](/teams-and-billing/plans-and-billing)


# First Steps and onboarding

The in-app First Steps tour, where to find it later, and how to skip it without losing the path.

A short in-app tour that fires the first time you sign in. If you skipped it or want to walk it again, this is where to find it.

![First Steps modal docked over the editor showing the "End to End Introduction to Intangible" embedded video, the "Welcome to Intangible Studio" headline, and a paginated set of step tiles for each major area of the product](/files/GJTkHtK3Gfi5zqIN0hXv)

## What it covers

The First Steps tour is a four-to-five-step walkthrough overlaid on the actual product. It surfaces the surfaces that matter most for new users:

1. Where the asset library lives.
2. How to switch modes.
3. Where the visualizer is.
4. How to reach Help & Feedback.
5. How to start a new project.

It does not teach – it points. The pointing is enough to give you a mental map; the rest of [Get Started](/overview/get-started) is the depth.

## How to launch it again

The tour fires automatically on first sign-in and can be re-triggered any time:

1. Click the help icon in the top-right of the homepage.
2. Pick **First Steps** from the dropdown.
3. The tour overlay reopens at step 1.

If you've already seen the tour but want a different new-user experience for a teammate, sign them in on their own account – the tour is per-account, not per-team.

## When to skip it

You can dismiss the tour at any step with the close button. Skipping is fine; nothing requires completion. If you came in from a Loom, a sales call, or an explicit walkthrough by someone on the team, the in-app tour is redundant – close it and head to [Make your first render](/overview/get-started/first-render-in-20-minutes).

## Guided tours

First Steps points at the geography. A guided tour walks you through it, building a real scene as it goes.

The tour on offer is **Cars in City**: six steps, and it pays 350 credits for finishing. It opens from the **Guided Tour** card on the homepage. On a new account that card is an offer, with **Take the tour** and **Skip for now**. Once you've started, it tracks how far through the steps you are and how many of the credits you've earned.

![The guided tour offered from the homepage, then running: the tour drives the editor while you follow along](/files/pvfrS9kAPT2IerPzB6DY)

It's on rails on purpose. Each step highlights the control you need and waits for you to use it, so you learn the editor by operating it rather than by watching a video of someone else operating it. The tour runs against its own project (it appears in your project list as **Your Guided Tour Project**), so nothing you do inside it touches your real work.

Two things worth knowing before you start:

* **Nothing in the tour costs you anything.** The demonstration steps are throwaway, and the practice steps run sandboxed. The Generate step in particular is a stand-in: it spends no credits and produces no render.
* **Leaving doesn't cost you progress.** Steps set up their own starting conditions when you enter them, so you can quit partway through, come back later, and resume without the scene being in the wrong state. Replaying a step you've already done works the same way.

Once you've finished a tour it moves into the completed list, where you can replay it. Dismissing the tour prompt sticks, across tabs and across sessions on the same machine.

{% hint style="info" %}
Take the tour on a real workday rather than while evaluating. Six steps is roughly the shape of an actual shot, so the muscle memory transfers directly to the first project you build for yourself.
{% endhint %}

## What it doesn't cover

The tour gives you the geography. It does not cover the conceptual foundations that make the docs and the product readable. Read these next:

* [The three modes](/overview/concepts/the-three-modes): Build, Compose, Visualize as discrete states.
* [Projects and scenes](/overview/concepts/projects-and-scenes): how the structure nests.
* [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks): why the model is given a 3D scene, not just text.

## Related

* [Sign up and set up](/overview/get-started/sign-up-and-set-up)
* [Help and feedback](/overview/get-started/help-and-feedback)
* [First render in 20 minutes](/overview/get-started/first-render-in-20-minutes)


# The homepage

What every surface on the Intangible homepage does – showcase templates, recent projects, credit counter, settings.

The screen you land on after signing in. Top to bottom: a prompt to start a project, your recent projects, tutorials, and the showcase templates. Workspace and team navigation sit in the upper-left; settings, notifications, credits, and help sit in the upper-right.

## Watch

{% embed url="<https://www.youtube.com/watch?v=cEUR62621tk>" %}

![Intangible Studio homepage with the "What do you want to create today?" prompt, Image-to-3D-scene and Generate-scene actions, and the Recent projects gallery below](/files/j7YD12H9HV4TzSxwi71B)

![Showcase templates section on the homepage – a six-card grid of the Intangible team's starter projects (Cars in City, City Street, Jeep in Forest, Bronco on Highway, Electronics, Robot Delivery) with an Explore More button on the right](/files/QllIaK1iV5a0LJtZhmya)

## What's on the screen

### Upper-left: workspace

* **Workspace dropdown** – switches between your personal workspace and any teams you belong to. Your projects change when you switch. Workspaces are described in [Workspaces](/teams-and-billing/workspaces). Team Admin sits in the bottom-left.

### Upper-right: settings, notifications, credits, help

* **Profile and settings** – language, graphics quality, dark mode, account email. See [Account](/overview/reference/account).
* **Notifications** – team invites sent and accepted. See [Notifications](/overview/reference/notifications).
* **Credit counter** – your remaining credits for the current cycle. Click for breakdown by action type.
* **Help & feedback** – direct line to the team plus links into these docs. See [Help and feedback](/overview/get-started/help-and-feedback).

### Start a project

* **New Project** – opens an empty 3D scene. On a fresh account it's the blue button in the center of the screen; once you have projects it sits toward the top-right. Either way it's the thing you came here for.
* **The create prompt** – the "What do you want to create today?" box at the top starts a project from a text description or a reference image, instead of from an empty scene.

### Your projects

Below the prompt, your projects are sorted by most recently modified. Each card shows the project thumbnail, name, last-edited time, and a More menu (rename, duplicate, delete, transfer ownership).

The **View all projects** card at the end opens the full grid – useful once you have more than ten projects and the front row stops covering everything.

### Guided Tour

Above the tutorials sits the **Guided Tour** card. It starts the Cars in City tour, an on-rails walkthrough that teaches the editor by building a scene, and it shows your progress through the steps and the credits earned so far. See [First Steps and onboarding](/overview/get-started/first-steps-and-onboarding#guided-tours).

### Tutorials and showcase templates

Below your projects sit the tutorials, and at the bottom of the page the showcase templates: pre-built scenes the Intangible team assembled to demonstrate specific workflows. Click one to open a copy in a new project; you keep the original untouched.

The homepage shows the first six templates. The **Explore More** action opens the full Templates page at `studio.intangible.ai/templates` – a larger grid organized by industry (Planes & Drones, Sports Stadium, Interior Staging, Conference, Wedding, Trade Show, Concert Venue, Pirate Ship, etc.). Each card has a hero image, title, and short description.

![The full Templates page (/templates) showing a multi-column grid of templates with industry-aligned hero images and descriptions](/files/Rvsfyg6ymiDEEZ37sh9a)

Reach for a template when you want to see a finished project's structure or a starting point to riff against. Otherwise, hit New Project.

## Searching

There's no global search on the homepage today. Use the workspace dropdown to narrow to a team, then scroll. If the project grid feels unmanageable, that's a signal to organize – delete dead drafts and rename anything still called "Untitled".

## Related

* [Sign up and set up](/overview/get-started/sign-up-and-set-up)
* [Create your first project](/overview/get-started/create-your-first-project)
* [Account](/overview/reference/account)
* [Workspaces](/teams-and-billing/workspaces)


# Create your first project

Open a new Intangible project, name it, and understand the scene-and-shot structure before you drop your first object.

Two clicks from the homepage to an empty 3D scene with a name you'll actually find later. Before you start building, internalize the scene-and-shot model – it'll save backtracking after the first render.

![A new Untitled project in Build mode with the empty 3D grid visible and the mode switcher centered above the viewport](/files/zLAOw1bp0gjl2KG3DIlo)

## How to do it

1. **Click New Project.** Middle-right of the homepage. The viewport opens with an empty scene named "Untitled".
2. **Rename the project.** Click the project title at the top-left. Type the actual name. The visualizer's auto-prompt later reads project and scene names – "Lambo commercial" feeds the model better than "Untitled-7".
3. **Confirm the starting scene.** Below the project title is the scenes dropdown, with one scene also called "Untitled". Click it, rename to something descriptive ("Manhattan street", "Garage interior"). You can add more scenes later for additional locations.
4. **Set the environment.** Click the **Edit Scene Details** button on the left side of Build mode to open the panel – it's not visible by default, so you need to click it open. Inside: use the Time slider to set the time of day (morning, golden hour, midnight, etc.). Toggle Location to set a geographic position. Toggle Fog if you want depth haze. Toggle Terrain (Show grid) to show or hide the ground grid.
5. **You're ready to build.** Switch to Build mode in the top-center toolbar (it's the default for new projects). The asset library is accessible from the bottom of the screen – click the Asset Library button (the blue button in the toolbar) to open the drawer. See [Place your first objects](/overview/get-started/place-your-first-objects) for what to do next.

## Project naming hygiene

This is small but real:

* Don't leave projects called "Untitled". The homepage grid sorts by modified date but identifies by name; you'll lose track within a week.
* Rename scenes the same way. Scenes drop into the auto-prompt; meaningful names produce meaningful prompts.
* Use descriptive names with the client or the brief baked in. "Lambo commercial – establishing pass" beats "Project 4".

{% hint style="info" %}
The auto-prompt reads scene names directly. A scene named "Manhattan city street at midnight" produces a different prompt than one named "scene-2". You're not just naming for yourself – you're naming for the model.
{% endhint %}

## Scenes vs shots

Two different concepts, important to keep straight before you start. The short version:

* **Scenes** are spatial. Different sets, different locations. A commercial with three locations is one project with three scenes.
* **Shots** are temporal. Different camera framings and times within a scene. A scene can have a dozen shots.

Animation lives on the scene timeline, not in Build mode. Move an object in Build mode and the move is permanent – it applies everywhere. Move an object in Compose mode (with a shot active) and the move is recorded as a keyframe on the scene timeline. See [Animation and shot time](/overview/concepts/animation-and-shot-time) for why this matters.

## Common mistakes

* **Working in the homepage's "showcase template" copy without realizing it.** Templates open as a new project named after the template. Rename it before you commit time, or you'll have three projects named "Pirate Scene".
* **Adding many scenes before naming any.** Easier to name them as you create them than to rename a stack of "Untitled" scenes later.
* **Forgetting to switch modes.** New projects open in Build mode by default. The tell: if you've moved an object to position it but it ends up in a different spot when you switch to another shot, that move was made in Compose mode and recorded against a specific shot instead of setting the object's permanent position. Build mode is where permanent placements live.

## Related

* [The homepage](/overview/get-started/the-homepage)
* [Place your first objects](/overview/get-started/place-your-first-objects)
* [Projects and scenes](/overview/concepts/projects-and-scenes)
* [The three modes](/overview/concepts/the-three-modes)
* [Animation and shot time](/overview/concepts/animation-and-shot-time)


# Place your first objects

Drag objects from the asset library, place them on the ground, swap, snap, and lock so they stop drifting on you.

Object placement is where most users hit their first wall: things spawn somewhere unexpected, scale to zero and become unselectable, or disappear into a scene with no obvious way to find them. This page covers all three.

![Build mode with the asset library expanded along the bottom, My Assets category active, ready to drag a chair or other prop into the empty scene](/files/fdiS1XZeIJNKlzV87sAW)

## What's getting in the way

Three problems account for most of the early friction: objects appear in unexpected places, aligning them is fiddly, and scaling one to zero makes it unselectable and hard to delete. The steps below cover all three.

## How to do it

{% stepper %}
{% step %}

### Open the asset library

The library isn't open by default. In Build mode, click **Add an Asset** to bring it up along the bottom of the screen; click away into the scene to dismiss it. Categories tab across the top: Characters, Furnishings, Mannequins, My Assets, Objects, Populators, Primitives, Roads, Sets, Vehicles.
{% endstep %}

{% step %}

### Drag the asset into the viewport

Click and drag a thumbnail. The library auto-minimizes the moment you start dragging so you can see the 3D scene. The asset lands at the cursor's projected ground point. Hold `Ctrl` while dragging to snap the asset onto another surface you're hovering over instead of the ground.
{% endstep %}

{% step %}

### Let go, then select the object

Release the asset, then click it in the viewport. The contextual menu opens above it with the swap, color, transform, details, and more-options controls. The default handle is a simplified smart gizmo; for the classic move gizmo with axis arrows, click the transform control in the menu. `Tab` toggles the gizmo type, and `T` switches between World and Local space.
{% endstep %}

{% step %}

### Adjust the position

Drag the gizmo arrows for axis-locked movement, the small squares between arrows for plane movement, the elevation handle for vertical lift. Local space moves the object along its own axes; World space along the scene's. For precise placement, type values into the contextual menu's transform panel directly.
{% endstep %}

{% step %}

### Lock it once it's right

Click the lock icon in the contextual menu's more-options. A locked object can't be hovered, selected, or moved in the viewport until you unlock it, though its row in the [Scene Outliner](/build/scene-outliner) stays selectable. Lock the terrain and any large [populator](/build/populators) backbone before you start adding props on top of them; you'll stop dragging the world by accident, and props still snap onto a locked surface normally.
{% endstep %}
{% endstepper %}

## Avoiding the most common mistakes

{% hint style="warning" %}
**Don't scale all three axes to zero.** It makes the object unselectable from the viewport and unreachable from the gizmo. Recover via the [Scene Outliner](/build/scene-outliner): find the object by name, right-click, reset transforms.
{% endhint %}

{% hint style="warning" %}
**Don't lose objects off-screen.** Smart snapping plus a fast drag occasionally launches an object outside the viewport. Open the [Scene Outliner](/build/scene-outliner), select the row, press `F` to frame.
{% endhint %}

## Swapping models

If the chair you dragged in isn't quite the chair you wanted, click the object and pick the **swap-model** icon – the leftmost icon in the contextual menu. The library reopens in swap mode and only shows alternatives the system recognizes as the same concept (chairs, in this case). One click to swap; the new asset inherits the original's position and rotation.

## Selecting multiple objects

The default click is single-selection. To select a group:

1. Click the **marquee** icon in the toolbar at the bottom of the screen, next to the asset-library icon.
2. Drag a selection box across the viewport.
3. Apply a transform, swap, or [save-as-set](/build/sets) to the whole selection.
4. The marquee toggles off after one use; click again to re-engage.

## Related

* [Asset library](/build/asset-library)
* [Working with objects](/build/working-with-objects)
* [Transform](/build/transform)
* [Scene Outliner](/build/scene-outliner)
* [Sets](/build/sets)


# Move the camera

Orbit, pan, zoom, frame – operate a 3D scene like a cinematographer.

After this you'll be moving the camera around the scene like you've worked in 3D before. The viewport is where you'll spend most of your time, and the controls are not what your hands are going to guess if you came from Blender, Maya, or Unreal. Sort it out now and the rest of Build mode falls into place.

![Empty Compose-mode shot with the orbit / pan / zoom gesture overlay visible as dotted arcs during the drag motion](/files/neWNV5tsQJu8cES6Cov6)

## What's getting in the way

The mental model trips people first. Your 3D viewport is not a camera – it's the space you move yourself around in to build. The **shot cameras** you place later in Compose mode are the ones that get rendered; you snap in and out of those. Moving around in Build mode is just repositioning your own view of the scene, not setting up a shot.

The controls lean on cinematographer verbs rather than a DCC's mouse conventions: you orbit, pan, dolly, strafe, and boom. Once that clicks, the rest of Build mode falls into place.

Direct quote from the user-testing notes that captures the early friction: *"Moving the camera felt like a chore."* It stops feeling that way once the bindings below are in your hands.

## How to do it

For the scene camera in Build mode:

1. **Orbit.** Left-click and drag.
2. **Pan.** Hold `Shift` and left-click-drag.
3. **Dolly in and out.** Scroll the wheel, or use `W` / `S` (the up / down arrows do the same).
4. **Strafe and boom.** `A` / `D` strafe the camera left and right; `Q` / `E` boom it up and down.
5. **Frame an object.** Click the object, then press `F`. The camera moves to fill the frame with it. Use this any time you've drifted off and lost the scene.

For larger sets – a city populator, a tropical-forest populator, anywhere you're navigating across hundreds of meters – speed the camera up with the `,` and `.` keys. The default speed is tuned for a single set the size of a living room and feels slow on bigger environments.

The full binding list lives in [Keyboard shortcuts](/overview/reference/keyboard-shortcuts), or open the in-app shortcuts panel from the help icon in the top-right.

## Common mistakes

* **Reaching for another DCC's bindings.** If orbit isn't responding, you're probably right-click-dragging out of Blender habit – orbit is a plain left-click-drag here. Pan is `Shift` + left-click-drag.
* **Fighting a slow camera on a big set.** The camera feels syrupy across a large environment until you bump the speed with `,` and `.`.

## Related

* [The three modes](/overview/concepts/the-three-modes)
* [Compose mode camera controls](/compose/camera-controls)
* [Keyboard shortcuts](/overview/reference/keyboard-shortcuts)
* [Working with objects](/build/working-with-objects) – the next step once you can move the camera.
* [Selection and grouping](/build/selection-and-grouping) – multi-select once you have things to select.
* [Build mode](/build/build) – the section landing page for the rest of the art-department workflow.


# Make your first render

Build a small set, frame a shot, generate an image. Around 30 minutes from a fresh project to a render.

Build a small set, frame a shot, generate an image. Around 30 minutes from a fresh project to something you could show a client. Working through this once gives you the shape of the whole product.

## Watch

<https://www.youtube.com/watch?v=x\\_glYD5b8jw>

![A finished render: yellow Lamborghini on a wet Manhattan street at night, the canonical hero output of the first-render walkthrough](/files/hM1HlspfmwRKC488I3Kh)

## What you'll have at the end

A project with one scene, one shot, and one rendered image of a Lamborghini on a city street at night. Not finished work, but enough that you understand the Build → Compose → Visualize loop and have a frame to riff against.

## Before you start

Sign in. Create a new project from the homepage. Give it a name (don't leave it Untitled – the auto-prompt uses project and scene names later). The empty 3D scene that opens is your starting state.

The rest of this page assumes you can orbit, pan, and frame without thinking about it. Quick recap: **Option/Alt + drag** to orbit, **Shift + drag** to pan, **F** with an object selected to frame it. If any of that feels unfamiliar, spend five minutes on [Viewport navigation](/overview/get-started/viewport-navigation) first.

## Build the scene

Switch to **Build** mode in the top-center toolbar (it's the default for new projects). The asset library is along the bottom of the screen.

1. **Add a road.** Open the asset library. Type "city street" or "asphalt" in the search. Drag a long road segment into the viewport. It lands flat on the ground plane.
2. **Add buildings.** Search "building" or browse the Architecture category. Drop two or three buildings on either side of the road. Don't worry about exact placement; AI Composer can clean it up later.
3. **Faster: prompt for a city block.** AI Composer's prompt input runs full-width across the bottom of the Build-mode viewport. Type *"create a quiet Manhattan city street at midnight with skyscrapers"*. Hit enter. Wait. The agent returns a populator with road, buildings, sidewalks, lamp posts. The Chat History panel on the right shows the agent's response. Adjust the populator's footprint if needed.
4. **Add the hero.** Search **"car"** or **"supercar"** in the asset library (searching "Lamborghini" returns no results). Drag one in and place it center-frame on the road.
5. **Name the hero.** With the car selected, open the contextual menu → Details. Set the Name to **Lamborghini**. This name is what the auto-prompt reads when it builds the Subjects block in Visualize – without a specific name, the model can't identify it as the hero.
6. **Add an image reference.** Still in Details → Image reference. Upload a photo of the actual Lamborghini Revuelto (or whatever car you have). The visualizer uses it to lock in the surface.
7. **Set the time of day.** Click the **Edit Scene Details** button on the left side of Build mode to open the panel. Use the Time slider to set midnight (or late evening). The scene goes dark; the building masses still read as silhouettes.

You now have a usable set. About six minutes in.

## Compose the shot

Switch to **Compose** mode.

1. **Add a shot.** Click **Add Shot** in the toolbar. The current viewport framing becomes Shot 1.
2. **Get into a low angle.** Click the free-cam icon in the bottom-left of the Compose viewport to enter free-cam mode. Drag to drop the camera near street level. Then select the Lamborghini in the scene outliner and press `F` to frame it – when you first add a shot, the camera may not be pointing at the hero at all, so selecting it in the outliner first ensures F frames the right target. The picture-in-picture in the top-left shows where you are in the world.
3. **Set the lens.** Open the shot details panel in the toolbar at the bottom of the Compose viewport. Choose a 35mm. Wider feels more dramatic for an automotive hero shot.
4. **Set the aspect ratio.** Same toolbar, switch to 2.39:1 cinematic.
5. **Name the shot.** Click the shot name in the details panel and rename it "Lambo hero, low angle, midnight". The visualizer reads this string when it builds the prompt.

Eleven or twelve minutes in.

## Visualize the render

Switch to **Visualize** mode.

1. **Read the auto-prompt.** The right panel shows the Scene tab with three blocks: \[Scene Context], \[Environment & Props], \[Subjects]. The Lamborghini should be in the Subjects block. If it's not, check two things: the object name (step 5 in Build – without a name like "Lamborghini" the auto-prompt can't surface it) and the image reference (step 6 in Build).
2. **Pick a model.** The top-right of the panel has the model dropdown. Pick one – see [Models](/visualize/ai-models) for when to reach for which.
3. **Pick the resolution.** 1K is a credit-cheap way to see if the framing is right. Use 2K only when you're committing to the look.
4. **Add a style preset.** Click the Style tab. Pick **Photograph** for a photoreal treatment or **Storyboard Concept** for a sketch look – see [Style presets](/visualize/style-presets) for the current set. The Style block fills with descriptive text the model uses for surface treatment. Note: the available style options can differ by model; the picker shows what the active model supports.
5. **Add a lighting preset.** Click the Lighting tab and pick a preset – the picker carries a wide library of named atmospheres, from dramatic to moody (see [Lighting presets](/visualize/lighting-presets)). The Lighting block fills accordingly.
6. **Generate Image.** Click the green button at the bottom of the panel. The job runs; the result lands in the sidebar gallery on the right of the viewport.

If the render is wrong: don't immediately regenerate.

* Wrong composition? The fix is in Compose mode – move the camera, change the lens.
* Wrong subject? The fix is in Build – better image reference, more specific name on the object.
* Wrong style or mood? Swap the preset; that's what they're for.
* Stubborn extra object that won't go away (the famous "extra cop car" problem)? Use the [Edit images](/visualize/edit-images) pencil tool to paint it out directly within Intangible. Or download the render and upload it as a start frame via [First and last frame](/visualize/first-and-last-frame).

If the render is right: download it, favorite it, move on. Add another shot in Compose. Render that. The loop is the same.

Around 30 minutes, give or take.

## What's next

* [Image reference](/overview/concepts/image-reference): the technique most directly responsible for consistent character and product rendering.
* [The three modes](/overview/concepts/the-three-modes): the mental model that makes everything else readable.
* [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks): why the model is given a 3D scene and not just a paragraph.
* [Sets](/build/sets): save the city block you just built for the next project.


# Help and feedback

How to reach the Intangible team when something is wrong, and where the same flow lives inside a project.

The fastest way to reach a human at Intangible. Two surfaces – one on the homepage, one inside any project – that route to the same team.

![Help menu open from the top-right help icon, showing First Steps, Keyboard Shortcuts, Updates, then Help Docs and Report an Issue below a divider](/files/mY6smpl3fhj7fLxGLnIR)

## How to reach us

The help icon (question mark) lives in the top-right toolbar of every Intangible page – homepage, project editor, settings. Click it to open the help dropdown.

### What's in the menu

| Item                   | What it does                                                                                                            |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| **First Steps**        | Relaunches the guided onboarding tour. Useful when a teammate joins and you want to walk them through the basics again. |
| **Keyboard Shortcuts** | Opens the in-app shortcuts panel. Mirrors [Keyboard shortcuts](/overview/reference/keyboard-shortcuts).                 |
| **Updates**            | Opens `studio.intangible.ai/updates`, the public release notes.                                                         |
| **Help Docs**          | This documentation site.                                                                                                |
| **Report an Issue**    | Send a bug report directly to the support queue. Auto-attaches project context.                                         |

The help menu is the canonical place to start. From inside a project the same menu is available, with the advantage that **Report an Issue** auto-attaches the project ID and last-render context.

Feature requests and general feedback go through the same Report an Issue panel, tagged accordingly, rather than through their own menu entries. For peer conversation, the Intangible Discord is linked from [intangible.ai](https://www.intangible.ai).

### Release notes

**Updates** opens the public release notes. Each entry has its own anchor, so a specific change can be linked directly rather than pointing someone at the whole page and asking them to scroll: `studio.intangible.ai/updates#dark-mode` lands on that entry.

## Report an issue

Report an issue (from the help menu, or the bug icon directly in the top-right toolbar) opens a structured report panel:

![Report an Issue panel docked on the right side of the editor with a "Hey, found a bug?" greeting, a "What went wrong?" textarea, and two action buttons: Mark the bug and Record screen](/files/MMsR6yjzefDp1v3xdHjj)

Two actions support what you describe in the text field:

* **Mark the bug** lets you click directly on the part of the UI that's broken so the report carries an annotated screenshot of the exact element.
* **Record screen** captures a short video of the issue. Useful when the problem only shows up in a sequence of actions.

The bug icon in the top-right toolbar is a shortcut to the same panel – you don't have to open the help menu first.

## Messages

The chat-bubble icon next to the help icon opens **Messages**, a real-time support thread with the Intangible team:

![Messages panel open from the chat-bubble icon, showing recent message threads with team members, plus a "Send us a message" action and Home / Messages / Help / News tabs at the bottom](/files/E7VmGOuwVW5OrcgiyRvQ)

Use Messages for general support conversation, follow-ups on a previous thread, or quick clarification questions. Use **Report an issue** for structured bug reports where the team needs to reproduce.

## What gets a fast response

Specific reproduction steps and recent context. The team can chase a vague "the visualizer didn't render right" report, but it takes a day; *"In project Lambo Commercial, scene Manhattan Street, shot 3, Nano Banana Pro at 2K – the cop car keeps showing up despite the negative-prompt edit"* takes ten minutes.

What helps:

* The project name and a link if the project is shared
* The exact scene and shot
* The model and resolution
* A screenshot of the unexpected behavior
* What you expected to see instead

What doesn't help:

* "It's broken"
* "The AI is wrong"
* A description of the entire week's work

## Reporting a bug

Same form. Pick the **Bug** tag in the subject. The form auto-uploads a recent renders log so we can correlate against logs on our side.

## Suggesting a feature

Same form again. Pick **Feature request**. We read every one. We don't ship every one.

## Related

* [First Steps and onboarding](/overview/get-started/first-steps-and-onboarding)
* [FAQ](/overview/faq)
* [Common questions](/overview/faq/common-questions)


# Concepts

The Intangible-specific abstractions every other docs page assumes you know.

The Intangible-specific abstractions that the rest of the docs assume you know. Read these once and the feature pages get a lot shorter.

## Start here

* [Projects and scenes](/overview/concepts/projects-and-scenes): how a project is structured – scenes as locations, shots as time.
* [The three modes](/overview/concepts/the-three-modes): Build, Compose, Visualize – what each owns and why they're separated.
* [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks): semantic 3D, the multi-agent system, why prompts get built from the scene.

## Building blocks

* [Populators](/overview/concepts/populators): the procedural environment generators – Houdini for normal people.
* [Image reference](/overview/concepts/image-reference): how a reference image attached to an object reaches the model.
* [Animation and shot time](/overview/concepts/animation-and-shot-time): why animated movement belongs to a shot, not to a scene.

## Cost

* [Credits and tokens](/overview/concepts/credits-and-tokens): what every action costs and how to read the counter.


# Controlling AI output

How Intangible's three modes give you real control over AI output – scene fidelity in Build, framing in Compose, model choice in Visualize.

Prompt-only generation gives you powerful output and no control surface: a character that drifts between shots, a composition you can't pin down, a client's product the model keeps re-interpreting. The render that comes back is someone else's idea of the brief.

Intangible's three modes are the control surface. Each mode is one lever.

* **Build locks the scene.** Objects, props, time of day, imported CAD, brand-true reference images. Everything that belongs in the shot, you place. The model honors what you brought.
* **Compose frames the moment.** Camera position, lens, aspect, aim target. Spatial decisions the model can't override.
* **Visualize picks the model.** Photoreal, stylized, video with first-and-last-frame interpolation. The auto-prompt is editable; the scene grounds it.

A render you can put your name on isn't a single prompt. It's three locked decisions.

## Which lever for which problem

The most common control failures with prompt-only tools, and where Intangible solves each:

| What you're trying to control                       | The right lever                               | Where to start                                                            |
| --------------------------------------------------- | --------------------------------------------- | ------------------------------------------------------------------------- |
| Same character or product across every shot         | Build (Image Reference)                       | [Image reference](/overview/concepts/image-reference)                     |
| Specific framing, lens, aspect ratio                | Compose                                       | [Camera controls](/compose/camera-controls), [Lenses](/compose/lenses)    |
| Photoreal vs stylized look                          | Visualize (model picker)                      | [Models](/visualize/ai-models)                                            |
| Lighting and time of day                            | Build (Sky) plus Visualize (Lighting Presets) | [Lighting presets](/visualize/lighting-presets)                           |
| Brand-specific style across the project             | Visualize (Custom Styles)                     | [Custom styles](/visualize/custom-styles)                                 |
| Specific 3D geometry the asset library doesn't have | Build (Smart Import or Generate 3D)           | [Generate 3D Asset](/build/generate-3d-asset)                             |
| A character or product the model has never seen     | Build (LoRAs)                                 | [LoRAs](/build/loras)                                                     |
| Reference image being ignored / livery not showing  | Build (use a generic object name)             | [Image reference](/overview/concepts/image-reference#what-overrides-what) |

## Why this works when prompting alone doesn't

Pure prompt tools render from text. Text is lossy. "A red sports car on a wet street at dusk" generates a plausible red sports car, not the 2024 Bronco the client briefed. The model fills in what it doesn't know, and the gaps drift between renders.

The one exception to "the fix isn't in the prompt": a too-specific object name *is* a prompt problem. The object's name flows into the final prompt, and a name like "Gulfstream G550" makes the model imagine its own version and override the reference image you attached. Keep names generic ("private jet") so the reference wins. The full precedence – geometry, then image reference, then the prompt – is in [Image reference](/overview/concepts/image-reference#what-overrides-what).

Intangible passes the AI model a structured 3D scene plus a prompt. The geometry, the placement, the bound reference images, and the camera framing are all there as structured input. The prompt is one piece, not the whole brief. See [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks) for the technical version.

The practical version: every Intangible page below is one of the levers. When a render comes back wrong, the fix is almost never in the prompt.

## Where to go next

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th></th></tr></thead><tbody><tr><td><a href="/pages/aN2Javl8dFdLVVSpVQXM">/pages/aN2Javl8dFdLVVSpVQXM</a></td><td>The single most-used technique for keeping a character or product consistent across shots.</td></tr><tr><td><a href="/pages/b3XcyyF7lIaWzF1q9iuG">/pages/b3XcyyF7lIaWzF1q9iuG</a></td><td>How Build, Compose, and Visualize map to a real production pipeline.</td></tr><tr><td><a href="/pages/qCaRmCYWAzGbxTlKnwL3">/pages/qCaRmCYWAzGbxTlKnwL3</a></td><td>Why structured 3D plus prompt beats prompt alone.</td></tr></tbody></table>


# Image reference

The single biggest lever for professional fidelity. Bind a reference image to a 3D object and the visualizer locks the rendered look across every shot – the same character, vehicle, or product, consis

**The most important step a user takes for brand-true, professionally controlled output.**

## What is an image reference?

An image reference in Intangible is a photograph attached to a specific 3D object in your scene. The visualizer locks the rendered appearance of that object to the photograph at render time, so the rendered output is the actual thing in the picture rather than the model's generic interpretation. For agency work this is non-negotiable: a 2024 Bronco needs to render as a 2024 Bronco, a Lululemon storefront as a Lululemon storefront, an iPhone-and-not-a-generic-phone as the SKU you're advertising.

If you take one workflow away from these docs, take this one.

![A greyboxed Adirondack chair in Build mode before any reference image is attached, sitting on a clean studio grid](/files/Mp93QUVh2HXf1iVh4UL6)

## Image Reference vs LoRA vs Custom Style

Three different ways to lock visual consistency in Intangible. They serve different jobs.

|                        | Image Reference                      | LoRA                                                             | Custom Style                            |
| ---------------------- | ------------------------------------ | ---------------------------------------------------------------- | --------------------------------------- |
| Scope                  | One specific object                  | One object, model-level bias                                     | Whole render, every shot                |
| Controls               | What this object looks like          | A learned style or character bias                                | Project-wide brand treatment            |
| Setup                  | Drop in a photo                      | Train or download `.safetensors` or `.pt`                        | Upload references in Visualize, save    |
| Best for               | Brand-true product, hero with photos | Illustrator style, internal aesthetic, characters without photos | Brand- or campaign-wide look            |
| Cross-shot consistency | Yes, automatic                       | Varies with training                                             | Yes, automatic                          |
| Plan requirement       | All plans                            | All plans                                                        | All plans                               |
| Reach first when       | Almost always start here             | Can't capture the look in a single photo                         | The style is bigger than any one object |

For most agency briefs, Image Reference is the first reach. The other two layer on top when the job needs them. See [LoRAs](/build/loras) and [Custom styles](/visualize/custom-styles) for the deeper coverage.

## Why this is the headline lever

A diffusion model handed a text description of a chair generates *a* chair. A diffusion model handed an image of the actual rattan-and-teak chair the agency is pitching renders *that* chair. The first is sometimes useful, the second is always.

Reference images are how you give the model the visual truth of a specific object on a per-object basis. Three production cases this unlocks:

* **Branded assets and products with custom geometry.** Logos, store fronts, uniquely shaped products, deeptech hardware – anything the model can't be expected to know without a picture. The reference image is what closes the gap from "looks like the brief" to "is the brief".
* **Cross-shot character consistency.** A hero with a reference image renders the same face, costume, and silhouette across every shot in the project. Without reference, the model treats each generation as independent and the character drifts.
* **CAD plus hero photo.** Bring the client's actual CAD as the 3D mass via [Smart Import](/build/import-your-own-models). Attach a hero photograph as the image reference. The model gets both: structural truth from the mesh, surface truth from the photo.

## Three ways to get one onto an object

### 1. Through the Object Details panel (manual)

Select the object in the viewport. The Details panel docks on the left side of Build mode. Scroll to the **Reference images** section and click **Upload** or **Add from Media Library**. JPEG and PNG accepted. Quality beats quantity: one excellent image of the most important or most bespoke component does more for the render than a dozen mediocre angles. The models also have practical ceilings on how many references they weigh – GPT Image handles around 20, while Nano Banana taps out around 8–12.

![Object Details panel docked on the left after a reference image has been attached. The Reference images section shows the attached image's thumbnail beside the object's name and description fields](/files/MBWgam18j9tyXYaAjrKt)

### 2. Through the AI Composer (conversational)

The fastest path. Type a sentence into the AI Composer prompt input at the bottom of Build mode:

> Attach this as a reference image to the chair: \<image URL>

The composer finds the matching object in the scene and attaches the reference. The Build-mode viewport doesn't preview the reference itself – the object stays greyboxed, picking up a base color at most. The reference resolves at render time, in Visualize. The chat confirms the attach so you know it landed.

![AI Composer Chat History on the right showing the user prompt "Attach this as a reference image to the chair: \<URL>" and the AI's response acknowledging the chair entity, with the chair still greyboxed](/files/xoLJK5982Pvyz9bny4wr)

![The same scene a moment later: the chair shows a base green color in the viewport, and the AI Composer chat confirms "The reference image has been attached to the Adirondack Chair in your scene". The viewport shows the color, not the rendered reference, which resolves at render time](/files/zpGdNPHWdTYM9j5IyBrc)

The conversational path is the right reach for any object you can describe ("the red couch", "the lamborghini") or any object you've selected before typing.

### 3. Generate one in Studio

When the object is invented rather than real, there's nothing to photograph and nothing in the client's brand folder to pull from. Rather than build a reference sheet in an external tool and upload it, generate it in place.

Select the element, then click **Generate** in the Reference images row of the Details panel. The **Generate Reference Sheet** dialog opens with a single **Prompt** field, asking you to *describe the character or subject for the reference sheet*. There's no model picker and no settings, because the job is narrow: describe the thing, get a reference sheet back.

Write what the thing is, plainly. "the US space shuttle" and "a green tiled kitchen island" are both the right shape of prompt: they name the subject and leave the rest alone.

![Generating a reference image from a prompt and attaching it to the selected object](/files/99KdrTSCQT5JzCW1Y95l)

Describe whatever the object needs to look like. It doesn't have to be a character or a turnaround sheet: "a green tiled kitchen island" is a perfectly good prompt, and what comes back is an image of that.

A **Reference image generated** toast confirms it, and the result attaches to the selected element immediately. It also lands in the team media library marked **Generated** and keeps the prompt that produced it, so a teammate can see where it came from and generate a variant from the same starting point.

Generating costs credits, the same as any other generation. See [Credits and tokens](/overview/concepts/credits-and-tokens).

{% hint style="info" %}
Describe the thing, not a mood. "Orange tree" is thin enough that the model fills the gaps for you. "Orange tree, mature, heavy fruit load, gnarled trunk" gets you the tree you meant. The same specificity that makes a good prompt anywhere else applies here.
{% endhint %}

Generated references are ordinary references once they land. Everything below about what attaches do, what overrides what, and how many to attach applies to them unchanged.

## References on a group or a set

A reference doesn't have to attach to a single object. Attach one to a **group** or a **set** and it anchors the whole collection to a subject and a style: *make this room, object, or collection look and feel like this*.

![Attaching a reference image to a grouped set, then rendering: the generated image picks up the direction from the reference](/files/FRH4l4BetWbX8k9FgpMb)

The reference stays attached through the work. Save the group as a set, copy it, paste it, or reuse it in another project later, and the style direction travels with it rather than being something you re-explain each time.

Reach for a group reference when:

* **The look belongs to the collection, not the object.** A material language or visual mood covering a whole set piece, rather than one chair in it.
* **A reusable set has to stay consistent across projects.** The reference is part of the set, so it arrives with it.
* **The style is easier to show than to describe.** Attaching an image beats rewriting the same paragraph of prompt on every render.

Reference sheets are built per group *and* per entity, so a set can carry its overall direction while individual objects inside it keep their own specifics.

A worked example: attach a reference image to a dining-room set, then generate. The visual direction is baked into the set instead of being re-argued in the prompt every time.

Attach one from the Outliner: select the group, open **Edit Details**, and use the Reference images section there.

## What attaches actually do

```mermaid
flowchart LR
    A[3D object in scene] --> B[Object name + description]
    A --> C[Image reference attached]
    B --> D[Visualizer Subjects block]
    C --> D
    D --> E[Diffusion model]
    E --> F[Render that honors the reference]
```

The visualizer's auto-prompt picks up references at prompt-build time. The Subjects block of the prompt mentions that the object has a reference image; the model receives both the prompt text and the image at generation. See [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks) for the deeper flow.

## What overrides what

Three layers stack, each overriding the one below:

1. **The 3D object** – the base. Its geometry and position are the source of truth for shape and placement.
2. **The image reference** – sits on top of the geometry and defines what the object's surface looks like.
3. **The final prompt** – wins over both.

The catch is that the object's **name** feeds the final prompt. Name an object "Gulfstream G550" and the model reaches for its own idea of a G550 and overrides the livery you attached as a reference. Keep the name – and any prompt text – generic ("private jet", not "Gulfstream G550") so the reference image is what defines the look. This is the most common reason a reference seems like it "isn't being applied".

## When to reach for it

The signal is consistent: a generation has the right composition but the wrong specifics.

* **Right place, wrong car.** The vehicle is positioned correctly, the angle is right, the environment is right – but it's a generic mid-sized SUV instead of the actual model in the brief.
* **Right pose, drifting face.** The character is at the right scale and the right pose, but the face is changing shot-to-shot.
* **Right product silhouette, generic surface.** The shape and proportion are right, but the materials, finishes, or branding are off.

Re-prompting won't fix any of these. The model isn't being given the spatial truth, it's being asked to invent one. Attach the reference and the next render comes back resolved.

## Tips that level up the result

{% hint style="info" %}
**Vanilla object names beat descriptive ones for character consistency.** "Mark" and "Jeff" hold their look across renders better than "pirate captain" and "British sailor", because descriptive names pull the model toward generic interpretation and away from the specific reference image. The webinar covers this directly around the 18-minute mark.
{% endhint %}

{% hint style="info" %}
**Multi-view references give better mesh-aware results.** Front, three-quarter, and side photographs of the same object produce more consistent renders than a single photograph from one angle. Use the multi-image slot when you have them.
{% endhint %}

{% hint style="info" %}
**Build mode doesn't preview the reference.** Attaching a reference doesn't repaint the greyboxed object to look like the photo. The viewport may show a base color, but the reference itself only resolves at render time in Visualize. Don't wait for the viewport to "look right" before generating – attach the reference, then render to see it applied.
{% endhint %}

{% hint style="info" %}
**For imported CAD, pick reference images that match the shots you plan to render.** Mix close-ups with the camera angles you expect in the final video. A reference set heavy on macro detail won't help the model on a wide tracking pass; a set of only side profiles falls apart on a three-quarter render. Pick the photos you're confident will appear on screen.
{% endhint %}

{% hint style="info" %}
**A render you like can become a reference.** Download a strong Intangible render, crop the component you want to lock in an external editor like Photoshop, and attach the crop as an image reference – or as a [custom style](/visualize/custom-styles) – to hem the model in on the next pass.
{% endhint %}

## Limits

* **Image reference doesn't override composition.** A reference image of a car doesn't tell the model where to put the car – the 3D scene does. Reference is for *what* the object looks like, not *where* it goes.
* **Model fidelity to references varies.** Some image models are tuned for reference-image conditioning; older video models honor references less tightly. See [Models](/visualize/ai-models) for which models in the current working set honor references most tightly. If a reference seems to be ignored, try a different image model first; if the result is still off, the reference may need to be sharper.
* **Sub-megapixel images are fine; multi-megapixel adds nothing.** Every image reference is downsampled to a **720 × 1024 sheet** before the visualizer hands it to the model, regardless of source size. A clean 1024 × 1024 file and a 4000 × 4000 file land at the same effective resolution. If an object has multiple reference images attached, they're consolidated onto a single 720 × 1024 sheet at the same step (front, three-quarter, and side angles composited together rather than passed in separately).

## Further viewing

Phil walks through image reference in the AI You Can Direct webinar (55 minutes; the pirate-scene segment around the 18-minute mark covers reference images directly).

{% embed url="<https://www.youtube.com/watch?v=x_glYD5b8jw>" %}

## Related

* [Object details](/build/object-details) – manual attachment via the Details panel.
* [AI Composer](/build/ai-composer) – conversational attachment via natural language.
* [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks) – how attachments reach the prompt.
* [Smart Import](/build/import-your-own-models) – CAD + reference image is the canonical client-product workflow.
* [Generate 3D Asset](/build/generate-3d-asset) – generates the mesh from the same reference image.
* [LoRAs](/build/loras) – the alternative when a fine-tuned model is required.


# Projects and scenes

How projects, scenes, and shots nest. Three nouns, three different jobs.

A project is the top-level container for a piece of work. A scene is a 3D space inside the project. A shot is a camera framing of that space at a moment in time. Three nouns, three different jobs.

## Why it exists

Real productions have all three concepts already. A commercial is a project. The kitchen interior and the parking-lot exterior are scenes. The over-the-shoulder reaction and the wide establishing are shots. The nesting is what lets a director say "let's reuse the parking-lot scene from the last spot" without it meaning the same camera angles.

Intangible mirrors that nesting. The thing that catches a new user is that **scenes** in Intangible are spatial – they're sets, locations, environments – not narrative beats. If you're coming from Premiere or Final Cut, the word "scene" carries a different meaning; here it's closer to "set" or "location" in the production-design sense.

## What it looks like in the product

The project is what you create from the homepage with the **New Project** button. Inside a project, the scenes dropdown sits at the top-left under the project title – click it to switch between scenes or to create a new one.

![Scene dropdown expanded under the Interior Staging project, showing the project's two scenes (Penthouse Interior, Penthouse Balcony) in the dropdown list](/files/d07Xb5js6M52RGHuBrOr)

A scene is a 3D environment with its own assets, populators, environment settings, and lighting. Switching scenes switches the entire 3D viewport content. A project can hold as many scenes as the work needs – think of a commercial spot with three locations as three scenes.

A shot belongs to a scene. Shots are added in Compose mode (see [Shots](/compose/shots)) and they live in the bottom-of-screen storyboard. Each shot has its own camera, its own lens, its own animation timeline.

## How it connects to the rest

* **Projects** are what get shared. The email-share flow ([Sharing and collaboration](/overview/reference/sharing-and-collaboration)) shares the whole project, not a scene.
* **Scenes** are where Build mode lives. Sun position, populators, asset placements, the scene outliner – all per-scene.
* **Shots** are where Compose mode lives. A shot binds its camera to one scene; you can't have a shot that crosses scenes (that's an edit, and edits live in the [Sequence Timeline](/compose/timeline)).
* **The auto-prompt** assembles its scene context from the active scene plus the active shot's camera. Switch scenes and the prompt rebuilds.

## When to reach for it

The signal is what's changing in your story. New environment? New scene. Same environment, new angle? New shot. New project? You've changed what you're making.

One sequencing thing worth knowing: name your scenes and your shots. The auto-prompt feeds those names into the model when it constructs the prompt – "the Lamborghini in the Manhattan city street scene" is more useful than "the Lamborghini in scene-2".

## Related

* [The three modes](/overview/concepts/the-three-modes)
* [Shots](/compose/shots)
* [Animation and shot time](/overview/concepts/animation-and-shot-time)
* [Sharing and collaboration](/overview/reference/sharing-and-collaboration)


# The three modes

Build, Compose, Visualize – three states a scene can sit in. Each owns a different part of the pipeline.

Build, Compose, and Visualize are the three states a scene can sit in. Each one owns a different part of the pipeline you'd recognize from a real production – art department, camera department, post – and the controls reshape themselves when you switch.

## Why are there three modes?

Most 3D tools collapse world-building, shot composition, and rendering into one workspace with a hundred panels. That's fine if you've got a Houdini license and three months. Less fine when your director needs to see the shot tomorrow. The split into three modes maps to how a creative team already moves: an art-department phase that builds the set, a cinematography phase that blocks the shots, and a render pass at the end.

The split is also what lets the AI behave. Each mode hands the visualizer a different kind of context – Build supplies the semantic 3D scene, Compose supplies the camera and lens, Visualize supplies the prompt and the model. Keep the modes separate and the prompt that reaches the model stays specific. Mash them together and the model has to guess what you meant, which is when you start getting the wrong cop car in the back of every render.

## What it looks like in the product

The mode switcher sits at the top center of the workspace, between the project title on the left and the credit counter on the right. Three icons; the one for the mode you're in is highlighted in green.

![Build mode active in the editor with the mode switcher in the top toolbar showing the three available modes (Build highlighted, Visualize available)](/files/KgYtIciMSkOvMMvTyxAN)

When you switch, three things change at once: the contextual menus that open when you click an object, the camera control behavior, and the right-side panel. The viewport itself stays put – your scene doesn't reload, your cameras don't reset, your selection holds.

## How it connects to the rest

* **Build mode is the art department.** The asset library is here, AI Composer is here, image references attach to objects here. Smart Import, populators, sets, and Generate 3D Asset are all Build-mode features. Sun position, fog, terrain – all Build.
* **Compose mode is the camera department.** Add a shot, place its camera, set the lens, frame the action. Animation lives here too, and the part that catches people: animated movement belongs to the scene, not to an individual shot. Move an object in Compose with a shot active and the keyframe lands on the shared scene timeline; every shot whose time window covers that frame shows the motion. Move it in Build mode and it commits to permanent scene state. You still author motion with a shot active, so set the shot first, then move things into place.
* **Visualize mode is post.** Pick a model, edit the auto-prompt if you want to, generate. Image edits (the pencil tool), first-and-last-frame video interpolation, and the style and lighting presets all live here.

The flow is intended to be linear – Build → Compose → Visualize – but you'll jump back constantly. A render that looks wrong is more often fixed by adding an image reference on an object back in Build than by re-prompting in Visualize. Bad framing fixes itself in Compose, not in the prompt.

## When to reach for it

The signal is the noun in your head. *"I need a chair"* or *"the building should be glass"* is Build. *"From this angle, with a 35mm"* is Compose. *"Render it cinematic, golden hour"* is Visualize. If you find yourself in the wrong mode for the noun, the contextual menus will feel slightly off – that's the cue to switch.

One sequencing rule worth knowing: animation commits to the scene timeline, and keyframes only record while a shot is active. If you start moving an object in Build mode expecting it to animate, nothing will happen at render time. Make the shot active first, then move the object. The short version: shots are views of time; scenes are containers for space and animation.

## Related

* [Build mode overview](/build/build)
* [Compose mode overview](/compose/compose)
* [Visualize mode overview](/visualize/visualize)
* [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks)
* [Animation and shot time](/overview/concepts/animation-and-shot-time)


# How the visualizer thinks

Why Intangible's renders stay controlled while pure prompt tools drift. The model gets a 3D scene plus a structured prompt, not just text.

The model that renders your shot is given a 3D scene plus a structured prompt – not just a string of text. Understanding that split is what lets you direct the output instead of rolling the dice.

## Why it exists

If you've used Midjourney, Sora, Runway, ChatGPT image generation, Stable Diffusion, or stock Flux, you've felt the prompt-roulette problem. You write what you want, the model gives you something close, you nudge the prompt, the model gives you something else close. Composition shifts every iteration. The car you wanted in profile is now three-quarter. The actor you placed center-frame is now off to the right.

That happens because a prompt-only model has no spatial truth. It's hallucinating arrangement every time. Intangible's visualizer is given the spatial truth as input – the actual 3D scene with the actual camera – and asked to render it in a particular style. The result is that the composition stays where you put it, while the surface treatment is what the model varies.

## How is this different from prompt-only tools like Midjourney?

|                          | Prompt-only tools (Midjourney, Sora, Runway, ChatGPT image, stock diffusion) | Intangible                                            |
| ------------------------ | ---------------------------------------------------------------------------- | ----------------------------------------------------- |
| Input the model receives | A text prompt                                                                | A 3D scene plus a structured prompt                   |
| Composition control      | Implicit, via prose                                                          | Explicit, via the 3D camera                           |
| Cross-shot consistency   | Hard or impossible                                                           | Built in (same scene, same references)                |
| Reference fidelity       | One image at a time, often                                                   | Per-object reference images, persistent across shots  |
| Iteration cost           | Re-prompt and re-roll                                                        | Adjust the scene, the camera, or the model            |
| When the render is wrong | Re-prompt, hope, repeat                                                      | Find the wrong thing in the scene, fix it, regenerate |

The shift in mental model is the point. In prompt-only tools, the prompt is the brief. In Intangible, the scene is the brief and the prompt is one piece of it. The model can't drift on what it's been handed structurally.

## What it looks like in the product

In Visualize mode, the right panel shows three tabs: **Scene**, **Style**, **Lighting**.

The **Scene** tab is what the visualizer thinks the scene contains, in three structured sections that get assembled into the prompt:

* **\[Scene Context]**: the overall framing – what kind of shot, what mood, what location.
* **\[Environment & Props]**: the physical setting and the secondary objects.
* **\[Subjects]**: the hero objects – the car, the character, the product. Names, descriptions, image references all flow in here.

Click **Generate prompt** and the model regenerates this from the current 3D scene. Click any text block and you can edit it directly – the visualizer will use your edited version on the next render.

The **Style** and **Lighting** tabs are the surface treatment. A still photograph at golden hour with shallow depth of field is different from a storyboard sketch in pen and ink, even of the same scene. Style and Lighting let you swap the surface without touching the spatial truth.

## How it connects to the rest

* **Build mode feeds the \[Scene Context] and \[Environment & Props].** Add a populator labeled "tropical forest" and the visualizer will reflect that in the prompt. Drop in an asset named "Lamborghini Revuelto" and the \[Subjects] block will mention it.
* **The Compose mode camera and lens feed the \[Scene Context].** A 35mm at eye level produces a different scene-context line than a 14mm low-angle.
* **Image references on objects feed the \[Subjects] block more strongly than descriptions.** A reference image of the actual car beats "matte olive green Jeep" every time. The catch is the object's **name**: it also flows into the prompt, and a specific one like "Gulfstream G550" makes the model render its own idea of that thing and override the reference. Keep names generic so the reference wins – the full precedence is in [Image reference](/overview/concepts/image-reference#what-overrides-what).
* **Style and Lighting presets feed the Style/Lighting tabs.** They're cinematic shorthand – attach a preset, the surface treatment locks in.

## When to reach for it

When a render looks compositionally wrong (car in the wrong place, character cropped out), the fix is upstream in Build or Compose, not in the prompt. When a render looks compositionally right but stylistically off (too clean, too flat, wrong palette), the fix is in Style and Lighting, or in the model picker.

If the \[Subjects] block reads like the model didn't see your hero asset, attach an image reference to that object and regenerate. The model is honest about what it's getting; the prompt is the diagnostic.

## Further viewing

Phil walks through this concept in depth at the 2026 Production Summit (32 minutes).

{% embed url="<https://www.youtube.com/watch?v=Y3CoibxA_ag>" %}

## Related

* [Auto-prompt](/visualize/auto-prompt)
* [Scene context](/visualize/scene-context)
* [Style presets](/visualize/style-presets)
* [Lighting presets](/visualize/lighting-presets)
* [Image reference](/overview/concepts/image-reference)
* [Models](/visualize/ai-models)


# Credits and tokens

How Intangible bills generation work – what costs credits, how the counter tracks spend, and how to think about cost per shot before you click Generate.

Credits are the unit Intangible bills generation work in. Every image render, video render, AI Composer prompt, Generate 3D Asset call, and image edit costs a deterministic number of credits. The counter at the top-right of the workspace shows your remaining balance for the cycle.

## Why it exists

Diffusion models cost real money to run – a single video render at 2K can cost a few dollars on the model provider's API. Hidden costs in a creative tool are how budgets blow up mid-project. Credits make the cost visible at the workspace level: the counter at the top-right tracks every charge as it lands.

The counter is a live read of your tier's monthly allotment plus any credit packs you've bought, minus what you've spent. It refreshes per-action.

## What it looks like in the product

The credit counter sits at the top-right of the workspace, between the bug-report icon and the Run/Generate button. Click the number for a breakdown by action type and a link to the plan-management page.

![Credit counter visible in the top-right toolbar ("5474" with the Intangible-mark icon)](/files/Tk0h4k4nWyMxjq4U8M02)

Inside the visualizer panel, the **1K / 2K** resolution toggle sits near the bottom of the Visualize panel, just above the Generate button. There's no live cost preview on the Generate button itself; the credit counter at the top-right is the source of truth for your remaining balance.

{% hint style="info" %}
If you trigger a paywalled action (or run out of credits), the paywall appears when you click Generate, not before. Hover does nothing; the click is the commitment.
{% endhint %}

## How the visualizer thinks about cost

```mermaid
flowchart LR
    A[Your plan tier] -->|monthly allotment| C[Credit pool]
    B[Credit pack purchase] -->|adds to| C
    C -->|charged per action| D[Image render]
    C -->|charged per action| E[Video render]
    C -->|charged per action| F[AI Composer]
    C -->|charged per action| G[Generate 3D Asset]
    C -->|charged per action| H[Image edit]
```

Some actions are explicitly free:

* Switching modes
* Adding objects from the asset library
* Moving, rotating, scaling
* Renaming
* Adjusting environment settings (sun, fog, terrain)
* Reading the auto-prompt
* [Direct Render](/visualize/direct-render) – rendering a shot's 3D scene as video with no AI model in between

The last one is the exception worth remembering: it sits inside the visualizer, where almost everything costs credits, but a direct render of the 3D scene is free. Anything that touches a generation API costs credits. Anything purely local does not.

## How much does each action cost?

Specific credit costs change as model providers adjust pricing on their end. The current matrix lives at [intangible.ai/pricing](https://www.intangible.ai/pricing) and inside the credit-counter dropdown. As ballpark for planning:

| Action                                                    | Approximate credit cost                                      | Counts against                |
| --------------------------------------------------------- | ------------------------------------------------------------ | ----------------------------- |
| Switching modes, adding library assets, environment edits | Free                                                         | –                             |
| AI Composer prompt that builds an environment             | A few credits                                                | Monthly first, then Purchased |
| 1K image render                                           | Cheap (tens per credit pack)                                 | Monthly first, then Purchased |
| 2K image render                                           | Roughly 2× a 1K render of the same model; varies by provider | Monthly first, then Purchased |
| Image edit (pencil tool)                                  | Lower than a fresh render                                    | Monthly first, then Purchased |
| Generate 3D Asset                                         | Higher than image, lower than video                          | Monthly first, then Purchased |
| Standard-duration video render                            | Substantially more than image                                | Monthly first, then Purchased |
| Video at 2K with audio                                    | The single most expensive action in the product              | Monthly first, then Purchased |

{% hint style="warning" %}
Video at 2K with audio is the most expensive single action in the product. Run 1K previews to confirm composition, then commit to 2K for the final.
{% endhint %}

## When to reach for it

Anytime you're a few weeks into a project and want to see what's been driving spend, click the counter and look at the breakdown. Find the action category that's eating the budget. Common answers: 2K video iterations, AI Composer overuse on tiny scenes.

For the full picture across a team, open **Usage** from the profile menu. It attributes spend by category, by user, by project, and down to individual charges over a 7, 30, or 90 day window. See [Reading the Usage page](/teams-and-billing/plans-and-billing#reading-the-usage-page).

## When you run out

The Generate button disables when your balance reaches zero. Three options:

* **Buy a credit pack**: covered in [Plans and billing](/teams-and-billing/plans-and-billing). Discrete top-up that doesn't change your tier.
* **Upgrade your tier**: bumps your monthly allotment and unlocks tier-gated capability. See [Plans and billing](/teams-and-billing/plans-and-billing) and [intangible.ai/pricing](https://www.intangible.ai/pricing) for what each tier includes.
* **Wait for the cycle to roll over**: free option, slow option.

## Related

* [Plans and billing](/teams-and-billing/plans-and-billing)
* [Resolution and cost](/visualize/resolution-and-cost)
* [Generate image](/visualize/generate-image)
* [Generate video](/visualize/generate-video)


# Populators

Procedural environment generators – what populators are, why Intangible uses them instead of dragging assets one at a time, and when to reach for one.

A populator is a procedural container that distributes assets across an area according to rules. Charles called it "Houdini for normal people" in the launch webinar. The idea is right: populators expose a small fraction of Houdini-style procedural distribution to creatives who don't have a TD on call.

## Watch

{% embed url="<https://www.youtube.com/watch?v=XxbxqcGCuR4>" %}

## Why it exists

Building a forest by hand means dragging two hundred trees, then nudging them so it doesn't look like an orchard. AI Composer takes the prompt "create a tropical forest" and produces a populator – an area with rules about what kinds of plants live in it, how dense they are, how they're distributed. You adjust the rules; the populator regenerates.

Populators show up everywhere in the product: AI Composer outputs them by default, the Build-mode asset library has populator-style content for crowds and traffic, and you can build your own from selected objects.

## What a populator looks like in the product

In the viewport, a populator has a footprint outline (a rectangle, polygon, or curve) that defines its area. Inside the footprint, individual procedural instances of assets get distributed. The controls for creating and adjusting one – shape, density, layout, asset mix, culling – live on the [Build-mode populators page](/build/populators).

## How populators connect to the rest

```mermaid
flowchart TD
    A[AI Composer prompt] -->|outputs| B[Populator]
    C[Manual creation from selection] -->|outputs| B
    D[Library populator templates] -->|drag in as| B
    B -->|footprint defines| E[Area]
    B -->|asset list defines| F[What appears]
    B -->|density slider tunes| G[How much]
    B -->|each instance feeds| H[Visualizer auto-prompt]
```

A populator's name (e.g. "tropical forest", "city block", "wedding crowd") shows up directly in the visualizer's auto-prompt. Renaming a populator from `populator-3` to `dense rainforest understorey` changes the prompt the model receives without you touching the prompt block. See [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks).

Roads, paths, and other linear assets dropped on top of a populator suppress instances underneath them. The webinar demo showed this directly: dropping a road through a forest populator clears trees from the road's footprint automatically. This is the populator behaving like Houdini's boolean culling, with no hand-holding.

## When to reach for it

Three signals:

* **You need fifty or more of the same kind of object.** Crowds, vegetation, traffic, dense urban features. Manual placement falls apart past a couple dozen.
* **You want the distribution to look natural.** A forest dragged in by hand looks like an orchard. A populator with an organic layout and varied density looks like a forest.
* **You want to iterate the look.** Change the asset mix or density slider and the populator regenerates in seconds. Doing the same thing manually means re-dragging.

When not to reach for it:

* **One specific hero object.** Drag the hero in directly. Populators are for fields of stuff, not for the Lambo in your commercial.
* **You need pixel-precise placement of every instance.** Populators distribute procedurally; you don't get to say "this exact tree, two meters left". Convert specific instances to objects if you need that.

## Related

* [Build-mode populators page](/build/populators)
* [AI Composer](/build/ai-composer)
* [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks)
* [Scene Outliner](/build/scene-outliner)


# Animation and shot time

How the scene timeline works, why Build-mode moves don't animate, and how shots relate to scene time.

All animation in Intangible lives on the scene timeline – one shared timeline per scene. Move an object in Compose mode while a shot is active and a keyframe lands on the scene timeline at the current frame. Move the same object in Build mode and the move commits to permanent scene state, no keyframes involved. This distinction catches every new user once.

## Build mode vs Compose mode

A scene is a 3D environment. Build mode is where you set the permanent, static state of that environment – object positions, scale, orientation. Compose mode is where you author time-based changes: keyframes that move objects or the camera over time.

The mode you're in determines whether a move animates or commits to world-state:

* **Build mode**: every transform is part of the scene's permanent state. Move a chair, the chair lives in that new position always – across every shot, for the life of the scene.
* **Compose mode with a shot active**: every transform is recorded as a keyframe on the scene timeline at the current frame. The scene timeline is shared; the shot is a time window into it.
* **Compose mode with no shot active**: behaves like Build mode for transforms.

## How shots and the scene timeline relate

There is one scene timeline per scene. Shots are windows into that timeline – each shot covers a specific span of scene time. Two shots that overlap the same scene time will show the same animation data. Duplicated shots point to the same scene time and play back identical motion.

```mermaid
flowchart TB
    A[Scene] --> T[Scene timeline]
    T --> SH1["Shot 1 (frames 0–60)"]
    T --> SH2["Shot 2 (frames 0–60)"]
    T --> SH3["Shot 3 (frames 60–120)"]
    SH1 -->|"window into frames 0–60"| T
    SH2 -->|"same window, different camera"| T
    SH3 -->|"window into frames 60–120"| T
```

Because animation is on one shared timeline, motion is continuous across shots. A character walking at frame 10 keeps walking in every shot whose time window covers frame 10. You don't need to re-author the same motion in each shot.

The Scene Timeline tab in Compose mode shows per-object keyframe tracks for the currently active shot only – it shows that shot's slice of the scene timeline. To see all shots laid out in time order, use the Sequence tab.

## The trap (and the fix)

The most common mistake: a new user sketches an animation in Build mode by moving the object around, then switches to Compose, adds a shot, hits render, and gets nothing animated.

The fix is sequencing:

{% stepper %}
{% step %}

### Make the shot first

Switch to Compose mode. Click **Add Shot**. The shot is created with the current camera framing.
{% endstep %}

{% step %}

### Stay in Compose mode

The shot is now active. You can tell because its thumbnail in the bottom storyboard is highlighted.
{% endstep %}

{% step %}

### Move the object

Drag, rotate, scale. The move is recorded as a keyframe on the scene timeline at the current frame. A new shot defaults to approximately 2 seconds; extend via the Scene Timeline tab by dragging the shot's right edge.
{% endstep %}

{% step %}

### Scrub the timeline to confirm

Drag the playhead at the bottom of the screen. The object moves through the keyframes. If it doesn't, you weren't actually in Compose mode with the shot active.
{% endstep %}
{% endstepper %}

The webinar covers this directly: *"the reason you have to make shots first is because our animation system is set up for kind of like storyboarding."* Shots define camera framings; the scene timeline is where animation lives.

## What can be keyframed

* Object position, rotation, scale
* Camera position, rotation (covered in [Camera controls](/compose/camera-controls) and [Animation](/compose/animation))
* Character pose (bone transforms, when characters are animatable)

Parented children evaluate against their parent's animated transform during playback; a child's keyframes are local to its parent. See [Parented animation](/compose/animation#parented-animation).

What cannot be keyframed:

* Camera lens parameters (FOV, focal length, aspect, near / far). Dolly-zoom and focus-pull effects can't be authored as keyframes today. Render variations as separate shots and cut between them.
* Visibility (show / hide an object over time). Hiding a prop at a specific frame isn't keyframable; use scene-level visibility in Build mode, or render variants and cut.
* Sun position, fog, terrain. Environment is scene-level. To animate a sunset, build the lighting variation as separate scenes and cut between them in the [Sequence Timeline](/compose/timeline).
* Materials and color. Color transitions and fades can't be keyframed; treat them as post.
* Asset swaps. If a chair becomes a tree mid-scene, that's a Build-mode change and applies to the whole scene.
* Parent relationships. Changing or clearing a parent applies across the whole scene (the child's keyframes are recomputed to preserve its world-space motion); a parent swap can't be keyframed to happen mid-shot.

## How shots and scenes interact

Shots can't cross scenes. If your edit needs to cut from a kitchen interior to a parking lot exterior, that's two scenes' worth of shots assembled in the [Sequence Timeline](/compose/timeline), not a single multi-scene shot.

```mermaid
flowchart TB
    P[Project] --> S1[Scene: kitchen]
    P --> S2[Scene: parking lot]
    S1 --> T1[Scene timeline]
    S2 --> T2[Scene timeline]
    T1 --> SH1[Shot 1: wide]
    T1 --> SH2[Shot 2: closeup]
    T2 --> SH3[Shot 3: hero]
```

## Sequence tab

The Sequence tab plays the current scene's shots back to back, no gaps between them. It's scene-scoped: one scene's shots only. To preview cuts across multiple scenes, use Publish mode.

There's no audio mixing in Sequence. Each shot plays only its own audio.

## When to reach for it

You don't reach for the concept; you avoid the trap. The signal is: you set up motion in Build mode and the render is static. Switch to Compose, add a shot, redo the motion inside the active shot, and the render animates.

The deeper signal: any time you're authoring time-based behavior, switch to Compose mode and have a shot active. That includes camera moves, character actions, prop movement, anything dynamic.

## Related

* [The three modes](/overview/concepts/the-three-modes)
* [Projects and scenes](/overview/concepts/projects-and-scenes)
* [Shots](/compose/shots)
* [Animation](/compose/animation)
* [Timeline](/compose/timeline)


# Reference

Lookups, not workflows. The pages here are for when you already know what you want.

Lookups, not workflows. The pages here are for when you already know what you want and just need the answer.

* [Account](/overview/reference/account): settings, language, graphics, dark mode.
* [Notifications](/overview/reference/notifications): what triggers them, mark read or unread.
* [Sharing and collaboration](/overview/reference/sharing-and-collaboration): the email-share flow, link permissions.
* [Keyboard shortcuts](/overview/reference/keyboard-shortcuts): every shortcut, grouped by mode.
* [Supported file formats](/overview/reference/supported-file-formats): imports (FBX, OBJ, DXF, GLB) and exports (PNG, JPEG, GLB).
* [System requirements](/overview/reference/system-requirements): browser, GPU, asset size limits.


# Account and settings

How signing in works, where your account fields live, and the three Settings tabs that control language, graphics, and extensions.

Two related surfaces for everything per-user: the **Profile** page (your name, email, company, role, and the Delete-account action) and the **Settings** page (language, theme, graphics, extensions). Both are reachable from the avatar menu in the top-right of any Intangible page.

## How sign-in works

Sign-in is passwordless via magic link.

1. Visit `studio.intangible.ai`.
2. Type your email into the **Email address** field on the welcome screen.
3. Click **Continue.** Intangible emails you a one-time sign-in link.
4. Click the link in your inbox; you land in your workspace.

If your team uses Google or Microsoft SSO, click **Continue with Google** or **Continue with Microsoft** instead of typing an email.

## Avatar menu

The avatar in the top-right of the editor (and the homepage) is the entry point for everything account-related.

![Avatar dropdown open from the top-right corner of the homepage. Header shows the user's full name and the Studio version (e.g. "version 2.0.7x"). Three menu items below: Profile, Settings, Log out](/files/PdJQ3HAZetaAtBYMpHHg)

The dropdown shows your name, the current Studio version, and three actions:

* **Profile** – opens `studio.intangible.ai/profile` for your account fields.
* **Settings** – opens `studio.intangible.ai/settings/general` for the General / Studio Graphics / Studio Extensions tabs.
* **Log out** – signs the current session out.

## Profile page

The Profile page lives at `studio.intangible.ai/profile`. Use it to change your account fields and to delete your account.

![Profile page at /profile titled "Account options". Fields visible: First name, Last name, Email (redacted in this screenshot), Company name, Industry, Department, Role. A red Delete account action sits at the bottom.](/files/WNWdA9tyeYg7JZAVpina)

| Field                          | What it does                                                                                                                                                                                                                                                               |
| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **First name** / **Last name** | Display name on shared projects and in collaborator-list rows.                                                                                                                                                                                                             |
| **Email**                      | The address that receives sign-in magic links and notifications. Changing the email sends a verification link to the new address before the change takes effect.                                                                                                           |
| **Company name**               | Free-text. Used in some team-onboarding flows.                                                                                                                                                                                                                             |
| **Industry**                   | Dropdown. Used internally to tune defaults; doesn't change product behavior visibly.                                                                                                                                                                                       |
| **Department** / **Role**      | Self-described function. Same use as Industry.                                                                                                                                                                                                                             |
| **Delete account**             | Red action at the bottom. Permanently removes the account and all personal-workspace projects. Team workspaces require explicit handoff before deletion (see [Permissions](/teams-and-billing/permissions) and [Project ownership](/teams-and-billing/project-ownership)). |

## Settings page

`studio.intangible.ai/settings/general`. Three tabs across the top.

![Settings page on the General tab, showing the three top-tabs (General / Studio Graphics / Studio Extensions) and the Language, Theme, and Reduce motion options](/files/0EJaznKT0dY0WC9MPtlB)

### General

* **Language.** UI language. English plus several non-English locales are exposed. The dropdown changes UI strings; product features and prompts are unaffected.
* **Theme.** Light, Dark, or System (follow the OS-level preference). Takes effect immediately.

### Studio Graphics

Performance-tuning controls for the 3D viewport. None of these affect rendered visualizer output; they affect what's displayed live as you build and compose.

* **Ambient Occlusion.** Toggles the shading that darkens crevices and corners between objects in the viewport. Looks better on; runs faster off. On lower-spec hardware, turn off if the viewport is sluggish.
* **Viewport maximum object count.** Caps the number of objects rendered live in the viewport. Very large scenes (city populators, dense forests) can crash the browser without this cap. Lower the count if you're hitting crashes; raise it if your hardware can handle the full scene.
* **Reduce Motion.** Damps UI animations across the workspace. Follow system preference or override independently.

### Studio Extensions

Opt-in surface for experimental features in testing. Features Intangible is rolling out gradually appear here as toggles before general release. If a release note mentions a feature you don't see in the product, check this tab; it may be available behind an Extensions toggle.

## Logging out

**Log out** in the avatar menu signs out the current session. Sign back in through the same magic-link flow at `studio.intangible.ai`.

If you sign in on a shared machine, log out when you're done; sessions persist until explicitly ended.

## When to reach for it

* **First sign-in.** Set the language under General if it's not your default. Toggle the theme to match how you prefer to work.
* **Email change.** Profile page → Email field. The new address verifies before taking effect.
* **Switching machines.** Re-tune Studio Graphics on a different rig.
* **Trying a preview feature.** Turn it on under Studio Extensions.
* **Deleting your account.** Profile page → Delete account. Hand off team workspaces first.

## Limits and known issues

* **Settings are per-account, not per-team.** Switching team workspaces doesn't change settings. Your theme preference is yours regardless of where you're working.
* **Email change requires verification.** A change-of-email link is sent to the new address. Until the user clicks it, the old address remains the account email.

## Related

* [Sign up and set up](/overview/get-started/sign-up-and-set-up)
* [The homepage](/overview/get-started/the-homepage)
* [Workspaces](/teams-and-billing/workspaces)
* [Permissions](/teams-and-billing/permissions)


# Notifications

What triggers a notification, where notifications appear, and how to mark them read or unread.

The notification panel surfaces team-membership events: invites you've sent and invites that have been accepted. Click the bell icon at the top-right of any workspace to open the panel.

![Notifications dropdown open from the bell icon, showing All / Unread tabs across the top, a Mark all as read action, and the empty state "No Notifications - You're all caught up. New notifications will appear here" with a Refresh button](/files/LvAZ5XKSb1mpHtCKPX8r)

## What triggers a notification

| Event                            | Notification                 |
| -------------------------------- | ---------------------------- |
| You send a team invite           | Invite-sent notification     |
| A teammate accepts a team invite | Invite-accepted notification |

There are no in-app toasts. The bell dropdown is the only surface; the small dot on the bell icon is the only ambient signal.

## Where they appear

* **Bell icon at the top-right of the workspace.** Shows a small dot indicator when there's anything unread. Click for the full panel.

## Reading and managing

The panel has two tabs across the top – **All** and **Unread** – plus a **Mark all as read** action. Each row in the panel is a notification with read / unread state and a click action that navigates to the relevant resource (the shared project, the comment thread, the rendered output). Notifications are dismissible; once you act on them, they go away.

When the panel is empty: "**No Notifications.** You're all caught up. New notifications will appear here." plus a **Refresh** button to manually pull.

## Limits and known issues

* **Notifications scope to the active workspace.** Switching workspaces shows that workspace's notifications.
* **The notification feed has a finite history.** Past several hundred entries, older notifications roll off. Keep what you need until you've acted on it.

## Related

* [Account](/overview/reference/account)
* [Sharing and collaboration](/overview/reference/sharing-and-collaboration)
* [Credits and tokens](/overview/concepts/credits-and-tokens)
* [Plans and billing](/teams-and-billing/plans-and-billing)


# Sharing and collaboration

Two ways to get someone into a project – email-invite for editors, Publish for viewers and clients.

Two distinct flows, both launched from the **Share** button in the top-right of the editor:

## Watch

{% embed url="<https://www.youtube.com/watch?v=GnBAbs3TmiM>" %}

* **Share** (the dialog's first tab) sends an email invite that grants **edit access**. The recipient can open the project, render, and save outputs as if it were their own.
* **Publish** (the dialog's second tab) generates a **viewable, link-based** version of the project. Optional commenting lets the viewer leave feedback in-context. The right tool for client review and external sign-off.

![Share dialog with the Share and Publish tabs along the top, an empty email field with the Invite button, and a single People with access row](/files/VPvWnJ69TER6eIrPIrCr)

## When to use which

| Need                                           | Use                                                                                                            |
| ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| External client review                         | **Publish.** Generate a link, send it. They view the rendered sequence; they don't need an Intangible account. |
| Asynchronous client feedback                   | **Publish** with commenting on. They drop comments on the published view; you read them in-app.                |
| Bringing a collaborator into the actual editor | **Share.** They get an email invite with edit access; they open the project and work alongside you.            |
| Handing off to another internal team           | **Share.** Edit access lets them pick up where you left off.                                                   |
| Showcasing finished work in a portfolio        | **Publish.** A polished view, no editor chrome.                                                                |

## How email-invite Share works

1. **Click Share** in the top-right of the editor.
2. **Stay on the Share tab** of the dialog.
3. **Type the recipient's email** in the field.
4. **Click Invite.**

The recipient gets an email with a link. They sign in (or sign up, if new); the project opens in their workspace under "Shared with me" or equivalent. They have edit access from there.

There's no "view-only" option on the email-invite path. For view access, use Publish.

## How Publish works

Click **Share**, switch to the **Publish** tab, set a title, pick what to include, optionally toggle comments, click **Publish**, and send the resulting link. The recipient doesn't need an Intangible account. The full flow – content selection, alternate takes, the viewer experience – lives in [Publish](/publish/publish-tab).

{% hint style="info" %}
Render-credit billing applies only on the email-invite path. A Share-invited collaborator's renders count against their own workspace's credit balance, not yours. A Publish viewer doesn't render at all.
{% endhint %}

## Sharing with someone who doesn't have an Intangible account

* **Email-invite path:** the link triggers sign-up. The recipient signs up; the share resolves once they confirm. They land on a free-tier account by default.
* **Publish path:** no account required. The viewer follows the link and watches.

For external clients, Publish is usually right – no sign-up friction, no risk of accidental edits.

## Removing access

* **Email-invite shares:** click Share again; the list of current shares appears; click the remove icon next to a recipient; confirm. The recipient loses access immediately.
* **Published links:** unpublish from the same Publish tab. The link goes inactive.

## Limits and known issues

* **Shares are per-project.** Sharing one project doesn't share other projects in the same workspace.
* **No "share whole team" via the email flow.** To share many projects with the same person, add them to the team workspace via [Create and invite](/teams-and-billing/create-and-invite) instead.
* **Shared projects don't transfer ownership.** The original owner remains the owner; the recipient is a collaborator. To actually transfer, use [Project ownership](/teams-and-billing/project-ownership) (within a team).

## Related

* [Publish](/publish/publish-tab)
* [Workspaces](/teams-and-billing/workspaces)
* [Create and invite](/teams-and-billing/create-and-invite)
* [Permissions](/teams-and-billing/permissions)
* [Project ownership](/teams-and-billing/project-ownership)


# Keyboard shortcuts

Every keyboard shortcut exposed in the editor. Mac and Windows variants listed where they differ.

The shortcuts below mirror the in-app shortcuts panel exactly. Mac modifiers are listed first; Windows uses `Ctrl` where macOS uses `⌘`.

![In-app Keyboard Shortcuts panel listing the canonical commands - Copy, Paste, Undo, Redo, Frame Selected, Toggle gizmo type, camera controls, and more](/files/ovTYfM0IBy7v50uuGZfP)

{% hint style="info" %}
Open the in-app shortcuts panel directly with the help icon in the top-right of the editor. The panel mirrors this page; the page is the lookup-friendly reference.
{% endhint %}

## Edit

| Action             | Shortcut              |
| ------------------ | --------------------- |
| Copy objects       | `Ctrl C` or `⌘ C`     |
| Paste objects      | `Ctrl V` or `⌘ V`     |
| Undo               | `Ctrl Z` or `⌘ Z`     |
| Redo               | `Ctrl ⇧ Z` or `⌘ ⇧ Z` |
| Duplicate objects  | `Ctrl D` or `⌘ D`     |
| Delete objects     | `Del` or `Backspace`  |
| Select all objects | `Ctrl A` or `⌘ A`     |

## Selection and gizmo

| Action                                     | Shortcut |
| ------------------------------------------ | -------- |
| Frame the selected object                  | `F`      |
| Toggle gizmo type (with selection active)  | `Tab`    |
| Toggle world / local space (classic gizmo) | `T`      |
| Cancel a UI drag                           | `Esc`    |

## Playback and shots

| Action                         | Shortcut   |
| ------------------------------ | ---------- |
| Pause and play during playback | `Spacebar` |
| Add new shot                   | `C`        |

## Camera

| Action                     | Shortcut                 |
| -------------------------- | ------------------------ |
| Strafe camera left / right | `A` / `D` or `←` / `→`   |
| Dolly camera in / out      | `W` / `S` or `↑` / `↓`   |
| Boom camera up / down      | `Q` / `E`                |
| Camera control speed       | `,` / `.`                |
| Orbit the camera           | left-click-drag          |
| Pan the camera             | left-click-drag + `⇧`    |
| Snap to surface            | left-click-drag + `Ctrl` |

## Populator

| Action                     | Shortcut     |
| -------------------------- | ------------ |
| Separate populator objects | double-click |

## Limits and known issues

* **Shortcuts are not customizable.** Remapping isn't exposed in the UI; the keybindings are fixed.
* **Some shortcuts may overlap with browser defaults.** `Cmd+W` will close the tab; `Cmd+R` will reload. The product avoids those, but some browsers and OS combinations have edge cases.
* **Game controller bindings** for camera control in Compose mode live on the [Camera controls](/compose/camera-controls) page rather than here.

## Related

* [Move the camera](/overview/get-started/viewport-navigation)
* [Camera controls](/compose/camera-controls)
* [Working with objects](/build/working-with-objects)


# Supported file formats

Which file formats Intangible accepts for import and exports for download. Plus what's not supported and what to do about it.

Lookup table. Imports for 3D models and reference images, exports for renders and 3D scene downloads.

## Imports

### 3D models (Smart Import)

Smart Import accepts: `.glb`, `.gltf`, `.dae`, `.fbx`, `.ply`, `.obj`, `.sog`, `.spz`.

| Format         | Notes                                                                                                                                                               |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **GLB / GLTF** | Web-optimized format with embedded textures and materials. The smallest file size for the most complete asset.                                                      |
| **FBX**        | Geometry plus materials when authored as standard PBR. The most common interchange format from Maya, 3ds Max, Blender.                                              |
| **OBJ**        | Geometry only, no materials. Clean meshes from CAD tools.                                                                                                           |
| **DAE**        | COLLADA interchange. Older pipelines that still publish DAE.                                                                                                        |
| **PLY**        | Used by two different things. A mesh or scan PLY imports as geometry; a Gaussian splat PLY imports as a splat. The file header decides which, so you don't have to. |
| **SOG / SPZ**  | Compressed Gaussian splat formats. See [Import Gaussian splats](/build/import-gaussian-splats).                                                                     |

USD is an **export** format only; it is not accepted on import. STL is not supported in either direction.

### Import size limits

| What                                | Limit                          |
| ----------------------------------- | ------------------------------ |
| 3D model, any supported mesh format | 512 MB, and 2 million vertices |
| Gaussian splat, `.PLY`              | 2 GB                           |
| Gaussian splat, `.SPZ` or `.SOG`    | 512 MB                         |
| Gaussian splat, any format          | 10 million splats              |
| Files per upload                    | 10                             |

A file over its limit is rejected during import rather than failing silently later. Splats take longer to process than meshes of the same size, since they are voxelised as well as compressed.

See [Smart Import](/build/import-your-own-models) for the mesh workflow and [Import Gaussian splats](/build/import-gaussian-splats) for splats.

### Reference images (image reference, custom styles)

| Format   | Notes                                                       |
| -------- | ----------------------------------------------------------- |
| **JPEG** | Compressed raster. Common photographic format.              |
| **PNG**  | Lossless raster. Better for clean images with transparency. |

Image reference and custom styles accept JPEG and PNG. Larger images are downsampled internally; sub-megapixel resolution is fine.

### LoRA files

| Format             | Notes                                              |
| ------------------ | -------------------------------------------------- |
| **`.safetensors`** | The standard format for fine-tuned models.         |
| **`.pt`**          | Older PyTorch format. Supported but not preferred. |

See [LoRAs](/build/loras) for the upload flow.

### Audio

User-supplied audio import isn't exposed in any flow today. The product generates audio as part of video output where the chosen model supports it; you can't upload an audio track and sync it to a render.

## Exports

### Renders

| Format   | Used for                                                                     |
| -------- | ---------------------------------------------------------------------------- |
| **PNG**  | Lossless raster. Print, downstream design tools, anything with transparency. |
| **JPEG** | Compressed raster. Web, social, email.                                       |

### Video

| Format                  | Used for                                              |
| ----------------------- | ----------------------------------------------------- |
| **MP4 (H.264, 30 fps)** | The default video container. Universal compatibility. |

Other video codecs (H.265, ProRes) aren't exposed. For specialized codecs, transcode externally.

### 3D scene

| Format         | Used for                                                                                                       |
| -------------- | -------------------------------------------------------------------------------------------------------------- |
| **GLTF / GLB** | Open 3D scene format (GLB is the binary variant). Web handoff (Three.js, Babylon), some Unity flows, archival. |
| **USD**        | Virtual production handoffs, Unreal Engine, Maya / Houdini round-trips.                                        |

Scene exports preserve hierarchy, transforms, and cameras. Owned library assets export at full fidelity; licensed assets get smart stand-ins. See [Export formats](/publish/export-formats).

## What's not supported and what to do

| Want                                     | Workaround                                                                    |
| ---------------------------------------- | ----------------------------------------------------------------------------- |
| **FBX export**                           | GLTF or USD. Or render to PNG and import the still into the downstream tool.  |
| **TIFF for high-bit-depth print**        | PNG covers most print cases at lower bit depth. Convert externally if needed. |
| **HDR formats (.exr)** for VFX pipelines | Not supported; no equivalent workaround.                                      |
| **Stereo or 360 video**                  | Not supported in v1.                                                          |
| **Lottie or motion-graphics formats**    | Not supported. Render as MP4 and re-encode externally.                        |

## Limits and known issues

* **Browser-based rendering imposes a soft cap.** Multi-gigabyte FBX files with millions of triangles will struggle. Run a decimation pass externally before import.
* **Audio in MP4 exports is per-shot.** No cross-shot audio mixing in [Export Video](/publish/export-video). Mix in editorial.
* **Video export resolution is limited by the lowest-resolution shot.** A sequence with mixed resolutions exports at the lowest common one.

## Related

* [Smart Import](/build/import-your-own-models)
* [Image reference](/overview/concepts/image-reference)
* [LoRAs](/build/loras)
* [Export formats](/publish/export-formats)
* [Generate image](/visualize/generate-image)
* [Generate video](/visualize/generate-video)


# System requirements

Browser, GPU, network, and asset-size requirements for running Intangible smoothly.

Intangible runs in the browser. Most modern Mac and Windows laptops handle it; older or memory-constrained machines will work but with limitations on scene complexity.

## Browser

| Browser                                              | Status                                                                                                                                              |
| ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Chrome**                                           | Officially supported. Default recommendation.                                                                                                       |
| **Safari**                                           | Officially supported.                                                                                                                               |
| **Other browsers (Edge, Firefox, Brave, Arc, etc.)** | Run standard compatibility checks, but aren't part of the active QA matrix. Most will work in practice; regressions there may take longer to catch. |

Use Chrome or Safari for client-facing work.

## Operating system

* **macOS** – fully supported. Most internal QA is on macOS.
* **Windows** – fully supported.
* **Linux** – Chrome on Linux works in practice. Not in the official test matrix.
* **iPad** – Intangible Studio runs on iPad, though not every function is verified for touch. Expect rough edges on viewport gestures and any flow that depends on precise pointer input. Use a desktop or laptop browser for production work.

## Hardware

### Recommended

* **GPU**: dedicated graphics with at least 4 GB VRAM (minimum) for fluid viewport navigation on complex scenes. Apple Silicon (M1/M2/M3) handles most projects on integrated graphics; high-end Windows laptops with NVIDIA dedicated graphics also do well.
* **RAM**: 16 GB or more. The browser plus the Intangible workspace plus a typical scene uses 4-8 GB; headroom matters.
* **Display**: 1920×1080 or higher. Some panels are tight at 1366×768 laptop resolutions.

### Minimum

* **GPU**: integrated graphics on a recent (2020+) machine. Older integrated GPUs will run the viewport at low frame rate.
* **RAM**: 8 GB. Doable but you'll feel it on larger scenes.
* **Display**: 1366×768. Some panels overlap; consider zooming the browser out.

## Network

* **Bandwidth**: 10 Mbps download for routine work; 50+ Mbps when downloading 2K renders or large GLB exports.
* **Latency**: under 200 ms to the nearest CDN edge. The visualizer offloads generation to remote model providers; high-latency connections feel slow even on capable hardware.
* **Stability**: connections that drop frequently cause render jobs to fail mid-flight. Stable WiFi or wired is what you want for production work.

## Asset size limits

A few practical caps on imported content:

| Asset                       | Soft limit                                                                                                               |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| Imported FBX or OBJ         | \~500 MB / a few million triangles. Beyond this, [Smart Import](/build/import-your-own-models) optimizes but slows down. |
| Imported GLB                | \~250 MB. Smaller because GLB carries embedded textures.                                                                 |
| Reference image             | Under a few megapixels. Larger images are downsampled internally.                                                        |
| LoRA file                   | Under a few hundred MB. Larger LoRAs slow project sync.                                                                  |
| Project size (total assets) | Soft limit at multi-thousand objects. Past that, [populators](/overview/concepts/populators) become the right pattern.   |

These are soft limits, not hard caps. Past these sizes the system slows progressively rather than failing outright.

High-poly assets are automatically converted to low-poly during import so the browser viewport stays responsive. The rendered output is unaffected; only the live viewport representation is lightened.

## What to do when something is slow

In rough order of likely cause:

1. **Close other browser tabs.** Heavy tabs (large Google Docs, video calls, IDE workspaces) compete for memory and GPU.
2. **Check network speed and latency.** Run a quick speed test; if generation feels slow but the viewport is fine, the issue is on the network side.
3. **Reduce graphics load in Studio Graphics.** Open [Account and settings](/overview/reference/account), switch to the **Studio Graphics** tab, turn off **Ambient Occlusion** and lower **Viewport: Maximum count of objects displayed** if the viewport is sluggish.
4. **Reduce scene complexity.** If the viewport stutters, the scene may be past the soft limit. Consolidate populators, hide what you don't need.
5. **Restart the browser.** Memory leaks accumulate over long sessions; a restart clears them.

## Limits and known issues

* **Multi-gig CAD imports often need a pre-import decimation pass** in your modeling tool. The browser-based system doesn't handle them gracefully even when they fit in memory.
* **Hardware acceleration must be enabled in the browser.** Some institutional Chrome installations disable it; check `chrome://gpu` if performance is unexpectedly bad.
* **Battery on laptops drains fast** during heavy viewport work. Plan for AC power on long sessions.

## Related

* [Account](/overview/reference/account): graphics and viewport settings.
* [Smart Import](/build/import-your-own-models)
* [Supported file formats](/overview/reference/supported-file-formats)
* [Help and feedback](/overview/get-started/help-and-feedback): for performance bugs.


# Glossary

Every Intangible-specific term, defined. From AI Composer to Workspace, with cross-links to the relevant docs.

Every Intangible-specific term in one place. Use this when you hit a word in another doc and want a quick definition without leaving the page.

## A

**AI Composer** – The conversational agent panel in Build mode. Type a sentence ("add a second sports car behind the Lamborghini") and the composer creates and arranges scene contents from natural language. Faster than manual asset placement for descriptive instructions. See [AI Composer](/build/ai-composer).

**Aim target** – A per-shot widget in Compose mode that locks the camera's look-at point onto a specific 3D object. When the object moves, the camera tracks it. The alternative to manual rotation keyframes for a moving subject. See [Aim Camera and Target](/compose/aim-camera-and-target).

**Animation target** – An object marked as the camera's tracking target for the active shot, set via the Aim Camera tool.

**Animatic** – The assembled cut of your shots, played at their set durations end to end. Built in Compose mode's [Sequence Timeline](/compose/timeline). See [Make an animatic](/overview/how-to/ai-animatic).

**Asset library** – The bottom-of-screen panel in Build mode holding pre-made greyboxing assets. Categories include Characters, Furnishings, Mannequins, My Assets, Objects, Populators, Primitives, Roads, Sets, Vehicles. See [Asset Library](/build/asset-library).

**Aspect ratio** – The per-shot frame ratio (9:16, 16:9, 2.39:1, etc.) the visualizer renders at. Set in Compose mode's aspect picker. See [Aspect ratios and film gates](/compose/aspect-ratios-and-film-gates).

**Auto-prompt** – The visualizer-generated prompt assembled from the 3D scene, camera, and object metadata. Has three labeled blocks: Scene Context, Environment & Props, Subjects. Editable but pre-populated. See [Auto-prompt](/visualize/auto-prompt).

## B

**Build mode** – The art-department phase. Place objects, attach reference images, set environment, run the AI Composer. Everything that goes *in* the shot. See [Build mode](/build/build).

## C

**Compose mode** – The camera-department phase. Add shots, place cameras, set lenses and aspect ratios, frame the action, animate within shots. See [Compose mode](/compose/compose).

**Credit** – The unit Intangible bills generation work in. One image render at 1K resolution costs a few credits; video renders cost more. See [Credits and tokens](/overview/concepts/credits-and-tokens).

**Custom style** – A user-trained or user-uploaded style applied across renders in Visualize mode. The brand-specific equivalent of a Style Preset. See [Custom styles](/visualize/custom-styles).

## E

**Edit Image** – The pencil-tool flow that takes a generated image plus a textual instruction and returns a modified version. Useful for surgical fixes (color swap, object remove, surface tweak) without regenerating the whole shot. See [Edit images](/visualize/edit-images).

**Environment & Props** – One of three blocks in the auto-prompt. Covers the physical setting and secondary objects (the street, the storefronts, the trees, the mannequins). Distinct from Subjects (the hero objects).

## F

**First and last frame** – The video-generation pattern that takes a start frame plus an end frame and interpolates motion between them. Available on video models that support end frames; see [Models](/visualize/ai-models) for the current list. See [First and last frame](/visualize/first-and-last-frame).

## G

**Generate 3D Asset** – The Build-mode feature that creates a 3D mesh from text, an image, or multi-view photographs. Availability varies by plan – see [Plans and billing](/teams-and-billing/plans-and-billing). See [Generate 3D Asset](/build/generate-3d-asset).

**Gizmo** – The transform handle that appears on a selected object in the viewport. Lets you move, rotate, and scale the object directly. Coordinate space (Global vs Local) toggles via the contextual menu.

## I

**Image reference** – A photograph attached to a 3D object in Build mode. The visualizer locks the rendered appearance of that object to the reference image. The single most-used technique for keeping a character, vehicle, or product consistent across every shot. See [Image reference](/overview/concepts/image-reference) and [Keep a character consistent across shots](/overview/how-to/consistent-character-ai).

## L

**Lens** – The per-shot focal-length setting in Compose mode. The presets are 14mm Ultra-Wide, 24mm Wide, 35mm Standard, 50mm Normal, 70mm Portrait, 100mm Telephoto, and 200mm Super Telephoto, plus a Custom option for an arbitrary focal length, field of view, and near and far clipping planes. See [Lenses](/compose/lenses).

**Lighting preset** – A one-click atmosphere applied via the Visualize-mode Lighting tab. Pre-tuned lighting prose the model has been trained to honor; the picker carries a wide named library covering times of day, weather, and locations. See [Lighting presets](/visualize/lighting-presets) – the in-product picker is the source of truth for the current set.

**LoRA** – Low-Rank Adaptation. A fine-tuning file that biases a diffusion model toward a specific style, character, or product. Files are `.safetensors` or `.pt`. Attached to a Build-mode object via the More Options menu. See [LoRAs](/build/loras).

## M

**Mode switcher** – The top-center toolbar that swaps between Build, Compose, and Visualize. The active mode is highlighted.

**Monthly Credits** – Tier-allotted credits that refill each cycle and don't roll over. Different from Purchased Credits, which don't expire. See [Credits and tokens](/overview/concepts/credits-and-tokens).

## O

**Object Details panel** – The left-side panel in Build mode showing a selected object's name, description, and reference images. The manual entry point for attaching an Image Reference. See [Object Details](/build/object-details).

## P

**Picture-in-picture (PIP)** – The orbital satellite-view overlay in the top-left of the Compose-mode viewport. Shows the camera's frustum in world space relative to the scene. Useful for blocking and spatial relationships the camera view obscures.

**Populator** – A procedural container that distributes assets across an area or along a curve. Use for crowds, trees, vehicles in volume. Faster than placing one at a time, more believable than letting the model invent extras. See [Populators](/build/populators).

**Project** – The top-level container holding scenes, shots, renders, and project state. One project per agency brief, typically.

**Purchased Credits** – Top-up credits that don't expire. Spent after Monthly Credits run out. See [Credits and tokens](/overview/concepts/credits-and-tokens).

## R

**Render** – Either the act of generating an image or video from a composed shot, or the resulting output file. Both meanings are common in the docs and in production conversation.

## S

**Scene** – A persistent 3D world inside a project. Multiple shots can share one scene. A project can hold multiple scenes (different locations, different worlds), each with its own environment state. See [Projects and scenes](/overview/concepts/projects-and-scenes).

**Scene Context** – One of three blocks in the auto-prompt. Covers framing, mood, and location prose generated from the camera state and the scene's environment.

**Scene Outliner** – The left-side panel in Build mode listing every object in the current scene as a hierarchical tree. Useful when the viewport gets too crowded to click directly. See [Scene Outliner](/build/scene-outliner).

**Set** – A reusable grouping of objects saved for cross-project reuse. A pre-built kitchen, a city block, a product display – save once, use across projects. See [Sets](/build/sets).

**Shot** – A per-camera framing inside a scene. Carries its own camera, lens, aspect ratio, animation timeline, and shot-bound transforms. The unit of composition in Compose mode and the unit of rendering in Visualize. See [Shots](/compose/shots).

**Smart Import** – The import flow for `.glb`, `.gltf`, `.dae`, `.fbx`, `.ply`, `.obj`, `.sog`, `.spz`. USD is export-only and STL is not supported. Opens an editing environment that lets you fix scale, orientation, and category before the asset joins the scene. See [Import your own models](/build/import-your-own-models).

**Spline** – A curve used as a populator shape, an animation path, or a road generator. See [Spline populator](/build/spline-populator).

**Storyboard view** – The default Compose-mode bottom panel. Every shot in the project rendered as a card grouped by scene. The view for early-stage layout. See [Storyboard view](/compose/storyboard-view).

**Style preset** – A one-click surface treatment applied via the Visualize-mode Style tab. Photoreal, illustration, storyboard, anime, film noir, watercolor, oil painting, pencil sketch. Pre-tuned stylistic prose the model honors. See [Style presets](/visualize/style-presets).

**Subjects** – One of three blocks in the auto-prompt. Covers the hero objects (the car, the character, the product). Distinct from Environment & Props (the secondary objects).

## T

**Trigger word** – A specific text string a LoRA was trained to activate on. Must match exactly in the prompt for the LoRA to apply.

## V

**Visualize mode** – The post phase. Pick a model, edit the prompt if needed, generate. Image edits, first-and-last-frame video interpolation, style and lighting presets all live here. See [Visualize mode](/visualize/visualize).

## W

**Workspace** – A personal or team container for projects, assets, and credits. Personal Team is the default; team workspaces are paid (Business plan and up). See [Workspaces](/teams-and-billing/workspaces).


# FAQ

Common questions, troubleshooting, and the honest list of what Intangible doesn't do today.

The questions that come up often, and the things that don't quite work yet.

* [Common questions](/overview/faq/common-questions): credits, plans, exports, AI behavior – the top-of-inbox set.
* [Troubleshooting rendering](/overview/faq/troubleshooting-rendering): the wrong cop car keeps showing up; the model ignores my reference; the render is darker than the scene.
* [Troubleshooting import](/overview/faq/troubleshooting-import): the model is in the ground; the model is the size of a building; the orientation is wrong.
* [Known limitations](/overview/faq/known-limitations): video-to-video, USD bake-out, and the other things you'll notice are missing.


# Common questions

The questions that come up most often on support tickets and onboarding calls. Quick answers with links to the full pages.

The top-of-inbox set. If a question is here, the answer is likely in this list. If not, head to the section that owns it.

## Credits

### What does a render cost?

Costs vary by model and resolution. The credit counter at the top-right of the workspace tracks your remaining balance; click it for a breakdown by action type. Rough sizes: a 1K image is cheap (tens per credit pack), a 2K video is the most expensive single action. See [Credits and tokens](/overview/concepts/credits-and-tokens).

### What happens when I run out of credits?

A paywall appears when you click Generate or attempt a paywalled feature. Three options: buy a credit pack, upgrade your tier, or wait for the cycle to roll over. See [Plans and billing](/teams-and-billing/plans-and-billing).

### Do credit packs expire?

No. Pack credits persist beyond the monthly cycle and get used after the cycle's allotment runs out. See [Plans and billing](/teams-and-billing/plans-and-billing).

## Plans

### Can I try before I subscribe?

Yes. The Free tier gives you enough credits to walk through the [first render in 20 minutes](/overview/get-started/first-render-in-20-minutes) and try most features. See [Sign up and set up](/overview/get-started/sign-up-and-set-up).

### Do I need Business for everything?

No. Free covers most of the product, but Generate 3D Asset isn't available on it – that unlocks on Explorer and up. Explorer has everything except multi-seat teams; Business and Enterprise add teams. Solo creators usually do well on Explorer. See [intangible.ai/pricing](https://www.intangible.ai/pricing) for the current matrix.

### Can I downgrade later?

Yes. Downgrades take effect at the next billing cycle; the current cycle keeps the higher tier's features. Your existing credit balance is preserved into the new tier – monthly credits don't accumulate across cycles, but whatever you have at downgrade carries over.

## Teams

### How do I work with another person on the same project?

Two paths. For ongoing collaboration on multiple projects, set up a team workspace with [Create and invite](/teams-and-billing/create-and-invite). For one-off review of a specific project, share via email from the Share button. See [Sharing and collaboration](/overview/reference/sharing-and-collaboration).

### Can a contractor join a team without a Business account of their own?

Yes. Send them an invite from your Business team; they accept and join your team. Their own account stays free until they want their own Business plan.

### Can I move a project from personal to a team?

Not directly. Recreate it in the team workspace.

## AI behavior

### Why is my hero asset rendering as something generic?

The model isn't being given the specific reference. Attach an image of the actual asset to the object via Object Details → Image reference in Build mode. See [Image reference](/overview/concepts/image-reference).

### The same character looks different in every shot. How do I fix that?

Two practices that compound: give the character a plain object name and attach image references to it. A descriptive name like "pirate captain" pulls the model toward a generic stereotype, while a plain name like "Mark" lets the attached reference image define the look. See the tip on character consistency in [Image reference](/overview/concepts/image-reference).

### A render keeps including something I don't want.

If the unwanted element is in the 3D scene, hide or delete it in Build mode and regenerate. If it's something the model is hallucinating, edit the rendered image directly with the pencil tool ([Edit images](/visualize/edit-images)) or download, fix in Photoshop, re-upload as a start frame ([First and last frame](/visualize/first-and-last-frame)).

### Why doesn't AI Composer know about my custom imported asset?

It only knows the library's greyboxing assets. For specific imported objects, drag them in manually or call them out by name in your prompt. See [AI Composer](/build/ai-composer).

## Workflow

### The animation I authored isn't showing up in the render.

You probably authored it in Build mode. Animation only commits to a shot, and that requires Compose mode with a shot active. See [Animation and shot time](/overview/concepts/animation-and-shot-time).

### I can't find an object I placed.

Open the [Scene Outliner](/build/scene-outliner), find it by name, press `F` to frame the camera on it. Common cause: the object spawned outside the camera frustum and you didn't notice.

### I scaled an object to zero and now I can't select it.

Open the [Scene Outliner](/build/scene-outliner), find the object by name. From there you can rescale it via the gizmo's white center cube or by dragging a fresh copy of the asset from the Asset Library to replace it.

## Outputs

### Where do my renders live?

In the gallery to the right of the viewport in Visualize mode. Per-shot. Switching shots reveals a different gallery. See [Managing outputs](/visualize/managing-outputs).

### Can I download multiple renders at once?

No batch-download in the gallery today. Download renders one at a time via the per-render download icon. See [Managing outputs](/visualize/managing-outputs).

### Why is my exported video lower resolution than I expected?

[Export Video](/publish/export-video) downloads each clip at the resolution it was rendered at. There's no resolution normalization across clips. If you want a higher-resolution version of any clip, re-render that clip at 2K before exporting.

## Browser and performance

### Why is the viewport stuttering?

Most likely browser memory pressure or a complex scene. Close other tabs, lower the **Studio Graphics** tab settings (Ambient Occlusion off, Viewport maximum object count reduced), restart the browser. See [Account and settings](/overview/reference/account) and [System requirements](/overview/reference/system-requirements).

### Should I use Chrome or Safari?

Either. Chrome and Safari are the two officially supported browsers. Other browsers run standard compatibility checks but aren't actively QA'd.

## Related

* [Troubleshooting rendering](/overview/faq/troubleshooting-rendering)
* [Troubleshooting import](/overview/faq/troubleshooting-import)
* [Known limitations](/overview/faq/known-limitations)
* [Help and feedback](/overview/get-started/help-and-feedback)


# Troubleshooting rendering

Why renders go wrong, and where to fix each kind of wrong. Stubborn extra objects, drifting characters, dark output, ignored references.

A render came back not-quite-right. The fix depends on what kind of wrong it is. The patterns below cover most of what surfaces in support tickets.

## The composition is wrong

**Symptom**: the camera angle, framing, or which subjects are visible doesn't match what you intended.

**Fix**: not in Visualize. The composition is determined by the 3D scene plus the active shot's camera. Switch to Compose mode and adjust the camera; switch to Build mode and adjust object positions. Re-prompting won't help because the prompt didn't cause the issue.

If the auto-prompt's \[Subjects] block doesn't list a hero you expected to see, the model isn't being told the hero exists. New objects default to the asset name plus a number (for example `Chair 2`); rename it to something specific in [Object details](/build/object-details), regenerate the prompt, render again.

## The subject is generic

**Symptom**: the rendered car is "a car" rather than the specific Bronco the brief calls for.

**Fix**: attach an [image reference](/overview/concepts/image-reference) to the object in Build mode. The model receives the image at generation time and constrains the rendered subject to honor it. Description fields alone aren't enough for brand-accurate rendering.

For characters specifically: vanilla object names ("Mark") plus a reference image hold consistency across shots better than descriptive names ("pirate captain") with no reference.

## A stubborn extra object keeps appearing

**Symptom**: an extra car, an extra character, an extra prop the model keeps including despite not being in your scene. The famous "extra cop car" problem from the image-to-video tutorial.

**Fix**: don't expect prompt edits to remove it; the model is hallucinating, and re-prompting tends to invent different artifacts. Two real fixes:

1. **Edit the rendered image** with the pencil tool. *"Remove the extra car on the right."* See [Edit images](/visualize/edit-images). This is the primary fix – no external tools needed.
2. **Download, fix externally, re-upload as a start frame.** If the pencil tool alone isn't sufficient, download the render, edit it externally, and use the cleaned image as the start frame for video generation. See [First and last frame](/visualize/first-and-last-frame).

The second pattern is what Phil walks through in tI7ODVUJd1o's image-to-video tutorial.

## The render is darker or muddier than the scene

**Symptom**: the viewport looks bright and clean; the rendered output is dim, hazy, or low-contrast.

**Fix**: check the active [lighting preset](/visualize/lighting-presets) and the scene's [environment](/build/environment) settings. A "stormy coastal tempest" lighting preset overrides any sunny look the viewport implies. Also check fog density – fog at high density darkens the model's interpretation. Either swap the preset, swap the time of day, or turn fog off.

If lighting and environment look right and the render is still muddy, the model may be the issue. Try a different image model; models have different default tonal registers (see [Models](/visualize/ai-models)).

## The character drifts between shots

**Symptom**: the same character renders differently in shot 1 and shot 3 of the same sequence.

**Fix**: image reference plus vanilla naming. The character object should have:

* A vanilla name (Mark, Jeff, Sarah – not "pirate captain")
* An attached image reference (preferably multi-view: front, three-quarter, side)

See [Image reference](/overview/concepts/image-reference). The webinar pirate-scene walkthrough is the canonical example.

If consistency is still slipping despite vanilla naming and reference images, consider a [LoRA](/build/loras) trained on the character. LoRAs hold consistency more tightly across many renders.

## The model ignores my reference image

**Symptom**: image reference is attached, the auto-prompt mentions it, but the rendered subject still looks generic.

**Fix**: not all models honor references equally. Image-side: Nano Banana Pro and Flux Pro Kontext are tuned for image-reference conditioning. Older video models, including older Kling versions, are less capable with references than newer releases – treat their reference behavior as guidance rather than constraint. Switch to a newer model if the reference is being ignored. See [Models](/visualize/ai-models).

## The render takes too long

**Symptom**: a generation job sits for several minutes without returning.

**Fix**: there's no way to cancel a render once you've hit Generate. The visualizer offloads to external providers and provider queues fluctuate; the only signal is elapsed time. If a job fails (provider-side or network), the system retries automatically and you aren't charged credits for the failed attempt.

If multiple jobs are slow, the culprit is usually network: see [System requirements](/overview/reference/system-requirements).

## The render failed and I don't know why

**Symptom**: the render comes back as a failure card or a red toast, with a generic "generation failed" message. You can't tell if the prompt tripped a content filter, the provider timed out, or something else.

**Fix**: hover or click into the failure to read the provider's reason. The failure surface has three layers of detail:

* **Toast**: the short summary that appears top-right when the job fails. Often includes the provider's primary reason in one line.
* **Tooltip**: hover the failed render's tile in the gallery. The tooltip expands to show the captured provider reason, usually one to two sentences.
* **Media banner with "Show more"**: the failed render's tile shows a generic banner. Click **Show more** to reveal the full provider error message and any details captured at the time of failure.

The text comes directly from the underlying provider (Fal, the model vendor, or the Intangible job manager). Sometimes the reason is useful ("input image rejected by content filter", "request timed out after 600s"); sometimes it's opaque ("internal error"). When the reason names a specific cause, the fix is usually obvious from the text. When it doesn't, retry once – transient provider errors clear on the next attempt – before escalating via [Help and feedback](/overview/get-started/help-and-feedback).

Failed jobs don't consume credits, so a retry is free.

## I want a specific style but can't get it

**Symptom**: every render comes back photoreal even though you've described a specific illustrative look.

**Fix**: pick a [style preset](/visualize/style-presets). The preset's prose is what the model needs; describing a style in your own words sometimes lands and sometimes doesn't. Presets bundle the language that works.

If the preset isn't quite the look you want, [Custom styles](/visualize/custom-styles) lets you upload reference images for the look and save it as a reusable preset.

## Related

* [Edit images](/visualize/edit-images)
* [First and last frame](/visualize/first-and-last-frame)
* [Image reference](/overview/concepts/image-reference)
* [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks)
* [Models](/visualize/ai-models)
* [Help and feedback](/overview/get-started/help-and-feedback)


# Troubleshooting import

Common Smart Import problems and how to fix each one. Models in the ground, models the size of a building, wrong orientation.

The Smart Import editing environment exists to catch the most common import problems before they reach your scene. The patterns below cover what surfaces in support.

## Watch

{% embed url="<https://www.youtube.com/watch?v=iiC8IR_tG3w>" %}

## The model is in the ground

**Symptom**: the imported model lands with half of it below the ground plane.

**Cause**: the model was authored with its origin offset from where Intangible expects (typically the bottom-center).

**Fix**: click **Center** in the Smart Import editing environment. The model lands on the ground plane, origin at the bottom-center. If the model still looks wrong after centering, the origin in the source file is non-standard; re-export from your modeling tool with the origin at the bottom-center. See [Smart Import](/build/import-your-own-models).

## The model is the size of a building

**Symptom**: a chair imports at 100 meters tall, or a car imports at 0.1 meters.

**Cause**: unit mismatch. The source file was authored in centimeters or millimeters; Intangible interprets the values as meters.

**Fix**: in the Smart Import editing environment, type the actual size into the size field. Reference the human silhouette and the 1-meter grid lines on the floor; if the model looks roughly the size you'd expect against the human, the scale is right.

For specific values: a chair is around 0.9 meters tall, a car is around 1.5 meters tall, a house is around 8 meters tall. Use these as sanity checks.

## The orientation is wrong

**Symptom**: the imported model faces the wrong direction. A car's "front" is what Intangible thinks of as the right side.

**Cause**: the source file's orientation conventions differ from Intangible's. Maya, Blender, and Unreal each have different "forward" axes.

**Fix**: in the Smart Import editing environment, use the front/back/right/left rotation buttons to spin the model into the right orientation. The visualizer reads orientation when generating prompt context, so getting this right matters.

## Materials look wrong or are missing

**Symptom**: the model imports but looks default-gray or has lost its textures.

**Cause**: all imported models are stripped of their materials on import. This applies regardless of the source format or shader type – standard PBR, V-Ray, Principled, anything. The mesh arrives as a gray asset.

**Fix**: use [image reference](/overview/concepts/image-reference). Attach a hero photograph of the asset in Object Details; the visualizer uses that image to constrain surface treatment at render time. This is the canonical approach for brand-accurate hero assets and is how the agency examples in the webinar handle imported CAD.

## The import fails or hangs

**Symptom**: the file uploads, but the editing environment never opens, or it opens then crashes.

**Causes** (in rough order of likelihood):

1. **The file is too dense.** Multi-gig FBX with millions of triangles overwhelms the browser-based system. There's a ceiling on vertex count too – for example, models above \~280,000 vertices can fail. Decimate below that before importing.
2. **The format isn't fully standard.** A custom variant of FBX (e.g. Maya FBX with embedded animation) sometimes fails to parse. OBJ and FBX can also carry hidden nodes and cruft that trip the importer. Re-export with vanilla FBX options, or convert to GLB (see below).
3. **The file is corrupted.** Re-export from the source.
4. **The browser has run out of memory.** Close tabs and retry.

The most reliable fix for a stubborn OBJ or FBX is to open it in Blender and re-export as GLB. GLB is the cleanest interchange format for Smart Import, and a Blender → GLB pass almost always succeeds where the original file failed.

## DXF imports as wireframe, not solid

**Symptom**: a DXF file imports but shows only as line geometry, not as solid mass.

**Cause**: DXF is a wireframe / line format by design. Solid mass requires a different interchange.

**Fix**: re-export from the CAD tool as FBX, OBJ, or GLB. DXF is useful as an architectural plan reference but not as a final asset.

## Imports don't carry animation

**Symptom**: an FBX with an animated camera or rigged character imports as static geometry; the animation is gone.

**Cause**: Smart Import handles geometry only. Animations from your DCC don't import.

**Fix**: re-author the animation in Compose mode using keyframes. The 3D structure imports correctly; the motion has to be authored on the Intangible side.

## My Assets vs Team Assets

**Symptom**: an imported asset shows up under My Assets when you wanted Team Assets, or vice-versa.

**Cause**: the import lands in whichever workspace is active at import time.

**Fix**: switch to the right workspace (top-left dropdown) before clicking Import. There's no cross-workspace asset move; if you imported into the wrong one, re-import in the right one. See [Workspaces](/teams-and-billing/workspaces).

## Related

* [Smart Import](/build/import-your-own-models)
* [Image reference](/overview/concepts/image-reference)
* [Supported file formats](/overview/reference/supported-file-formats)
* [System requirements](/overview/reference/system-requirements)
* [Workspaces](/teams-and-billing/workspaces)


# Known limitations

What Intangible doesn't do today. Useful for setting expectations on a brief, scoping a pitch, or knowing when to use external tools.

The honest list of things the product doesn't do yet, with the reason or workaround for each. Knowing these up front prevents pitching work the tool can't deliver.

## Output and formats

### FBX export isn't supported

Same as USD. GLB is the export format today.

**Workaround**: GLB. Or render to PNG and bring the still into the downstream tool.

### Audio mixing across shots isn't supported

Each shot's video output carries its own audio if you generated with audio on. The Sequence tab plays only the active shot's audio – no blending or crossfading across shots. The Export Video flow keeps per-shot audio rather than producing a continuous mix.

**Workaround**: edit audio in your editing tool downstream. Premiere, Resolve, Pro Tools.

### Image output is PNG; scene references are JPG

Rendered stills export as PNG. Reference images attached to a 3D object in the scene store as JPG. The distinction matters only if you're round-tripping the assets externally.

### Higher-bit-depth and HDR formats aren't exposed

PNG and JPEG are the export options for stills. TIFF, EXR, and other production-pipeline formats aren't on the list.

**Workaround**: PNG covers most cases. For HDR / EXR specifically, no equivalent.

## Generation

### Video-to-video isn't supported

You can render images, render videos, edit images, and interpolate between two images for video (first-and-last frame). What you can't do today is feed a rendered video back as a motion or style reference for another video render.

**Workaround**: use first-and-last-frame for two-image bridging. For more complex cases, no equivalent in v1.

### Speech-to-prompt isn't shipped

Some commit history references a speech-to-prompt feature; it isn't live to users today.

**Workaround**: type prompts. The auto-prompt block is what most users edit anyway.

### Custom diffusion parameters (seed, steps, edge retention) aren't exposed in the UI

The current UI surfaces only Scene / Style / Lighting tabs. Advanced visualizer parameters aren't available to users.

**Workaround**: pick the right model, pick the right preset, attach an image reference. Most of what advanced users want to do via these parameters can be approximated via the visible controls.

## Workflow

### Path-based animation isn't supported

All animation today is keyframe-based. There's no curve a subject or a camera can ride along. Splines are a populator shape for distributing static instances along a path, not an animation tool.

**Workaround**: keyframe densely. For a car driving along a road or a character walking along a path, place the subject at frame 0, scrub the playhead, place at the next waypoint, repeat. Four to five keyframes across a one-second move usually carry the curve cleanly with the smoothing default.

### Cross-scene shot edits aren't supported

A single shot's camera can't span two scenes. To cut between scenes, build separate shots in each scene and assemble in the [Sequence Timeline](/compose/timeline).

**Workaround**: assemble in the sequence timeline. The sequence cuts cleanly across scenes.

### Cross-team sharing isn't supported

A project, custom style, or saved set in Team A's workspace isn't visible to Team B. There's no cross-team sharing flow.

**Workaround**: re-create in the other team. Or share at the project level via email ([Sharing and collaboration](/overview/reference/sharing-and-collaboration)).

### iPad support isn't fully tested

Intangible Studio runs on iPad, but not every function has been verified for touch. Viewport gestures and flows that depend on precise pointer input may behave unevenly.

**Workaround**: use a desktop or laptop browser for production work. iPad is fine for review and light edits.

## Performance

### Multi-gigabyte CAD imports are slow

The browser-based system has a soft cap on imported file size at around 500 MB. Past that, or past millions of triangles, imports slow significantly.

**Workaround**: decimate externally before importing. A clean retopology of the source mesh imports faster and renders better.

### Very large scenes get sluggish

Past several thousand objects, the viewport's frame rate drops on most hardware.

**Workaround**: use [populators](/overview/concepts/populators) for dense distributions instead of individual placement. A single populator with a thousand procedural instances performs much better than a thousand individual objects.

## Generation models

### Some video models cap aspect ratios

Vertical 9:16 and square 1:1 aspect ratios may not be available on every video model. The model dropdown filters as you pick a gate.

**Workaround**: pick a model that supports the gate, or render at a supported gate and crop externally.

### Provider models change

The visualizer is a model aggregator; provider lineups evolve. Models you used last quarter may be replaced or retired.

**Workaround**: the visualizer's dropdown is authoritative. Pick the closest current successor when a model disappears, and re-render to confirm the look survives.

## What to do when you hit a limit

If a limit is blocking work, send a note via [Help and feedback](/overview/get-started/help-and-feedback). The team tracks limitations and prioritizes them based on how often they surface in real work.

## Related

* [Common questions](/overview/faq/common-questions)
* [Troubleshooting rendering](/overview/faq/troubleshooting-rendering)
* [Troubleshooting import](/overview/faq/troubleshooting-import)
* [Help and feedback](/overview/get-started/help-and-feedback)


# How to

Task-shaped guides for the control problems that drive pro creatives off pure prompt tools – consistent characters, controlled composition, brand-true renders.

Task-shaped guides for the control problems that surface most often when a pro creative tries to deliver finished work from an AI tool. Each page is one specific job, end to end, with steps you can follow on a real project.

These pages assume you already have a project open. If you don't, start with [Make your first render](/overview/get-started/first-render-in-20-minutes).

## Most-asked

* [Keep a character consistent across shots](/overview/how-to/consistent-character-ai) – the single highest-leverage technique for finished work.
* [Build a storyboard](/overview/how-to/ai-storyboard) – from a fresh project to a scene-grouped shot list.
* [Make an animatic](/overview/how-to/ai-animatic) – cut your shots into a playable edit.

## Related concepts

* [Controlling AI output](/overview/concepts/control-ai-output) – why the three modes solve the problems pure prompt tools can't.
* [Image reference](/overview/concepts/image-reference) – the concept under most of the consistency how-tos.
* [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks) – the technical why.


# Keep a character consistent across shots

How to keep a character, vehicle, or product looking the same across every shot in your sequence. The single highest-leverage technique for pro-quality output.

The recurring failure mode in pure prompt tools: the hero looks different in shot 2 than in shot 1. A different jacket. A different face. The Lambo is now red. Re-prompting won't fix it because the model is being asked to invent the look every time, and small variations compound.

The fix has one moving part. Bind a reference image to the 3D object once, then reuse the same object across every shot. The visualizer locks the appearance to the reference for every render that includes the object.

## Steps

1. **Place the object in the scene.** Use the Asset Library for stock geometry or [import your own model](/build/import-your-own-models) for a client product. The object lives in the scene; shots are framings of it.
2. **Select the object and open Object Details.** Click the object in the viewport. The Details panel docks on the left. Scroll to the **Reference images** section.
3. **Attach a reference image.** Click **Upload** or **Add from Media Library**. JPEG and PNG accepted. Up to four images per object for multi-view references.
4. **Reuse the same object across shots.** Don't duplicate the object per shot. Move the same instance, or let the camera reframe it. The reference binding follows the object, so every shot that includes it inherits the locked appearance.
5. **Render.** In Visualize mode, generate. The reference travels into the auto-prompt's Subjects block and into the model alongside the prompt. The character, vehicle, or product comes back as the reference, not as a generic interpretation of one.

## Faster path: the AI Composer

Instead of opening the Details panel, type into the AI Composer prompt input at the bottom of Build mode:

> Attach this as a reference image to the chair: \<image URL>

The composer finds the matching object and attaches the reference. The Build viewport shows a base color at most, not the reference itself, which resolves at render time. Faster when you can describe the object in a sentence. See [AI Composer](/build/ai-composer).

## Why this works

The model receives a structured 3D scene plus a prompt, not just text. The reference image attaches to a specific object in the scene, so the model knows exactly which thing in the rendered output should match the reference. Pure prompt tools can't do this because they have no concept of "this object" – they only have the description.

For the deeper version, see [Image reference](/overview/concepts/image-reference) and [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks).

## Tips that level up the result

* **Vanilla object names beat descriptive ones for character consistency.** "Mark" and "Jeff" hold their look across renders better than "pirate captain" and "British sailor". Descriptive names pull the model toward generic interpretation and away from the specific reference.
* **Multi-view references improve mesh-aware results.** Front, three-quarter, and side photographs produce more consistent renders than a single angle.
* **Reference-tuned image models honor references most tightly.** See [Models](/visualize/ai-models) for which models in the current working set are tuned for reference-image conditioning. Older video models honor references less tightly – if a reference seems ignored on video, try first-and-last-frame interpolation from a reference-locked still.

## Limits

* **Reference fidelity varies by model.** If a reference seems ignored, switch to a reference-tuned image model (see [Models](/visualize/ai-models)), then use first-and-last-frame interpolation for video.
* **Reference doesn't override composition.** A reference image tells the model what the object looks like, not where it goes. Composition is a Compose-mode concern.
* **One reference per object at a time.** You can attach up to four images for multi-view, but they're treated as multiple angles of the same object, not different alternates.
* **References are downsampled and composited internally.** Every reference attached to an object lands on a single 720 × 1024 sheet before the model sees it. Multi-view (front, three-quarter, side) works well at this resolution; oversized source files give the model nothing extra. Sub-megapixel inputs are fine.

## Related

* [Image reference (concept)](/overview/concepts/image-reference)
* [Controlling AI output](/overview/concepts/control-ai-output)
* [Object details](/build/object-details)
* [AI Composer](/build/ai-composer)
* [LoRAs](/build/loras) – the alternative when a fine-tuned model is required.


# Match a client's product exactly

How to render a client's exact product, vehicle, or branded asset – not the AI's interpretation of one. The canonical agency workflow for brand-true output.

The brief said *2024 Bronco* and the AI rendered a generic mid-sized SUV. The brief said *Lululemon storefront* and the AI rendered a glass-fronted retail box. The brief said *iPhone 15 Pro Max in Natural Titanium* and the AI rendered a phone. Pure prompt tools fail at brand fidelity because text descriptions are lossy and the model fills in what it doesn't know.

The fix combines two techniques: bring the client's actual geometry into the scene, and bind a hero photograph as the visual reference. The model gets structural truth from the mesh and surface truth from the photograph. The render comes back as the actual product.

## Steps

1. **Get the client's CAD or 3D file.** FBX, OBJ, USD, GLB, or DXF. Most agency briefs include this; if not, request it before generating anything. A 3D file beats reverse-engineering geometry from photographs.
2. **Import via Smart Import.** Build mode → **Import Asset**. Drop the file. Smart Import opens an editing environment that lets you fix scale, orientation, and category before the asset joins the scene. See [Import your own models](/build/import-your-own-models).
3. **Place the asset in the scene.** Position, rotate, scale to fit the composition. The geometry is now the source of truth for the object's shape and position.
4. **Open Object Details and attach a hero photograph as the reference image.** Select the imported asset, open Details (left side panel), scroll to **Reference images**, click **Upload**. Pick a clean photograph of the actual product – not a render, not a stylized image, the photograph the client uses on their site.
5. **Optionally add multi-view references.** Up to four images per object. Front, three-quarter, side. Multi-view produces more consistent renders than a single angle.
6. **Compose the shot.** Switch to Compose mode, frame the product the way the brief asks. Lens, aspect, aim target. The reference travels with the object across every shot in the project.
7. **Render in Visualize.** Use a reference-tuned image model first – see [Models](/visualize/ai-models) for which models in the current working set honor reference photographs most tightly.
8. **Iterate without losing fidelity.** Re-frame, change lighting, switch shots. The reference stays bound to the object. Every render comes back as the actual product, not a new interpretation each time.

## Why this works

The visualizer receives the 3D geometry, the bound reference image, and the prompt as structured input – not as a single text description. The model sees the actual shape and the actual surface and renders both. Pure prompt tools can't do this because they have no concept of "this specific object" – they only have words.

For the technical version, see [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks).

## When the client only has photographs

No CAD, no 3D file, just photographs. Two options:

* **Generate a 3D model from the photograph.** Build mode → [Generate 3D Asset](/build/generate-3d-asset) → image-to-mesh. The output is a 3D asset based on the photograph. Then attach the same photograph as the Image Reference. Mesh from photo, surface from photo – it works.
* **Use** [**Image to scene and shot**](/build/image-to-scene-and-shot)**.** Drop a photograph in. Intangible builds an approximate scene and a matching shot. Faster when the entire scene comes from one reference rather than just one product in it.

## Tips

* **Object names matter.** Vanilla names like the actual product code ("Bronco-2024", "Air-Max-1") beat descriptive names ("the SUV", "the running shoe") because descriptive names pull the model toward generic interpretation.
* **Photo quality matters more than resolution.** A clean product photograph against a plain background outperforms a noisy file at any size.
* **One reference per object at a time, but multi-view counts as one.** Four photographs of the same product from different angles is one reference (multi-view). Four photographs of four different products is four references on four objects.

## Limits

* **Reference fidelity varies by model.** If a reference seems ignored, switch to a reference-tuned image model (see [Models](/visualize/ai-models)). For video, render a reference-locked still first, then use first-and-last-frame interpolation.
* **The reference doesn't override composition.** A photograph of a product tells the model what it looks like, not where to put it. Composition is a Compose-mode decision.
* **Highly complex CAD can stress Smart Import.** Aerospace-grade FBX with thousands of nested groups may need flattening in the source DCC before import.

## Related

* [Image reference (concept)](/overview/concepts/image-reference)
* [Import your own models](/build/import-your-own-models)
* [Generate 3D Asset](/build/generate-3d-asset)
* [Image to scene and shot](/build/image-to-scene-and-shot)
* [Keep a character consistent across shots](/overview/how-to/consistent-character-ai)
* [Models](/visualize/ai-models)


# Build a storyboard

How to build a complete AI storyboard inside Intangible. From a fresh project to a scene-grouped shot list ready for review.

A storyboard is the shot list before the cut – every shot the project needs, grouped by where it lives in the world. In a real production this is the document the director, DP, and editor align around before anyone sets up a camera. In Intangible the storyboard lives in the project itself, alongside the 3D scene and the cameras, so the thumbnails are always live framings and not pencil sketches you have to keep redrawing.

This guide walks through it end to end. Skip steps you've already done.

## Steps

1. **Open or create a project.** From the homepage, pick a Showcase template close to the brief, or start blank. The project is the container; scenes and shots live inside it.
2. **Build the scene in Build mode.** Place the geography, props, characters, and the time of day. Reference images on objects come in here too. The scene is the world the shots will frame – build it once, then frame it many times. See [Build mode](/build/build).
3. **Switch to Compose mode.** The mode switcher is at the top center of the editor. The viewport keeps its scene; the controls reshape for shot work.
4. **Add the first shot.** Click the camera **+** icon directly below the viewport. The new shot snapshots the current viewport framing. Position the camera, set the lens, frame the action. See [Cameras and shots](/compose/shots).
5. **Name the shot.** Open [Shot details](/compose/shot-details) and give the shot a name from the brief – "Hero Approach", "Reveal", "Tag" – not "Shot 1". Names carry through to the cards, the timeline, and any export.
6. **Set the shot's duration.** Adjust the shot's track bar in the Scene Timeline. Default is approximately two seconds; trim down or extend per the beat. Duration matters for the animatic, not yet for the card.
7. **Repeat for every shot in the scene.** Add, frame, name, set duration. The Storyboard tab fills with cards as you go. Group thinking is the win here – build all the coverage for one scene before moving to the next.
8. **Add the next scene.** Scenes hold their own shots and their own world (terrain, sky, references). Add a new scene from the scene picker in the top toolbar. Repeat steps 2 through 7.
9. **Open the Storyboard tab and review the layout.** Each scene shows as a header with shot cards underneath. Drag cards to reorder within a scene.
10. **Hand off.** The storyboard reads naturally to anyone reviewing the project – producer, director, client. Share via the [Share dialog](/publish/publish-tab) for review, or move to the [Sequence Timeline](/compose/timeline) to cut the animatic.

## Why this works in Intangible specifically

A pencil storyboard is a sketch of what the camera will see. An Intangible storyboard is the camera position itself, frozen at a moment, with a thumbnail rendered from the actual scene geometry. Reframe the camera and the thumbnail updates. Move an object in Build mode and every shot that includes it updates. The storyboard never goes stale.

The same shots are also the input to the cut and to the renders – authoring them once means you're not redrawing the same idea three times.

## Tips

* **Authoring order isn't sequence order.** The storyboard groups shots by scene, not by playback. Use the [Sequence Timeline](/compose/timeline) when you're ready to cut.
* **Scene names matter.** They show up as group headers in the storyboard, in the timeline, and in any export. "Manhattan Street" beats "Scene 1" for anyone reviewing.
* **Coverage before composition.** First pass, get the angles you need. Second pass, refine the framing. Trying to perfect each shot before moving on slows the storyboard down without making it better.

## Limits

* **No multi-select reordering.** Drag one card at a time.
* **No image storyboard import.** The storyboard is shots in the project, not arbitrary uploaded images. Bring sketches or reference images into the scene as [Image References](/overview/concepts/image-reference) on objects, not as storyboard frames.

## Related

* [Storyboard view](/compose/storyboard-view) – the panel reference.
* [Shots](/compose/shots) – the unit being arranged.
* [Make an animatic](/overview/how-to/ai-animatic) – the next step once the storyboard is laid out.
* [Shot details](/compose/shot-details) – names and descriptions.


# Make an animatic

How to cut an animatic from your shots in Intangible. From a storyboard to a playable edit you can scrub end to end.

An animatic is the cut before the renders – your shots laid out end to end with timing, ready to scrub. In a real production the animatic is what tells the director the cut works before anyone burns rendering hours. In Intangible the animatic is built from the same shots you composed, so the timing reflects your actual cameras and animation.

This guide assumes you already have shots in the project. If you don't, start with [Build a storyboard](/overview/how-to/ai-storyboard) first.

## Steps

1. **Open Compose mode.** The mode switcher is at the top center of the editor. The bottom panel exposes the three Compose-mode views.
2. **Switch to the Sequence tab.** Three tabs at the bottom: Storyboard, Sequence, Scene Timeline. Click **Sequence**. The view changes from card-grid to a horizontal timeline. Each shot appears as a segment sized to its duration.
3. **Set each shot's duration.** Click a shot segment, drag its right edge to extend or shorten. Default is approximately two seconds; trim to the beat the shot earns. Animation inside the shot scales with the duration – an animation extended past its original length plays at a slower rate unless you also adjust the keyframes. See [Animation](/compose/animation).
4. **Reorder shots into the cut.** Drag a shot segment along the timeline to move it earlier or later. Storyboard order isn't sequence order. The storyboard groups shots in authoring order; the sequence is the cut. Shots play back-to-back with no gaps.
5. **Scrub the playhead.** Drag the vertical playhead line. The viewport plays the assembled cut, switching cameras and animation states as the playhead crosses each segment. You're watching the animatic.
6. **Iterate.** Trim, reorder. The sequence is non-destructive – the underlying shots aren't modified, only their layout in time.
7. **Hand off.** Use [Presentation mode](/publish/presentation-mode) to play the animatic fullscreen for review. Or [Export video](/publish/export-video) to render the cut as a single output once the timing is locked.

## Cross-scene cutting

A sequence is scoped to a single scene. To play multiple scenes end-to-end as one cut, use [Publish mode](/publish/publish-tab), which strings scenes together for review and playback.

## Why this works in Intangible specifically

Most animatic tools are sketch-first or paste-up tools – you bring images in, lay them out, fake the timing. Intangible's animatic is the actual sequence of cameras and animation in the actual scene. When you adjust a shot in Compose mode, the sequence updates. When you re-render a shot in Visualize, the animatic picks up the new render. The animatic stays in sync with the work, without re-importing.

## Tips

* **Name shots before you sequence.** A timeline of "shot-1" through "shot-12" is unmanageable past five shots. Use [Shot details](/compose/shot-details) to give shots descriptive names from the brief.
* **Sequence after coverage, not before.** Build all the shots first, then arrange. Trying to cut while still authoring shots costs more time than it saves.
* **The sequence is the input to Export Video.** Lock the cut here and the export is one click. See [Export video](/publish/export-video).

## Limits

* **No audio mixing in the sequence.** Audio is not mixed at the per-shot or sequence level. Audio assembly is downstream work in your editor of choice.
* **Resizing a shot doesn't auto-scale animation.** Extending a shot's duration leaves the animation completing in its original window and holding for the rest. Adjust keyframes in the shot's own timeline if you want the animation to stretch.

## Related

* [Timeline (Sequence)](/compose/timeline) – the panel reference.
* [Build a storyboard](/overview/how-to/ai-storyboard) – the prior step.
* [Shot details](/compose/shot-details) – names and descriptions.
* [Presentation mode](/publish/presentation-mode) – fullscreen playback.
* [Export video](/publish/export-video) – render the cut to file.


# Control shot composition

How to control composition, lens, aspect ratio, and aim in your AI renders. The Compose-mode decisions the model can't override.

Pure prompt tools randomize composition. Ask for "a wide shot of a car on a wet street at night" and you get whatever wide shot the model trained on. Ask for "from a low angle, 35mm, 2.39:1 cinemascope, lead with negative space on the left" and you get back a generic wide shot anyway. Composition is spatial; text is bad at carrying it.

Compose mode is where you make composition non-negotiable. Camera position, lens, aspect, aim target – all spatial decisions, all passed to the model as structured input alongside the prompt. The model can't override what you set; it renders the framing you placed.

## Steps

1. **Add a shot.** In Compose mode, click the camera **+** icon directly below the viewport. The new shot snapshots the current viewport framing as its starting point.
2. **Position the camera.** Orbit, pan, dolly, and zoom to find the framing. The viewport shows the camera's actual view. See [Camera controls](/compose/camera-controls).
3. **Set the lens.** Open the lens picker and choose the focal length. 14mm ultra-wide for environmental establishment, 24mm or 35mm for documentary feel, 50mm when the shot should read as observed rather than composed, 70mm for portraiture, 100mm or 200mm telephoto for compression. See [Lenses](/compose/lenses).
4. **Set the aspect ratio.** 16:9 for digital delivery, 2.39:1 for cinemascope, 1:1 for social, 9:16 for vertical. The picker has the standard production aspects pre-loaded. See [Aspect ratios and film gates](/compose/aspect-ratios-and-film-gates).
5. **Set an aim target if the camera should track an object.** Aim Camera binds the camera's look-at point to a 3D object, so when the object moves the camera follows. The target appears as a crosshair anchored to the object. See [Aim Camera and Target](/compose/aim-camera-and-target).
6. **Frame the action.** Use the PIP (picture-in-picture) overhead view in the top-left of the viewport to check spatial relationships – where the subject sits relative to the environment. The PIP is on by default in Compose.
7. **Lock with Shot Details.** Open [Shot details](/compose/shot-details). Name the shot from the brief and write a description. The shot is now ready for render.
8. **Render.** In Visualize mode, generate. The composition you set – position, lens, aspect, aim – is passed to the model as part of the scene. The render comes back framed exactly the way you composed it.

## Why this works

The Compose mode camera is a real 3D camera, not a description of one. The model receives the camera's position, target, focal length, and aspect ratio as structured parameters – not as English. Lens choice changes perspective and field of view in the rendered output the way it would in a real camera, because the same math applies.

Prompt tools can't do this because they have no 3D camera state. "35mm" in a prompt is a token the model has loosely associated with certain visual qualities; it isn't actually a 35mm lens.

For the deeper version, see [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks).

## Composition decisions in production order

| Decision            | Where                                         | Affects                                                |
| ------------------- | --------------------------------------------- | ------------------------------------------------------ |
| Camera position     | Compose viewport (orbit / pan / dolly / zoom) | Where the camera is in the scene                       |
| Lens / focal length | Compose lens picker                           | Field of view, perspective compression, depth of field |
| Aspect ratio        | Compose aspect picker                         | Frame proportions, where to place subjects in frame    |
| Aim target          | Aim Camera tool                               | What the camera tracks if the subject moves            |
| Subject placement   | Build mode (move the object)                  | What's in frame at all                                 |

The order matters in production: build the world, then choose the lens, then position the camera, then aim. Reverse the order and you spend more time hunting for the framing.

## Tips

* **Pick the lens before fine-tuning the position.** Different focal lengths require different camera distances for the same composition. A 24mm at 5 feet and a 100mm at 20 feet frame the subject the same size, but with very different perspective. Choose the lens, then position.
* **Use the PIP overhead view for staging.** When characters or vehicles need specific blocking relative to each other, the PIP shows the spatial layout that the camera view obscures.
* **Aim Camera for moving subjects.** A racing car shot frames itself if you aim the camera at the car and let the car drive past. The camera tracks the subject across the shot's duration without manual keyframing.

## Limits

* **No DOF / aperture control as a numeric setting.** Depth of field is implied by lens choice and the model's interpretation. Telephoto lenses produce more compressed depth in renders than wide lenses, but you don't dial f-stop directly.
* **No camera shake or handheld simulation.** The camera path is smooth unless you keyframe variation. For handheld feel, add it in your edit.
* **The first-and-last-frame video flow uses two stills.** For controlled video composition with camera motion, see [First and last frame](/visualize/first-and-last-frame).

## Related

* [Camera controls](/compose/camera-controls)
* [Lenses](/compose/lenses)
* [Aspect ratios and film gates](/compose/aspect-ratios-and-film-gates)
* [Aim Camera and Target](/compose/aim-camera-and-target)
* [Shot details](/compose/shot-details)
* [Controlling AI output](/overview/concepts/control-ai-output)


# Control lighting in renders

How to control lighting in AI renders with Visualize lighting presets, and what the Build-mode time-of-day controls are actually for.

Pure prompt tools roll the dice on lighting. "Golden hour" generates an approximation of golden hour, sometimes. "Stormy night" generates whatever the model's training data clustered under that phrase. The lighting drifts between renders even when the prompt doesn't.

Render lighting in Intangible lives in one place: the **Lighting Presets** picker in Visualize. Pick a preset and the model lights the render to match. The **Sky** and **Time** controls in Build don't reach the render at all. They light the 3D viewport so you can read the scene as you work, and so you can judge which preset fits the look you're after.

So the move is: pick the preset. Use Build time-of-day to see your scene, not to light the render.

## Steps

1. **Switch to Visualize mode and open the Lighting tab.** The Visualizer panel on the right has Scene / Style / **Lighting** tabs. Click Lighting. This is the surface that controls rendered lighting.
2. **Pick a preset.** The picker opens a grid of dozens of named atmospheres covering times of day, weather, and locations. Each preset is a named lighting look the model has been tuned to honor; the in-product picker is the source of truth for the current set. See [Lighting presets](/visualize/lighting-presets).
3. **Filter to find the right one.** The filter row supports time of day, environment, and location filters, plus a search field. Faster than scrolling.
4. **Apply the same preset across shots.** Consistent lighting in a sequence comes from reusing one preset, not from any Build setting. Pin the preset and reapply it shot to shot.
5. **Render.** The preset is what lit it.

Optional, and not a render control: in Build, open **Edit Scene Details** and set the **Time** field (8:30am, 5:30pm, 11:00pm). The sun position and color temperature change in the 3D viewport so the scene reads the way you expect while you build and so you can eyeball which preset to reach for. None of it is passed to the render. See [Environment](/build/environment).

## Where render lighting comes from

Render lighting is interpretive, and it's the preset's job. The preset feeds the model detailed lighting prose without you writing it: mood, color cast, the way fog reads, atmospheric perspective. The preset can change per shot if the brief calls for it.

Build's Time and Sky are viewport-only. They set where the sun sits in the 3D scene so you can read placement and depth, the same way you'd flood a stage with work lights before the DP lights the shot. The one Build input that does reach the render is ground color, which the vision model reads as a material (green as grass, gray as asphalt). See [Environment](/build/environment) for that detail.

## Tips

* **The lighting preset picker is much richer than the docs imply.** Filter by location ("Coastal", "Urban", "Forest") to find atmospheres that fit the scene. Try presets you wouldn't pick by name – the thumbnails surface options the search wouldn't find.
* **Custom Styles can override the lighting preset.** If a brand has a specific lighting language (warm and overexposed, cool and shadowed), build a [custom style](/visualize/custom-styles) and apply it instead of a preset. The custom style takes precedence.
* **Consistent lighting across a sequence comes from the preset, not the Build time-of-day.** Reuse the same preset shot to shot. Changing the Build Time changes your viewport, not the render, so it won't make a sequence match.

## Limits

* **No manual key/fill/back light placement.** Intangible doesn't expose individual light sources for placement (no three-point lighting rig). Render lighting is set holistically through the preset.
* **Preset behavior varies by image model.** Some models honor the lighting preset prose more tightly than others. If a preset isn't reading on a render, switch the image model.
* **No environment animation within a shot.** Sun position, time of day, and fog are scene-level and aren't keyframable today. Since they don't reach the render anyway, drive lighting changes with the preset, and to vary the look across a sequence, change the preset per shot or render variants and cut between them. See [Animation and shot time](/overview/concepts/animation-and-shot-time).

## Related

* [Lighting presets](/visualize/lighting-presets)
* [Environment](/build/environment) – Sky, Time, Location, Fog.
* [Custom styles](/visualize/custom-styles)
* [Style presets](/visualize/style-presets)
* [Models](/visualize/ai-models)
* [Controlling AI output](/overview/concepts/control-ai-output)


# Generate a 3D model from an image

How to generate a 3D model from a reference image (or text prompt) inside Intangible. The fastest path when the asset library doesn't have your specific thing.

The Asset Library covers the common ground – chairs, vehicles, characters, environments. It doesn't cover every brief. The brief for a deeptech pitch wants a specific reentry capsule. The brief for a fashion campaign wants a specific bag. The brief for an architecture flythrough wants a specific facade.

When the library doesn't have it, you generate it. Intangible's Generate 3D Asset takes a text prompt or a reference image and returns a 3D mesh you can drag into the scene like any library asset. Image-to-mesh is the one that pulls its weight – text-to-mesh is generic; image-to-mesh produces the actual shape in the photograph.

## Steps

1. **Open Build mode.** Generate 3D Asset is a Build-mode action; it adds a new asset to the library, not to a specific shot.
2. **Open Generate 3D Asset.** Look for **Generate 3D** in the Asset Library footer, or via the AI Composer with a prompt like "generate a 3D model of a 1965 Ford Mustang from this image".
3. **Pick the input mode.** Three options:
   * **Text-to-mesh** – describe the asset. Works for generic shapes; weak for specific products or branded geometry.
   * **Image-to-mesh** – drop a single reference image. The output mesh approximates the shape in the photograph. The most-used path.
   * **Multi-view-to-mesh** – up to four photographs from different angles (front, back, left, right). The most accurate path; produces a more topologically clean mesh than single-view.
4. **Provide the input.** For image modes, drop a clean photograph against a plain background if possible. Cluttered backgrounds confuse the segmentation step. For text mode, write a specific prompt – "a 1965 Ford Mustang, side view, glossy red paint" beats "a sports car".
5. **Generate.** The mesh is queued and produced. Generation usually takes a minute or two.
6. **Drag the result into the scene.** When the mesh is ready, it appears in the **My Assets** category of the Asset Library. Drag it into the viewport like any other asset.
7. **Optionally bind a reference image to the new asset.** Open Object Details, attach the same photograph (or a hero shot) as an Image Reference. The mesh provides the shape, the reference provides the surface – the model gets both.

## Why this works

Text-to-3D models work by sampling shapes from the training distribution, conditioned on the text. They produce believable shapes, but not specific ones. Image-to-3D conditions on the actual shape in the photograph, so the output is the specific object's silhouette and proportions, not a category-average version.

For agency briefs, image-to-mesh is the right reach almost always – the client has photographs, the photograph is the brief, the mesh is downstream.

## Tips

* **Clean backgrounds beat hero photographs for image-to-mesh.** A product shot against white outperforms an editorial photograph against a complicated environment, because the mesh-extraction step has less to ignore.
* **Multi-view is worth the extra setup if accuracy matters.** Multiple angles produce noticeably better topology than one. For complex shapes (vehicles, hardware, characters), use multi-view if you have the references.
* **Generate once, reference everywhere.** A single Generate 3D output sits in My Assets and can be dragged into any project. You don't need to regenerate the same shape across projects.
* **Pair with Image Reference for finished work.** Generate 3D gives you the geometry. Image Reference (attached to the same object) gives you the surface. Both are needed for brand-true output.

## Plan and limits

* **Generate 3D Asset isn't available on Free.** Upgrading to Explorer or Business unlocks it. See [Plans and billing](/teams-and-billing/plans-and-billing).
* **Mesh quality varies with input quality.** Garbage-in, garbage-out applies. A blurry phone photograph at an awkward angle produces a worse mesh than a clean studio shot.
* **Topology isn't production-ready for animation rigging.** The output mesh is suitable for static placement and shot rendering, not for character rigging or simulation. For rigged work, generate the static mesh, then use it as reference for traditional 3D modeling outside Intangible.
* **No internal-cavity or hidden-geometry capture.** Image-to-mesh sees what the photograph sees. The back of an object photographed from the front is approximated, not measured.

## Related

* [Generate 3D Asset (reference)](/build/generate-3d-asset)
* [Image to scene and shot](/build/image-to-scene-and-shot) – generate a whole scene from an image, not just one asset.
* [Import your own models](/build/import-your-own-models) – when the client has actual CAD instead of just photos.
* [Match a client's product exactly](/overview/how-to/brand-true-ai-render) – the canonical workflow that combines Generate 3D with Image Reference.
* [Image reference (concept)](/overview/concepts/image-reference)


# Import from Blender, Maya, or Houdini

How to import 3D models from Blender, Maya, Houdini, Cinema 4D, or Unreal into Intangible for AI rendering. Smart Import for FBX, OBJ, USD, GLB, DXF.

Pure prompt tools can't ingest a 3D file. The brief came with a client CAD asset; the prompt tool has no way to use it. The agency's existing pipeline lives in Maya or Blender; the AI tool acts like the pipeline doesn't exist. Workflows fork, time gets lost on rebuilding what already exists.

Intangible's Smart Import takes the common 3D exchange formats from any DCC – FBX, OBJ, USD, GLB, DXF – and lands them in the scene. Smart Import does the cleanup work that usually eats an hour: scale correction, axis alignment, category metadata, sometimes light unwrapping. The asset is ready to compose against in minutes, not after a day of cleanup.

## Steps

1. **Export from your DCC in a supported format.** FBX is the most common. OBJ for static geometry, USD for layered scenes, GLB for web-aligned exports, DXF for CAD interoperability.
2. **Open Build mode in the target Intangible project.** Smart Import is a Build-mode action.
3. **Drag the file into the viewport, or use Import Asset.** The Asset Library's footer has an **Import Asset** button. Drop or pick the file.
4. **Smart Import opens an editing environment.** A new view shows the imported geometry in isolation, with controls for:
   * **Scale** – auto-detected, but adjustable. A Maya export at 1 cm and a Blender export at 1 m need different scale corrections.
   * **Orientation / Up axis** – Y-up vs Z-up handled here. Maya defaults Y-up; Blender defaults Z-up; Houdini defaults Y-up.
   * **Category** – tag the asset (Vehicle, Character, Furniture, Set Piece). Used by populators and the asset library's filters.
5. **Confirm and import.** The asset lands in the scene at the cursor or center, and is added to **My Assets** in the Asset Library for reuse in this project and others.
6. **Optionally attach an Image Reference.** Open Object Details on the imported asset and attach a hero photograph. The geometry provides the shape; the reference provides the surface. Together they're the brand-true workflow.
7. **Compose and render.** Treat the imported asset like any other library asset. Position, frame, render in Visualize.

## DCC-specific notes

* **Blender** – use **File → Export → FBX** with default settings. Z-up needs to be flagged on import. Materials don't carry through – the model arrives gray; attach an Image Reference for surface.
* **Maya** – **File → Export Selection → FBX**. Y-up by default. Bake transforms before export to avoid scale surprises.
* **Houdini** – **File → Export → ROP FBX Output**. Multi-asset exports work, but consolidating to a single FBX simplifies the import.
* **Cinema 4D** – **File → Export → FBX**. Watch for axis flipping; the Smart Import editing environment lets you correct.
* **Unreal Engine** – exports via Datasmith or FBX. For Unreal-bound work specifically, think about whether you're going Intangible → Unreal (USD export from Intangible) or Unreal → Intangible (FBX import here). Both directions work.

## Why this works

Smart Import does the boring half of asset onboarding so you can spend time on the brief instead of the import. Scale correction, axis alignment, category metadata – work that used to live in a hidden cleanup pass is exposed and quick.

The imported asset becomes part of the structured scene the visualizer reads. Geometry, position, scale, orientation – all passed to the model as input alongside the prompt. The render reflects the actual asset's shape, not a generic interpretation.

## Tips

* **Prefer GLB when you can.** OBJ and FBX can carry hidden nodes and cruft that trip the importer. A Blender → GLB export is the most reliable path and almost never fails on import; if an FBX or OBJ misbehaves, convert it to GLB through Blender and try again.
* **Bake transforms in your DCC before export.** Especially for animated assets or rigs. Frozen transforms import cleaner than world-space matrices.
* **Strip what you don't need.** A 5-million-poly architecture model imports slowly and renders slowly, and very high-poly meshes can fail outright – for example, models above \~280,000 vertices. Decimate or LOD-down in your DCC if the brief doesn't need every triangle.
* **Group sensibly.** A vehicle as a single FBX with body / wheels / interior as nested groups imports cleanly. The same vehicle as a hundred unparented meshes is harder to work with.
* **USD when scenes layer.** For multi-asset, multi-take production work, USD's layering preserves more structure than FBX. Intangible reads USD; use it for complex scenes.

## Limits

* **No animation import yet.** Smart Import handles geometry and basic transforms, not skeletal animation or simulation cache. Animate inside Intangible's Compose mode for shot-bound animation.
* **Materials don't carry through.** All imported models arrive as gray meshes – materials are stripped on import regardless of format or shader type. Attach an Image Reference for surface fidelity. The geometry is reliable; the surface is what the AI render fills in.
* **Rigs don't import.** The mesh imports; the rig and weights don't. For animated character work, generate stills with a posed mesh or animate in the source DCC and bring in the baked alembic / FBX once supported.
* **Very large files (over 1 GB) may stress import.** Decimate first.

## Related

* [Import your own models (reference)](/build/import-your-own-models)
* [Generate a 3D model from an image](/overview/how-to/ai-3d-model-from-image) – when you don't have a CAD file, generate one from a photograph instead.
* [Match a client's product exactly](/overview/how-to/brand-true-ai-render) – the full agency workflow.
* [Supported file formats](/overview/reference/supported-file-formats)
* [Image reference](/overview/concepts/image-reference)


# Brief AI like a DP

How to brief an AI render the way you'd brief a DP – scene, camera, model. The mental model that scales from one shot to a hundred.

A director walks onto a stage with a brief. They don't hand the DP a paragraph and walk away. They walk through the set, point at where the action will happen, agree the lens, agree the framing, agree the look. Three locked decisions. Then the DP shoots.

Pure prompt tools collapse all three decisions into a paragraph and ask the model to back-fill. That's why they fail at finished work. Intangible separates the three decisions across three modes, so each is a deliberate choice rather than a hope.

This guide is the mental model, not a step list. Use it to make sense of the rest of the docs.

## The three decisions, in order

### 1. The scene (Build mode)

The set. The world. Everything that's *in* the shot.

A DP doesn't pick the lens before the set is built. They walk the location, see the geometry, see the props, see the natural light. The scene is the first decision because every later decision depends on it.

In Intangible, Build mode is where the scene is constructed. Place objects, import client CAD, generate the mesh that doesn't exist yet, attach reference images for brand-true geometry, set the time of day, drop in populators where you need crowds or trees or vehicles in volume. When Build mode is done, the scene is locked. The model can't override what you placed.

See [Build mode](/build/build), [Image reference](/overview/concepts/image-reference), [Match a client's product exactly](/overview/how-to/brand-true-ai-render).

### 2. The camera (Compose mode)

The framing. The lens. The aspect.

A DP picks the lens to do specific work. 24mm to immerse, 35mm for natural perspective, 70mm to flatter, 100mm or 200mm telephoto to compress. Aspect ratio sets the proportion the audience reads – cinemascope, vertical for social, square for branded. Position and aim set what's in frame.

Compose mode holds these decisions as 3D camera state, not as English. The model receives the actual camera, not a description of one. Re-prompting won't change the framing because the framing isn't in the prompt – it's in the scene.

See [Cameras and shots](/compose/shots), [Lenses](/compose/lenses), [Aspect ratios and film gates](/compose/aspect-ratios-and-film-gates), [Control shot composition](/overview/how-to/control-ai-composition).

### 3. The model (Visualize mode)

The look. The render. The technology that turns the brief into pixels.

A DP doesn't pick the camera body for every shot. They pick a working camera at the start of the production and stay with it. AI rendering is similar: pick the model that fits the brief – photoreal, illustrative, video with motion, video with end-frame interpolation – and stay with it across the project.

Visualize mode is where you pick the model and tune its inputs. The scene's auto-prompt is editable but not from-scratch; it's pre-populated from the structured Build and Compose state. The model receives the scene, the camera, the prompt, the bound references, the lighting preset – all of it at once.

See [Models](/visualize/ai-models), [Generate image](/visualize/generate-image), [Generate video](/visualize/generate-video), [Style presets](/visualize/style-presets).

## What this gets you

When the brief is the brief and the brief is locked across three deliberate decisions, the renders come back consistent. The same character, the same composition language, the same look across every shot.

When the brief drifts because it lives in a paragraph, the renders drift with it.

This is what Philip's tutorials walk through end to end. Watch one to see the mental model in motion:

{% embed url="<https://www.youtube.com/watch?v=x_glYD5b8jw>" %}

## Common mistakes

* **Trying to brief in Visualize first.** Skipping Build and Compose to get to the render is the most common mistake from people coming off pure prompt tools. The render won't honor the brief because the brief isn't in the scene yet. Build first, compose second, render third.
* **Re-prompting to fix composition.** If the framing is wrong, the fix is in Compose, not Visualize. The model can't reframe what's locked spatially.
* **Re-prompting to fix the product.** If the brand is wrong, the fix is in Build (Image Reference), not Visualize. The model isn't being given the visual truth.
* **Picking the model before the scene exists.** Different models have different strengths, but you can't choose well without a composed shot to test against. Build the shot, then test models against it.

## A concrete walkthrough of the pattern

Concrete sequence for an agency brief – car ad, hero drive, urban setting:

1. **Scene** – import the client's vehicle CAD via Smart Import, attach a hero photograph as Image Reference, populate a city street with buildings and crowd, set Time to 5:30pm for golden-hour light.
2. **Camera** – add the hero shot, position low and forward of the vehicle, set lens to 35mm for wide environmental coverage, set aspect to 2.39:1 cinemascope, aim camera at the vehicle so the framing tracks if the car drives.
3. **Model** – switch to Visualize, pick the photoreal image model that's tuned for reference-image conditioning, pick a Lighting Preset that fits the brand language, render. Then render the video version with the same scene + camera, switching only the model.

Three deliberate decisions, locked. The render reflects the brief because the brief reflects the production order.

## Related

* [Controlling AI output](/overview/concepts/control-ai-output) – the conceptual umbrella.
* [The three modes](/overview/concepts/the-three-modes) – how Build, Compose, and Visualize map to a real production pipeline.
* [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks) – the technical version of why this works.
* [From idea to finished render](/overview/how-to/from-idea-to-finished-render) – the same pattern walked end to end as steps.


# Animate an object

Set keyframes on an object in a Compose-mode shot, pick the interpolation, refine the motion, retime or delete keys.

You authored the placement in Build mode. Now you need the object to move. Animation in Intangible is keyframe-based; all keyframes live on the scene timeline. Set the start, scrub forward, set the next state, pick how the motion gets between them. Two minutes of work for a clean move.

This page covers the mechanic on an object. Cameras animate the same way; see [Animation](/compose/animation) for camera-specific notes.

{% hint style="info" %}
**On multi-object shots, animate the action before the camera.** Key the subject's motion across the shot first, then frame and animate the camera around it. Working the other way leads to camera moves that don't line up with a path the subject hasn't taken yet.
{% endhint %}

## Set the shot active first

Animation only records inside a shot. Switch to Compose mode and click a shot thumbnail in the storyboard. The active shot's timeline appears at the bottom of the viewport. If you skip this step and start moving objects, the move applies globally to the scene's Build-state instead of recording as a keyframe. The trap is documented in [Animation and shot time](/overview/concepts/animation-and-shot-time); avoid it by always checking the storyboard before you touch an object.

## Drop the first keyframe

Park the playhead at frame 0 and place the object where it should start. Then scrub forward to where the next keyframe should land and edit the object: drag, rotate, scale. A keyframe drops on the active track at the playhead's position.

![Selecting an object at the end of the shot timeline and dropping the first keyframe](/files/dnDvt3UT57GvTg5DbSWj)

The shot's default duration is around two seconds. Extend it from the Scene Timeline by dragging the right edge of the shot's track bar.

## Choose the interpolation

Each keyframe carries an interpolation choice that controls how the value travels to the next keyframe. Five options:

* **Easing.** The default. Motion accelerates out of the keyframe and decelerates into the next. Use it for most cinematic camera moves and organic subject motion.
* **Smooth.** Similar arc to Easing but with a different curve shape. Two adjacent Smooth keyframes produce real curvature – the object's path bends into the move and out of it.
* **Linear.** Constant speed between this keyframe and the next. Use it for mechanical motion or any move that should read as deliberate and uninflected.
* **Ease In / Ease Out.** One-sided versions of Easing – the motion eases only at entry or only at exit, not both.
* **Step.** Snap to the next keyframe with no in-between. The value holds, then jumps. Use it for hard state changes, stop-motion looks, or moments where the motion should be discrete rather than continuous.

![Three keyframes set to linear, smooth, and step, played back side by side to show the difference in motion](/files/4Uemn7RnLTwSNnfRINOB)

Interpolation is per keyframe, not per track. A single track can mix modes: Easing out of frame 0, Linear into frame 60, Step at frame 90. Each segment of the timeline bar reflects its choice visually, so the curve shape is readable at a glance.

Keyframes inserted mid-segment always default to Easing. Mixing modes creates small velocity bumps at the transition point; keep that in mind when blending Easing and Linear segments.

The arc you get from two smooth keyframes is real curvature, not just easing. If both keyframes on a position track are set to smooth, the object's path bends into the move and out of it. Two linear keyframes give you a straight line at constant speed.

![Two keyframes set to smooth, producing arcing motion as the object moves between them](/files/6xuc9jobtNW7tMb86m2t)

## Refine the motion

Once the start and end are keyed, three operations sharpen the move.

{% hint style="info" %}
**On shots with multiple animated objects, set every key to Linear first.** Linear keeps every track moving at a constant rate, so the subject stays in frame as you scrub and time-align across objects. Once the timing reads right end to end, switch individual keys back to Smooth or Step where you want curvature or a hold. Mixing interpolation modes too early causes the camera and subject to drift apart mid-shot.
{% endhint %}

**Insert a keyframe mid-segment.** Scrub the playhead to a frame between two existing keyframes and edit the object. A new keyframe lands at the playhead, splitting the segment in two. Each half gets its own interpolation choice. This is how you correct an in-between value without re-keying either end.

![Inserting a third keyframe in the middle of an existing segment, with the new break inheriting a fresh interpolation choice](/files/2LpgUSyvwAQ1fw6yWWsc)

**Retime a beat.** Grab a keyframe and drag it along its track. The surrounding interpolation segments stretch or compress to match. Use this to slow a beat down or speed past one without redoing the keyframes themselves.

![Dragging a keyframe along the timeline to shift when its value lands](/files/Q7JBOdY83m8gVO8Dk1fX)

**Delete a keyframe.** Select it and delete it. The motion reverts to whatever the surrounding keyframes describe. If you deleted the only keyframe between frame 0 and the end of the shot, the object holds its frame-0 state for the rest of the shot.

![Selecting a keyframe and deleting it, with the object reverting to its prior path](/files/NGWPI7rCJGSbZyOJtevL)

## Common mistakes

{% hint style="warning" %}
**Authoring motion in Build mode and expecting it to animate.** Build-mode transforms commit to the scene's permanent state. Only Compose-mode transforms with a shot active become keyframes. If your render came back static, this is almost always why.
{% endhint %}

* **No keyframe at frame 0.** A single keyframe at frame 30 with nothing at frame 0 means the starting state is whatever the scene happened to be in when you last touched the object, not "at the start of this shot". Always key the start.
* **Choosing linear when you meant easing.** Linear at constant speed often reads as robotic on character motion or camera moves. The default Easing exists because most cinematic motion wants it.

## What's next

The keyframes you just set are the input to a video model. Two ways to go from here:

* [**Generate video**](/visualize/generate-video) – pick a video model and generate. Most models read your animation and follow it within their own interpretation.
* [**Video (from scene)**](/visualize/video-from-animation) – a dedicated visualizer mode that uses your keyframes as the explicit motion source. Tighter fidelity to what you authored. Includes [Direct Render](/visualize/direct-render) for a non-AI wireframe capture.

## Related

* [Animation](/compose/animation) – reference for the animation system, including camera-aim and pose animation.
* [Animation and shot time](/overview/concepts/animation-and-shot-time) – how the scene timeline works and why Build-mode moves don't animate.
* [Shots](/compose/shots) – creating, duplicating, and ordering shots.
* [Timeline](/compose/timeline) – the Sequence view for arranging shots into an edit.
* [Video (from scene)](/visualize/video-from-animation) – where your keyframes go to become video.


# From idea to finished render

The full Intangible workflow walked end to end. From an empty project to a delivered render, with every decision in production order.

AI tutorials usually show one trick. The full pipeline – the path from an empty project to a delivered render – is harder to show because it spans every part of the product. This page is that path.

Use it as a checklist for your first finished project, or as a refresher when you're pulling a new piece of work together.

## The path

### Phase 1: Plan the brief

Before opening Intangible, write three things down:

* **What is the deliverable?** Image, image set, video clip, animatic, full sequence cut. Each has a different production path.
* **What's branded or specific?** Products, characters, locations that have to look like the actual thing. These are the candidates for Image Reference and Smart Import.
* **What's the look?** Photoreal, illustrative, stylized. This shapes the model and style preset choices.

Without these three, you'll spend the first hour drifting. With them, the steps below have an answer at every fork.

### Phase 2: Build the scene

Build mode. Construct the world the camera will see.

1. **Open or create a project.** Pick a Showcase template if one fits the brief; start blank otherwise.
2. **Establish the geography.** Asset Library for stock environments, [Smart Import](/build/import-your-own-models) for client CAD, [Generate 3D Asset](/build/generate-3d-asset) for shapes that don't exist yet, [Image to scene and shot](/build/image-to-scene-and-shot) when the brief is a single reference photograph.
3. **Place the hero objects.** Vehicles, characters, products. Use [Image Reference](/overview/concepts/image-reference) on every object the brief specifies by name. This is non-negotiable for agency work.
4. **Populate the rest.** [Populators](/build/populators) for crowds, trees, vehicles in volume. Faster than placing one at a time and more believable than letting the model invent extras.
5. **Set the world state.** Time of day, location, sky, fog. See [Environment](/build/environment).
6. **Save sets you'll reuse.** [Sets](/build/sets) bundles a group of objects into a reusable component – a kitchen, a city block, a product display.

When Build mode reflects the brief, switch modes.

### Phase 3: Compose the shots

Compose mode. Frame the moment.

1. **Add the first shot.** Position the camera, set the lens, set the aspect. See [Control shot composition](/overview/how-to/control-ai-composition).
2. **Aim the camera at moving subjects.** [Aim Camera](/compose/aim-camera-and-target) tracks an object across the shot's duration without manual keyframes.
3. **Animate within the shot.** Animation is shot-bound – move an object in Compose mode and the move applies to that shot only. See [Animation](/compose/animation).
4. **Repeat for every shot in the brief.** Use the [Storyboard view](/compose/storyboard-view) to keep coverage visible while you work.
5. **Name and time every shot.** Descriptive names from the brief, deliberate durations per beat. See [Shot details](/compose/shot-details) and [Build a storyboard](/overview/how-to/ai-storyboard).

### Phase 4: Render in Visualize

Visualize mode. Pick the model and generate.

1. **Open the first shot in Visualize.** The auto-prompt populates from the Build and Compose state. Read it before generating; edit only what's wrong.
2. **Pick the model.** [Models](/visualize/ai-models) covers the trade-offs. Reference-tuned image models for brand-true work; specific video models for end-frame interpolation.
3. **Set the Style and Lighting tabs.** [Style presets](/visualize/style-presets) or a [Custom Style](/visualize/custom-styles). [Lighting Preset](/visualize/lighting-presets) on top of the scene's time of day.
4. **Render.** Image first, video second. The image render confirms the scene, composition, and look are right before you spend video credits.
5. **Iterate.** [Edit images](/visualize/edit-images) for surgical fixes. Re-render shots that don't land. Switch models if a model is fighting the brief.
6. **Render the rest.** Once one shot lands, the rest tend to land faster because the scene and references are shared.

### Phase 5: Cut the animatic

Compose mode → Sequence tab.

1. **Switch to the Sequence Timeline.** See [Make an animatic](/overview/how-to/ai-animatic). A sequence is scoped to a single scene; for multi-scene cuts, use Publish mode.
2. **Reorder shots into the cut.** Storyboard order is authoring order; sequence order is the cut. Shots play back-to-back with no gaps.
3. **Trim durations to the beat.** Drag shot edges to extend or shorten.
4. **Scrub the playhead to review.** The viewport plays the assembled cut.

### Phase 6: Publish or export

Pick the path that matches the deliverable.

* **For internal review** – [Presentation mode](/publish/presentation-mode). Fullscreen playback of the sequence, no edit hand-off needed.
* **For client share** – the [Publish tab](/publish/publish-tab) generates a shareable URL. Toggle comments on or off.
* **For a final video file** – [Export video](/publish/export-video) renders the sequence to a single file. Format options in [Export formats](/publish/export-formats).
* **For per-shot files** – [Export shot video](/publish/export-shot-video) for individual shot outputs. Useful when handing off to an editor.
* **For a poster or still set** – [Poster](/publish/poster) and the per-render Download menu in Visualize.

## What you've actually done

You've walked the same path Philip walks in his tutorials, the same path agencies walk for paid work. Three deliberate decisions: the scene, the cameras, the model. Then the cut. Then the export.

The pattern repeats for every project. The first time it takes a day. The third time it takes a morning.

## Common pitfalls along the path

* **Skipping Phase 1.** Without a brief, every later step has too many forks. Write the three things down.
* **Compose without an Image Reference on hero objects.** The render will come back generic. Fix it in Build, not in re-prompting.
* **Rendering video before image.** Image renders cost less and confirm the scene + composition + look are right. Validate in image, then commit to video.
* **Sequencing shots while you're still authoring shots.** Build all the shots first, then arrange. The cut feels different from the storyboard order more often than not.

## Related

* [Brief AI like a DP](/overview/how-to/brief-ai-like-a-dp) – the mental model behind this workflow.
* [The three modes](/overview/concepts/the-three-modes) – the conceptual basis.
* [Controlling AI output](/overview/concepts/control-ai-output) – why this approach works where prompt-only tools fail.
* [Make your first render](/overview/get-started/first-render-in-20-minutes) – the 20-minute version for a first project.


# Intangible MCP

Connect Claude Desktop, Claude Code, ChatGPT, and other AI agents to Intangible's Model Context Protocol server (Intangible MCP), then build 3D scenes from a plain-language brief.

Intangible's Model Context Protocol (MCP) server lets an AI agent build 3D scenes in your Studio tab from a plain-language brief. Point Claude Desktop, Claude Code, ChatGPT, or another MCP client at the server, hand it a brief, and it builds the set while you watch. Your agent builds the set. You direct it.

Intangible's MCP server is in **Beta**. This release opens Build, Compose, and Visualize modes to your agents, with more Intangible functionality coming to agents in the following weeks. Expect changes and performance improvements.

The server is hosted at `https://mcp.intangible.ai/mcp`. It is a remote server with OAuth sign-in, so there is nothing to install and nothing to run locally.

{% hint style="info" %}
**MCP server URL:** `https://mcp.intangible.ai/mcp`
{% endhint %}

## What is the Model Context Protocol?

The Model Context Protocol (MCP) is an open standard that lets an AI agent call external tools through one shared interface. An MCP server exposes a set of actions, and any MCP client can discover and use them. Intangible's server exposes Studio actions – create a project, add a model, frame a shot, render an image – so an agent drives a 3D scene the way you do with a mouse. Read the standard at [modelcontextprotocol.io](https://modelcontextprotocol.io).

## Which AI agents can connect to Intangible?

Any MCP-capable client can connect to Intangible's MCP server. These three have step-by-step pages:

* [Connect Claude Desktop](/overview/intangible-mcp/connect-claude-desktop)
* [Connect Claude Code](/overview/intangible-mcp/connect-claude-code)
* [Connect ChatGPT](/overview/intangible-mcp/connect-chatgpt)

Other MCP clients connect the same way: point them at `https://mcp.intangible.ai/mcp` and complete the OAuth sign-in.

## What you need to connect

To connect an agent to Intangible you need three things. An Intangible account – sign up at [studio.intangible.ai](https://studio.intangible.ai); see [Sign up and set up](/overview/get-started/sign-up-and-set-up). A supported agent – Claude Desktop, Claude Code, ChatGPT, or another MCP client. An open Studio tab – the agent edits your live scene in the browser, so keep it open while you work, and if no project is open, ask the agent to create one first.

## How an agent builds a scene in Intangible

An agent works in the same three modes you do: Build, Compose, Visualize. Each mode hands the model a different kind of context, which keeps the output under control instead of letting it drift. In Build, the agent places 3D assets and constructs the set. In Compose, it sets cameras and frames the shot. In Visualize, it renders the image. See [The three modes](/overview/concepts/the-three-modes) and [What your agent can do](/overview/intangible-mcp/what-your-agent-can-do).

## What to expect: about 80 percent

An agent gets a scene roughly 80 percent of the way, then hands it back. Objects land close, not exact. Final positioning is yours, and that last stretch is faster by hand than through another round of prompting – and it costs fewer tokens.

## Connect and run your first brief

1. Pick your client and follow its setup page above.
2. Open a Studio project, or ask the agent to create one.
3. Give it a brief. Example: *"Build a city street at dusk, place a parked sedan on the right, frame a low three-quarter shot, and render it cinematic."*
4. Watch the scene fill in, then finish the framing by hand.

## Related

* [Connect Claude Desktop](/overview/intangible-mcp/connect-claude-desktop)
* [Connect Claude Code](/overview/intangible-mcp/connect-claude-code)
* [Connect ChatGPT](/overview/intangible-mcp/connect-chatgpt)
* [What your agent can do](/overview/intangible-mcp/what-your-agent-can-do)
* [Troubleshooting and FAQ](/overview/intangible-mcp/troubleshooting-and-faq)

*Last updated 7 August 2026. Intangible's MCP server is in Beta; steps and capabilities may change.*


# Connect Claude Desktop

Connect Claude Desktop to Intangible's Model Context Protocol (MCP) server as a custom connector, then build 3D scenes from a chat.

Connect Claude Desktop to Intangible by adding Intangible's Model Context Protocol (MCP) server as a custom connector. Once connected, you build 3D scenes by typing a brief into a normal Claude chat. The server URL is `https://mcp.intangible.ai/mcp`.

## Before you connect Claude Desktop

You need an Intangible account and Claude Desktop. Sign up for Intangible at [studio.intangible.ai](https://studio.intangible.ai) if you don't have an account – see [Sign up and set up](/overview/get-started/sign-up-and-set-up). Install and sign in to Claude Desktop.

## Claude Desktop: add the Intangible connector

Add Intangible under Claude Desktop's connector settings.

1. In Claude Desktop, open **Settings › Connectors**. At the foot of the section, click **Add custom connector**.
2. Set the name to **Intangible** and the remote MCP server URL to `https://mcp.intangible.ai/mcp`.
3. Click **Connect** on the Intangible connector. Your browser opens; sign in to Intangible and approve access.

## Claude Desktop: enable Intangible in a chat

Turn Intangible on inside a Claude Desktop chat before you use it. In a new chat, open the tools menu (the sliders icon under the message box) and make sure **Intangible** is toggled on.

## Claude Desktop: verify the connection

Confirm the Intangible connection with a quick test. Keep a Studio tab open, then send this example brief:

> Create a new Intangible project and add a red cube to the scene.

Claude opens a Studio window in your browser and places the cube. If the cube appears, Claude Desktop is connected. Keep the Studio tab open while you work, because the agent edits your live scene. On larger scenes, asset search can leave the viewport empty for a few seconds before objects appear.

## Primary source

Anthropic documents custom connectors here: [Get started with custom connectors using remote MCP](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp).

## Related

* [MCP (Model Context Protocol)](/overview/intangible-mcp)
* [What your agent can do](/overview/intangible-mcp/what-your-agent-can-do)
* [Troubleshooting and FAQ](/overview/intangible-mcp/troubleshooting-and-faq)

*Last updated 7 August 2026. Intangible's MCP server is in Beta; steps may change.*


# Connect ChatGPT

Connect ChatGPT to Intangible's Model Context Protocol (MCP) server as a connector, then build 3D scenes from a chat.

Connect ChatGPT to Intangible by adding Intangible's Model Context Protocol (MCP) server as a connector. Once connected, you build 3D scenes by typing a brief into a ChatGPT chat. The server URL is `https://mcp.intangible.ai/mcp`.

## Before you connect ChatGPT

You need an Intangible account and a ChatGPT account whose settings show **Apps & Connectors**. Sign up for Intangible at [studio.intangible.ai](https://studio.intangible.ai) if needed – see [Sign up and set up](/overview/get-started/sign-up-and-set-up). Connector availability depends on your ChatGPT plan and workspace settings; if you don't see Apps & Connectors, check with your workspace admin.

## ChatGPT: add the Intangible connector

Add Intangible under ChatGPT's connector settings.

1. Go to **Settings › Apps & Connectors** and click **Create**.
2. Set the name to **Intangible** and the server URL to `https://mcp.intangible.ai/mcp`.
3. Set **Transport** to **Streamable HTTP** and **Authentication** to **OAuth**. Sign in to Intangible and approve access.

## ChatGPT: enable Intangible in a chat

Turn Intangible on inside a ChatGPT chat. In a new chat, open the apps menu under the message box and switch **Intangible** on.

## ChatGPT: verify the connection

Test the connection. Keep a Studio tab open, then send this example brief:

> Create a new Intangible project and add a red cube to the scene.

ChatGPT opens a Studio window in your browser and places the cube. Keep the Studio tab open while you work, because the agent edits your live scene.

## Primary source

OpenAI documents developer mode and MCP connectors here: [Developer mode and MCP apps in ChatGPT](https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt).

## Related

* [MCP (Model Context Protocol)](/overview/intangible-mcp)
* [What your agent can do](/overview/intangible-mcp/what-your-agent-can-do)
* [Troubleshooting and FAQ](/overview/intangible-mcp/troubleshooting-and-faq)

*Last updated 7 August 2026. Intangible's MCP server is in Beta; steps may change.*


# Connect Claude Code

Connect Claude Code to Intangible's Model Context Protocol (MCP) server with one command, then build 3D scenes from the terminal.

Connect Claude Code to Intangible by adding Intangible's Model Context Protocol (MCP) server with a single command, then authenticating. The server URL is `https://mcp.intangible.ai/mcp`.

## Before you connect Claude Code

You need an Intangible account and Claude Code installed. Sign up for Intangible at [studio.intangible.ai](https://studio.intangible.ai) if needed – see [Sign up and set up](/overview/get-started/sign-up-and-set-up). Confirm Claude Code is installed with `claude --version`.

## Claude Code: add the Intangible server

Add the Intangible MCP server with one command:

```bash
claude mcp add --transport http --scope user intangible https://mcp.intangible.ai/mcp
```

`--scope user` makes Intangible available in every project on your machine. Use `--scope project` instead to add it only in the current working directory.

## Claude Code: verify and restart

Confirm Intangible registered, then restart. Run:

```bash
claude mcp list
```

`intangible` appears in the list. Fully quit any running session and start it again with `claude`.

## Claude Code: authenticate with Intangible

Sign in to Intangible from inside Claude Code. Run `/mcp`, select **intangible**, then sign in and approve in the browser window that opens. The status shows connected once you approve.

## Claude Code: verify the connection

Test the Intangible connection. Keep a Studio tab open, then ask:

> Use Intangible to create a project and add a red cube to the scene.

A Studio window opens in your browser and the cube lands in the scene. Keep the Studio tab open while you work; if the agent reports no open project, ask it to create one first.

## Primary source

Anthropic documents Claude Code's MCP setup here: [Connect Claude Code to tools via MCP](https://code.claude.com/docs/en/mcp).

## Related

* [MCP (Model Context Protocol)](/overview/intangible-mcp)
* [What your agent can do](/overview/intangible-mcp/what-your-agent-can-do)
* [Troubleshooting and FAQ](/overview/intangible-mcp/troubleshooting-and-faq)

*Last updated 7 August 2026. Intangible's MCP server is in Beta; steps may change.*


# What your agent can do

The actions Intangible's Model Context Protocol (MCP) server exposes to an agent, by mode, in plain prose – what an agent can build, and where you finish by hand.

Once an agent is connected to Intangible's Model Context Protocol (MCP) server, it can drive most of Studio. This page lists what an agent can do, grouped by the three modes, plus where you still finish by hand. This inventory reflects the current Beta, and capabilities are expanding.

## What an agent places in a scene: models, primitives, presets, populators

An agent builds a scene from four kinds of things, the same ones you use by hand. Models are 3D assets pulled from the library by meaning – ask for "a mid-century armchair" and the agent searches and places the closest match. Primitives are cubes, spheres, planes, and other base shapes for blocking. Presets are complete spaces dropped in at once, like a furnished room. Populators are procedural generators for many similar objects, like a forest or a crowd, placed in one step.

## In Build mode, the agent constructs the set

In Build mode, an agent creates a project and scene, then fills it. It searches the asset library semantically, places models and primitives, drops in presets and populators, extrudes shapes, adds and edits characters, and sets the environment – sun position, fog, terrain. It can read the current scene back before it adds more.

> Build a small cafe interior: a counter along the back wall, four two-top tables, warm afternoon light through a window on the left.

## In Compose mode, the agent frames the shot

In Compose mode, an agent moves the camera and creates framed shots. It positions the camera for a specific angle, sets up a shot, and animates objects and camera moves across the scene timeline.

> Frame a low three-quarter shot of the counter with a 35mm look, then add a slow push-in.

Ask for a set of shots and they arrive as named cards in the storyboard, so the board reads like a shot list rather than a pile of cameras.

![Compose mode after an agent framed a set of shots, each one a named card in the storyboard](/files/tN0o51o3eVpR0x24TKzf)

## In Visualize mode, the agent renders the image

In Visualize mode, an agent renders an image from the shot you composed. It can build the prompt from the scene automatically, so the render reflects what is in the set rather than a guess from text. See [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks).

> Render the shot, photoreal, golden hour.

An agent can also set the aspect ratio and resolution on the render, so "make it 16:9 at 2K" is part of the same instruction rather than a trip back into Studio.

## How an agent paces a long job

A scene of any size takes minutes, and an agent that disappeared for ten of them would be indistinguishable from one that had crashed. So the session has a rhythm worth knowing about.

**It orients you before it starts.** On first contact the agent sets expectations: work in two windows, chat on one side and the Studio tab on the other, and the order is Build, then Compose, then Visualize. It will tell you that the viewport stays empty for the first stretch while it searches the asset library, and that objects land close rather than exact.

**It stops at checkpoints.** On a large scene it places a representative piece, then pauses and asks you to look before it commits to the rest. A row of chairs gets built once and checked before the other two dozen go in. Correcting one row is cheap; correcting twenty-five is not.

**It asks before rendering.** Rendering is the slow step and the one that spends credits, so an agent presents the framed shots and waits for you to choose which to render rather than rendering all of them. If you want everything, say so.

**It tells you what it cannot do.** Some things are reachable by hand in Studio but not through the tools an agent has. When it hits one, it should say which, and hand you the two-drag version rather than burning tool calls on a workaround.

## Where you finish by hand

An agent gets a scene about 80 percent of the way, then hands it back. Objects land close, not pixel-perfect. Fine positioning, the last nudge on framing, and small art-direction calls are faster to do yourself in Studio than to describe in another prompt.

## Writing a good brief for the agent

An agent works best when the brief names the scene, the objects, the camera angle, and the render look. Vague briefs produce vague scenes. A brief that reads like a shot list – set, camera, render style – gets a usable scene in one pass.

## Related

* [MCP (Model Context Protocol)](/overview/intangible-mcp)
* [The three modes](/overview/concepts/the-three-modes)
* [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks)
* [Troubleshooting and FAQ](/overview/intangible-mcp/troubleshooting-and-faq)

*Last updated 7 August 2026. This inventory reflects the Beta MCP server and is expanding; verify against your current Studio build.*


# Troubleshooting and FAQ

Fixes for connecting an AI agent to Intangible's Model Context Protocol (MCP) server: the server URL, supported clients, sign-in problems, and empty-scene issues.

Common questions and fixes for connecting an AI agent to Intangible's Model Context Protocol (MCP) server. Each heading below is a single symptom or question.

## What is the Intangible MCP server URL?

The Intangible MCP server URL is `https://mcp.intangible.ai/mcp`. It is a hosted remote server with OAuth sign-in, so there is nothing to install and nothing to run on your machine.

## Which AI agents can connect to Intangible over MCP?

Any MCP-capable client can connect to Intangible. Step-by-step pages cover [Claude Desktop](/overview/intangible-mcp/connect-claude-desktop), [Claude Code](/overview/intangible-mcp/connect-claude-code), and [ChatGPT](/overview/intangible-mcp/connect-chatgpt). Other clients connect with the same server URL and OAuth sign-in.

## Do I need a paid Intangible plan to use MCP?

You need an Intangible account to use the MCP server. Some Studio actions cost credits or require a paid tier, the same as when you work by hand – see [Credits and tokens](/overview/concepts/credits-and-tokens) and [Sign up and set up](/overview/get-started/sign-up-and-set-up). Your agent client may also have its own plan requirement for connectors.

## The Intangible viewport stays empty after a prompt

If nothing appears in the Studio viewport after a prompt, the agent has no live scene to edit or is still searching. First, make sure a Studio tab is open – open a project at [studio.intangible.ai](https://studio.intangible.ai), or ask the agent to create one. Second, give it a moment: on larger scenes the viewport can sit empty for a few seconds while the agent searches for assets.

## The agent reports no open Intangible project or scene

If the agent says there is no open project or scene, ask it to create one first: *"Create a new project and scene, then start building."* The agent can also list your existing projects and open one.

## Several Intangible Studio tabs are open at once

If you have more than one Studio tab open, the agent may edit a scene you are not looking at. Keep one project tab open at a time and close the extras.

## Signing in to the Intangible MCP server fails

If the connection or sign-in fails, re-run your client's authentication. In Claude Code, run `/mcp`, select **intangible**, and sign in again. In Claude Desktop or ChatGPT, remove and re-add the Intangible connector, then approve access in the browser window. Confirm you are signed in to the right Intangible account.

## Objects land in the wrong place

Objects landing close but not exact is expected. The agent gets a scene about 80 percent of the way, then hands it back for final positioning, which is faster by hand than another prompt. See [What your agent can do](/overview/intangible-mcp/what-your-agent-can-do).

## Does the Intangible MCP server run offline or on localhost?

No. The Intangible MCP server is hosted at `https://mcp.intangible.ai/mcp`. Your agent reaches it over the network and signs in with OAuth. There is no offline or localhost mode.

## How do I remove the Intangible connector?

Remove the connector in your client. In Claude Code, run `claude mcp remove intangible`. In Claude Desktop and ChatGPT, delete the Intangible connector from the connector settings.

## Related

* [MCP (Model Context Protocol)](/overview/intangible-mcp)
* [Connect Claude Desktop](/overview/intangible-mcp/connect-claude-desktop)
* [Connect Claude Code](/overview/intangible-mcp/connect-claude-code)
* [Connect ChatGPT](/overview/intangible-mcp/connect-chatgpt)

*Last updated 7 August 2026. Intangible's MCP server is in Beta; behavior may change.*


# Build mode

Build mode – the art department where you construct the set, drop in props, and bring your own assets.

Build mode is the art department. Construct the set, drop in props, set the time of day, import the client's CAD asset, generate a 3D mesh from a reference image. Anything to do with what's *in* the scene happens here.

{% hint style="success" %}
**The single most important Build-time action is attaching a reference image to your hero objects.** It's what takes a render from "approximately a car" to "the actual 2024 Bronco the agency briefed". For branded assets, custom geometry, hero products, and characters, this is the headline lever for professional fidelity. See [Image reference](/overview/concepts/image-reference).
{% endhint %}

## Locking down hero objects (start here)

* [**Image reference**](/overview/concepts/image-reference): the single biggest lever for brand-true output. Attach a photo of the actual product, vehicle, character, or storefront to its 3D object. Two paths: through the Object Details panel, or through the AI Composer with a one-line natural-language prompt.

## Working with objects

* [Asset library](/build/asset-library): over 5,000 greyboxing assets to drag in.
* [Working with objects](/build/working-with-objects): swap, recolor, lock, frame, delete.
* [Selection and grouping](/build/selection-and-grouping): marquee, parent attachments, the outliner.
* [Transform](/build/transform): position, rotate, scale, gizmo modes, smart snapping.
* [Object details](/build/object-details): name, description, image reference, LoRA per object.
* [Scene Outliner](/build/scene-outliner): the panel that lists every object in the scene.

## Building scenes

* [Environment](/build/environment): sun position, time of day, fog, terrain, grid.
* [Populators](/build/populators): procedural environment generators for cities, forests, crowds.
* [AI Composer](/build/ai-composer): prompt for whole environments instead of dragging assets.
* [Sets](/build/sets): save grouped objects and reuse them across projects.

## Bringing in your own content

* [Import your own models](/build/import-your-own-models): GLB, GLTF, DAE, FBX, PLY, OBJ, STL, USD. Smart Import with scale-fix.
* [Image to scene and shot](/build/image-to-scene-and-shot): start a project from a reference image.
* [Generate 3D Asset](/build/generate-3d-asset): text-to-mesh, image-to-mesh, multi-view-to-mesh.
* [LoRAs](/build/loras): upload a fine-tuned model for character or product consistency.


# Asset library

Over 5,000 greyboxing assets at the bottom of Build mode. Drag in, swap, lock.

The asset library lives at the bottom of Build mode behind a blue button in the toolbar. Click it to open the panel, then drag assets directly into the viewport. It's only accessible from Build mode – you can't add objects while in Compose or Visualize.

## Watch

<https://www.youtube.com/watch?v=fvUcN8G6KrU>

![Asset library docked at the bottom of Build mode with the My Assets category active, showing thumbnail tiles for placed and imported assets, search across the top, and Generate 3D plus Import Asset buttons on the right](/files/fdiS1XZeIJNKlzV87sAW)

## What it does

If you've worked in Maya or Blender, you know the cold-start problem: a brief lands, and the first hour goes to scrounging for blocking assets that exist only so the director can see scale. The asset library solves that. Over 5,000 pre-made greyboxing assets are categorized into Characters, Furnishings, Mannequins, My Assets, Objects, Populators, Primitives, Roads, Sets, and Vehicles, all one drag away – enough to block any scene before the real assets arrive.

The panel maximizes for browsing and minimizes automatically the moment you start dragging an item, so the 3D viewport reappears for placement.

## How to use it

1. **Open the library.** Click the blue asset library button at the bottom of Build mode. Drag the top edge to expand the panel, or click the maximize button.
2. **Browse by category.** Tabs across the top group assets by type. The full set: **Characters**, **Furnishings**, **Mannequins**, **My Assets**, **Objects**, **Populators**, **Primitives**, **Roads**, **Sets**, **Vehicles**.
3. **Search.** The search field at the top of the library matches asset names and category tags. "Aderondack" finds the chair; "olive green Jeep" finds the SUV.
4. **Drag to place.** Click and drag an asset thumbnail into the viewport. The library minimizes; the asset lands at the cursor's projected ground point. Smart snapping (if it's on – see [Transform](/build/transform)) will land it on terrain or other surfaces.
5. **Place repeatedly.** A category stays open across drags, so you can drop multiple chairs without reopening the library each time.

### My Assets and Team Assets

![Add an Object panel with the My Assets tab active, showing thumbnails of saved assets](/files/awJFuIPgiWk71TVpSD6l)

Imported objects ([Smart Import](/build/import-your-own-models)) and saved sets ([Sets](/build/sets)) appear in two extra categories:

* **My Assets**: things you uploaded or saved in your personal workspace. Only you can see them – sharing a project with someone outside your team does not expose your personal assets.
* **Team Assets**: things uploaded or saved within the active team workspace, visible to every team member. Not visible to collaborators outside that team.

Generated 3D meshes ([Generate 3D Asset](/build/generate-3d-asset)) drop into whichever category was active at generate time. Switch teams and the team-assets category swaps.

## Details

| Action              | How                                               |
| ------------------- | ------------------------------------------------- |
| Maximize / minimize | Top-edge drag or the maximize button              |
| Auto-minimize       | Triggers on drag-start of any asset               |
| Search              | Top-of-panel search field, matches names and tags |
| Categories          | Tabs across the top of the panel                  |

## Limits and known issues

* **Asset count limits per scene aren't documented.** Browser-based rendering imposes a soft cap; very large scenes (1,000+ items, especially populators) start to feel sluggish on lower-end hardware.
* **Search is scoped to the active category tab.** "Cars" while you're on the Furnishings tab returns nothing. Switch to the relevant category (Vehicles, in this case), or use the search field with a more specific name to narrow within a category.
* **The library is only accessible in Build mode.** Objects already placed in a scene remain visible in Compose and Visualize, but you can't add new assets or browse the library outside of Build.

## Related

* [Working with objects](/build/working-with-objects)
* [Smart Import](/build/import-your-own-models)
* [Sets](/build/sets)
* [AI Composer](/build/ai-composer): prompt for environments instead of dragging individual assets.
* [Generate 3D Asset](/build/generate-3d-asset)


# Working with objects

Click, swap, color, lock, frame, delete – the contextual menu that handles most per-object actions in Build mode.

Click any object in the viewport and the contextual menu opens above it. Most of what you'd do to a single object lives in that menu: swap its model, change its color, edit transforms, attach details, lock it, frame it, delete it.

## Watch

{% embed url="<https://www.youtube.com/watch?v=fvUcN8G6KrU>" %}

![Build mode with a greyboxed SUV selected on a highway. The contextual menu floats below the object: from the left, a swap-model cube, a color swatch, a transform control, a details control, and a three-dot more-options menu; then a divider; then the move gizmo, the snapping magnet with its mode dropdown, and the parent tool](/files/q9mc2Brxvy3hU4fhcsRK)

## What it does

In a typical 3D pipeline you'd dig through right-click menus or property inspectors to act on an object. Intangible collapses the most common per-object actions into one contextual toolbar that opens on click and closes on deselect. It's the canonical reach point for everything that doesn't require a full panel.

## How to use it

Click the object. The menu appears. From left to right, the contents are:

1. **Swap model.** Opens the [Swap Model](#swap-model) dialog scoped to similar assets (e.g. swapping a Lambo opens "Vehicles > Land Vehicles" with hierarchical category breadcrumbs).
2. **Color / material swatches.** A row of round swatches showing available color variants. Not all assets have swatches – most library assets ship in gray. Imported objects don't expose swatches.
3. **Transform.** Opens the Transform popover with numeric Position (X, Y, Z) and Rotation (X, Y, Z) fields. Use when dragging the gizmo is too coarse.
4. **Details.** Opens the [Details panel](/build/object-details) on the left side of the workspace – Name, Description, Reference images.
5. **More options.** Three-dot menu with secondary actions. See [More options menu](#more-options-menu).
6. **Gizmo coordinate space.** Small toggle popover with **Global** and **Local** options – the same toggle the keyboard shortcut `T` triggers.
7. **Snapping.** A magnet button plus a mode dropdown in the properties bar. The dropdown picks what snapping does – **Surface** snaps position to surfaces, **Surface + parent** snaps and also parents the object to whatever it lands on, **off** disables it. Selecting a mode turns snapping on; the magnet button then toggles that mode on or off. See [Snapping modes](#snapping-modes).

Parenting lives in the bottom toolbar, not in this menu – see [Parenting](#parenting) below.

## Parenting

Parenting makes one object follow another. The child keeps its own offset from the parent; move the parent and the child rides along. Use it to attach a prop to a vehicle, a camera to a rig, or to group set dressing that should travel together.

![The parent tool in the bottom toolbar with its Set Parent tooltip, waiting for a click on the target object](/files/pM1CCxWq0435yJVI5cr8)

Parenting is an explicit mode, entered from the parent tool in the bottom toolbar:

1. Select the object (or objects) that should be the child.
2. Click the **Parent** tool. The app waits for your next click. Clicks in parent mode don't change the selection.
3. Click the object that should be the parent. The relationship applies and the mode exits.

To clear a parent, enter parent mode and click the floor or the backdrop. The object returns to the floor.

![Selecting an object, entering parent mode from the bottom toolbar, and clicking the parent target to apply the relationship](/files/jTtjfWXLhu24Mk6bLAMD)

Candidates highlight as you hover in parent mode, so you can see what you are about to attach to before you commit. Hovering the floor highlights the ground, which is how you clear a parent rather than set one.

![Parent mode highlighting the candidate under the cursor before the click lands](/files/Qu7NPNNYF8dFgyJvl3sj)

The mode also exits on `Esc` or when you switch editor modes. You can't parent an object to itself or to one of its own children – the tool blocks cycles.

Parenting is independent of snapping: snapping an object to a surface doesn't parent it unless the snapping mode is set to **Surface + parent** – see below.

## Snapping modes

The snapping dropdown next to the magnet button has three modes:

![The snapping mode dropdown open next to the magnet button, showing the Surface and Surface + parent options](/files/bRQOfzeUl6yIxPgJYEac)

| Mode                 | What it does                                                                                              |
| -------------------- | --------------------------------------------------------------------------------------------------------- |
| **Surface**          | Snaps the object's position to surfaces it intersects. Position only – no parent relationship is created. |
| **Surface + parent** | Snaps position and parents the object to the surface it lands on.                                         |
| **Off**              | No snapping.                                                                                              |

Selecting a mode from the dropdown turns snapping on; the magnet button then toggles that mode on or off without losing your choice. When you drag an asset in from the library, snap-and-parent is active for that drag, then snapping resets to off.

One spline-specific behavior: when snapping is on, splines snap to surfaces only – they never parent, regardless of mode.

## More options menu

The three-dot icon in the contextual menu opens secondary actions:

| Action                | What it does                                                                                                                                           |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Save as Set           | Group this object with the current selection into a reusable set. See [Sets](/build/sets).                                                             |
| Lock                  | Protect the object from viewport selection and transforms until unlocked. See [Locking objects](#locking-objects).                                     |
| Frame                 | Camera moves to fill the frame with the object. Same as pressing `F`.                                                                                  |
| Delete                | Remove the object from the scene. Doesn't go to a recycle bin – be sure.                                                                               |
| Edit Populator Target | Adjust how this object interacts with an active populator – masks, surface climbing, exclusion zones. See [Populators](/overview/concepts/populators). |
| Add LoRA              | Attach a fine-tuned LoRA to this object. See [LoRAs](/build/loras).                                                                                    |

![More options popover open over a selected Lambo, showing Save as Set / Lock / Frame / Delete / Edit Populator Target / Add LoRA actions](/files/MGTdYq1Xsb5RCQtWbRD5)

## Locking objects

The floor, the terrain, the building shell, the hero product once it's placed. A scene accumulates objects that are finished, and every stray click that grabs one instead of the thing behind it is a small tax on the rest of the session. Lock them.

Two routes to the same state. Use the lock action on the object's row in the [Scene Outliner](/build/scene-outliner), or select the object and choose **Lock** from the **More options** menu in the properties bar. A lock icon marks the object once it's locked.

A locked object stops responding to the viewport. It won't highlight on hover, it won't select on click, and it can't be dragged, rotated, or scaled. Clicks pass through it to whatever sits behind, which is the point: locking the floor means you can marquee-select the props standing on it without dragging the floor along.

What stays available:

* **Selecting it in the Scene Outliner.** The lock covers the viewport, not the outliner. Select the row to reach the object's properties.
* **Editing its name and description.** Both feed the auto-prompt, so a locked object is still fully briefable. Locking a building shell doesn't stop you telling the visualizer what it's made of.
* **Snapping other objects onto it.** Surface snapping treats a locked object as a valid surface. Drop a chair onto a locked floor and it lands correctly, with the floor still protected.

Unlock from the same place you locked it.

{% hint style="info" %}
Lock the floor first. It's the object most likely to be grabbed by accident and the one you least often need to move, and locking it makes every subsequent selection in the scene more predictable.
{% endhint %}

## Swap Model

The Swap Model dialog opens scoped to the asset's category. The header carries a breadcrumb (e.g. **Vehicles > Land Vehicles**) plus a search bar and a grid of compatible thumbnails.

![Swap Model dialog open with the Vehicles > Land Vehicles breadcrumb, a search bar, and a thumbnail grid of compatible vehicles (truck, sports car, forklift, semi-truck)](/files/KPfvbaanQyGD5SmlPPRn)

Click a swap target; the new asset inherits position and rotation. The dialog opens scoped to the asset's category, but you can search across all categories using the search bar – swapping a car for a tree is possible if you search for it.

{% hint style="warning" %}
**Swapping a model doesn't clear its image reference.** If the original object had image reference attached, that reference stays on the new object after the swap. A car with Porsche image reference swapped to an ambulance will render as an ambulance that looks like a Porsche. Remove or replace the image reference after swapping if that's not what you want.
{% endhint %}

## Selecting multiple objects

The default click is single-selection. Marquee select is in the toolbar – click the marquee icon, then drag a box to select every object the box touches. The marquee button deactivates after each use; click it again for each new marquee selection. See [Selection and grouping](/build/selection-and-grouping) for group-level actions.

## Limits and known issues

{% hint style="warning" %}
**All assets are gray by default.** Library assets and imported models alike arrive without color or texture. Use color swatches if available on the specific asset, or attach [image reference](/overview/concepts/image-reference) to apply surface treatment at render time. Imported models are stripped of their source materials on import and don't preserve textures from the original file.
{% endhint %}

* **Delete is immediate.** No confirmation, no undo beyond `Cmd+Z`. If you delete something you wanted to keep, undo right away.
* **Swap stays inside the asset's category.** The Swap Model dialog opens scoped to the asset's category breadcrumb (e.g. Vehicles > Land Vehicles). Swapping across categories isn't a path the dialog offers.

## Related

* [Asset library](/build/asset-library)
* [Transform](/build/transform)
* [Object details](/build/object-details)
* [Selection and grouping](/build/selection-and-grouping)
* [Sets](/build/sets)
* [Scene Outliner](/build/scene-outliner)


# Selection and grouping

Marquee selection, parent attachments, and group-level actions – how to act on more than one object at a time.

Three patterns for selecting more than one object: marquee select for a freeform set, parent attachments for hierarchical groups, and the [Scene Outliner](/build/scene-outliner) for surgical multi-select. Each one is the right answer in a different situation.

![Build mode with multiple objects selected, their bounding outlines lit, the contextual menu showing group-level actions](/files/nLfMotR3QYH4xS5hEzBE)

## What it does

A scene with one object is rare. Most real work happens on groups: a coffee-table setup with chairs around it, the props on a desk, the soldiers on a ship's deck. Picking each one separately and applying the same transform every time wastes minutes per session. The selection patterns below let you treat groups as one.

## Marquee select

Use marquee for freeform multi-selection that doesn't need to persist across sessions.

1. Click the **marquee** icon in the toolbar (single-point cursor with a dashed rectangle).
2. Drag a selection box across the viewport. Anything fully or partially inside the box becomes selected.
3. Apply a transform, swap, color change, or save-as-set to the entire selection.

## Parent attachments

Drag one object onto another in the [Scene Outliner](/build/scene-outliner) to parent it. The child inherits the parent's position, rotation, and scale – move the parent and the child comes along.

Use parent attachments when:

* You're putting characters on a moving vehicle and want them to stay aboard.
* You're attaching props to a hand or a body part.
* You're building a rig where the secondary parts should always follow the primary.

The webinar pirate-scene walkthrough uses parent attachments heavily: each pirate is parented to the gallion, each soldier to the frigate. Move the boat, the crew comes with it.

To unparent: drag the child out to the root level in the Scene Outliner, or right-click the row and pick **Detach**.

## Selecting from the Scene Outliner

When you need to pick a specific group of objects by name (everything called "tree" but not "fern", or every character but not their props), the [Scene Outliner](/build/scene-outliner) is the right tool. Hold `Shift` and click row-by-row, or `Shift+click` from row A to row B for contiguous selections. The viewport selection updates live.

## Group actions

Once a multi-selection is active, the contextual menu shows only the actions that work on the whole group:

| Action                | Behavior on a group                                                                         |
| --------------------- | ------------------------------------------------------------------------------------------- |
| Move / rotate / scale | Applies to every object's transform                                                         |
| Color                 | Applies to every object whose material accepts color                                        |
| Save as set           | Groups them into a reusable set, keeping their relative positions. See [Sets](/build/sets). |
| Lock                  | Locks every object in the selection                                                         |
| Delete                | Deletes every object in the selection                                                       |

Swap is not a group action – it operates on one object at a time. To swap multiple objects to the same alternative, do it one at a time.

## Limits and known issues

* **Marquee doesn't include hidden objects.** If something is hidden via the Scene Outliner's eye toggle, the marquee skips it.
* **Locked objects can't be marqueed.** Lock blocks selection from any pathway, including the marquee box.
* **Parent-child scale interactions.** If a parent's scale is non-uniform, child positions can drift unexpectedly. Use uniform scales on parents wherever you can.

## Related

* [Working with objects](/build/working-with-objects)
* [Scene Outliner](/build/scene-outliner)
* [Sets](/build/sets)
* [Transform](/build/transform)


# Transform

Move, rotate, scale objects with the gizmo. Two coordinate-space modes plus smart snapping.

Move, rotate, and scale objects in the viewport. The gizmo has two coordinate-space modes and smart snapping; learn which is which and you'll stop fighting it.

![Transform popover open in Build mode with numeric Position (X / Y / Z), Rotation (X / Y / Z), and Scale (X / Y / Z) fields](/files/rxjOXT2pcaiV3MYqSoJV)

## What it does

Moving objects in 3D is where the muscle memory you brought from Blender, Maya, or Unreal stops helping. Intangible's transform gizmo is deliberately simpler than what you're used to – position, rotation, and scale on each axis, plus a center cube for uniform scale – and it has two coordinate-space modes depending on what you're trying to do.

Common pitfalls include scaling an object to zero and losing its handle, or letting smart snapping launch an object outside the camera frustum. The fixes are below.

## How to use it

Select an object in the viewport. The gizmo and the contextual menu appear. The contextual menu's transform panel has direct numerical entry for X, Y, Z position, rotation, and scale – use it for precise placement when dragging is too coarse.

![An object selected in a large scene with the transform panel open, showing its exact position values](/files/mMXEnVos8GQtFBZpWPaU)

The numbers matter most once a scene is big. Dragging a prop into place across a city block is guesswork; typing the position is not.

For rough placement, drag the gizmo handles directly:

1. **Move along an axis.** Click and drag a single arrow handle for X, Y, or Z translation.
2. **Move on a plane.** Click and drag the small square between two arrows for two-axis translation.
3. **Rotate.** Click and drag a circle handle. Each circle corresponds to one rotation axis.
4. **Scale per axis.** Click and drag the cube handles at the ends of the X, Y, or Z axes for non-uniform scale.
5. **Uniform scale.** Click and drag the white cube at the center of the gizmo to scale the object uniformly on all three axes at once.

### Gizmo modes

The gizmo has two coordinate-space modes, switched from the toolbar:

* **Global**: handles align to world axes. Up is up regardless of how the object is rotated. Use this when you want predictable world-space movement.
* **Local**: handles align to the object's own axes. Critical when you're moving objects relative to themselves – putting a phone in someone's hand, attaching a prop to a moving vehicle.

Snapping has three modes, picked from the dropdown next to the magnet button: **Surface** (snap position only), **Surface + parent** (snap position and parent the object to what it lands on), and **Off**. The magnet button toggles the selected mode on or off without losing your choice. Turn it off when the snapping is fighting you (it tries hard, sometimes too hard).

Parenting on snap is opt-in. If you want the relationship – a prop riding on a moving vehicle – use **Surface + parent**. If you just want clean placement – a plane set down on a runway that shouldn't follow the runway – use **Surface**. To set or clear a parent directly, use the [Parent tool](/build/working-with-objects#parenting); to detach an existing child, see [Selection and grouping](/build/selection-and-grouping#parent-attachments).

## Details

| Control                | Where it lives                                                                             |
| ---------------------- | ------------------------------------------------------------------------------------------ |
| Direct numerical entry | Contextual menu → Transform panel                                                          |
| Uniform scale handle   | White cube at the gizmo's center                                                           |
| Gizmo mode             | Coordinate-space toggle in the toolbar                                                     |
| Snapping mode          | Dropdown next to the magnet button in the properties bar: Surface / Surface + parent / off |
| Parent tool            | Bottom toolbar – click a target to set, click the floor to clear                           |

## Common mistakes

* **Object scaled to zero.** Scaling along all three axes to zero makes the object unselectable in the viewport and unreachable from the gizmo. Recover via the [Scene Outliner](/build/scene-outliner): find the object by name to select it, then re-enter a non-zero scale value in the Transform panel.
* **Object disappeared off-screen.** Snapping plus a fast drag can launch an object well outside the camera frustum. Fix from the Scene Outliner: select the row, press `F` to frame, then enter clean position values in the Transform panel.
* **Wrong axis when posing characters.** A character moved in Global mode rotates around world-up; in Local mode it rotates around its own spine. Use Local for character poses where the figure isn't facing the world axes.

## Related

* [Working with objects](/build/working-with-objects)
* [Selection and grouping](/build/selection-and-grouping)
* [Scene Outliner](/build/scene-outliner)
* [Asset library](/build/asset-library)


# Object details

Name, description, image reference, and LoRA – the per-object metadata that the visualizer reads when it builds the prompt.

The Details panel on a selected object holds the metadata that reaches the visualizer at render time. Name and description feed the auto-prompt's \[Subjects] block; image reference attaches the visual truth; LoRA gates a fine-tuned model.

![Object Details panel docked on the left side of Build mode showing the Name "Lamborghini Revuelto", a long photoreal-style Description prose, and a Reference images section with Upload and Add from Media Library buttons](/files/UWRuk4o4WJ575wr9rsbc)

## What it does

Without details, every object is "object-N" to the visualizer. With details, the visualizer reads what the object actually is and what it should look like. This is the difference between a render that produces a generic chair and a render that produces the specific Adirondack chair from the brief.

The visualizer stacks these inputs, each overriding the one below: the **3D geometry** is the base, the **image reference** defines the surface on top of it, and the **name and description** – which feed the final prompt – override both. That last point is the catch. A specific name like "Gulfstream G550", or a description that fights the photo, makes the model imagine its own version and override the reference image you attached. Keep the name generic ("private jet") and let the image reference carry the specifics; don't have the description and the reference describe the same thing differently. See [Image reference](/overview/concepts/image-reference#what-overrides-what).

## How to use it

Open the contextual menu's **Details** icon (or right-click a row in the [Scene Outliner](/build/scene-outliner) → Edit Details). The Details panel docks on the left side of Build mode.

### Reference images (the lever that does the most)

**Spend your time here.** Reference images are the single biggest determinant of brand-true output. Drag a file from your desktop or click **Upload**, or click **Add from Media Library** to pull from existing project assets. JPEG and PNG formats are supported.

For an object nobody has photographed, click **Generate** (the sparkles icon beside Upload and Media Library). Describe the object in the dialog that opens and Studio generates the image, attaches it to the selection, and files it in the team media library marked **Generated** with its prompt. Full guidance in [Image reference](/overview/concepts/image-reference#3-generate-one-in-studio).

Think quality over quantity. A few well-chosen images covering the parts of the object you care about most will outperform a large dump of similar shots. For a car: a three-quarter front, a three-quarter rear, and an interior shot cover more ground than twenty near-identical exterior angles. Each image should contribute something the others don't. More images of the same view doesn't improve results – it overloads the model the same way a too-long description does.

Full guidance on what to attach and why in [Image reference](/overview/concepts/image-reference).

Once an image is attached, the object keeps its greyboxed look in the Build viewport, picking up a base color at most. The reference doesn't repaint the object in the viewport; it resolves at render time. The visualizer reads both the image and the rest of the prompt at generation time and renders the object accordingly.

For the conversational shortcut, type the same intent into the AI Composer at the bottom of Build: *"Attach this as a reference image to the chair: \<URL>"*. The composer finds the matching object and attaches the image without you opening the Details panel.

### Name

Short, descriptive. Reads into the auto-prompt verbatim. Naming an object "Adirondack chair, weathered teak" feeds the visualizer that exact phrase. Naming it "object-7" feeds nothing useful.

For characters specifically, vanilla names hold their look better than descriptive names – see the naming tip in [Image reference](/overview/concepts/image-reference#tips-that-level-up-the-result). The image reference does the heavy lifting on look; the name keeps that look from drifting between renders.

### Description

Longer prose. One to three sentences max. Used by the visualizer when the name alone isn't enough. Example: a Jeep object whose name is "2024 Bronco" and whose description is *"matte olive green paint, lifted suspension, light bar, winch, tow hooks, black beadlock wheels"*.

{% hint style="info" %}
Long descriptions get truncated by the visualizer. Keep it under a few hundred characters. **If you have more to say, attach a reference image instead.** The model honors images more strongly than long prose.
{% endhint %}

### LoRA

For objects where you need a fine-tuned model rather than (or alongside) a reference image. LoRAs are attached via the contextual menu's **More Options (⋯) → Add LoRA** action on the selected object, not from this Details panel. Upload a LoRA file or paste a URL, and set a trigger word if your LoRA was trained with one.

Reference images cover most use cases with less work. Reach for LoRAs when you need consistent style across many renders or when the team has an internal trained model that already encodes the look. See [LoRAs](/build/loras).

## How details flow into the render

```mermaid
flowchart LR
    A[Object in scene] --> B[Name field]
    A --> C[Description field]
    A --> D[Image reference]
    A --> E[LoRA]
    B --> F[Visualizer Subjects block]
    C --> F
    D --> F
    E --> F
    F --> G[Diffusion model]
    G --> H[Render that honors the object]
```

The auto-prompt assembles all four fields into the \[Subjects] block. The model receives the prompt text plus, if attached, the image reference and the LoRA file at generation time.

## Common mistakes

* **Empty names.** A scene of "object-1" through "object-23" produces a prompt full of "object" mentions and a confused render. Rename anything that's a hero or a recurring character.
* **Description duplicating the name.** Skip it. If the name is "matte olive 2024 Bronco" the description doesn't need to repeat the model.
* **Too many redundant images.** Attaching 30 images of the same car from slightly different angles doesn't improve the result – it overloads the model. Pick the angles that cover the surfaces you care about and stop. Fewer, better images outperform many mediocre ones.

## Related

* [Working with objects](/build/working-with-objects)
* [Image reference](/overview/concepts/image-reference)
* [LoRAs](/build/loras)
* [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks)
* [Auto-prompt](/visualize/auto-prompt)


# Environment

Sun position, time of day, fog, terrain, and grid – the scene-level environment controls in Build mode.

Scene-level lighting and ground. Sun position and time of day, fog, terrain color, grid visibility. Set once per scene; everything you build sits on top.

![Build mode with the Edit Scene Details panel open on the left, showing the Sky section's Time field plus Fog and Show grid toggles, and the Manhattan night scene visible in the viewport behind it](/files/KgYtIciMSkOvMMvTyxAN)

## What it does

Think of the environment controls as the work lights on a set. They pre-light the 3D scene so you can read where objects sit in relation to one another while you build and block, the same way you'd flood a stage before the DP comes in to light the actual shot. The lighting itself isn't passed to the visualizer. Render lighting is set later, in Visualize, with [Lighting presets](/visualize/lighting-presets).

The one exception is ground color. The vision model that reads your 3D scene sees the terrain color and infers a material from it: a green ground tends to read as grass, brown as dirt, gray as asphalt or concrete. That carries into the render even when you don't ask for it, so pick the ground color deliberately.

The environment controls are scene-level – they apply to every shot in the active scene. To vary how a scene reads across an edit, build separate scenes and cut between them in the [Sequence Timeline](/compose/timeline).

## How to use it

The environment controls live in the **Edit Scene Details** panel on the left side of Build mode. The panel opens whenever a scene is active. The Sky section holds the Time slider and Location toggle; Fog and Terrain (Show grid) are toggles below.

1. **Time of day.** Use the Time slider in the Sky section to set the time of day – morning, golden hour, midnight, etc. The slider sets the sun's position and the color temperature of the light in the 3D viewport. This is for reading your scene as you work; it isn't passed to the render. To set the lighting the visualizer actually renders, use [Lighting presets](/visualize/lighting-presets) in Visualize.
2. **Location.** Toggle Location on to anchor the time to a real geographic place. A scene set in Reykjavik in December has a different sun path than one set in Mumbai in June. Off by default; toggle on if geographic accuracy matters.
3. **Fog.** Toggle on or off. Use fog for depth in large scenes (cities, forests, sea environments); skip it for clean product hero shots.
4. **Terrain (Show grid).** Toggle the build-time grid on or off. The grid is a visual aid for placement and never appears in renders. Turn off when you want the viewport to read more like a finished scene during composition.

## What reaches the render

```mermaid
flowchart LR
    A[Time of day, sun, fog] --> B[3D viewport readability only]
    C[Ground color] --> D[Vision model reads the scene]
    D --> E[Render]
    F[Grid] -->|never| E
```

Sun position, time of day, and fog light the 3D viewport so you can read the scene; they don't reach the render. Ground color does reach the render, indirectly: the vision model reads the colored terrain and infers a material. The grid is scaffolding for you, not for the render – it never appears in rendered output.

## Where render lighting comes from

Render lighting is set in Visualize, not here. [Lighting presets](/visualize/lighting-presets) are what the visualizer uses to light a specific render. The pattern:

* Use **environment** to make the 3D scene readable while you build and block.
* Use **lighting presets** in Visualize to light the render. "This shot is stormy; the next is misty."

The environment helps you see the scene; the lighting preset is what the model renders.

## Common mistakes

{% hint style="warning" %}
**The grid being on doesn't affect renders, but it can throw off your composition.** If you're framing a shot in Compose mode and the grid lines are visible, the lines aren't going to render – but they're occupying mental space while you frame. Toggle the grid off before you compose.
{% endhint %}

* **Tuning fog and then forgetting it's on.** Fog at high density darkens your viewport readability. If your scene looks unexpectedly murky, check fog first.
* **Expecting the viewport's time of day to drive the render.** Sun and time of day light the viewport, not the render. A scene that looks like midnight in the viewport renders with whatever [lighting preset](/visualize/lighting-presets) you set in Visualize. Set render lighting there, not by the Time slider.
* **Leaving the ground a color you don't want read as a material.** A green ground can render as grass, gray as asphalt. If the render keeps inventing a surface, check the terrain color first.

## Related

* [Lighting presets](/visualize/lighting-presets)
* [Scene context](/visualize/scene-context)
* [Auto-prompt](/visualize/auto-prompt)
* [Asset library](/build/asset-library)


# Import your own models

Import 3D models from Blender, Maya, Houdini, or Unreal. GLB, GLTF, DAE, FBX, PLY, OBJ, STL, USD. Smart Import fixes scale and orientation on the way in.

Smart Import handles the common 3D exchange formats and lands the imported asset in an editing environment that lets you fix scale, orientation, and category before it joins the scene. Use it for client CAD, custom hero assets, anything the asset library doesn't cover.

## Watch

{% embed url="<https://www.youtube.com/watch?v=iiC8IR_tG3w>" %}

![Import Assets dialog with the drop zone, a 'Check to review and edit' toggle, and Cancel / Browse actions](/files/E6YaulIzNa8esV7dSINH)

## What it does

The asset library covers most blocking. The hero – the actual product the agency is pitching – almost never lives there. Smart Import is how you bring the brief's specific car, the client's spaceship, the architect's building, the product designer's cup. Once imported, the asset behaves like any other library asset: drag, swap, lock, attach an [image reference](/overview/concepts/image-reference).

{% hint style="warning" %}
**Animations don't import.** If your FBX, DAE, or USD file has rigged animation, the geometry comes in but the animation does not. Plan to author motion in Compose mode.
{% endhint %}

## Supported formats

`.glb`, `.gltf`, `.dae`, `.fbx`, `.ply`, `.obj`, `.sog`, `.spz`

* **GLB / GLTF** – web-optimized formats with embedded or referenced textures. Smallest file size for the most complete asset.
* **FBX** – the most common interchange format from Maya, 3ds Max, Blender. Carries geometry plus materials.
* **OBJ** – geometry only, no materials. Good for clean meshes from CAD.
* **DAE (Collada)** – common interchange format that carries geometry, materials, and skeletal data.
* **PLY** – polygon and point data, often used for scans. A `.PLY` holding a Gaussian splat is detected from its header and imported as a splat instead.
* **SOG / SPZ** – compressed Gaussian splat formats. See [Import Gaussian splats](/build/import-gaussian-splats).

A mesh import is capped at **512 MB** and **2 million vertices**, with a maximum of 10 files per upload. Splats have their own, larger ceilings.

{% hint style="warning" %}
**USD and STL are not import formats.** USD is available on export only, and STL is not supported in either direction. Convert an STL to GLB before importing.
{% endhint %}

{% hint style="info" %}
**When in doubt, convert to GLB first.** OBJ and FBX can carry hidden nodes and cruft that trip the importer. Opening the file in Blender and re-exporting as GLB is the most reliable path and almost never fails on import.
{% endhint %}

## How to import

{% stepper %}
{% step %}

### Click Import in the asset library

The library has an **Import** button next to **Generate 3D**. Click it. A file picker opens.
{% endstep %}

{% step %}

### Pick the file

Use **Browse** to open a file picker, or drag and drop a file from your desktop into the import area. Smart Import reads the file, generates a preview, and drops you into the editing environment.
{% endstep %}

{% step %}

### Review and edit

The editing environment shows the imported model alongside a reference character and a banana for scale. Different applications use different default unit systems – Maya exports in centimeters, Blender in meters – so a model that was 1.8 m tall in Blender can arrive 100× too large or too small. Adjust scale here before committing. Also confirm orientation and set a descriptive name so [AI Composer](/build/ai-composer) can find the asset by natural language later.
{% endstep %}

{% step %}

### Confirm or cancel

When the asset looks right, click the **check** action to commit it to the scene. Click **Cancel** to discard the import without saving.
{% endstep %}

{% step %}

### Save to My Assets or Team Assets

Saves the imported asset to your library so you can reuse it across projects. **My Assets** is private to your account; **Team Assets** is visible to everyone on the team. The Generate-3D-Asset preview tutorial walks the team-asset flow if you're sharing imports.
{% endstep %}
{% endstepper %}

## Limits and known issues

{% hint style="warning" %}
**Very high-poly models can fail.** Browser-based import has a ceiling – for example, models above \~280,000 vertices can fail to import. Multi-gigabyte FBX files with millions of triangles will struggle. Run a decimation pass in your modeling tool first if the asset is big; the system optimizes on import, but starting from a sane source helps.
{% endhint %}

* **Materials never carry over.** All imported models are stripped of their materials on import and arrive as gray meshes. Attach an [image reference](/overview/concepts/image-reference) to the object for surface treatment at render time.
* **Animations don't import yet.** Smart Import handles geometry. Camera tracks and rigged animations from your DCC don't flow in.
* **DXF is wireframe.** Architectural plans come in as line geometry, not solid mass. Useful as guides for building over, less useful as final scene assets.

## Related

* [Import Gaussian splats](/build/import-gaussian-splats) – photographic captures rather than meshes, with their own formats and limits.
* [Asset library](/build/asset-library)
* [Image reference](/overview/concepts/image-reference)
* [Generate 3D Asset](/build/generate-3d-asset)
* [Object details](/build/object-details)
* [Supported file formats](/overview/reference/supported-file-formats)


# Import Gaussian splats

Import a Gaussian splat as a scene object, fix its orientation on the way in, and use it as a surface other objects can snap to.

A Gaussian splat is a photographic capture of a real place, reconstructed as a cloud of coloured points rather than as geometry. Where a mesh gives you clean surfaces and no detail, a splat gives you the real texture of somewhere that already exists: a quarry, a lobby, a stretch of coastline. Import one and it becomes a scene object like any other.

![A Gaussian splat of a volcanic crater placed in a Build-mode scene](/files/9nwsySsP802PEOWLYOzZ)

## What it does

Location scouting used to end with a folder of stills that nobody could put a camera inside. A splat is the alternative: capture the site, import it, and put your camera anywhere in it. The site arrives with its real light and real materials, and everything you build afterwards sits inside that instead of next to it.

Splats behave as a distinct object type in Intangible, alongside models, primitives, presets, and populators. They select, transform, and parent like anything else in the scene.

## Supported formats and limits

| Format     | What it is                           | Maximum size |
| ---------- | ------------------------------------ | ------------ |
| **`.PLY`** | The common uncompressed splat format | 2 GB         |
| **`.SPZ`** | Compressed splat format              | 512 MB       |
| **`.SOG`** | Compressed splat format              | 512 MB       |

Beyond file size, a splat is capped at **10 million splats**. That count is the splat equivalent of a vertex count, and it is checked during import: a file over the limit is rejected with an error naming the count it found, so you know how far over you are rather than guessing.

Two other limits apply to any import, splat or mesh:

* **10 files per upload.** Bring more than that and split the batch.
* **Regular 3D models** are capped at **512 MB** and **2 million vertices**. See [Import your own models](/build/import-your-own-models) for the mesh path.

{% hint style="info" %}
`.PLY` is used by both meshes and splats. Intangible reads the file header on upload to tell which one it has, and applies the matching size limit, so you don't have to declare it.
{% endhint %}

## How to import one

{% stepper %}
{% step %}

### Open the importer

In Build mode, open the asset library and click **Import Asset**. The **Import Assets** dialog lists what it accepts: glb, gltf, dae, fbx, ply, obj, sog, and spz.
{% endstep %}

{% step %}

### Decide whether you want the review step

Tick **Check to review and edit** before you browse. It costs one extra step and saves you a re-import when the splat arrives on its side, which is common. Leave it off only when you already know the file is oriented correctly.
{% endstep %}

{% step %}

### Drop the file and wait

Drag the file onto the dialog or browse to it. Processing runs in three visible stages: **Uploading**, then **Optimizing**, then **Generating thumbnail**, each with a percentage.

A splat takes materially longer than a mesh of similar size. The optimize step alone is allowed up to 25 minutes for a splat against 5 for a model, because the splat has to be voxelised as well as compressed. A large capture sitting at 60% is normal, not stuck.
{% endstep %}

{% step %}

### Fix the orientation

With the review option ticked, the **Asset Edit** panel opens with the splat labelled **FRONT**, **BACK**, and **RIGHT** in 3D space.

![The Asset Edit panel with FRONT and RIGHT labelled in 3D, and the Transform controls with Center, Size, and the three 90-degree rotate buttons](/files/vD5ZodLP7RVRYXg4famk)

There is no agreed convention for which way is up in a splat file, so captures routinely arrive lying on their side or facing backwards. Read the labels against the capture: if **FRONT** is pointing at the sky, the splat needs rotating. Use the three **90°** buttons to stand it upright, then **Center** it and check the **Size** values read like the real place. A room that reports 200m across came in at the wrong scale and wants fixing here, not after it is in the scene.
{% endstep %}

{% step %}

### Save

Save, and the splat lands in the scene ready to select and move.
{% endstep %}
{% endstepper %}

## Building on top of a splat

A splat is a cloud of points, so there is no surface to collide with. Intangible generates one: during processing it builds a low-resolution **collider** from the splat, and that collider is what the app actually uses for clicking, selection outlines, and placement.

Two things follow from that.

**Other objects can snap onto a splat.** With [surface snapping](/build/working-with-objects#snapping-modes) on, drop a prop onto the floor of a captured room and it lands on the floor.

**Populators can treat a splat as a target.** Open **Edit Populator Target** on the splat and a populator can scatter across it or be masked by it, the same as with any mesh. That is how you put a forest on captured terrain.

To see what the collider actually looks like, select the splat and click **Show Collider** in the toolbar. It swaps the view between the splat and the collision mesh underneath it. Worth doing when something is snapping to the wrong height.

![Toggling Show Collider swaps the crater splat for the grey collision mesh generated from it, then back](/files/kOAgDyUaNf6kgziIf16y)

The mesh is coarse next to the capture, which is the point: it exists to be cheap to click and collide against, not to look like the place.

{% hint style="warning" %}
The collider is approximate. Splats have soft, semi-transparent edges that blend into each other, and a large faint splat can push the collision surface out past where the capture visually appears to end. The effect is objects snapping slightly high. Intangible discards the faintest splats when building the collider to limit this, but on a low-quality capture you may still need to nudge a few instances down by hand, or delete them.
{% endhint %}

## Limits and known issues

* **Splats are static.** Only still captures are supported. There is no animated splat format in the product today.
* **Splats are excluded from GLTF export.** A scene mixing splats and meshes exports its meshes; the splats have to travel separately as their original files. See [Export formats](/publish/export-formats).
* **There is no standard up-direction.** Covered above: use the review step rather than expecting the file to arrive upright.
* **Sorting is asynchronous.** A fast camera move can take a few frames to resolve into a clean image. It settles on its own.
* **Detail depends on camera distance.** A splat renders detail relative to where the editing camera is, so the picture-in-picture view can look soft while the main viewport looks sharp.

## Related

* [Import your own models](/build/import-your-own-models) – the mesh path, and the format reference for CAD and DCC files.
* [Supported file formats](/overview/reference/supported-file-formats)
* [Working with objects](/build/working-with-objects) – snapping, locking, and the contextual menu.
* [Populators](/build/populators) – scattering across a splat.
* [Export formats](/publish/export-formats) – why splats don't travel in a GLB.


# Image to scene and shot

Turn a sketch or reference image into a 3D scene and shot. Image-to-3D scene generation that matches the photograph's framing and contents.

Drop a photograph in. The system reads it, builds a 3D scene that approximates the contents, and creates a Compose-mode shot that matches the photograph's framing. A faster way to riff on a real reference than building from scratch.

![Image to scene and shot in progress – a reference photograph dropped into the AI Composer, the scene assembling with auto-placed objects and a shot composed to match the photograph's framing](/files/h1H0bAvqUL3uKZiPj5bi)

## What it does

A common agency request: *"Match this reference."* Traditionally you'd open a blank 3D scene, drag in the rough props, place a camera, and try to match the framing of the reference photograph by eye. Image to scene and shot collapses that into one upload.

The system reads the input image for content and composition, instantiates a populator-style scene that approximates what's in the photograph, and creates a shot in Compose mode whose camera is positioned to roughly match the framing of the original. From there you tune – swap props, add hero assets, refine the camera, attach image references on the items that matter.

It is not a one-shot pixel-perfect recreation. It's a fast starting state. Results vary significantly depending on the photograph – a clean overhead or near-orthographic shot of a room will produce a much better starting state than a wide-angle interior taken from eye level. Complex, cluttered, or low-angle images tend to produce noisier results.

Plan availability is listed at [Plans and billing](/teams-and-billing/plans-and-billing).

## How to use it

1. **In Build mode, in the AI Composer prompt bar at the bottom of the viewport**, click the **image** button next to the text input. (Same composer you'd use to type "city block at sunset" – this time you upload the reference image instead of writing the prompt.)
2. **Upload a photograph.** JPEG or PNG. The clearer the contents, the better the scene match.
3. **Wait for processing.** The system runs vision analysis, picks library assets that match the recognized objects, places them in a populator-style layout, and configures a Compose-mode shot with the camera roughly matched to the reference's framing. Complex images can take a while. If generation is running long, the stop button in the AI Composer bar will cancel it.
4. **Land in the workspace.** You're dropped into Build mode with the new scene populated and a shot already created. Switch to Compose to confirm the camera framing.
5. **Refine.** Swap props that didn't match, add the hero asset (which the system probably won't have guessed), attach an [image reference](/overview/concepts/image-reference) to the hero so the rendered version honors the photograph's specific look.

## When to reach for it

Three signals:

* **You have a reference photograph and you're trying to match its framing.** Faster than eyeballing it from a blank scene.
* **You want a starting state that already approximates the brief.** Tuning beats building.
* **You're iterating on variations.** Start from the same reference, duplicate the scene, take each copy a different direction.

When not to reach for it:

* **You don't have a reference.** Start from a blank project.
* **The reference is for&#x20;*****style*****, not composition.** A reference image of "the look I want" is a job for [Image reference](/overview/concepts/image-reference) attached to a hero object, not a scene-construction input.
* **You need pixel-perfect recreation.** This is a starting state; the result will approximate, not reproduce.

## What the system can and can't infer

```mermaid
flowchart TD
    A[Reference photograph] --> B{Vision analysis}
    B --> C[Recognized objects]
    B --> D[Inferred camera framing]
    C --> E[Closest library matches]
    E --> F[Auto-placed in scene]
    D --> G[Compose-mode shot created]
    F --> H[New project, ready to refine]
    G --> H
```

What it gets right most of the time:

* Major scene contents (cars, buildings, vegetation, characters in obvious poses).
* Rough camera angle and framing.
* Time of day and broad lighting mood.

What it doesn't get:

* Specific brands or models. A Bronco gets matched to "an SUV"; bring your own [Smart Import](/build/import-your-own-models) for the actual product.
* Specific characters. Faces aren't replicable from a single reference; use [image reference](/overview/concepts/image-reference) on a placeholder character object.
* Complex camera moves. The shot is static. To author motion, you build it in [Compose mode](/compose/animation).

## Limits and known issues

{% hint style="warning" %}
**The auto-placed assets are greyboxing.** Treat them as a starting layout, not the final scene. Most of them will get swapped or repositioned as you refine.
{% endhint %}

* **Overhead and near-orthographic shots produce the best results.** A photograph taken from above or at a shallow angle, where object positions are clearly visible and not obscured by one another, gives the system the most to work with. Eye-level interior shots – where objects stack and overlap from the camera's perspective – produce noisier layouts.
* **The system tends to darken scenes.** If any darkness is present in the reference image, the generated scene often skews toward nighttime lighting. Adjust the environment in Build mode after generation.
* **Camera framing is approximate.** A shot is created and the camera is positioned to roughly match the reference's angle, but expect to nudge it in Compose mode.
* **Vision quality varies.** Cluttered photographs produce noisy scenes. A clean reference (one or two main subjects, clear sightlines to the ground plane) gets a better result.

## Related

* [Asset library](/build/asset-library)
* [Smart Import](/build/import-your-own-models)
* [Image reference](/overview/concepts/image-reference)
* [Shots](/compose/shots)
* [Camera controls](/compose/camera-controls)


# Sets

Save a group of arranged objects as a reusable set – drop a complete coffee-table arrangement or street-corner cluster into another scene with one drag.

A set is a collection of objects you've arranged together, saved as a single library item. The kitchen table with plates, chairs, and scattered papers becomes "Coffee setup" – one drag into the next scene and the entire arrangement is back, intact.

## Watch

{% embed url="<https://www.youtube.com/watch?v=CtjZNzeJBW8>" %}

![Save Set modal open over a populator-style cluster of boxes in Build mode. The modal has a Name field defaulted to "Box 26", a Description field, and Cancel / Save buttons](/files/YM6253KTVqhjDpGV7mCb)

## What it does

Vignettes recur. A trash cluster on a city street corner; the props on a desk; a wedding-table arrangement; a kitchen-island layout. Building each one from scratch every time is busywork. Sets give you a one-action way to capture an arrangement and redeploy it.

A set preserves:

* Every object in the selection
* Their relative positions, rotations, and scales
* Each object's name, description, image reference, and LoRA
* Parent-child attachments within the set

A set does not preserve:

* Animation keyframes (those are shot-bound, not scene-bound; see [Animation and shot time](/overview/concepts/animation-and-shot-time))
* The scene's environment settings (sun, fog, terrain) – those are scene-level, not set-level

## How to save a set

{% stepper %}
{% step %}

### Arrange the objects in the scene

Build the vignette as you'd want it everywhere. Spacing, rotations, parent attachments – everything authored now is what gets reused.
{% endstep %}

{% step %}

### Marquee select the group

Click the marquee icon, drag a box around the objects you want in the set. Confirm the count in the contextual menu reflects the selection.
{% endstep %}

{% step %}

### Open More Options → Save as Set

The contextual menu's three-dot icon opens secondary actions. Click **Save as Set**. A modal opens with **Name** and **Description** fields.
{% endstep %}

{% step %}

### Name and describe the set

Use a descriptive name. "Coffee table arrangement", "Pirate ship deck props", "Trash corner cluster". The name is what you'll search for later in the Asset Library. Description is optional but helps you and teammates remember what's in the set.
{% endstep %}

{% step %}

### Save

The set lands in the **Asset Library** (under **My Assets** or **Team Assets** depending on the active workspace), available across every project.
{% endstep %}
{% endstepper %}

## How to use a saved set

Open the asset library. Click the **My Assets** category (or **Team Assets** if it was saved at the team level). The set appears as a single thumbnail. Drag it into a new scene; the entire arrangement instantiates at the cursor's projected ground point.

Once placed, the set behaves like a parent group:

* Click any object inside the set to select it individually.
* Marquee or `Shift+click` from the [Scene Outliner](/build/scene-outliner) to select the whole set.
* Move the parent group to relocate the entire arrangement.

To break the set apart and treat the objects as independent: select the set, right-click → **Detach all children**. The arrangement stays where it is, but the parent grouping is removed.

## My Assets vs Team Assets

When saving, the set lands in whichever workspace is active when you save:

* **Personal workspace** → set goes to **My Assets**, visible only to you.
* **Team workspace** → set goes to **Team Assets**, visible to every team member.

Build a "Hero product, dressed" set in the team workspace and every team member can drop it into their own scenes without re-uploading the CAD or rebuilding the dressing. Saves real time on agency teams pitching the same brand across multiple campaigns.

## Limits and known issues

{% hint style="warning" %}
**Sets don't update across scenes after you save.** If you tweak the objects in one place, the set's stored version doesn't change. Re-save with the same name to update, or treat sets as immutable starting points.
{% endhint %}

* **Sets cap on object count.** Very large sets (hundreds of objects) take longer to drop in. For city-scale arrangements, use a [populator](/build/populators) instead.
* **Cross-team sets aren't supported.** A set saved in Team A's workspace doesn't appear in Team B's library. Re-save in each workspace where you need it, or move the source files via [Smart Import](/build/import-your-own-models).

## Reference images on a set

A set carries a name, a description, and reference images, and they persist with it: through the project, through copy and paste, and into the next project you reuse it in. Attaching a reference to the set is how the style direction travels with the geometry instead of being re-described each time it is placed.

Creating a set groups the selected objects, and the set's name and description are pre-filled from the group's details. See [References on a group or a set](/overview/concepts/image-reference#references-on-a-group-or-a-set).

## Related

* [Selection and grouping](/build/selection-and-grouping)
* [Asset library](/build/asset-library)
* [Working with objects](/build/working-with-objects)
* [Populators](/build/populators): for procedural-distribution use cases that sets don't fit.


# Scene Outliner

The panel that lists every object in the scene – lock, hide, pin, rename, duplicate.

A panel that lists every object in the current scene. Lock, hide, pin, rename, or duplicate without ever touching the viewport.

## Watch

<https://www.youtube.com/watch?v=tan2ncQ\\_N5o>

![Scene Outliner panel docked on the left showing object hierarchy in an underwater scene with whale, fish, and mangroves](/files/N6f0Z1HTGUn6h0ZPDT09)

## What it does

Five objects in, picking the one you want by clicking the viewport gets slow. Twenty objects in, an object that spawned outside the camera frame is functionally lost – the user-testing notes have plenty of *"I lost my building"* stories to back that up. The Scene Outliner is what fixes it: the panel that lists every object the scene contains, in a tree that mirrors whatever parenting and grouping you've set up. If you've worked in Maya or Blender, it's the same idea – act on items by name and structure instead of hunting in the viewport. Most actions you'd take from the contextual menu of a viewport-selected object are here too, and a few are outliner-only (pin, group-level icon tools, hide-by-row).

## How to use it

In Build mode, open the left rail and click **Project → Scene Outliner**. Open it once and it stays open across project sessions.

1. **Find an object.** Scroll the tree, or hover a row to highlight the object in the viewport. Click the row to select.
2. **Show or hide.** Click the eye icon. The object stays in the scene but disappears from the viewport and from the visualizer's prompt context. Useful for staging shots that don't need every prop in frame.
3. **Lock.** Click the lock icon. A locked object can't be hovered, selected, or transformed in the viewport, but it stays selectable here in the outliner, and its name and description stay editable. Lock the terrain and the populator backbone before you start moving things around, and you'll stop dragging the world by accident. See [Locking objects](/build/working-with-objects#locking-objects).
4. **Pin.** Click the pin icon. Pinned rows stay at the top of the tree as the scene grows. Use it for the few hero objects you keep coming back to.
5. **Rename or edit details.** Right-click a row to open the same details panel you'd get from the viewport: name, description, image reference, LoRA.
6. **Duplicate.** Right-click → Duplicate. The duplicate inherits the original's parent.

### Working with groups

Sets, populators, and parent-attached objects appear as collapsible groups. A group row carries the same per-row icon tools that object rows have: an ellipsis (`...`) menu for Edit Details, Duplicate, and Delete; a visibility toggle (eye); and a lock toggle. Expand a group with the disclosure triangle to act on individual children.

**Eye and lock cascade to children.** Click the eye on a group row to hide every editable child in the group at once; click again to show them all. Same for the lock. The cascade is a single undo step, so one Cmd+Z restores the prior state.

**Mixed states resolve to the engaged side.** If any child in a group is visible, the group eye reads open. If any child is locked, the group lock reads engaged. Click the group eye once to hide the rest; click again (now all hidden) to show them all. The mental model is symmetric: any child engaged → group icon engaged → one click toggles all.

**Cameras are skipped by the cascade.** A group containing a camera plus props will hide the props on a group hide; the camera stays untouched.

**Edit Details has a live name preview.** Open Edit Details on a group, type in the name field, and the outliner row text updates per keystroke. The sort position doesn't change while you type; the persisted name only commits when you save the modal. Cancel reverts.

When the populator is expanded, the procedural-instance count shows on the row. Don't try to lock individual procedural instances; lock the populator and adjust its inputs instead. The instances are generated, not authored, and the lock would silently get overridden the next time the populator regenerates.

## Details

| Action     | Where it acts                                                                       |
| ---------- | ----------------------------------------------------------------------------------- |
| Eye / hide | Hides from viewport and from visualizer prompt context                              |
| Lock       | Blocks viewport hover, selection, and transforms; the outliner row stays selectable |
| Pin        | Reorders within the tree only                                                       |
| Rename     | Updates the name fed to the visualizer auto-prompt                                  |
| Duplicate  | Inherits parent, position offset                                                    |

The outliner reflects parent-child attachments live. Drag a row onto another row to re-parent. Drag a row out to the root level to detach.

## Limits and known issues

* **Outliner state is per-project.** The hide and pin states don't carry to other projects.
* **Hide doesn't survive a render.** Hidden objects stay out of the prompt context, but if you unhide before generating, they're back in. There's no separate "exclude from render" toggle.
* **Group-level rename isn't propagated to children.** Renaming a populator group changes the group label, not the names of the procedural instances inside it.

## Related

* [Working with objects](/build/working-with-objects)
* [Selection and grouping](/build/selection-and-grouping)
* [Sets](/build/sets)
* [Populators](/build/populators)


# Populators

How to create, adjust, and customize populators in Build mode – the procedural environment generators that scatter one asset set across an area.

Populators are procedural containers that distribute assets across an area. Drop one in, fill it with trees, and you get a forest without placing every tree by hand. The conceptual page is [Populators](/overview/concepts/populators); this page is the build-side how-to.

## Watch

{% embed url="<https://www.youtube.com/watch?v=XxbxqcGCuR4>" %}

![Active populator in Build mode with its cyan-blue trapezoidal footprint outline visible. The populator is filled with golden flowers and the contextual menu is hovering above it for adjustments](/files/damyaBQQSu0zxJUd8Gci)

## What it does

A populator is an object like any other: move it, scale it, place it in the scene. What sets it apart is that it generates a field of instances inside its bounds from rules you set, instead of you placing each one. Use it for forests, crowds, traffic, cities, asteroid fields, anything that reads as "many of a thing".

## How to create one

Two pathways, in increasing manual control:

1. **AI Composer prompt.** Type "create a tropical forest" or "build a city block" in the AI Composer panel. The agent creates a populator with the asset mix and layout that match the prompt. Fastest path; results need refinement.
2. **Library populator templates.** The asset library has a category for ready-made populators. Drag one in and adjust.

## The two control groups

Select a populator and its toolbar shows two buttons that hold everything:

* **Shape and Layout** – the size, the boundary shape, the distribution, and the variability. How the instances are arranged.
* **Populator Contents** – the assets in the populator, their colors, sizes, and how they share the available spots.

You'll move between the two as you dial a populator in: pick the assets in Contents, shape and distribute them in Shape and Layout.

## Shape and Layout

### Shape

The boundary the populator fills. Three options:

* **Rectangle** – the default. A box you size on each axis (50 × 50 × 50 to start; change any axis and the bounds grow).
* **Circle** – a round footprint.
* **Cube** – fills a 3D volume with instances rather than a flat area. Useful for asteroid fields or flocks of birds. Dense cube volumes place a lot of objects, so raise the count carefully.

![The Cube shape filling the whole boundary volume with packed instances, the way an asteroid field or a flock reads](/files/Eyp3PyogVhvLKbm9V17G)

### Size

Scales the boundary as a whole. A larger boundary holds more instances at the same density.

### Layout

How instances distribute inside the boundary. Three types, each with its own parameters:

* **Organic** – a natural scatter with no overlap. The default for vegetation and crowds.
* **Random** – like organic but allows instances to overlap, for denser, less ordered fields.
* **Grid** – aligns instances to a cell grid. Suits cities, orchards, parking lots, anything regular.

Three controls apply across every layout type:

* **Density** – how many instances fill the boundary. Roll it up for a thick forest, down for a sparse one.
* **Falloff** – how far the fill pulls in from the edges. A high falloff disintegrates the populator toward its boundary; zero fills to the edge.
* **Seed** – the random seed behind the spawn. Each seed is a different distribution of the same settings. When a forest or city layout is almost right, step the seed (or click the recycle button next to it) to roll a fresh distribution until the arrangement reads well.

![Density rising on an organic layout, the boundary going from a sparse scatter of cubes to a packed field as the slider moves](/files/ll68bm9Nl4bo65CjtbuN)

![A populator cycling through the three layout types as the Layout dropdown changes: Organic's even scatter, then Random's overlapping clumps, then Grid's aligned rows](/files/NkXOZXndTd5tIoKAL9V2)

### Grid options

Grid layout adds cell-based controls:

* **Cell Size / Cell Mode.** Fit Content and Fit Max Content size the cells to the assets automatically. Switch to **Custom** to set the cell dimensions yourself (for example 10 m × 10 m × 10 m). Smaller cells pull instances closer; a cell size of zero removes the gap entirely.
* **Gap.** The minimum distance to hold between instances, set in meters. Similar to enlarging the cell, but applied as spacing around each instance.
* **Offset.** Shifts the whole grid by a set distance, so the pattern doesn't always start in the same spot.
* **Alternate Rotation.** Off, every instance faces the same way. On, instances rotate in 90-degree increments. One building model placed across a city block reads as four different buildings because each is turned a quarter.

![Grid layout selected in the populator panel with Cell Mode set to Custom and Cell Size at 10 metres, a sparse grid of instances in the boundary](/files/2F31vDOcLPp2N9uVS1pM)

![A grid of identical dragon models, all facing the same way, then turning to varied 90-degree orientations when Alternate Rotation is switched on](/files/WthV28qOgAlqwESFvwA8)

### Object Variance

Two sliders randomize each instance so the field doesn't look stamped:

* **Rotation.** At maximum, instances face fully random directions; at zero, all face the same way. (Distinct from Alternate Rotation, which steps in 90-degree increments on grids.)
* **Size.** Varies the scale of each instance by a random percentage. At zero, every instance is the same size.

## Populator Contents

Open Populator Contents to manage the assets the populator distributes.

* **Add assets.** Drag an asset from the library onto the populator, or use the contents panel. A populator can hold several different assets at once.
* **Color.** Each asset type holds its own color. Give different assets different colors to vary the field.
* **Default size.** Sets the base size of an asset before variance. Scaling an asset up also spreads instances farther apart. Use it for variety – the same pine, scaled five times, reads as a redwood.
* **Distribution.** When a populator holds more than one asset, distribution weights how often each one takes a spot. Two assets both at 1 split the spots roughly evenly; lower one and the other takes over its spots. This is how you say "more cubes than trees" without placing either by hand.

![A mix of trees and red cubes in one populator, the balance shifting from tree-heavy to cube-heavy as the distribution weight changes](/files/QqYoLQo8oa0G31mnmZM5)

## Surfaces: snapping and masking

Populators can react to other geometry in the scene. Both behaviors are set from the target object's Populator Target dialog, which offers two toggles: let the object mask populator instances, or let populator instances snap to it.

![The Populator Target dialog open over a selected object, with two options: allow this object to mask populator instances, and allow populator instances to snap to this object](/files/Sw4SvNUXA8bTCZdIwFFo)

### Climb a surface

To make a populator follow terrain (cones up a mountain, grass over a hill), open the **target object's** three-dot (⋯) menu and allow populators to snap to it. Save, and the instances climb the surface and re-adjust whenever you move or scale it.

![Red cone instances climbing and conforming to a grey mountain surface after the mountain is allowed to accept populators](/files/jIngAFQ8FVM3jHAOwdal)

### Ignore surfaces

You can also tell a populator to ignore surfaces from its Populator Contents, so it drops flat to the ground. The two controls live in two places on purpose: a scene can mix populators that climb with ones that don't.

### Mask out part of a populator

Use another object as a mask to cut instances out of a populator – a clearing in a field of grass, a plaza in a forest. Open the masking **object's** three-dot (⋯) menu and allow it to mask a populator, then drag it into the populator's area. Any instances inside the mask are removed. Hide the mask object in the [Scene Outliner](/build/scene-outliner) to see the result cleanly; turn the mask off to bring the instances back.

![A sphere used as a mask over a field of cone instances, then hidden to reveal a circular clearing cut out of the populator](/files/0uylr1D9FmvGem1gfQnK)

## Editing a single instance

To pull one instance out of the procedural field – a tree in the camera's path, a cone you don't want – **double-click it**. The instance releases from the populator and becomes a regular object you can move on its own or delete. Useful for clearing a character's running path through a dense forest without thinning the whole populator.

## Common mistakes

{% hint style="warning" %}
**Don't try to lock instances inside a populator.** The lock is silently overridden the next time the populator regenerates (which happens on density changes, layout switches, footprint resizes). To keep a specific instance, double-click it to release it as a regular object first, then place or lock that.
{% endhint %}

* **Tuning density before fixing the asset mix.** Density is a multiplier; the contents are the substance. Get the assets and their distribution right first, then adjust density.
* **A cube layout at high density.** A 3D cube fill places instances through a volume, not a plane. The count climbs fast; raise it in steps.

## Related

* [Populators (concept)](/overview/concepts/populators)
* [Spline populator](/build/spline-populator)
* [AI Composer](/build/ai-composer)
* [Asset library](/build/asset-library)
* [Scene Outliner](/build/scene-outliner)


# Spline populator

A populator shape that distributes objects along a curve. Place fences, roads, hedges, lamp posts, or any repeating element along an authored path.

A spline is a [populator](/build/populators) shape. Pick the spline shape on a populator and you get a curve along which the populator's objects distribute. Useful for fences, hedges, roads, walls of crowd extras, lamp posts, or any element that repeats along a path.

![Build mode with a spline-shaped populator running through a dense tropical forest. The spline curve is visible as a white line with control-point markers, distributing road tiles along the path](/files/8JGzQjUCmdu7wpR00lGZ)

## What it does

Most populator shapes distribute objects across an area – a forest in a polygon, parade-goers in a rectangle. The spline shape distributes along a curve instead. Set the path; the populator places its objects along it at intervals you control.

The pattern shows up in real production constantly: a fence around a yard, a road through a town, a hedge along a property line, lamp posts down a street. Authoring each as a separate placed asset is tedious. A spline populator places them all at once, and editing the spline updates the layout live.

## How to use it

{% stepper %}
{% step %}

### Create a populator

Build mode → add a populator. The populator appears with the default shape.
{% endstep %}

{% step %}

### Set the shape to spline

In the populator's properties panel, find the **Shape** field. Pick **Spline**. The populator's footprint switches to a curve with editable handles.
{% endstep %}

{% step %}

### Pick the element to distribute

Set the populator's element to the asset you want repeated along the curve – a fence segment, a road tile, a lamp post, a tree. The populator places one instance per spline segment by default.
{% endstep %}

{% step %}

### Edit the curve

Double-click the populator to enter spline-edit mode. The curve's control handles become interactive. Use the in-app shortcuts (visible in the Keyboard Shortcuts panel) to add, move, or remove handles along the curve. Double-click the populator again to exit spline-edit mode and return to normal selection.
{% endstep %}

{% step %}

### Adjust object orientation if needed

The populator places each object using the asset's native rotation. Some assets face the wrong direction by default for spline use (fence segments designed front-on need to be rotated to face along the curve). Open the populator's element properties and adjust the rotation field. Common case: setting rotation to 90° aligns a fence segment's long axis with the spline.
{% endstep %}
{% endstepper %}

## Roads

Roads are a special variant of the spline populator. Add a road and you get a road segment along the spline; the rest of the editing flow is identical to the spline workflow above.

## When to reach for it

* **Linear repeating elements.** Fences, hedges, walls, lamp posts, road tiles, signage along a route.
* **A path through a scene.** A road, a sidewalk, a river bank where you want consistent objects placed along it.
* **Layouts that need to follow terrain.** Curves that bend with the ground, where placing each object by hand would mean fighting the geometry.

When not to reach for it:

* **Area distribution.** A forest, a crowd in a square, scattered debris – use a regular polygon-shape populator.
* **Single-object placement.** One bench in a park doesn't need a populator; just place it.

## Common mistakes

* **Trying to edit the curve without entering spline-edit mode.** Selecting the populator shows handles, but editing them needs the explicit double-click into edit mode. Without it, drags will move the populator's whole footprint instead of reshaping the curve.
* **Wrong-facing assets.** A fence segment that looks great in isolation may face perpendicular to the spline when placed. Fix in the populator's element rotation field, not by re-authoring the asset.

## Related

* [Populators](/build/populators)
* [Asset library](/build/asset-library)
* [Smart Import](/build/import-your-own-models)


# AI Composer

Prompt for environments and scenes – the agent collects assets and arranges them in a populator.

A conversational agent that builds environments and adjusts scenes from natural-language prompts. Ask for a tropical forest, a city block, a living room with characters – it goes and gets the assets, arranges them, and reports back.

## Watch

<https://www.youtube.com/watch?v=XxbxqcGCuR4>

![AI Composer Chat History panel on the right side of Build mode showing a conversation - user prompt asks to add a second sports car behind the Lamborghini, AI responds with the asset it found and placed. A second yellow super car is now visible in the scene](/files/JEejhsFf1Ro6k5zQ4mzx)

## What it does

If you've staged a previs scene before, you know the shape of the work: an hour collecting forty pieces of vegetation for a forest, then another hour distributing them so it looks like an actual forest and not a plant nursery. AI Composer collapses that. Prompt for the environment – "create a tropical forest" – and the agent collects the assets it needs and arranges them in a populator, ready for you to nudge.

The agent runs on a multi-agent architecture under the hood. Asset-lookup agents identify what your prompt implies, scene-composition agents decide how those assets should be arranged, and Intangible's proprietary world-model agents reason about the spatial layout. The point is that you get to direct, not drag – which matters when your director asks for a different forest twenty minutes before the client meeting.

## How to use it

The AI Composer dock sits at the bottom-right of Build mode. Open it with the chat-bubble icon, type a prompt, hit enter.

1. **Prompt for an environment.** "Create a city block." "Build a wedding scene." "Make a tropical forest, roughly 100 by 100 meters." Specificity helps; vague prompts produce generic results.
2. **Wait for the result.** Environments come back in one of two ways: as a populator (a procedural container that distributes assets across an area), or as individually placed assets arranged directly in the scene. Either way, expect 30 seconds to a couple of minutes depending on complexity.
3. **Adjust the populator.** Click the populator in the viewport to open its contents panel. Increase or decrease specific asset types ("more palm trees, fewer banana trees"), change footprint, or add new asset categories.
4. **Add objects to an existing scene.** "Add a character on the left side of the cabinet." "Drop a coffee table between the two couches." The agent uses spatial language – "left", "right", "between", "behind" – and tries to honor it.
5. **Delete or replace.** "Delete the rightmost couch." "Replace the dragon with a horse." The agent matches against object names and descriptions in the scene.
6. **Pose a character.** "Make the character stand." "Rotate the character to face the camera." Pose changes apply to whichever character the agent thinks you mean; name your characters if you have multiples.
7. **Attach a reference image to a specific object.** "Attach this as a reference image to the chair: \<image URL>". The agent finds the matching object and attaches the image. The Build viewport shows a base color at most, not the reference itself, which resolves at render time. This is the conversational shortcut for the most-important Build action; see [Image reference](/overview/concepts/image-reference).
8. **Thumbs up or thumbs down.** Each agent response has feedback icons – click them. The signal trains the agent to do better next time.

### Working with character names

The agent has a habit of latching onto descriptive names ("pirate captain") and over-rendering them in subsequent prompts. If you want a character to stay visually consistent across shots, give them a vanilla name – "Mark", "Jeff" – and use image references on the character object instead of relying on the description. The webinar walkthrough hits this directly.

## Paths, roads, and anything along a curve

AI Composer builds two kinds of curve-based structures from a prompt:

* **Scattering along a curve.** "A winding stone path with lampposts every 10 meters." "Line this driveway with pine trees on both sides." The agent creates a [spline populator](/build/spline-populator) – a curve with assets distributed along it. Click it to adjust the curve, spacing, or asset mix like any other populator. Multiple things on the same curve ("trees on both sides plus lampposts on the right") come back as one populator with multiple elements.
* **Solid surfaces.** "Add a curved road as one solid surface." The agent extrudes a single continuous mesh along the curve instead of scattering objects. Use this for roads, paths, and ribbons that need to read as one surface in renders.

The phrasing decides which you get. Asking for things *along* or *lining* a path produces a spline populator; asking for a road or surface produces an extrude. If a road comes back as scattered segments, re-prompt with "as one solid surface".

## Animating from a prompt

AI Composer can animate objects and cameras. Describe the motion and the agent authors keyframes for it:

* **Object motion.** "Move the cube 3 meters left over 2 seconds."
* **Camera moves.** "Orbit around the product for 180 degrees." Camera prompts use director-level vocabulary – orbit, dolly, push in – and each camera-move prompt creates a new shot with its own camera.
* **Whole reels.** "Create a cinematic reel of the scene" produces a series of animated shots.

![A generated cinematic reel: fourteen named shots from Opening Crane Up to Grand Finale Dolly Out, each an editable camera move](/files/5wG7kJHHSXjretxbwCAx)

![A Compose-mode storyboard filled with AI Composer-generated animated shots, each with its own camera move](/files/npw50zk9PxkgHl6187f1)

The keyframes land on the scene timeline as ordinary, editable keys – refine them in Compose mode like anything you keyframed by hand. See [Animation](/compose/animation).

Three behaviors to know:

* **Camera-move prompts create a new shot and camera each time.** To change a generated move, clear its animation and re-prompt rather than stacking prompts on the same shot.
* **Camera moves aim at a static target point.** The camera won't track an object that's animating; for follow shots, use [Aim Camera and Target](/compose/aim-camera-and-target).
* **Full 360-degree rotations need intermediate keyframes.** Two keyframes with the same orientation have nothing to interpolate; ask for the rotation in segments or add intermediate keys in the timeline.

## Details

| Capability           | What it can do                                                                                     |
| -------------------- | -------------------------------------------------------------------------------------------------- |
| Environment creation | Cities, forests, interiors, beaches, urban districts – anything with characteristic asset families |
| Asset addition       | Add a single object to an existing scene with spatial language                                     |
| Asset deletion       | Delete by reference – "the rightmost couch", "the dragon", "everything red"                        |
| Character pose       | Standing, sitting, running, gesturing, custom prompts                                              |
| Character placement  | Spatial moves – "behind the bar", "in the back of the truck"                                       |
| Population scaling   | "More vegetation", "fewer cars", "double the crowd"                                                |
| Spline scattering    | Distribute assets along a curve – paths, fences, tree lines, lampposts                             |
| Road generation      | Extrude a curved road or path as a single solid surface                                            |
| Object animation     | Keyframe object motion from a prompt – "move the cube 3 meters left over 2 seconds"                |
| Camera moves         | Director-level camera animation – "orbit around the product for 180 degrees"                       |

## Limits and known issues

* **Spatial accuracy is approximate.** "Move the character forward by 75 cm" works directionally; the exact distance often comes back wrong. Re-prompt or use [Transform](/build/transform) for fine placement.
* **Generation can go off the rails.** A vague prompt occasionally returns nothing useful. Refine with more specificity or undo and try again.
* **Character consistency is best with image references, not names.** See "Working with character names" above and [Image reference](/overview/concepts/image-reference).
* **The agent doesn't know your custom assets unless you tell it.** Imported objects in My Assets won't be picked up by general prompts. Name and describe them well on import – AI Composer uses those names to match assets to natural-language prompts. A model named "2024 Bronco, matte olive" will respond to "drop in the green Bronco"; a model named "object-12" won't.
* **Can generate an unmanageable number of individual objects.** A prompt like "add a grass field" might return hundreds of individually placed grass assets instead of routing through a populator. If the result is too dense to work with, undo and rephrase – "create a grass field as a populator" is more likely to produce a manageable structure.

## Related

* [Asset library](/build/asset-library)
* [Populators](/overview/concepts/populators)
* [Image reference](/overview/concepts/image-reference)
* [Smart Import](/build/import-your-own-models)
* [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks)


# Generate 3D Asset

Generate a 3D model from a text prompt or reference image. Drag the result into your scene like any library asset.

Type a description, drop in a reference image, or hand the system three photographs from different angles. The output is a 3D mesh ready to drag into your scene like any other library asset.

## Watch

{% embed url="<https://www.youtube.com/watch?v=5jKS24GhIzU>" %}

![Generate 3D Asset workflow producing a mesh from a reference image](/files/W94UGX4PCjnK550H0N91)

{% hint style="info" %}
Generate 3D Asset isn't available on the Free plan – upgrading to Explorer or Business unlocks it. See [Plans and billing](/teams-and-billing/plans-and-billing) and [intangible.ai/pricing](https://intangible.ai/pricing).
{% endhint %}

## What it does

Three input modes, all producing a usable 3D mesh:

* **Single reference image.** Upload one photograph; the system generates a mesh that matches the visual.
* **Multi-view reference.** Upload up to four photographs of the same object from different angles (front, back, left, right). The mesh honors the geometry implied by the multiple angles much more accurately than single-image. Best for objects with complex geometry, holes, or distinct features on multiple sides.
* **Text only.** Describe what you want in plain language. "A medieval gauntlet, articulated, dark steel." The system invents the geometry from the description.

The result is a mesh that lives in the asset library next to your imports and library items. Drag, swap, all the same workflows as a regular asset.

{% hint style="info" %}
**Images used to generate the mesh are automatically attached as image reference.** If you used single or multi-view photographs to generate the model, those same images land on the object as image reference automatically – ready to guide the visualizer without any extra steps.
{% endhint %}

## How to use it

![Generate Asset modal with the Text / Single Image / Multi-View input-mode tabs, an image drop zone, a Name field, a Detail picker (Standard / Medium / High), and a 'Check to review and edit' toggle](/files/F0RMx017K9yZ8PiYbZwj)

1. **Open the asset library.** Bottom of Build mode.
2. **Click Generate 3D** (next to **Import**). The Generate-3D modal opens.
3. **Pick the input mode.** Single image, multi-view (front/left/back/right), or text.
4. **Provide the input.** Upload the image(s) or type the description.
5. **Set the Detail tier.** Standard, Medium, or High. Medium is sufficient for most objects, especially if you're attaching image reference at render time anyway. High is worth the extra cost for objects with complex geometry – lots of holes, fine structural detail, or many distinct surfaces (a bicycle, a piece of machinery). High also performs better when used with multiple image references.
6. **Leave "Check to review and edit" on.** The generator doesn't know the real-world scale of the object – results often come in significantly too large or too small. The review step is where you catch and fix that before the mesh lands in your library. Leave it on.
7. **Click Generate.** The job runs in the background. A toast appears with progress; the asset library reopens when the result arrives.
8. **Review the result (if the toggle was on).** The same editing environment as [Smart Import](/build/import-your-own-models): set scale, orientation, name, description.
9. **Save.** The mesh lands in your asset library, available to drag into the scene like any other asset.

## When to reach for which input mode

* **Single image** – fastest, cheapest, lowest fidelity. Good for "approximately right" mass that you'll attach an image reference to anyway.
* **Multi-view** – much better geometry, at a higher generation cost (costs are billed in credits – see [Credits and tokens](/overview/concepts/credits-and-tokens)). Use when the object has distinct front/side/back features (vehicles, characters, hardware with handles or controls).
* **Text only** – when there's no reference image at all, or when you're brainstorming and the prompt itself is the test ("a robot vacuum that looks like a manta ray").

## Custom assets at scale

Once a generated asset is in your library, it behaves like any other library asset. The team-asset visibility pattern works for the agency case where one creative generates a fleet of vehicles for a campaign and the rest of the team can drag them in without re-generating.

The webinar's automotive walkthrough shows the canonical flow:

1. Generate the hero asset from multi-view reference photographs.
2. Save to Team Assets with a descriptive name.
3. Every team member can drop the same hero into different shots and scenes.
4. Image reference on the hero locks the visual look at render time.

## Limits and known issues

{% hint style="warning" %}
**Single-image generation can produce ambiguous geometry.** A photo of a car from the front gives the system no information about the back. The result will invent something that may not match the actual rear of the vehicle. Use multi-view when accurate geometry matters.
{% endhint %}

* **Topology is generation-time, not production-grade.** Generated meshes have non-uniform topology that's fine for scene blocking and rendering through the visualizer, but not for downstream pipelines that need clean retopology (Unreal cinematics, real-time engines). For those, generate as starting state and retopologize externally.
* **No materials.** Generated meshes are imported without textures – materials are stripped on the way in. The visualizer reads the object's attached image reference at render time instead. If the images used to generate the mesh were uploaded as reference, they're already attached automatically (see above). For brand-accurate surface treatment, add or replace image reference on the object after import.
* **Completed generations cost credits even when the result is unusable.** Failed attempts aren't charged (billing mechanics live in [Credits and tokens](/overview/concepts/credits-and-tokens)). Leave the "Check to review and edit" toggle on so you can inspect before the mesh lands in your library.

## Related

* [Asset library](/build/asset-library)
* [Smart Import](/build/import-your-own-models)
* [Image reference](/overview/concepts/image-reference)
* [Plans and billing](/teams-and-billing/plans-and-billing)


# LoRAs

Train a LoRA for character or object consistency in AI renders. Upload references, attach to a Build-mode object, reuse the same look across every shot.

A LoRA is a small fine-tuning file that biases the diffusion model toward a specific style, character, or product. Attach one to a Build-mode object and the visualizer applies the LoRA's behavior at render time, on top of whatever the base model would otherwise do.

![Create New LoRA modal with fields for Name (Dragon), Notes, Triggers, plus Upload LoRA and Public URL inputs and Cancel / Save buttons](/files/MatYfvMPGUNMz4h9rDpk)

## Image Reference vs LoRA vs Custom Style

Three different ways to lock visual consistency. They serve different jobs – the full comparison table lives in [Image reference](/overview/concepts/image-reference#image-reference-vs-lora-vs-custom-style).

The fastest correct answer for most agency briefs: try Image Reference first. Layer in LoRA when one specific character or style needs more than a photograph can carry. Switch to Custom Style when the brand language has to apply globally.

## What it does

Image references handle most consistency cases (see [Image reference](/overview/concepts/image-reference)) and they don't require a fine-tuning step. LoRAs cover the cases image reference can't:

* **Cross-object style consistency.** A whole rendered scene in a specific illustrator's pen-and-ink style isn't a per-object reference – it's a model-level bias. LoRA on a global "scene style" object handles it.
* **Character that needs more than one reference image can capture.** A custom character with many expressions, costumes, and angles benefits from a trained LoRA more than from a stack of reference images.
* **Brand-specific surface treatments.** A material library that the team has trained internally as a LoRA and wants to apply consistently.

If you don't already have a LoRA on hand, you probably don't need one. Image reference is the right starting tool.

## How to use it

LoRAs attach per object, via the contextual menu's **More Options** menu.

1. **Select the object** in the viewport. The contextual menu opens above it.
2. **Open More Options** – the three-dot (⋯) icon at the right end of the contextual menu.
3. **Click Add LoRA.** A dialog opens with inputs for the file (or URL) and an optional trigger word.
   * **Upload from computer.** Browse to a `.safetensors` or `.pt` file. The file gets stored alongside the project; subsequent renders reuse it without re-uploading.
   * **Add via URL.** Paste a URL from a service that hosts LoRA files (Civitai, Hugging Face, internal artifact storage). The system fetches and caches.
   * **Trigger word.** Some LoRAs are trained to activate only when a specific word appears in the prompt. Enter the trigger word here; the visualizer prepends it to the prompt block for this object.

Once attached, the LoRA is bound to that object. The visualizer's auto-prompt notes the LoRA's presence in the \[Subjects] block at render time.

{% hint style="info" %}
LoRAs apply per-object, not per-scene. Attach the LoRA to the object whose look should be biased. To bias the entire scene's style, attach to a "global style" placeholder object, or use the [Custom styles](/visualize/custom-styles) feature in Visualize mode for the scene-wide case.
{% endhint %}

## How LoRAs interact with image references

```mermaid
flowchart LR
    A[Object] --> B[Image reference]
    A --> C[LoRA]
    B --> D[Visualizer]
    C --> D
    D --> E[Render]
```

Both can apply to the same object. The model receives the prompt text plus the image reference plus the LoRA bias at generation time. In practice:

* **Image reference dominates for "what does this specific thing look like".** A photograph of the actual car constrains the rendered car's appearance directly.
* **LoRA dominates for "what is the style of this rendering".** The pen-and-ink LoRA bends every render through that aesthetic regardless of the reference image's surface.

Use both when both apply. They don't fight; they layer.

## Limits and known issues

* **Consistency depends on the training.** A LoRA holds a character or look across shots only as well as it was trained. A LoRA trained on many angles is reliable; a thin or loosely-trained one drifts. This is why image reference, which constrains a specific object directly, is often the more dependable cross-shot tool.
* **Not every base model honors LoRAs.** Some of the visualizer's models (notably some video models) don't accept LoRA conditioning. The LoRA attaches successfully but is silently ignored at render time. Test against your target model before committing.
* **LoRA files are large.** Multi-hundred-megabyte LoRAs slow project sync and increase storage costs. Use compressed formats where possible.
* **Trigger words must be exact.** A LoRA trained on the trigger "robocar" won't activate from "robo car" or "robotic car". Match the training data exactly.

## Where to find LoRAs

* **Civitai** – community library for image-model LoRAs. Most are stylistic biases.
* **HuggingFace** – broader model repository; LoRAs live alongside their parent base models.
* **Internal artifacts** – if your agency or team has trained custom LoRAs, host them in your own storage and share URLs.
* **Train your own in Intangible.** The Create New LoRA flow trains one from your own images. It works, but a LoRA someone trained deliberately for a specific subject on Civitai or Hugging Face is usually stronger than a quick in-app train. Reach for a community LoRA when one exists for exactly your subject; train your own when nothing public fits.

## Related

* [Object details](/build/object-details)
* [Image reference](/overview/concepts/image-reference)
* [Custom styles](/visualize/custom-styles)
* [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks)


# Compose mode

Compose mode – the camera department where you place cameras, set lenses, and frame the action.

Compose mode is the camera department. Place a camera, set a lens, frame the action, animate. Each shot you create gets its own camera and its own timeline.

## Setting up shots

* [Shots](/compose/shots): add, duplicate, delete, reorder.
* [Camera controls](/compose/camera-controls): free cam, fine-tune, game-controller support, framing.
* [Lenses](/compose/lenses): the lens pack, focal lengths, when to reach for which.
* [Aspect ratios and film gates](/compose/aspect-ratios-and-film-gates): film standards plus social formats.
* [Shot details](/compose/shot-details): name and description that feed the auto-prompt.

## Camera mechanics

* [Aim Camera and Target](/compose/aim-camera-and-target): lock the camera onto a moving subject.

## Animation

* [Animation](/compose/animation): keyframes for cameras and pose, smooth interpolation.
* [Timeline](/compose/timeline): the sequence timeline view – arrange shots into an edit.
* [Storyboard view](/compose/storyboard-view): collapsing scene thumbnails for the high-level layout.


# Shots

Add, duplicate, reorder. Each shot saves its own camera, lens, and aspect ratio; animation lives on the shared scene timeline.

A shot is a saved camera framing inside a scene. Add, duplicate, delete, reorder. Each shot remembers its camera position, lens, and aspect ratio. Animation isn't saved per shot; it lives on one shared scene timeline, and each shot is a time window into it.

## Watch

<https://www.youtube.com/watch?v=BbS5ml0Uzx4>

![Compose mode with multiple shots visible in the Storyboard at the bottom, each shot card showing duration and a thumbnail](/files/mdbtPS3vrvqDkcIgzolF)

## What it does

Setting up a shot in a previs pipeline means manually keying camera transforms, naming them by hand, and remembering which file holds which take. Intangible's shots are a built-in primitive – click the camera **+** icon below the viewport, the current framing becomes a saved shot in the storyboard at the bottom of the screen. From then on, click the shot thumbnail and the camera snaps to that framing.

The thing that catches new users: animation in Compose mode lands on the shared scene timeline, not on the active shot. Move an object in Compose with a shot active and the keyframe records on the scene timeline; every shot whose time window covers that frame shows the motion. Move the same object in Build mode and it commits to permanent scene state, no animation. See [Animation and shot time](/overview/concepts/animation-and-shot-time) for the why.

## How to use it

The take-shot control is the camera **+** icon directly below the camera viewport. Click it to capture the current framing as a shot, the same gesture as a physical camera. The storyboard with thumbnails sits across the bottom of the screen.

1. **Add a shot.** Click the camera **+** icon below the viewport. The current viewport framing becomes Shot 1 with a thumbnail in the storyboard. Each new shot is placed sequentially in scene time, starting where the previous shot ends.
2. **Frame the shot.** Move the camera as needed – free cam or fine-tune (see [Camera controls](/compose/camera-controls)). The framing updates live in the thumbnail.
3. **Duplicate.** Use the ellipsis (⋯) menu on a shot card → **Duplicate**. The duplicate copies the shot's camera framing plus its point in time and duration, and lands at the same point in scene time as the original. It does not copy the shot's generated renders.
4. **Reorder.** Drag a shot thumbnail left or right in the storyboard to change its position within the scene.
5. **Delete.** Ellipsis (⋯) menu on a shot card → **Delete**. Confirms before removing.
6. **Set a lens.** Each shot has its own lens choice – defaults to the scene-camera lens but overrides freely. See [Lenses](/compose/lenses).
7. **Add details.** The shot details panel has Name and Description fields. These feed the auto-prompt at render time, so a shot named "low-angle hero" with a description of "Lamborghini accelerating from a stop" gives the visualizer specific context.

### Sequencing rule worth knowing

To author motion in Compose mode, have a shot active first. Keyframes only record while a shot is active, and they land on the shared scene timeline at the current frame. Move an object in Build mode (or in Compose with no shot active) and it commits to permanent scene state instead, with no animation. See [Animation and shot time](/overview/concepts/animation-and-shot-time).

{% hint style="danger" %}
**Deleting a scene deletes every render in it.** The scene's ellipsis (⋯) menu and a shot card's ellipsis (⋯) menu sit close together and sometimes stack right above each other. Before you confirm a delete, check you're on the shot's thumbnail, not the scene. Deleting the shot removes the framing; deleting the scene removes the scene and all the generations made inside it.
{% endhint %}

![Adding shots to a scene: each new shot lands as its own card in the storyboard below the viewport](/files/k0xjEXzLCAVfl5lfG9lU)

## Details

| Action           | Where                                    |
| ---------------- | ---------------------------------------- |
| Add Shot         | Camera **+** icon below the viewport     |
| Duplicate        | Shot card ellipsis (⋯) → Duplicate       |
| Reorder          | Drag thumbnail in the storyboard         |
| Delete           | Shot card ellipsis (⋯) → Delete          |
| Rename           | Click the shot name in the details panel |
| Set lens         | Lens picker in the viewport              |
| Set aspect ratio | Aspect ratio picker in the viewport      |

## Limits and known issues

* **Shots are scene-bound.** A shot can't reference a camera in a different scene. Cross-scene edits live in the [Sequence Timeline](/compose/timeline).
* **Reordering doesn't update the auto-prompt history.** If you renumber shots after rendering, the rendered images keep their original shot numbers in metadata. Rename rather than reorder for this reason if you care about file naming.
* **Animation lives on the shared scene timeline, not per shot.** Keyframes record while a shot is active but belong to the scene; Build-mode moves commit to permanent scene state. This trips up users coming from sequencer-style tools. See [Animation and shot time](/overview/concepts/animation-and-shot-time).

## Related

* [Camera controls](/compose/camera-controls)
* [Lenses](/compose/lenses)
* [Aspect ratios and film gates](/compose/aspect-ratios-and-film-gates)
* [Shot details](/compose/shot-details)
* [Animation](/compose/animation)
* [Animation and shot time](/overview/concepts/animation-and-shot-time)


# Camera controls

Free cam, fine-tune, game-controller support. Two camera-control modes per shot.

The Compose-mode camera has two control modes – free cam and fine-tune – plus optional game-controller support. Free cam is for getting roughly there; fine-tune is for nailing the framing.

## Watch

<https://www.youtube.com/watch?v=BbS5ml0Uzx4>

![Compose mode with the picture-in-picture overhead view in the top-left and the main viewport showing the active camera framing on a moving subject](/files/5b8yKfB7faCC79zieaH0)

## What it does

A previs DP needs two kinds of camera moves: get from "I have no idea where I am" to "I'm roughly looking at the action" in three seconds (free cam), and then nudge that framing by single-degree increments until it's right (fine-tune). Stuffing both into one control mode means one of them feels broken. Compose mode separates them into two explicit states with a toggle in the bottom-left.

## How to use it

The mode toggle sits in the bottom-left of the Compose viewport.

1. **Free cam.** Click the free-cam icon. Drag to rotate; Shift+drag to pan or elevate; scroll to zoom. Same bindings as Build mode. Use this when you're hunting for an angle.
2. **Fine-tune.** Click the fine-tune icon. Drag the on-screen rosette handles for incremental dolly, truck, pedestal, pan, tilt, and roll. Use this when the angle is roughly right and you need to land it precisely.
3. **Frame an object.** Select the object in the scene outliner or in the overhead satellite view, then press `F`. The camera moves to fill the frame with the object. Faster than dragging when you need to start from a known good angle. You can't select objects inside the picture-in-picture inset itself; select in the outliner or the satellite view.
4. **Picture-in-picture.** Click the button in the top-left of the Compose viewport to toggle the satellite view. The main viewport swaps to an orbital "God's-eye" view of the scene with the camera frustum drawn in, while the picture-in-picture inset shows what the camera sees. Click the button again to return to the through-the-lens view. Useful when you need to see where the camera sits in the world while you adjust.
5. **Game controller.** Plug in an Xbox or PlayStation controller and the left stick maps to translation, right stick to look, shoulder buttons to elevation. Better for long crane moves or for users who set up shots while standing.

### When to use which

| You want to...                            | Use                                        |
| ----------------------------------------- | ------------------------------------------ |
| Find a rough angle on a moving subject    | Free cam                                   |
| Place a static establishing shot          | Fine-tune                                  |
| Match a specific framing from a reference | Fine-tune                                  |
| Sweep across a large scene to scout       | Free cam (or controller)                   |
| Get into someone's POV                    | Frame the subject, then fine-tune to nudge |

## Details

| Control | Free cam                 | Fine-tune                |
| ------- | ------------------------ | ------------------------ |
| Rotate  | Drag                     | Pan rosette handle       |
| Pan     | `Shift` + drag           | Dolly + truck handles    |
| Elevate | `Shift` + drag           | Pedestal handle          |
| Roll    | n/a                      | Roll handle              |
| Speed   | Tied to scroll-zoom rate | Fixed-increment per drag |

## Limits and known issues

* **Free cam can drift through walls.** It doesn't collide with scene geometry. If you're looking through a building exterior, you didn't crash – you're inside.
* **Fine-tune is slower for big moves.** Don't use it to cross the scene; that's free cam's job.
* **The mode switcher quietly affects the viewport.** Switching to Build or Visualize while a shot is active swaps you back to that mode's camera; your shot's framing is preserved when you return.

## Related

* [Shots](/compose/shots)
* [Lenses](/compose/lenses)
* [Aim Camera and Target](/compose/aim-camera-and-target)
* [Move the camera (in Build mode)](/overview/get-started/viewport-navigation)


# 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](/files/UFqMG57K1WXEL1AjPOQ8)

## 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: dragging the lens slider to an arbitrary focal length, with the near and far clipping inputs and the helper visibility toggle below it](/files/C4K1LGjPQroOc5rEGg75)

The panel carries four 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.** The slider runs 14mm to 100mm. That's a soft range for comfortable dragging, not a hard limit; type a value outside it to go wider or longer.
* **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.

{% 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.

## 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) 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.
* **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).

## Related

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


# Aspect ratios and film gates

Film and social aspect ratios per shot, and what changes downstream when you pick one.

Each shot has its own aspect ratio. The dropdown holds a flat working set: vertical and square for social, 4:3 and 16:9 for broadcast / streaming, plus European Widescreen, Cinemascope, and Ultra Panavision 70 for film. Pick per-shot to author for the destination.

![Aspect Ratio dropdown open in Compose mode showing the flat list - Vertical 9:16, Square 1:1, 4:3, European Widescreen 1.66:1, 16:9 Aspect (selected), Cinemascope 2.39:1, Ultra Panavision 70 (2.76:1)](/files/ghwPz2FKLZ6NxPjFYv7b)

## What it does

A shot framed for 2.39:1 cinema doesn't reframe gracefully to 9:16 vertical and vice-versa. Authoring at the destination gate from the start saves a reframe pass downstream. The Compose-mode aspect ratio setting also feeds the visualizer's auto-prompt, so the rendered image is delivered at the gate you specified.

## Available gates

The dropdown is a flat list. Top to bottom:

* **Vertical 9:16** – vertical. Stories, Reels, TikTok, YouTube Shorts.
* **Square 1:1** – Instagram feed, LinkedIn organic.
* **4:3** – legacy broadcast. Use for period framing or stylistic intent.
* **European Widescreen 1.66:1** – classic European-cinema flat exhibition.
* **16:9** – broadcast HD, streaming default. The most common default.
* **Cinemascope 2.39:1** – wide cinema, theatrical release, anamorphic lookalikes.
* **Ultra Panavision 70 (2.76:1)** – ultra-wide cinema. Use for theatrical work that needs the widest possible frame.

## How to use it

In Compose mode, with a shot active, open the **Aspect Ratio** picker in the shot details toolbar at the bottom of the viewport. Pick the destination format. The viewport reframes to the new gate immediately. Camera position doesn't move; the framing is a crop within the same camera setup, so a 2.39 framing of a wider 16:9 isn't going to reveal off-frame elements you didn't see before.

{% hint style="info" %}
Set the aspect ratio before you fine-tune the camera. Reframing after the fact often pushes the subject off-center in ways you didn't intend. The order is: pick the gate, then frame.
{% endhint %}

## How aspect ratio reaches the render

The auto-prompt mentions the gate explicitly in the \[Scene Context] block: *"a 2.39:1 cinematic widescreen shot"* or *"a 9:16 vertical format"*. Diffusion models honor the framing tightly when it's in the prompt; some models also accept aspect ratio as an out-of-band parameter, in which case the visualizer passes it both ways.

The rendered image arrives at the chosen gate. Downloads keep that aspect; no reframe needed if you authored correctly.

## Choosing the right gate

A few common signals:

* The deliverable is broadcast or streaming – 16:9.
* The deliverable is theatrical or premium streaming – 2.39:1 or 1.85:1.
* The deliverable is social-feed first – 1:1 or 4:5 for Instagram, 9:16 for vertical platforms.
* The deliverable is multi-platform – author at the most-constrained gate (usually 9:16), then crop wider for other platforms.

For multi-platform campaigns, build separate shots at each gate rather than relying on a single shot reframed in post. The composition that works at 16:9 rarely works unchanged at 9:16, and authoring per-gate lets the visualizer optimize each render for its destination.

## Limits and known issues

* **Custom aspect ratios aren't supported.** The dropdown is a fixed working set.
* **Aspect ratio change doesn't invalidate animation keyframes.** A camera animation set up at 16:9 will play back at 2.39, but the framing will recompose. Re-confirm key beats after a gate change.
* **Some video models are aspect-ratio constrained.** A few of the video models cap out at certain gates. The visualizer warns at generate time if the active gate isn't supported by the chosen model.

## Related

* [Shots](/compose/shots)
* [Lenses](/compose/lenses)
* [Camera controls](/compose/camera-controls)
* [Shot details](/compose/shot-details)


# Shot details

Name and description per shot. The metadata that feeds the visualizer's auto-prompt for that specific shot.

The shot details panel is where you name a shot and describe what's happening in it. The visualizer reads both into the prompt at render time. Small panel, big impact: the difference between a vague *"action shot"* and a specific *"low-angle hero, supercar accelerating from a stop, helicopter visible in the background"* is what determines whether the render lands.

## What it does

The auto-prompt's \[Scene Context] block reads from the scene name and description, the shot name and description, and the camera lens and aspect ratio. Of those, the shot's own metadata is the only piece that varies per shot in the same scene. A scene called "Manhattan street" with three shots called "shot-1", "shot-2", "shot-3" produces three nearly identical prompts; the same scene with shots called "low-angle hero", "wide establishing", "interior dashboard POV" produces three meaningfully different ones.

## What's in the panel

The shot details panel has two writable fields:

### Name

Short label, used for the storyboard thumbnail and for the auto-prompt. Aim for descriptive and short – "low-angle hero" rather than "the shot where the camera goes low to make the car look big".

### Description

A sentence or two on what's happening or what mood the shot has. *"Lamborghini accelerating from a stop"*, *"Helicopter circles overhead, surveying the chase"*. Reads into the auto-prompt verbatim.

## How shot details flow into the render

```mermaid
flowchart LR
    A[Shot name] --> B[Auto-prompt Scene Context]
    C[Shot description] --> B
    E[Lens] --> B
    F[Aspect ratio] --> B
    B --> G[Diffusion model]
    G --> H[Render]
```

Both fields on the panel reach the model alongside the lens and aspect ratio. Treat them as production-grade text the model will use.

## When to fill it in

The honest answer: the moment you create the shot. Fill the name first, the description second. The friction of doing it later is higher than doing it now, and unnamed shots multiply faster than you'd think.

## Common mistakes

* **Generic names.** "Shot 1", "Shot 2", "Wide". Reads identically to the model. Always describe what makes this shot different.
* **Description is the whole brief.** Keep it tight. The model honors short, specific descriptions better than rambling ones; the truncation rule from [Object details](/build/object-details) applies here too.

## Related

* [Shots](/compose/shots)
* [Lenses](/compose/lenses)
* [Aspect ratios and film gates](/compose/aspect-ratios-and-film-gates)
* [Auto-prompt](/visualize/auto-prompt)
* [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks)


# Aim Camera and Target

Lock the camera onto a moving subject so it stays in frame even when the subject travels through the scene.

A camera with a target object stays pointed at that object as the subject moves. Set the target once; the camera tracks as the shot plays across the scene timeline. The right tool for car follow-shots, character tracking, and any scenario where the camera should stay locked on a moving point.

![Build mode with the aim target widget placed on a chair in a busy outdoor cafe scene. The target appears as a crosshair anchored to the chair's position, with the picture-in-picture overhead view in the top-left](/files/iFjYW5Z4iTZJnpZMTmO5)

## What it does

Authoring camera tracking by hand means setting a rotation keyframe every frame the subject moves – tedious, error-prone, and a hassle to adjust. Aim Camera and Target replaces the per-frame rotation work with a single binding: this camera follows that object. Move the subject, change the subject's animation, swap the subject for a different one – the camera continues to point at whatever object is bound as the target.

## How to use it

The flow crosses both Build and Compose modes. Place the target in Build, bind the camera in Compose.

{% stepper %}
{% step %}

### Drop an aim target on the subject (Build mode)

In Build mode, position the aim target on the object you want the camera to follow. The target shows as a crosshair anchored to the object's position. Use the picture-in-picture overhead view to verify exact placement; the target is precise enough that off-by-a-bit becomes off-by-a-lot at long focal lengths.

![Top-down framing of the cafe scene with the aim target's wireframe selection widget visible on the chair, surrounded by other props. Use this view to position the target precisely](/files/1dQpNTJVZgNFqTW5ubOC)
{% endstep %}

{% step %}

### Switch to Compose and open the shot

Switch to Compose mode and add a shot (or pick an existing one). The shot's camera is what's about to get bound to the target.
{% endstep %}

{% step %}

### Bind the camera to the target

With the shot active, bind the camera to the aim target placed in Build. The camera rotates to point at it; if the target animates on the scene timeline, the camera tracks live across the shot.

![Compose mode with the camera locked on the chair as the subject. As the camera moves through the cafe, it stays pointed at the target without manual rotation keyframes](/files/AtNlzRqDQwz0i2suUWlH)
{% endstep %}

{% step %}

### Scrub to verify

Scrub the timeline. The camera follows the target through every keyframe – no per-frame rotation work needed.
{% endstep %}
{% endstepper %}

## Rolling an aim camera

Binding a camera to a target settles the horizon level, which is the right default and usually where you leave it. When a shot wants a canted frame, the **Roll** control in the viewfinder stays live on an aim camera and tilts it around its own axis without breaking the lock on the target.

Roll is keyframable. Once you set a roll value, a dedicated **Roll** track appears in the timeline and interpolates smoothly between keyframes on scrub and playback, so a frame can right itself over the length of a shot.

A camera that has never been rolled carries no Roll track at all. The track appears on the first roll edit, which keeps the timeline clean on the cameras that don't need it.

{% hint style="info" %}
A dutch angle that holds through a follow shot is the case this exists for. Bind the camera to the subject, set the roll, and the frame stays canted while the subject stays centred. Doing the same by animating the camera's rotation directly fights the target lock.
{% endhint %}

The timeline reflects the active shot's camera: its aim-target track sits directly beneath the camera it belongs to, and target tracks for other shots stay hidden so a scene with several aim cameras doesn't fill the timeline with tracks you aren't editing.

## When to reach for it

* **Vehicle follow shots.** A car moving through a scene with the camera tracking it from a parallel position. Set the car as the target; move the camera position over time; the camera stays pointed at the car.
* **Character tracking.** A character walking through a set, camera following at a respectful distance. Same pattern.
* **Object hand-offs.** A character throws a ball; the camera follows the ball. Set the ball as target, the camera tracks the throw arc automatically.

When not to reach for it:

* **Static framings.** A locked-off shot doesn't need a target – just point the camera and don't animate it.
* **Hyper-specific framings that need to drift off-target on purpose.** Aim and Target locks the camera on; if you want the camera to deliberately wander off, animate the camera's rotation directly without a target binding.

## Limits and known issues

* **Targets are object-level, not bone-level.** You can target a character, but you can't target the character's *face* specifically. The camera aims at the character's pivot, which is usually near the hips. Adjust the offset to push the framing toward the head.
* **Multiple targets aren't supported.** A single camera can have one target at a time. For "follow A, then transition to follow B" you'd use two shots, each with its own target binding.
* **Aiming at a group holds still.** Aiming at a single animated subject tracks that subject as it moves. Aiming at multiple subjects, or at everything, holds the aim at a fixed point instead of averaging the motion. When a shot needs to follow movement, target one object.
* **Target swaps don't animate.** Changing the target mid-shot causes a snap rather than a smooth transition. To transition between subjects, use two shots.

## Related

* [Camera controls](/compose/camera-controls)
* [Shots](/compose/shots)
* [Animation](/compose/animation)
* [Working with objects](/build/working-with-objects) – setting an object as a target.
* [Object details](/build/object-details) – per-object metadata that affects how an aim target reads.
* [Control shot composition](/overview/how-to/control-ai-composition) – the full Compose-mode framing workflow.


# Animation

Keyframe animation for cameras, objects, and characters in Compose mode, authored on the shared scene timeline with smooth interpolation by default.

Animation in Intangible is keyframe-based. All keyframes live on the **scene timeline** – one shared timeline per scene. Shots are not separate timelines; they are windows into the scene timeline, each covering a specific span of scene time. When you select a shot and scrub the Scene Timeline tab, you're looking at that shot's slice of the scene's animation data, not a private timeline belonging to that shot.

![Compose mode with the Scene Timeline at the bottom, showing per-object tracks for Shot 1, Shot 2, Shot 3 with keyframes visible on the camera and subject tracks](/files/td66nDKuyc0GwiFgpixO)

## What it does

The animation system supports per-scene keyframing on:

* **Camera** position, rotation, lens, and aim target.
* **Object** position, rotation, scale.
* **Character pose** (when the character is rigged for it).

Every keyframe lives on the scene timeline. When you select a shot in the Scene Timeline tab, you're viewing the portion of the scene timeline that falls within that shot's time range – not a separate timeline. Two shots that overlap the same scene time will show the same animation data. Duplicated shots point to the same scene time and will show identical motion.

Build mode reflects the scene's permanent (non-animated) starting state. Compose-mode transforms on a selected shot become keyframes that override that starting state for the duration of the shot. Switching to Build mode to adjust a permanently placed object – a building, a set piece – won't create unwanted keyframes. Moving that object in Compose mode will.

See [Animation and shot time](/overview/concepts/animation-and-shot-time).

Smooth interpolation between keyframes is on by default.

## How to use it

The timeline lives at the bottom of Compose mode in the Scene Timeline tab. The playhead is the blue vertical line with the frame number in a blue box at the top. The tracks are horizontal rows, one per animatable property of the active selection.

1. **Pick a shot.** Click a thumbnail in the storyboard. The shot becomes active; its timeline appears below.
2. **Park the playhead at frame zero.** Drag the playhead (the blue vertical line) to the leftmost position. The state of the scene at this moment is the shot's start.
3. **Set the start state.** Move the camera and any subjects to where they should be at the start.
4. **Move the playhead forward.** Drag the playhead along the timeline to where the next keyframe should land – or click the playhead's time label and type a time to jump precisely; see [Setting the playhead by time](#setting-the-playhead-by-time). The default shot duration is approximately two seconds; the default scene duration is five seconds. To extend a shot, open the Scene Timeline tab, find the shot's segment (the horizontal span covering the shot's time range), and drag its right edge.
5. **Move objects to the next state.** Drag, rotate, scale. The keyframe doesn't appear until you actually move the object – moving it is what creates the key, not just positioning the playhead.
6. **Scrub to confirm.** Drag the playhead back and forth. Values between keyframes interpolate. If the motion looks wrong, add an intermediate keyframe at the moment that needs adjustment.

Animation can also be authored from a prompt: ask [AI Composer](/build/ai-composer#animating-from-a-prompt) to move an object or orbit the camera, and the resulting keyframes land on the scene timeline as ordinary editable keys.

![Keyframing objects on the scene timeline: move an object at a new playhead position and the keyframe is recorded](/files/uKujXXUgv1hzBiyCMqvJ)

## Setting the playhead by time

The playhead's blue time label is editable. Click it (a click without dragging), type a time, and press `Enter` to commit – or click away, which also commits. `Esc` cancels.

![The Scene Timeline with the playhead's blue time label open for editing, a new time typed in](/files/HGkAzSzaPzJfkQLYlvMc)

Three formats work:

* `MM:SS:FF` – minutes, seconds, frames (e.g. `00:05:12`)
* `MM:SS` – minutes and seconds (e.g. `01:30`)
* A raw number of seconds (e.g. `5`)

Two behaviors to know:

* **A selected keyframe moves with the seek.** If a keyframe is selected when you enter a time, the keyframe moves to that frame – unless that object already has a keyframe there, in which case it stays put. This is the fastest way to retime a key precisely: select it, type the destination, `Enter`.
* **The scene extends if needed.** Entering a time past the current scene duration extends the scene, up to 60 seconds beyond the current duration. Times further out than that are rejected.

Dragging still scrubs. A mousedown-and-drag on the label scrubs the timeline as before; only a clean click opens the input.

## Interpolation modes

Each keyframe carries an interpolation choice that controls the speed and shape of motion leaving it. Six modes:

* **Easing** (the default). The motion starts slow, runs at roughly constant speed through the middle, and slows into the end. What most people expect from "smooth" animation.
* **Smooth.** Takes the surrounding keyframe positions and fits a smooth curve through them. Use when you have several linear or mismatched keyframes and want the overall path to flow instead of kink at each one.
* **Linear.** Constant speed between this keyframe and the next. Use for mechanical motion or anything where the move should feel deliberate and uninflected.
* **Ease In.** Starts slow, accelerates toward the end.
* **Ease Out.** Starts fast, decelerates into the end.
* **Step.** No interpolation – the value holds, then jumps to the next keyframe. Use for hard state changes or stop-motion looks.

Interpolation is **per keyframe**, not per track. A single track can mix modes: easing out of frame 0, linear into frame 60, step at frame 90.

{% hint style="info" %}
**Mixing modes creates small bumps at transitions.** Crossing from linear into ease-out produces a slight velocity bump at that keyframe. If smooth motion across a mixed-mode track matters, use the Smooth mode at the transition keyframe.
{% endhint %}

**Keyframes inserted mid-segment are always Easing.** When you scrub to a point between two existing keyframes and move an object, the new keyframe is created with Easing interpolation regardless of what the surrounding keyframes use. Change its mode afterward if you want a different feel.

![Six primitives in one scene, each on its own track in the Scene Timeline with a different interpolation mode, animating together when the playhead runs: the stepped object jumps to its position while the eased objects glide in at different rates](/files/yP8pG2YDIdvVOMMvmqS9)

## Editing keyframes

Three operations on an existing keyframe:

* **Insert mid-segment.** Scrub the playhead between two existing keyframes and edit the object. A new keyframe lands at the playhead, splitting the segment in two. Each half gets its own interpolation choice. This is how you correct an in-between value without re-keying the start or end of the move.
* **Retime.** Drag a keyframe along its track to shift when its value lands. Surrounding segments stretch or compress to match. Use this to slow a specific beat down or rush past one without redoing the keyframes themselves.
* **Delete.** Select a keyframe and delete it. The motion reverts to whatever the surrounding keyframes describe. If the deleted keyframe was the only one on the track between frame 0 and the end, the object holds its frame-0 state for the rest of the shot.

### The start keyframe: open vs filled diamond

The diamond at the start of a track tells you where the object's start state comes from:

* An **open (empty) diamond** means the object is starting from its **Build-mode position**. You haven't keyed a start state in Compose; the object begins wherever Build placed it.
* The diamond **fills solid** the moment you change the object's position at the start time. That gives the object its own Compose start keyframe, which overrides the Build position for this shot. The Build position itself is unchanged.

To repoint the start without touching Build: create a keyframe elsewhere on the track, then drag it on top of the open start diamond. It overrides the start keyframe and becomes the new start state. The object's Build-mode position stays as it was, so the rest of the scene is unaffected.

## Pose animation for characters

Characters with rigs animate per-pose, not per-bone. The contextual menu on a character object exposes a **Pose** dropdown with dozens of preset poses; pick a pose at one keyframe, pick another pose at a later keyframe, the character interpolates between them.

Set a pose at frame 0 (e.g., "standing"), set another at a later frame (e.g., "running"), the character animates the transition.

## Parented animation

Parent–child relationships are honored during playback. A child follows its animated parent while keeping its own keyframed motion – the two compose. Animate a car, parent a driver into it, and the driver rides along; give the driver their own keyframes and that motion plays on top of the car's.

The cases that work:

* **Only the child is animated.** A bike rides down a static mountain. Parenting doesn't change the motion.
* **Only the parent is animated.** A car drives down a street with a driver inside. The driver follows for free – no keyframes needed on the child.
* **Both are animated.** A ship's wheel spins while the ship banks through a turn. The wheel's spin composes against the ship's motion.
* **Parent removed mid-project.** A skydiver parented to a plane jumps: clear the parent and the skydiver's own keyframes take over in world space.
* **Parent changed.** An arrow loosed from horseback sticks into a running deer: re-parent the arrow from the archer to the deer.

A child's keyframes are stored relative to its parent. Changing or clearing a parent recomputes the child's existing keyframes so its world-space motion is preserved. The parent relationship itself is not animatable – you can't keyframe a parent swap. To stage a handoff like the arrow example, change the parent and adjust the child's keyframes around the moment of transfer.

Set and clear parents with the [Parent tool](/build/working-with-objects#parenting) in Build mode.

## Camera-aim animation

When a camera has a target object (see [Aim Camera and Target](/compose/aim-camera-and-target)) and the target is animated, the camera follows automatically. No manual rotation keyframes needed. This is the cleanest way to do follow shots: animate the subject, let the camera track.

Using a camera aim target restricts certain camera moves. Because the camera must constantly point at the target, tilt and pan are no longer freely keyframeable – the target controls where the camera looks. You can still track (move laterally), boom (move vertically), and roll the camera on its axis. If you need to break away from the target mid-shot, remove the aim constraint first.

## Authoring crane moves, dolly arcs, and complex camera trajectories

Keyframe-based animation is the path. Place the camera at frame 0, scrub the playhead forward, place the camera at the next keyframe, repeat for as many waypoints as the trajectory needs. The smoothing default does the curve work between keyframes for most cinematic moves.

If a move needs a precise curve, key the position more densely – four or five keyframes across a two-second move usually carry the shape cleanly.

## How the three Compose-mode tabs relate

The Compose-mode bottom panel exposes three tabs:

* **Storyboard** – every shot in the project as a card grouped by scene. Author-time view. See [Storyboard view](/compose/storyboard-view).
* **Sequence** – the assembled cut, shots end to end as time-bound segments. Edit-time view. See [Timeline](/compose/timeline).
* **Scene Timeline** – per-object animation tracks within the active scene, the most granular view. Animation-authoring view.

Think of the three as viewing filters into the same time-based scene data. Storyboard groups by scene. Sequence orders by playback time. Scene Timeline drills into per-object keyframe tracks for the **one selected shot** – it shows only the currently active shot, not all shots at once. To see multiple shots in time order, use the Sequence tab. The same animation data underlies all three views; switching tabs only changes which dimension you're looking at.

## Common mistakes

{% hint style="warning" %}
**Don't author motion in Build mode and expect it to animate.** Build-mode transforms commit globally to the scene's permanent state. Only Compose-mode transforms (with a shot active) become keyframes. If your render came back static, this is the most likely cause.
{% endhint %}

* **Animating without keyframing the start state.** A keyframe at frame 30 with no keyframe at frame 0 means the start state is "whatever the scene was when you last touched it", not "at the start of this shot". Always set frame 0 first.
* **Moving permanent objects in Compose mode.** If you need to reposition a building, a backdrop, or any scene element that shouldn't animate, go back to Build mode to do it. Moving objects in Compose mode (with a shot active) creates keyframes – that building will now move during playback. Return to Build for any placement that should be static.
* **Cross-shot animation is continuous, not per-shot.** Because all animation lives on the scene timeline, a character walking at frame 10 keeps walking through frames that fall under any shot covering that range. You don't need to re-set up the same motion in each shot. To review how motion reads across a cut, use the Sequence tab – the Scene Timeline only shows one shot at a time.

## Limits and known issues

* **The default shot duration may not match your edit duration.** The default shot duration is approximately two seconds; the scene timeline defaults to five seconds. To extend a shot, open the **Scene Timeline** tab (not the Sequence tab) and drag the right edge of the shot's segment.

## Where your animation lands in Visualize

The keyframes you set in Compose feed directly into video generation. Two paths to know about:

* **Default video modes.** The visualizer reads the per-frame state of the scene and passes it through to the chosen video model. Most models honor the motion within their own interpretation. See [Generate video](/visualize/generate-video).
* [**Video (from scene)**](/visualize/video-from-animation)**.** A dedicated visualizer mode that uses your keyframes as the explicit motion source. It offers motion-guided AI model options plus [Direct Render](/visualize/direct-render) (non-AI wireframe capture); see [Video (from scene)](/visualize/video-from-animation) for the current options. Reach for this when motion fidelity to your blocking matters more than the model's interpretation.

## Related

* [Animation and shot time](/overview/concepts/animation-and-shot-time)
* [Shots](/compose/shots)
* [Aim Camera and Target](/compose/aim-camera-and-target)
* [Timeline](/compose/timeline)
* [Storyboard view](/compose/storyboard-view)
* [Video (from scene)](/visualize/video-from-animation) – how your keyframes drive video gen.
* [Direct Render](/visualize/direct-render) – capture the animated scene as wireframe video, no AI.


# Timeline

Cut the animatic. The Sequence Timeline lays your shots end to end as an edit – set durations, reorder, scrub the assembled cut.

Keyframes live on the scene timeline – one per scene. The Scene Timeline tab drills into per-object keyframe tracks for the active shot (its time window into the scene timeline). The Sequence Timeline is the level above: it lays out every shot end-to-end as an edit, in the order you'll deliver. Scrub through to play the assembled cut.

![Scene Timeline tab active at the bottom of Compose mode, showing per-object animation tracks for the active scene with shot rows and time-based keyframe layout](/files/KaROm87eyhGhTaK18TKr)

## What it does

Composing individual shots is half the work. Putting them into an edit – this shot first, that one second, this one cut to length – is the other half. The Sequence Timeline gives you a project-wide view of all your shots as a single horizontal strip, with their durations and ordering manipulable directly.

## How to access it

The Compose-mode bottom panel has three tabs:

* **Storyboard** – default. Shots laid out as cards in their authored order, each card showing the shot's key frame. See [Storyboard view](/compose/storyboard-view).
* **Sequence** – the assembled-cut view. Shots laid out as time-bound segments along a horizontal axis, with each segment's duration to scale.
* **Scene Timeline** – the per-scene track view. Rows for each animated object in the active scene, with keyframes laid out along time. See [Animation](/compose/animation) for what gets a track.

Click **Sequence** to switch to the assembled-cut view documented on this page.

## How to use it

Make sure the **Sequence** tab is active in the Compose-mode bottom panel (see above). The horizontal axis represents time; each shot occupies a segment of that axis sized to its duration. Shots play back-to-back with no gaps. Drag, resize, reorder.

1. **Reorder shots.** Drag a shot segment along the axis to move it earlier or later in the sequence.
2. **Resize shots.** Drag the right edge of a shot segment to extend or shorten its duration. The shot's time window into the scene timeline scales with the duration – an animation extended to twice its length plays at half speed unless you also move the keyframes.
3. **Scrub the playhead.** Drag the vertical playhead line. The viewport plays back the assembled sequence – cutting between shots' camera and animation states as the playhead crosses each segment.

## Sequence scope

A sequence is scoped to a single scene. Shots in the Sequence tab come from the active scene and play back-to-back. Cross-scene playback – stitching scenes together for a multi-location cut – happens in [Publish mode](/publish/publish-tab), not in the Sequence Timeline.

## Where the sequence is used

* **Presentation mode** plays the sequence end-to-end as a fullscreen presentation. See [Presentation mode](/publish/presentation-mode).
* **Export Video** renders the sequence as a single output file. See [Export video](/publish/export-video).
* **Scene to video** bundles all shots from a single scene into a single video output, respecting their order in the sequence. See [Scene to video](/publish/scene-to-video).

## Common mistakes

* **Resizing a shot without scaling its animation.** Extending a shot's duration doesn't automatically stretch the animation; the keyframes stay at their original positions on the scene timeline. The result is the animation completing in its original window and the camera holding for the rest. To scale animation, adjust keyframe positions in the Scene Timeline tab.
* **Sequencing without naming.** A timeline of "shot-1" through "shot-12" is unmanageable past five shots. Name shots descriptively in [Shot details](/compose/shot-details) before you sequence.

## Limits and known issues

* **No loop region.** There's no gesture for setting a loop region in the Sequence tab. Scrub manually to repeat-watch a section.
* **No cross-shot transitions.** All shot-to-shot junctions render as hard cuts. No dissolve, cross-fade, or wipe options are exposed. Transitions are downstream editorial work.
* **No audio mixing in the sequence.** Audio is not mixed at the per-shot or sequence level. Audio assembly is downstream work.

## Related

* [Shots](/compose/shots)
* [Storyboard view](/compose/storyboard-view)
* [Animation](/compose/animation)
* [Presentation mode](/publish/presentation-mode)
* [Export video](/publish/export-video)


# Storyboard view

Build an AI storyboard inside your project. Every shot in the project laid out as a card, grouped by scene, ready to reorder before you cut.

The Compose-mode bottom panel's default view. Every shot in the project rendered as a card – thumbnail, name, duration. Shots group by scene; scenes collapse to keep the layout scannable on big projects.

![Compose mode with the Storyboard tab active at the bottom, showing scene-grouped shot thumbnails](/files/mdbtPS3vrvqDkcIgzolF)

## What it does

The storyboard answers a different question than the [Sequence Timeline](/compose/timeline). The timeline tells you "what plays in what order over time"; the storyboard tells you "what shots exist in this project, grouped by where they live". For early-stage layout, the storyboard is the right view – you're not yet thinking about the cut, you're thinking about coverage.

## How to use it

Each shot card shows:

* **Thumbnail** – the framing visible in the shot's camera.
* **Name** – set in [Shot details](/compose/shot-details).
* **Duration** – how long the shot runs in the sequence.
* **Ellipsis (⋯) menu** – duplicate, delete, edit details.

Scenes group their shots together with a header showing the scene name and shot count. Click the header to collapse the scene; useful when a project has many scenes and you want to focus on one.

### Reordering

Drag a shot card to reorder within its scene group.

### Adding a shot

Add a shot via the camera **+** icon below the viewport (see [Shots](/compose/shots)). The new shot snapshots the current viewport framing and joins the active scene.

### Deleting a shot

Click a card's ellipsis (⋯) menu → **Delete**. Confirms before removing. A deleted shot can be recovered with `Cmd+Z` immediately, but not after the next significant action.

## Storyboard vs Sequence

```mermaid
flowchart LR
    A[Storyboard view] -->|shows| B[Every shot, grouped by scene]
    A -->|optimized for| C[Coverage and layout]
    D[Sequence Timeline] -->|shows| E[Shots laid out in time]
    D -->|optimized for| F[The cut]
```

The two views show the same shots but optimize for different work. Use the storyboard when you're authoring shots; use the sequence when you're cutting.

## When to reach for it

* **Early in a project**, when you're figuring out what shots you need.
* **When deleting or reorganizing shots** – the card layout makes accidental deletes less likely than the timeline's compact strip.
* **When sharing a project with someone** for review – the storyboard reads more naturally than the timeline at first glance.
* **When working on coverage**, where each shot is a distinct moment and you're checking that you've got all the angles.

## Common mistakes

* **Treating it as the cut.** The storyboard shows shots in their authored order, not their sequence order. Use the [Sequence Timeline](/compose/timeline) for what plays first.
* **Reordering when you mean re-sequencing.** Dragging a card in the storyboard moves it within its scene's authoring order; dragging in the timeline changes the playback order. Make sure you're in the right view for what you mean to change.

## Limits and known issues

* **No multi-select reordering.** Drag one shot card at a time.
* **Scene-collapse state is per-session.** When you collapse a scene group, the collapsed state doesn't persist across project reloads. Reopen the project and every scene shows expanded again.

## Related

* [Shots](/compose/shots)
* [Timeline](/compose/timeline)
* [Shot details](/compose/shot-details)
* [Projects and scenes](/overview/concepts/projects-and-scenes)


# Visualize mode

Visualize mode – pick a model, edit the auto-prompt if you want, generate.

Visualize mode is post. Pick a model, edit the auto-prompt if you want to, generate. Image edits, first-and-last-frame video interpolation, and the style and lighting presets all live here.

## Generating

* [Auto-prompt](/visualize/auto-prompt): how the prompt is built from your scene.
* [Scene context](/visualize/scene-context): the Scene / Style / Lighting panel split.
* [Generate image](/visualize/generate-image): pick a model, set resolution, render.
* [Generate video](/visualize/generate-video): switch to video, choose a model, audio toggle.

## Editing what you got

* [Edit images](/visualize/edit-images): the pencil-tool fix-it-in-Photoshop alternative.
* [First-and-last frame](/visualize/first-and-last-frame): two-image video interpolation.

## Making it look right

* [Style presets](/visualize/style-presets): the named preloaded looks plus the option to upload your own image and create a style.
* [Lighting presets](/visualize/lighting-presets): the named lighting library in the in-product picker.
* [Custom styles](/visualize/custom-styles): bring your own style preset.
* [Resolution and cost](/visualize/resolution-and-cost): 1K vs 2K, when to spend the credits.
* [Managing outputs](/visualize/managing-outputs): download, favorite, delete.

## Models

* [Image and video models](/visualize/ai-models): the currently-supported model picker, with one-line guidance on when to reach for each.


# Auto-prompt

How the visualizer assembles the prompt from your 3D scene, camera, and named details.

The visualizer builds the prompt from your 3D scene, your camera, and the named details on your objects. You don't have to write a long string of adjectives – the scene already knows what's in it.

![Visualizer Scene tab with the auto-generated prompt grouped under bracketed headings: \[Scene Context\], \[Environment & Props\], \[Subjects\], \[Lighting\]](/files/BlQQ15pRtnoVcV66Hiyx)

## What it does

The default workflow most diffusion tools push you into is: write a paragraph describing your scene, hit generate, see what comes out, edit the paragraph. Intangible flips that. The 3D scene is the spatial truth; the prompt is generated from it. You read the auto-prompt to confirm the model sees what you intended, edit only the parts that are wrong, then generate.

The prompt is structured into three blocks:

* **\[Scene Context]**: the framing – what kind of shot, what mood, what location.
* **\[Environment & Props]**: the physical setting and secondary objects.
* **\[Subjects]**: the hero objects – the car, the character, the product.

Each block draws from a different source. Editing the right source upstream is faster than editing the prompt every iteration.

## How to use it

The auto-prompt lives in the **Scene** tab of the right-hand Visualizer panel.

1. **Open Visualize mode** with a shot active. The auto-prompt appears, populated from the scene and the active shot's camera.
2. **Read the three blocks.** Confirm the model is reading the scene correctly. If a hero object isn't in the \[Subjects] block, the model isn't going to render it well – go fix the source.
3. **Edit a block in place.** Click any block's text and edit directly. Manual edits stick on the next generate.
4. **Regenerate the prompt.** Click **Generate prompt** to rebuild from the current scene state. Useful after you've made Build-mode or Compose-mode changes – the auto-prompt won't update on its own.
5. **Generate.** Pick a model and click **Generate Image** (or switch to video). The prompt the model receives is the assembled three-block string.

### Where each block comes from

* **\[Scene Context]** is built from the active scene's name and description, the active shot's name and description, the camera lens, and the aspect ratio. Editing a shot's name or description (in [Shot details](/compose/shot-details)) is the cleanest way to influence this block.
* **\[Environment & Props]** is built from populator labels and the names of secondary objects in the scene. Renaming a populator from "populator-1" to "tropical forest" changes this block immediately. Build-mode environment lighting (sun, time, fog) isn't read into the prompt; the one environment input that reaches the render is ground color, which the vision model reads as a material. See [Environment](/build/environment).
* **\[Subjects]** is built from the named hero objects, their descriptions, and any image references attached to them. This block is where attaching an image reference has the strongest effect on the rendered output.

## Details

| Block                  | Source                                            | Best way to influence                   |
| ---------------------- | ------------------------------------------------- | --------------------------------------- |
| \[Scene Context]       | Scene + shot names, lens, aspect ratio            | Rename the shot; change lens            |
| \[Environment & Props] | Populator labels, secondary object names          | Rename populators                       |
| \[Subjects]            | Hero object names, descriptions, image references | Attach image references to hero objects |

## Limits and known issues

* **The auto-prompt doesn't refresh automatically.** Build-mode changes don't trigger regeneration. Click **Generate prompt** when you've made meaningful scene changes.
* **Manual edits get overwritten on regeneration.** If you've edited a block in place and then click **Generate prompt**, your edits are lost. Keep them, or rebuild from upstream.
* **Long object descriptions get truncated.** The visualizer trims very long descriptions before they reach the model. Keep object descriptions to a sentence or two.

## Further viewing

Phil walks through this concept in depth at the 2026 Production Summit (32 minutes).

{% embed url="<https://www.youtube.com/watch?v=Y3CoibxA_ag>" %}

## Related

* [Scene context](/visualize/scene-context)
* [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks)
* [Image reference](/overview/concepts/image-reference)
* [Generate image](/visualize/generate-image)
* [Generate video](/visualize/generate-video)


# Scene context

How the visualizer's right panel splits the prompt into Scene, Style, and Lighting tabs, and what each one feeds into the model.

The Visualizer panel has three tabs: **Scene**, **Style**, **Lighting**. Each tab feeds a different part of the prompt the model receives. Understanding which tab to edit when is the difference between iterating cleanly and iterating chaotically.

![Visualize mode with a finished render of a yellow Lamborghini on a wet Manhattan street at night. The right Visualizer panel shows the Scene tab active with the auto-generated prompt block describing the scene](/files/hM1HlspfmwRKC488I3Kh)

## What it does

A monolithic prompt makes it hard to know what to change when something is wrong. The three-tab split splits the prompt into compositional facts (Scene), surface treatment (Style), and atmosphere (Lighting). When a render is wrong compositionally, you fix Scene; when it's right compositionally but the surface treatment is off, you fix Style; when the mood is wrong, you fix Lighting.

## What goes in the Scene tab vs the Style tab vs the Lighting tab?

### Scene tab

Built from the 3D scene plus the active shot. Three sections inside:

* **\[Scene Context]** – the framing. What kind of shot it is, what mood, what location. Reads from the scene name, the shot name and description, the lens, the aspect ratio.
* **\[Environment & Props]** – the physical setting and the secondary objects. Reads from populator labels and the names of non-hero objects in the scene. Build environment lighting (sun, fog) isn't read here; ground color is the one environment input that reaches the render, via the vision model.
* **\[Subjects]** – the hero objects. Reads from named hero objects, their descriptions, and any image references attached.

Each section is editable in place. Click into any block, type. The visualizer uses your edited version on the next render.

### Style tab

Surface treatment. The look and rendering style applied to the same composition. Built from a chosen [style preset](/visualize/style-presets), or empty (default photoreal) if no preset is attached.

The Style tab's text is generally what you'd find in a cinematographer's grade-and-finish notes: *"cinematic, golden hour, slight halation, cool shadows, warm highlights"*. Editing this block changes the surface without touching the composition.

### Lighting tab

Atmosphere. Time of day, weather, mood. Built from a chosen [lighting preset](/visualize/lighting-presets) or from a manual edit.

A lighting block reads as the cinematographer's lighting brief: *"stormy coastal tempest, low sun breaking through cloud, sea spray catching the light"*. Editing this block changes the mood independent of either composition or surface.

## How the three tabs combine

```mermaid
flowchart LR
    A[Scene tab] --> D[Final prompt]
    B[Style tab] --> D
    C[Lighting tab] --> D
    D --> E[Diffusion model]
    E --> F[Rendered output]
```

The visualizer assembles all three tabs into a single prompt at generate time. The model receives the assembled prompt plus the spatial inputs (3D scene geometry, camera, image references). Editing one tab doesn't disturb the others.

{% hint style="info" %}
The biggest mistake new users make is editing the Scene tab to fix a style problem, or vice versa. If the car is in the wrong place, that's Scene (or upstream in Compose). If the car is in the right place but the rendering looks "too clean", that's Style.
{% endhint %}

## When to edit which

| Render problem                  | Edit                                                                                                                        |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| Composition is wrong            | Build mode (move objects) or Compose mode (move camera). Don't edit Scene tab.                                              |
| Subject is generic              | Add an image reference to the object (Build mode), then regenerate the prompt                                               |
| Mood is too bright              | Lighting tab (or pick a darker [lighting preset](/visualize/lighting-presets))                                              |
| Surface looks "too AI-rendered" | Style tab (try a different [style preset](/visualize/style-presets))                                                        |
| Render is dark or muddy         | Lighting tab; pick a brighter [lighting preset](/visualize/lighting-presets). Build fog lights the viewport, not the render |

## Regenerating the prompt

Click **Generate prompt** at the top of the Scene tab to rebuild from the current scene and shot state. Useful after Build-mode or Compose-mode changes – the auto-prompt doesn't refresh automatically.

Manual edits to any block get overwritten when you regenerate. If you've made an edit you want to preserve, copy it before clicking Generate prompt.

## Limits

* **Three tabs is the working set.** Custom prompt blocks aren't supported today.

## Further viewing

Phil walks through this concept in depth at the 2026 Production Summit (32 minutes).

{% embed url="<https://www.youtube.com/watch?v=Y3CoibxA_ag>" %}

## Related

* [Auto-prompt](/visualize/auto-prompt)
* [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks)
* [Style presets](/visualize/style-presets)
* [Lighting presets](/visualize/lighting-presets)
* [Custom styles](/visualize/custom-styles)


# Generate image

Generate an AI image from your composed shot. Pick a model, set resolution, render. Plus how to read the auto-prompt before committing.

The core image-generation flow. Pick an image model from the dropdown, set 1K or 2K resolution, click **Generate Image**. The result lands in the gallery to the right of the viewport.

## Watch

{% embed url="<https://www.youtube.com/watch?v=gC8yn3Zyedo>" %}

![Visualize mode in image mode with a rendered Lamborghini on a wet Manhattan street, the Visualizer panel on the right showing Image / Nano Banana Pro selected and the Scene tab populated with the auto-prompt](/files/hM1HlspfmwRKC488I3Kh)

## What it does

Reads the 3D scene plus the active shot's camera, assembles the prompt across the Scene / Style / Lighting tabs, picks the chosen image model, and generates. The output is one image per click; iterating is just clicking again.

## How to use it

1. **Switch to image mode.** The top of the visualizer panel has a Image / Video toggle. Image is the default.
2. **Pick a model.** The model dropdown lists the currently-supported image models. Pick one. See [Models](/visualize/ai-models) for guidance on when to reach for which.
3. **Read the auto-prompt.** Scan the Scene tab. Confirm the \[Subjects] block mentions your hero objects. If a hero is missing, fix upstream in Build mode (rename the object, attach an image reference) before regenerating.
4. **Pick resolution.** 1K for iteration, 2K for final. The resolution toggle sits near the bottom of the Visualize panel, just above the Generate button.
5. **Pick style and lighting.** Optional but high-value. Click the Style tab, pick a [preset](/visualize/style-presets). Click the Lighting tab, pick a [preset](/visualize/lighting-presets). Skip if photoreal-default is what you want.
6. **Click Generate Image.** The job runs. The result lands in the gallery to the right of the viewport with a thumbnail and a heart icon for favoriting.

## Reading what came back

A render lands in the gallery in a few seconds to a minute, depending on model and resolution. Hover the result for actions:

* **Favorite (heart)** – marks the render. Favorites are easier to find later in [Managing outputs](/visualize/managing-outputs).
* **Download** – saves a full-resolution copy.
* **Edit (pencil)** – opens [Edit images](/visualize/edit-images) for in-place corrections.
* **Delete** – removes from the gallery, with a confirmation prompt.

To use a render as the start frame of a video, select it in the gallery, then switch the visualizer dropdown from Image to Video. The selected render auto-populates as the first frame for video generation. See [First and last frame](/visualize/first-and-last-frame).

## When the render is wrong

A few common patterns:

* **Wrong subject.** The hero isn't what you wanted. Fix upstream: image reference on the object in Build mode. Don't re-prompt.
* **Wrong composition.** The framing is off. Fix in Compose mode: move the camera, change the lens.
* **Wrong style.** The image is too clean, too dark, too painted. Try a different [style preset](/visualize/style-presets).
* **Wrong mood.** The lighting feels off for the scene. Try a different [lighting preset](/visualize/lighting-presets).
* **Stubborn extra object.** Something keeps appearing that you don't want (the famous extra cop car). Edit the render directly via [Edit images](/visualize/edit-images) or download and edit externally, then re-upload as a start frame for video. See [First and last frame](/visualize/first-and-last-frame).

{% hint style="info" %}
Resolution choice matters more than people expect. 1K iterations are cheap; use them aggressively. Commit to 2K only when the composition is right. A 2K image render is roughly 2x the cost of a 1K render on the same model; the exact ratio varies by model provider.
{% endhint %}

## Limits and known issues

* **Generation can take time on busy capacity.** Most renders return within a minute. If a job sits beyond that, the model provider's queue may be slow; try a different model.
* **Model availability varies.** Some models are gated to higher tiers or come and go as providers update their APIs. Check the model dropdown for the current set.
* **Output gallery has finite history.** Past a few hundred renders, older results may not be retrievable from the gallery. Download anything you want to keep.

## Related

* [Auto-prompt](/visualize/auto-prompt)
* [Scene context](/visualize/scene-context)
* [Style presets](/visualize/style-presets)
* [Lighting presets](/visualize/lighting-presets)
* [Edit images](/visualize/edit-images)
* [First and last frame](/visualize/first-and-last-frame)
* [Models](/visualize/ai-models)
* [Resolution and cost](/visualize/resolution-and-cost)
* [Managing outputs](/visualize/managing-outputs)


# Generate video

Generate an AI video from your composed shot. Pick a mode, pick a model, set duration, optionally enable audio, render. Plus how to choose between the Veo, Kling, Luma, Runway, and ByteDance options.

The core video-generation flow. Pick a video mode from the visualizer's mode dropdown, pick a model, write or adjust the prompt, click **Generate Video** (or **Capture Animation** in Video (from scene)). The result lands in the gallery and plays back inside the visualizer with full transport controls – play, pause, and a scrubber. Scrub to check a specific beat (how a cut lands, whether the model held your camera move at the midpoint) without exporting or watching the whole clip through.

![A generated video mid-playback in the visualizer: the scrubber bar under the frame, pause control, and the elapsed / total time readout](/files/BWjkidDSXOOis3btUN9S)

## Watch

{% embed url="<https://www.youtube.com/watch?v=gC8yn3Zyedo>" %}

![Visualize mode in video mode, Kling 2.5 Turbo model selected, prompt panel and Generate Video button on the right, an authored soccer-stadium scene in the viewport](/files/BbJB8S4Gt3Yzvv5rVJBv)

## What it does

Reads the 3D scene plus the active shot's camera, assembles the prompt, picks the chosen video model, and generates a clip. Duration is set by the Duration option and is capped by the chosen model. Some models support up to the shot's full length; others cap below it. Animated subjects and animated cameras are honored if the shot has them; static shots produce subtle camera motion baked in by the model.

The model dropdown lists the current working set of video models from multiple providers. See [Models](/visualize/ai-models) for the full list and guidance on when to reach for each.

## The four visualizer modes

The **Generate** menu at the top of the visualizer panel picks what the panel produces. One still mode, three video modes, and the choice is really about *what drives the motion*.

![Visualizer mode dropdown open showing the Image and Video output types](/files/TcBTHfAwbzJyr0ype74P)

* **Image.** Still image generation from the scene plus prompt. Covered in [Generate image](/visualize/generate-image).
* **Video (from keyframes).** You supply the anchor frames and the description; the model invents the motion between them. Listed in the Generate menu as **From Keyframes**, "using description and references". Set a **Start frame** alone to let the prompt drive the motion, or a Start and an **End frame** to pin both ends and have the model interpolate. Covered in [First and last frame](/visualize/first-and-last-frame).
* **Video (from scene).** Your authored animation drives the motion, and the model renders against it rather than inventing its own. Listed as **From scene animation**. Direct Render is the no-AI option here, capturing the viewport exactly. Covered in [Video (from scene)](/visualize/video-from-animation).
* **Video (modify).** Starts from an existing clip rather than the scene: select a source video, or upload one, and restyle or extend it. Listed as **Modify or edit video**, "edit existing or upload video". This is the video-to-video path.

Inside a video mode, two tabs split the inputs:

* **Keyframes** holds the Start frame and End frame slots, and the source video on **Video (modify)**.
* **Elements** holds the reference images you name in the prompt. See [Naming reference images in the prompt](#naming-reference-images-in-the-prompt).

The model picker is scoped to the active mode and grouped by provider, so pick the mode that matches the job first and the dropdown narrows to the models that support it.

{% hint style="info" %}
If a shot has no animation on it, **Video (from scene)** tells you before you spend anything: *"No shot animation detected. This shot doesn't appear to animate, so the output will likely be the same image for 2 seconds."* That is the signal to go back to Compose and key something, or to switch to **Video (from keyframes)** and let the prompt carry the motion instead.
{% endhint %}

## How to use it

1. **Set the mode.** Open the **Generate** menu, hover **Video**, and pick **From Keyframes** for the default flow, **From scene animation** to let your authored animation drive it, or **Modify or edit video** to work from an existing clip.
2. **Pick a video model.** Different strengths per model; see the table below for a starting heuristic.
3. **Populate the inputs the mode requires.** On the Keyframes tab: a Start frame for Video (from keyframes), optionally an End frame too, or a source video for Video (modify). Video (from scene) needs nothing extra, because the scene's own animation is the input.
4. **Set the three video options:** Duration (e.g. 4 seconds), Orientation (Landscape or Portrait), and Audio (No audio, or Audio enabled). The available options depend on the chosen model.
5. **Read the auto-prompt.** Same Scene / Style / Lighting tabs as image generation. Confirm the prompt reads right before committing. For audio-capable models, include the sounds and dialog you want in the prompt (see below).
6. **Click Generate Video** (or **Capture Animation** in Video (from scene)). Generation takes longer than image – often several minutes for complex shots. The job runs in the background; you can keep working in other parts of the project. A toast notifies when the result lands.

![Visualize mode in video mode with Veo 3.1 selected, Start Frame and End Frame slots visible, plus three dropdowns - 4 seconds (Duration), Landscape (Orientation), No audio (Audio) - above the Generate Video button](/files/MfQ2sHOHUdj3Bqjo9xzd)

## Choosing a video model

Quick heuristics. See [Models](/visualize/ai-models) for the full table.

| If the shot is...                                     | Try                                                                    |
| ----------------------------------------------------- | ---------------------------------------------------------------------- |
| Action-heavy with fast camera moves                   | Kling 2.6 Pro or Kling 3 Pro                                           |
| A long, slow, atmospheric move                        | Veo 3.1                                                                |
| Faster generation at lower fidelity                   | Veo 3.1 Fast or Kling 2.5 Turbo                                        |
| Honoring detailed 3D structure (like animated meshes) | Luma Ray 3.14                                                          |
| First-and-last frame interpolation                    | Veo 3.1, Kling 2.6 Pro or later, Seedance 2.0, or Omni Flash           |
| A shot that has to follow specific reference imagery  | Omni Flash, Kling o3 Pro, or Seedance 2.0                              |
| 4K output                                             | Kling 3 (4K) or Luma Ray 3.14                                          |
| Quick experimentation across many variants            | Kling 2.5 Turbo                                                        |
| Brand or product hero with strict consistency         | Match the image model that worked, then pick its closest video sibling |

## Authoring audio with the prompt

A subset of the video models generate audio along with the video. Veo 3.1 supports it natively. Kling 2.6 Pro and later expose an optional audio track. Other models are video-only; the Audio toggle on the panel is disabled when an audio-incapable model is selected.

When you enable audio on a supporting model, the prompt drives both the video and the audio. Describe the sounds you want in the same prompt:

* **Dialog.** Write the lines a character speaks. Models that generate dialog will lip-sync to it within their tolerance.
* **Sound effects.** Name the SFX you want and where they happen in the scene, prose-style: "the squeak of shopping carts, low conversation, a distant intercom announcement."
* **Music or ambience.** Describe the mood or genre: "low cinematic strings under the dialog", "wind moving through dry grass."

There's no separate audio prompt field. Whatever you write in the main prompt is what the model uses for both.

## Naming reference images in the prompt

A video prompt can carry reference images from your media library and address them by name. Attach the images, then write them into the prompt as `@image1`, `@image2`, and so on, so the model knows which reference is which rather than blending them all into one impression.

![The Add reference image picker, showing the slot it is filling and the My Media and Team Media tabs](/files/b91LE1nzxJpwXktlWWTt)

1. **Open the reference-image picker** from the **Elements** tab. The dialog names the slot it is filling, so the header reads *Select or upload one image for `@image1`*, and it offers your own **My Media** alongside **Team Media**.
2. **Toggle the images you want.** The selection is staged: toggling only edits a local draft, and nothing joins the generation until you press **Confirm**. Cancelling or closing the modal discards the draft.
3. **Read the strip.** The attached references appear as a horizontal strip on the Media tab, each tile labelled with its token.
4. **Write the tokens into the prompt.** "The livery on `@image1` applied to the aircraft, lit like `@image2`."

How many references a model accepts varies:

| Model        | Reference images |
| ------------ | ---------------- |
| Omni Flash   | Up to 8          |
| Kling o3 Pro | Up to 8          |
| Seedance 2.0 | Up to 7          |

If an image is deleted from the media library after you attached it, its slot stays in the strip as an empty placeholder so the remaining labels keep their numbers. Renumbering mid-prompt would silently point your prompt at the wrong reference.

{% hint style="info" %}
Video models honor references less tightly than image models do. A reference here steers the shot; it doesn't lock it the way [image reference](/overview/concepts/image-reference) locks an object in Build. For strict brand or character fidelity, establish the look in a still first, then use that still as the start frame.
{% endhint %}

![Video model dropdown with audio-capable models grouped by provider, including Veo 3.1 with audio support and Kling 2.6 Pro with optional generated audio](/files/WeJavIrV00blPFCpa105)

Cost note: audio adds materially to the per-clip cost on the models that support it. Run audio-off iterations to lock the visual, then add audio on the final pass.

## Animation feeds the model

```mermaid
flowchart LR
    A[Compose-mode shot animation] --> B[Camera moves over time]
    A --> C[Object animates over time]
    B --> D[Visualizer]
    C --> D
    D --> E[Video model]
    E --> F[Rendered video that honors the motion]
```

If your shot has authored camera animation (keyframes) or animated subjects, the visualizer feeds the per-frame state to the video model. The result tracks the motion you authored. Static shots produce subtle motion baked in by the model itself; if you want specific camera action, author it in Compose mode first.

Use [Video (from scene)](/visualize/video-from-animation) when your authored keyframes need to drive the motion. Use [Direct Render](/visualize/direct-render) when you want a wireframe preview of the scene with no AI involved.

{% hint style="info" %}
Video at 2K with audio is the most expensive single action in the product. Run 1K previews first to confirm composition; commit to 2K only when the shot is locked.
{% endhint %}

## When the video is wrong

* **The motion isn't what you authored.** The video model is reinterpreting your animation. Try a different model: Luma Ray 3.14 honors authored 3D motion most strictly; some Kling variants take more liberties.
* **The subject drifts across frames.** Image reference on the hero object helps, but video models honor references less tightly than image models. Multi-view references and consistent object names help most.
* **The render is too long or too short.** Adjust the shot's duration in [Shot details](/compose/shot-details). The video duration matches the shot.
* **People come back frozen.** Characters you don't describe as moving stay frozen in place. Prompt the motion explicitly – "people walking through the lobby", not just "people in the lobby".

## Limits and known issues

* **Video-to-video isn't supported.** A rendered video can't be fed back into the visualizer as a motion reference.
* **Scrubbing is for review.** Pausing mid-clip and hitting Generate doesn't generate from that frame – the scrubber position has no effect on what gets generated next.
* **Audio doesn't sync to specific moments.** The audio track is generated holistically; you can't specify "audio cue at frame 30". For precise sync, generate without audio and add the audio in your editing tool.
* **Orientation options depend on the model.** Most video models default to landscape; Veo exposes landscape and portrait. Other models may offer only one. The Orientation dropdown reflects what the active model supports.

## Related

* [Generate image](/visualize/generate-image)
* [First and last frame](/visualize/first-and-last-frame) – the Video (from keyframes) mode in detail.
* [Video (from scene)](/visualize/video-from-animation) – use your authored keyframes to drive the motion.
* [Direct Render](/visualize/direct-render) – render the scene as wireframe video with no AI.
* [Models](/visualize/ai-models)
* [Animation](/compose/animation)
* [Resolution and cost](/visualize/resolution-and-cost)
* [Managing outputs](/visualize/managing-outputs)


# Edit images

The pencil-tool fix-it-in-place workflow. Recolor, remove, or modify specific parts of a generated image without regenerating from scratch.

A render came back almost right. The composition is good, the subject is right, but one element is off – a stubborn extra cop car, a sign that should be a different color, a character whose shirt should be red instead of blue. The pencil tool on a generated image lets you describe the change in plain language and the model edits the image in place.

## Watch

{% embed url="<https://www.youtube.com/watch?v=01Q3rSDuxC0>" %}

![Edit Image modal open over Visualize mode with a side-by-side before/after view - the original render on the left and the edited version on the right (a second car added to the scene), an Edit Instructions field below, plus a model picker and Cancel and Generate actions](/files/lGoeOvAWH2mJhMyPs1rt)

![Edit Image model picker dropdown open showing two provider sections - Black Forest Labs (Flux Pro Kontext) and Google (Nano Banana Pro selected, Nano Banana 2)](/files/FjYGYewc47DLfhekqf6m)

## What it does

Diffusion models can edit images they generated, given a textual instruction and the original image as the spatial truth. The pencil tool exposes that flow: describe what should change, the model applies the edit and returns a new version of the image with that change applied. The rest of the image is preserved as much as the model can manage.

## How to use it

1. **Pick the rendered image** in the gallery to the right of the viewport. The image opens in a larger view.
2. **Click the pencil icon.** The Edit Image modal opens with a before / after preview, an Edit Instructions field, and a model picker.
3. **Type the change.** Plain language. *"Make the car lime green."* *"Remove the trash can from the sidewalk."* *"Add a streetlight on the left."* There's no resolution control inside the modal – the edit runs against the source image based on your prompt.
4. **Click Generate.** The job runs; the edited image lands as a new version in the gallery.
5. **Iterate.** If the edit isn't quite right, click the pencil on the edited version and describe the next change.

## What works well

* **Color swaps.** *"Make the car blue."* The model is good at recoloring specific objects.
* **Object removal.** *"Remove the trash can."* The model fills the space behind with plausible content.
* **Object addition.** *"Add a flag on the building."* The model places the object plausibly.
* **Surface treatment changes.** *"Make the floor wet."* The model adds reflections and atmosphere.
* **Lighting adjustments.** *"Add warm light from the right."* Limited but workable.

## What works less well

* **Replacing a subject with a specific other subject.** *"Change the car to a Lamborghini Revuelto"* often produces a generic Lamborghini. For specific brand replacements, regenerate from the 3D scene with the right asset and image reference.
* **Major composition changes.** *"Move the character to the left of the frame"* doesn't work cleanly. Composition lives upstream in the 3D scene.
* **Multi-object orchestration.** *"Make the cars red and the trees green and the sky stormy"* tends to confuse the model. Do edits one at a time.

{% hint style="info" %}
The image-edit flow is fast iteration on small problems. For large problems, regenerate from the 3D scene. The dividing line: if the change you want is something a colorist would do in post, edit-in-place; if a director or DP would do it, fix upstream.
{% endhint %}

## Specific reference language

Help the model find the thing you want to change:

* *"Remove the trash can from the sidewalk"* beats *"remove the trash can"* if there are multiple trash cans in the image.
* *"Make the closest car red"* beats *"make the car red"* when there are multiple cars.
* *"Make the dashboard glow blue"* beats *"add blue light"* for specific surface lighting.

The model honors specific reference language better than vague language. If you'd describe the change to a colorist, describe it to the model the same way.

## Limits and known issues

* **Edits are not undoable into the original.** Each edit produces a new version in the gallery. The original is preserved alongside; you can return to it whenever.
* **Edit cost is per attempt.** A failed or unusable edit still costs credits.
* **Edit support is per-model.** All current image models support in-place editing. The pencil icon dims if the active model doesn't, which is the cue to switch models before retrying.
* **Quality drops on heavy iteration.** Editing an edited edited image five generations deep produces compound artifacts. After a few iterations, return to the source and start fresh.

## Related

* [Generate image](/visualize/generate-image)
* [First and last frame](/visualize/first-and-last-frame): for "fix in Photoshop, regenerate as start frame"-style edits.
* [Custom styles](/visualize/custom-styles)
* [Managing outputs](/visualize/managing-outputs)


# First and last frame

Two-image video interpolation – supply a start frame and an end frame, the video model fills in the motion between them.

Hand the video model two images: where the shot starts and where it ends. The model interpolates the motion between them. The right tool when you have the start and end framings nailed but want the model to figure out the in-betweens, or when you've fixed a render in Photoshop and need to use it as the start of a video.

## Watch

{% embed url="<https://www.youtube.com/watch?v=tI7ODVUJd1o>" %}

![Visualize mode in video mode, Veo 3.1 selected as the model. The right panel shows Start Frame and End Frame slots, with prompt-guidance text and the Generate Video button at the bottom](/files/nyFn7zMRsfr9xugva3Di)

## What it does

Veo, Kling 2.6 and later, Seedance, and Omni Flash support this today. Provide two images; the model produces a video that starts on the first image, ends on the second image, and interpolates plausibly between them. The output is a continuous shot.

Two specific scenarios this is the right tool for:

1. **Compositional bookends.** You know exactly what the first and last frames should be, but you don't want to author the in-between motion shot-by-shot. The model produces the connective motion.
2. **Fix-and-regenerate.** A rendered image is almost right but has a problem (the famous extra cop car). Download, fix in Photoshop, upload as the start frame. The video uses your edited start.

## How to use it

1. **Set the visualizer mode to Video (from keyframes).** The mode dropdown lives at the top of the visualizer panel. Picking this mode scopes the model dropdown to the models that support end frames and exposes both anchor-frame slots.
2. **Pick a model.** Each does end-frame interpolation differently; see [Models](/visualize/ai-models) for guidance.
3. **Set the start frame.** Click the Start Frame slot. Same picker semantics as the End Frame picker below; pick from the project's renders or upload your own.
4. **Set the end frame.** Click the End Frame slot. The picker opens, titled for the slot you're filling (**Select a start frame**, **Select an end frame**). It carries three tabs:

   * **Uploads** – everything you've imported or snapshotted on this project, kept for reuse. See [Reusing uploads and snapshots](#reusing-uploads-and-snapshots).
   * **Favorites** – the renders you've hearted.
   * **Scene tabs** – one per scene in the project. The active scene's renders show first.

   Two things sit outside the tabs: a search field that matches on prompt, filename, or model, and **Import media** at the top right for pulling one or more images in from your machine.
5. **Pick from the per-scene grid.** Each scene shows its rendered shots and videos with a count summary ("3 shots, 2 images, 2 videos"). Click a thumbnail to set it as the end frame.
6. **Set Duration / Orientation / Audio** dropdowns (see [Generate video](/visualize/generate-video)).
7. **Click Generate Video.** The model runs the interpolation; the result lands in the gallery.

![The frame picker with its Uploads, Favorites, and per-scene tabs, a search field, and the Import media action](/files/Kb1KyueGRvapCxlXMysn)

## Reusing uploads and snapshots

Images you bring into the visualizer are kept per project rather than tied to the slot you first dropped them in. They collect in the **Uploads** tab of the frame picker, where any of them can be assigned to a first or last frame slot later, on a different shot.

Two things land there:

* **Anything imported through Import media.** Select several files at once; they all land.
* **Snapshots taken from a generated video.** Pause a video in the visualizer and a snapshot icon appears over it. Click it to save the paused frame.

To reuse one, open the picker on a frame slot, switch to the **Uploads** tab, and click the image. To clear one out, delete it from the same tab; that removes both the record and the stored file.

{% hint style="info" %}
Snapshotting is the cheapest way to extend a shot. Generate a clip, find the frame where it lands well, pause, snapshot, then set that snapshot as the start frame of the next generation. The continuation begins exactly where the last clip ended instead of approximately.
{% endhint %}

## How to produce two consistent frames from the same shot

A common workflow if you don't already have two compatible images:

{% stepper %}
{% step %}

### Author the shot in Compose mode

Set up the camera and the subjects at frame 0.
{% endstep %}

{% step %}

### Generate the start image

In Visualize mode, generate the image for the current state.
{% endstep %}

{% step %}

### Move the camera or subjects to the end position

Back in Compose mode, advance the playhead to the shot's last frame and adjust accordingly.
{% endstep %}

{% step %}

### Generate the end image

Visualize again. The image of the new state.
{% endstep %}

{% step %}

### Switch to first-and-last frame video

Back in Visualize, set the mode dropdown to **Video (from keyframes)**. Pick a model from the dropdown (it shows only the models that support end frames), then drop the two images into the start and end slots.
{% endstep %}

{% step %}

### Generate

The model interpolates motion between the two framings into a continuous video.
{% endstep %}
{% endstepper %}

## When to reach for it

* **Hero camera moves.** A push-in, a pull-back, a sweeping reveal. Author the start and end framings; let the model figure out the motion.
* **Fixed-up renders.** When external editing got the start frame perfect but the rest of the shot still needs to be a video.
* **Match-cuts between two compatible images.** A "before / after" structure where the same scene transitions from one state to another.

When not to reach for it:

* **Single-image animation.** When you just want subtle motion baked in from one image, use a regular video model with no end frame.
* **Long-duration shots.** First-and-last works best on shots a few seconds long. Beyond that, the model struggles to bridge plausibly.

## Limits and known issues

* **Not every video model supports end-frame inputs.** The visualizer enforces this through the mode selector: when you pick **Video (from keyframes)** as the mode, the model dropdown shows only the models that support it. If a model you want isn't there, it doesn't support end-frame interpolation today.
* **Bridging diverges with extreme differences.** If the start and end are far apart (different scene, different camera position, different subjects), the model invents transitional content that may not match. Keep the framings related.
* **Audio is optional but adds cost.** Same audio toggle as regular video generation.

## Related

* [Generate video](/visualize/generate-video)
* [Generate image](/visualize/generate-image)
* [Edit images](/visualize/edit-images)
* [Models](/visualize/ai-models)
* [Managing outputs](/visualize/managing-outputs)


# Video (from scene)

Use the keyframes you set in Compose to drive an AI video model's motion, or render the scene as video without AI via Direct Render.

You authored keyframes on the shot in Compose. Video (from scene) takes those keyframes as the motion source for the video. The model follows the camera move, the subject motion, and the pose changes you set, rather than inventing motion of its own. Or pick Direct Render and skip the AI entirely.

![Visualizer panel with the mode dropdown open, showing Image, Video (from keyframes), Video (from keyframes), and Video (from scene)](/files/TcBTHfAwbzJyr0ype74P)

## What it does

Most video models start from a still image and a prompt and invent the motion. Video (from scene) is different: it takes the animated 3D scene as the input. The keyframes you set in Compose drive what the model renders. The output follows the camera path, the character pose changes, and the object motion you authored, within whatever the chosen model can interpret.

This is the mode to reach for when the motion matters more than the look. If you've spent time animating a precise camera move or character action, this is how you preserve it through video generation.

## How to use it

1. **Author the animation in Compose.** Set keyframes on the camera, subjects, and any animated objects in the shot. See [Animate an object](/overview/how-to/animate-an-object) for the full flow.
2. **Switch to Visualize.** The shot's animation is preserved across modes.
3. **Set the mode dropdown to Video (from scene).** The panel updates to show the model picker for this mode.
4. **Pick a model.** Three options, each does something different (see below).
5. **Write a prompt** (skip this for Direct Render; the scene drives everything).
6. **Click Capture Animation.** The job runs server-side. The output lands as the shot's video.

![Video (from scene) selected in the Visualizer with Direct Render and the Capture Animation button visible](/files/w6Vk0C03vUIlX9IzIM4Z)

## The three model options

![Model dropdown for Video (from scene) showing Seedance 2.0, Luma Ray 3.14, and Direct Render](/files/FYVumR0xlvyMQkS8alo3)

* **Seedance 2.0** (ByteDance). Generative video that follows the scene's motion. Use it when you want a stylized AI output that respects your authored blocking.
* **Luma Ray 3.14** (Luma). Video-to-video model with first-and-last frame anchoring. Tightest motion fidelity of the AI options.
* **Direct Render** (Intangible). Non-AI. Renders the 3D scene as video, frame-for-frame, no diffusion model involved. See [Direct Render](/visualize/direct-render) for the full picture.

## Motion versus appearance

When you use Video (from scene) with an AI model, the *motion* is driven by your keyframes but the *appearance* still comes from the prompt and any reference images. A dolly through an empty 3D scene produces a dolly through whatever the prompt describes. A subject animating across frame stays animated, but its visual identity is decided by the prompt.

If you want the appearance locked to your scene too, that's [Direct Render](/visualize/direct-render).

## When to reach for each option

| If you want                                              | Use                                                                                           |
| -------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| Stylized AI video that follows your authored motion      | Seedance 2.0                                                                                  |
| Tighter motion fidelity with start / end anchoring       | Luma Ray 3.14                                                                                 |
| Wireframe preview of the authored shot, no AI, no credit | [Direct Render](/visualize/direct-render)                                                     |
| A still-image generation with no motion                  | Switch the mode dropdown back to Image                                                        |
| Video from a single start image, no scene animation      | Switch to Video (from keyframes), see [Generate video](/visualize/generate-video)             |
| Video from two anchor images                             | Switch to Video (from keyframes), see [First and last frame](/visualize/first-and-last-frame) |

## Limits and known issues

* **The model interprets your motion; it does not replay it.** Seedance 2.0 and Luma Ray 3.14 honor authored motion, but they still resample through their own video generation. Sharp keyframe changes can soften; fast camera moves can drift. If a move has to land exactly, use Direct Render.
* **Direct Render output is wireframe / greybox**, not photoreal. It captures the 3D scene as it appears in the viewport. For a finished look, render through one of the AI models.
* **No audio.** The audio toggle that appears on other video modes is not present here. Add audio later in your editing tool, or use Video (from keyframes) with a model that generates audio.

## Related

* [Direct Render](/visualize/direct-render) – the non-AI option inside this mode.
* [Animate an object](/overview/how-to/animate-an-object) – how to author the motion that drives this.
* [Animation and shot time](/overview/concepts/animation-and-shot-time) – the concept.
* [Generate video](/visualize/generate-video) – the mode menu and the keyframe-driven video path.
* [Models](/visualize/ai-models) – the full model reference.


# Direct Render

Render a single shot's 3D scene as video, no AI model, no credits. The wireframe / greybox view captured as MP4, exactly as authored.

Render the shot's 3D scene as video, no AI in between. The camera move, the animated subjects, the lighting model: captured frame-for-frame as an MP4. Useful when you need to see the blocking move, hand a director a structural cut, or sanity-check a long animated shot before spending credits on AI generation.

![Visualizer panel with Video (from scene) set as the mode and Direct Render selected as the model; a Capture Animation button sits below](/files/w6Vk0C03vUIlX9IzIM4Z)

## What it does

Direct Render captures the shot's 3D scene as a video. Same camera move, same animation, same viewport lighting, exported as an MP4. Deterministic: run it twice, get the same file.

Distinct from the AI video paths (Seedance 2.0, Luma Ray 3.14, Veo, Kling, Runway) which interpret your scene through a diffusion model and produce a stylized result. Direct Render does no interpretation. What's in the viewport is what ships.

Previously labeled "Shot Animation Capture" in the visualizer. The behavior is the same; only the label changed.

## How to use it

1. **Switch to Visualize mode** on a shot whose animation is set up in Compose.
2. **Set the mode dropdown to Video (from scene).**
3. **Pick Direct Render from the model dropdown.**
4. **Click Capture Animation.** The job runs server-side. No prompt needed.
5. The output lands as the shot's video. Download or use it as the start frame for a later AI pass.

## When to reach for it

* **Blocking review.** Walk a director or producer through the structural cut before committing renders.
* **Pre-render preview.** Confirm the sequence reads as authored before spending credits on Visualize.
* **Reference handoff.** Hand a downstream artist a video of the wireframe they can match against.
* **Tight iteration.** No AI cost. Run it as many times as the shot needs.

When not to reach for it:

* **Final delivery.** The wireframe isn't a finished shot. For finished output, render through one of the AI video models (Veo, Kling, Seedance, Luma, Runway).
* **Stylized or photoreal look.** Direct Render is structural, not visual. For style, use an AI model.

## Direct Render vs Scene to video

Two ways to get a wireframe video out of Intangible, at different scopes:

| Path                                          | Scope           | Where it lives                                |
| --------------------------------------------- | --------------- | --------------------------------------------- |
| **Direct Render** (this page)                 | One shot        | Visualize mode, model dropdown                |
| [**Scene to video**](/publish/scene-to-video) | One whole scene | Compose / Publish mode, Scene Timeline action |

Use Direct Render when you're working on a specific shot in Visualize and want a quick non-AI preview of just that shot. Use Scene to video when you want the whole scene's animatic across all its shots, in their authored order, as a single file.

## Limits and known issues

* **Wireframe / greybox output only.** No materials, no shading, no textures. That's the point: it's structural.
* **No audio.** Capture the audio separately and add it in your editing tool.
* **Per-shot only.** For multi-shot exports, see [Scene to video](/publish/scene-to-video) (full scene) or the export menus at scene / sequence level (see [Export video](/publish/export-video)).

## Related

* [Video (from scene)](/visualize/video-from-animation) – the parent mode that contains Direct Render.
* [Scene to video](/publish/scene-to-video) – the Compose-side export of the full scene animatic.
* [Animate an object](/overview/how-to/animate-an-object) – authoring the motion that Direct Render captures.
* [Models](/visualize/ai-models) – the AI video models you'd use for a finished render instead.


# Style presets

Preloaded surface treatments applied with one click in the visualizer's Style tab, plus the option to bring your own.

The Style tab in Visualize mode has a picker with a small named set of preloaded looks, plus an option to upload an image and create a style from it. Pick a preset to apply a consistent surface treatment across renders without writing the descriptive language yourself.

## Watch

{% embed url="<https://www.youtube.com/watch?v=8nnIxGvckNc>" %}

![Visualize mode with the Style tab active and a style applied to a battleship scene](/files/ymc6jDoQNcqMKPzs03jJ)

## What it does

A render's surface treatment is what separates "the same scene" rendered as a photoreal still versus an anime cel versus a storyboard sketch. Authoring the descriptive language for each style takes practice and a feel for which words the model honors. Style presets bundle that prose into a one-click selection.

## How to use it

1. **Click the Style tab** in the right-hand visualizer panel.
2. **Click the picker.** A grid of preset thumbnails opens, each showing a sample render in that style.
3. **Pick a preset.** The Style block populates with the preset's prose. The next generate uses that style. The prose is editable: once a preset populates the Style block, adjust it like any other prompt.
4. **Iterate by swapping.** Pick a different preset, generate again. The composition stays put; the style changes.

![Select Style Preset modal with a category filter dropdown open showing the All / Factory / Custom filters](/files/aO1ElVLnEVMxJg5Eo7XJ)

## What's in the working set

The named presets in the picker today:

* **New Style** – the entry point for uploading an image and creating a custom style from it. See [Custom styles](/visualize/custom-styles).
* **Photograph** – photoreal, naturalistic surface treatment.
* **Graphic Novel** – stylized illustrated rendering with linework and flat color planes.
* **Storyboard Concept** – sketch-style rendering with rough shading.

The set evolves; check the picker for the current options. To go beyond the named set, upload an image via **New Style** and the visualizer derives a style from it. See [Custom styles](/visualize/custom-styles).

## How a preset interacts with lighting

The Style tab and the Lighting tab are separable. A photoreal style with a stormy lighting preset gives you photoreal stormy footage. The same photoreal style with a tropical-sunset lighting preset gives you photoreal tropical footage. Mixing styles and lighting lets you cover an unusual amount of look-development ground without re-authoring prose.

```mermaid
flowchart LR
    A[Style preset: photoreal] --> C[Composite render]
    B[Lighting preset: stormy coastal tempest] --> C
```

The same composition can run through every combination of style and lighting in the picker by re-clicking and regenerating. Useful for client review where you want to show range.

{% hint style="info" %}
Style is the surface; lighting is the atmosphere. Don't put atmospheric descriptors ("misty", "stormy") in the Style tab – put them in Lighting. Mixing them confuses the model and makes iteration messier.
{% endhint %}

## When to reach for it

* **Early in look development.** Before you commit to a final treatment, cycle through presets to feel out what the brief calls for.
* **Cross-shot consistency.** Pin a single style preset for the project; every shot uses it. The result reads as one coherent piece.
* **Client review.** Show two renders of the same shot with different presets to make a comparative look-development conversation concrete.

When not to reach for it:

* **You already know exactly what you want.** Edit the Style tab text directly without picking a preset. Custom prose at this point is more precise than a working-set preset.
* **You have a custom style.** Use [Custom styles](/visualize/custom-styles) to upload your own and pin it to the project.

## Limits and known issues

* **Some models honor presets more strongly than others.** Photographic presets work cleanly across all the image models. Stylized presets (Graphic Novel, Storyboard Concept) honor better on some models than others; cycle through a couple if the first render flattens the look.
* **No multi-preset blending.** Pick one preset at a time. To combine looks, use a custom style.

## Related

* [Lighting presets](/visualize/lighting-presets)
* [Custom styles](/visualize/custom-styles)
* [Scene context](/visualize/scene-context)
* [Generate image](/visualize/generate-image)
* [Models](/visualize/ai-models)


# Lighting presets

Control AI render lighting with the named preset library in the Lighting tab. One click swaps mood without changing composition or style.

The Lighting tab in Visualize mode has a picker with a wide named preset library. Pick one and the model receives detailed lighting prose without you writing it. The way to push mood per render without leaving Visualize.

## Watch

{% embed url="<https://www.youtube.com/watch?v=8nnIxGvckNc>" %}

![Visualize mode with the Lighting tab active in the right Visualizer panel, the Lighting preset picker visible, and a guided-prompt explaining what to describe (time of day, light sources, mood)](/files/869o7kgoyC6DPNwqVxOY)

## What it does

Cinematographers describe lighting in shorthand: *"golden hour"*, *"blue hour"*, *"stormy"*, *"overcast"*, *"backlit"*. Each phrase pulls a chain of associations: time of day, color temperature, contrast, weather, the presence of haze or mist. Lighting presets bundle that prose into one-click selections.

The Lighting block (atmosphere) is separable from the Style block (surface treatment). The same composition can swap atmospheres without changing surface treatment.

## How to use it

1. **Click the Lighting tab** in the right-hand Visualizer panel.
2. **Click the preset picker.** The **Select Lighting Preset** modal opens with a grid of named preset thumbnails.
3. **Filter if you need to**, using the row across the top: **Suggested** (default view), Search, **Any time of day**, **Any environment**, **Any location**, plus a **Reset** action.
4. **Pick a preset.** The Lighting tab populates with the preset's prose. The next generate uses that atmosphere.
5. **Iterate.** Try different presets to feel out the right mood. Composition and style stay put; lighting changes.

![Select Lighting Preset modal open with the Suggested filter active. Filter row at top has Search and three category dropdowns (time of day, environment, location). Grid shows named preset thumbnails like Sunset Cane Glow, City Jewelry by Night, Retro Arcade Neon, Moody Glass, Polaroid Hologram Twilight, Twilight Forest Depths, Concrete Sunset, Vibrant Wet Atrium](/files/hx3oFrj9uG2TcY3CyEEJ)

## What's in the working set

The picker carries a wide named library. Rather than enumerate the full set here (it evolves), use the in-product picker as the source of truth. The filter row at the top of the modal (time of day, environment, location) is the right place to narrow to what fits the brief.

## Lighting plus the scene's environment

Build mode's [environment](/build/environment) controls (sun position, time of day, fog) light the 3D viewport so you can read the scene; they aren't passed to the render. Render lighting comes from the lighting preset you pick here. The one environment setting that carries into the render is ground color, which the vision model reads as a material. See [Environment](/build/environment) for the full picture.

In practice: use the environment to keep the 3D scene readable while you build, then set the render's mood here in Visualize, per shot (this shot is misty, the next is stormy).

```mermaid
flowchart LR
    A[Build mode environment] -->|sun, time, fog| C[3D viewport readability]
    B[Lighting preset] -->|atmospheric prose| D[Render lighting]
    D --> E[Diffusion model]
    E --> F[Render]
```

## When to reach for it

* **Iterating mood quickly.** Cycle through presets to find the right atmosphere without rewriting prose each time.
* **Multi-shot consistency.** Apply one preset across the shots in a sequence so the lighting reads as one coherent set.
* **Client variations.** Show two renders of the same shot with different lighting presets to surface preference quickly.

When not to reach for it:

* **You already know what you want.** Edit the Lighting tab text directly. Once you have a custom atmosphere phrase, save it as a custom lighting phrase and reuse it on future shots; for surface treatment, see [Custom styles](/visualize/custom-styles).

## Limits and known issues

* **Lighting and Style can fight each other.** A stylized Style preset combined with a heavily atmospheric Lighting preset asks the model for two different things at once. The result is unpredictable; pick presets that share a register.
* **Some lighting presets don't apply to video models cleanly.** Photoreal presets generally translate; stylized lighting can degrade in motion. Test both before committing.

## Related

* [Style presets](/visualize/style-presets)
* [Custom styles](/visualize/custom-styles)
* [Environment](/build/environment)
* [Scene context](/visualize/scene-context)
* [Generate image](/visualize/generate-image)


# Custom styles

Train a custom AI style on your brand's reference images. Save it for reuse across projects, share with the team, keep visual consistency across every render.

The preloaded [style presets](/visualize/style-presets) cover the common cinematic and illustrative looks. Custom styles are how you go beyond them: upload reference images and write the descriptive prose, save the result as a personal or team-level preset, apply it to any future render with one click.

![Create Style Preset modal with a Name field, an "add prompt notes" action, and a drop zone for reference images with the recommendation "We recommend providing 3-10 reference images" plus Cancel and Create actions](/files/DCDcG5ipjq2OycW5lgBb)

## What it does

Three reasons to build a custom style:

* **The preloaded set doesn't cover the look you want.** A Mobius-influenced 2D illustration; a specific photographer's grade; an anime register that's tuned tighter than the generic anime preset.
* **You're working in a brand's visual language.** The agency's house look, applied across every render, with one click.
* **You're cycling between two custom looks across a project.** A vehicle hero in look A, an environment beat in look B – fast switching across renders with both pinned.

Custom-style prompts work across multiple image models, and the strength of the effect varies model to model. See [Models](/visualize/ai-models) for the current working set.

## How to create a custom style

{% stepper %}
{% step %}

### Open the Style tab and pick the custom-style flow

The Style tab's picker has **+ New Style** as the first panel. Click it. A modal opens.
{% endstep %}

{% step %}

### Name the style

The modal opens with a **Name** field at the top. Pick something descriptive ("Mobius ligne claire", "Agency house warm grade") rather than generic. The name is what you'll see in the picker later.
{% endstep %}

{% step %}

### Upload 3-10 reference images

Drop reference images into the zone or click **Choose file** to browse. The recommended count is 3-10. The system note says "For best results, choose images with clear lighting, consistent subjects, and minimal motion." Stills work better than video frames.
{% endstep %}

{% step %}

### Add prompt notes

Click **add prompt notes** to attach descriptive prose to the style. A few sentences a cinematographer or illustrator would use: *"Mobius-influenced ligne claire illustration with flat color planes and minimal shading."* The prose is what the model reads on every render; the images anchor it.
{% endstep %}

{% step %}

### Click Create

The modal's footer has **Cancel** and **Create**. Create saves the style to your library and closes the modal. The new style appears in the Style tab's picker for future renders.
{% endstep %}
{% endstepper %}

## How custom styles flow at render time

```mermaid
flowchart LR
    A[Custom style: prose] --> C[Visualizer Style tab]
    B[Custom style: reference images] --> C
    C --> D[Diffusion model]
    D --> E[Render in your style]
```

The model receives both the prose and the reference images at generation time. The combination produces tighter results than prose alone (which is generic) or images alone (which can be misinterpreted).

## When to reach for it

* **You've used the same custom prose three times in the Style tab.** Save it as a custom style so the next render is one click instead of three minutes of typing.
* **The team needs to share a brand look.** Save at the team level; everyone gets it.
* **You're delivering a campaign.** Pin the campaign's custom style; every render uses it. Brand consistency across hundreds of variations.

When not to reach for it:

* **One-off renders.** If you'll only use this look once, don't bother saving. Edit the Style tab in place.
* **Looks that vary heavily by shot.** If every shot wants different surface treatment, custom styles are overhead. Use the preloaded preset library and the Style tab's edit-in-place workflow.

## Personal vs team styles

Two scopes:

| Scope    | Visible to                            | Use for                                                                     |
| -------- | ------------------------------------- | --------------------------------------------------------------------------- |
| Personal | Just you                              | Your own experiments, looks you're prototyping                              |
| Team     | Everyone in the active team workspace | Brand looks, campaign styles, anything the team needs to apply consistently |

Switching between personal and team workspaces (see [Workspaces](/teams-and-billing/workspaces)) swaps which custom-style library is visible. A style saved at the team level only appears when you're in that team's workspace.

## Limits and known issues

* **Reference images are not used by every model.** Most image models honor them; some video models ignore them. Confirm against your target model.
* **Custom styles don't auto-update.** If you tweak the prose or the reference images, existing renders aren't regenerated. The change applies to future renders only.
* **No version history.** A custom style holds its current state; previous versions aren't recoverable. Save copies if you want to fork.
* **No export path.** You can import a custom style into a workspace, but there's no flow to export one out. Moving a style between teams means re-creating it from the original references in the destination workspace.

## Related

* [Style presets](/visualize/style-presets)
* [Lighting presets](/visualize/lighting-presets)
* [LoRAs](/build/loras): for cases that need fine-tuned model bias rather than custom prompt prose.
* [Workspaces](/teams-and-billing/workspaces)


# Resolution and cost

1K vs 2K, the credit cost ratio, and when to spend credits on the higher resolution.

Image generation runs at 1K or 2K. Video generation has its own resolution options that vary by model. A 2K image render is roughly 2x the cost of a 1K render on the same model; the exact ratio varies by model provider. Use the right resolution for the iteration phase you're in.

![Visualize panel with the 1K/2K resolution toggle near the bottom of the panel, just above the Generate Image button](/files/GW8Bvk2Ve9uDfx0lbeL4)

## What it does

Higher resolution = more pixels = more compute = more cost. The 1K/2K toggle sits near the bottom of the Visualize panel, just above the Generate button. There's no live cost preview; pick the resolution intentionally rather than expecting the button to display a per-click charge.

## When to use 1K

The iteration default. Use 1K for:

* **Confirming composition.** If the framing is wrong, 1K is enough to tell.
* **Cycling through model choices.** Three Nano-vs-Flux comparisons at 1K cost less than one at 2K.
* **Trying different style and lighting presets.** Same compositional input, different surface treatments – cheap at 1K.
* **Early concept exploration.** Before you commit to a direction, 1K renders are fast feedback.

A typical project burns most of its credits on 1K iteration. That's the right shape.

## When to use 2K

The commit point. Use 2K for:

* **Final renders for delivery.** Client review, marketing assets, social posts, anything you'll send out.
* **The hero shot of a sequence.** When one image carries the story, render it big.
* **Print or large-format display.** 2K is the floor for usable print resolution.
* **Renders you'll edit externally.** Photoshop work tolerates 2K source better than 1K source.

{% hint style="info" %}
Don't render 2K to "see if I like it". 1K tells you if you like it just fine. Reserve 2K for renders you've already decided to commit to.
{% endhint %}

## Video resolution and cost

Video generation has its own resolution scale that varies per model provider. The resolution and orientation dropdowns filter as you pick a model; the visualizer surfaces only the options that model supports. Any model offering more than one resolution shows the selector, so the options change as you move between models.

The ladder runs 720p, 1080p, 4K. Most models in the working set cover 720p and 1080p. For 4K, the two paths are **Kling 3 (4K)**, which is a separate model on its own endpoint, and **Luma Ray 3.14**. Pricing is per resolution, so a 4K render costs materially more than the same shot at 720p.

Veo 3.1 is the one model where the two lower rungs cost the same: 720p and 1080p carry identical pricing, and 720p is the default. If the deliverable is going to 1080p, set it before you generate rather than re-rendering afterwards.

Audio toggle is independent of resolution and adds cost on top. If you don't need audio, leave it off – audio generation can roughly double a video render's cost.

{% hint style="info" %}
Resolution is worth deciding before the render, not after. There's no upscale step inside the visualizer, so a 720p draft you decide to deliver has to be generated again at the higher resolution and will not come back identical.
{% endhint %}

## Cost as a project budget signal

A common pattern across projects:

```mermaid
flowchart LR
    A[Concept exploration] --> B[1K iterations, many models]
    B --> C[Composition locked]
    C --> D[1K iterations, fewer models, more presets]
    D --> E[Look locked]
    E --> F[2K hero renders for delivery]
    E --> G[1K supporting renders]
```

The credit budget for a typical commercial-shot project: roughly 70% on 1K iteration, 25% on 2K final renders, 5% on edit-image fixes.

If a project is burning through credits faster than expected, the diagnosis is almost always "too many 2K renders too early". Drop back to 1K until the composition and look are locked.

## Limits and known issues

* **Resolution doesn't compensate for the wrong model.** A 2K render with the wrong model is worse than a 1K render with the right model. Pick the model first, then the resolution.
* **Pricing varies by model provider.** A 2K render on one model can cost more than a 2K render on another. The dropdown reflects what's available; pick the model that fits the shot, then pick the resolution.
* **Video resolution affects generation time more than image resolution does.** Higher-resolution video renders can take noticeably longer; plan accordingly when the deadline is short.

## Related

* [Generate image](/visualize/generate-image)
* [Generate video](/visualize/generate-video)
* [Credits and tokens](/overview/concepts/credits-and-tokens)
* [Models](/visualize/ai-models)
* [Plans and billing](/teams-and-billing/plans-and-billing)


# Managing outputs

The gallery to the right of the viewport – favorite, download, delete, and find your renders later.

Every render lands in the gallery to the right of the viewport. The gallery is the working set for that shot's renders: hover for actions, click to enlarge, favorite to keep, download to save, delete when done.

## Watch

{% embed url="<https://www.youtube.com/watch?v=gC8yn3Zyedo>" %}

![Visualize mode with a thumbnail gallery on the right showing multiple renders of the active shot, one selected for the larger preview](/files/hM1HlspfmwRKC488I3Kh)

## What it does

A typical project produces dozens of renders per shot during iteration. Without organization, finding the one good render from yesterday becomes a slow scroll. The gallery's actions are how you keep what's worth keeping and clear what isn't.

## How to use it

Each render in the gallery shows a thumbnail. Hover for the action row:

* **Heart (favorite)** – marks the render. Favoriting flags it so you can find it later.
* **Download** – saves a full-resolution copy to your machine.
* **Edit (pencil)** – opens [Edit images](/visualize/edit-images) on this render.
* **Delete** – removes from the gallery. Confirms before removing.

To use a render as the first frame of a video, select it and switch the visualizer dropdown from Image to Video. The selected render auto-populates as the first frame. See [First and last frame](/visualize/first-and-last-frame).

Click a thumbnail to open the larger view. Video renders play back inline with transport controls – play, pause, and a scrubber – so you can review a specific beat without downloading the clip.

Pausing a video puts a snapshot icon over the frame. Click it to save that exact frame to the project's uploads, where it can be picked up later as a first or last frame on any shot. See [Reusing uploads and snapshots](/visualize/first-and-last-frame#reusing-uploads-and-snapshots).

## Cross-shot persistence

The gallery is per-shot. Switching shots reveals a different gallery; the previous shot's renders are still there, just not visible until you switch back.

To browse renders across shots, use the [Publish](/publish/publish-tab) flow – its content selector lets you pick shots from any scene in the project and review them in one place. Otherwise, use favorites consistently and the per-shot galleries stay manageable.

## Downloading

Downloads are full-resolution. Filenames are generic (`image (#).jpg`, `scene-reference.jpg`, `canny-image.png`, `depth-image.png`) – rename in your file system if you need scene / shot / model context preserved on disk.

Downloads happen one render at a time; there's no multi-select or batch-download flow today.

{% hint style="info" %}
The gallery isn't a permanent archive. Past several hundred renders, older results may roll off the visible history. Anything you want for the long term should be downloaded.
{% endhint %}

## Deleting renders

Hover the thumbnail, click delete. Confirms once. Gone. Bulk delete isn't exposed today – delete renders one at a time.

Deleted renders don't refund credits. The credit was spent at generate time.

## Common patterns

* **Favorite as you go.** A render you like, favorite immediately. Doing it later is harder than doing it now.
* **Delete obvious failures.** A render that's clearly wrong (model artifacts, the cop-car problem) – delete it. Reduces gallery noise on the next pass.
* **Download milestones.** When a render is the new "best of" for a shot, download it. The gallery is short-term memory; your file system is long-term memory.

## Limits and known issues

* **Renders are project-scoped.** A render generated in Project A doesn't appear in Project B's gallery, even if you used the same scene template. Re-render or download and re-upload as needed.
* **Audio tracks on video renders aren't extractable separately.** Download a video, the audio comes baked in. To remix, do it in your editor.

## Related

* [Generate image](/visualize/generate-image)
* [Generate video](/visualize/generate-video)
* [Edit images](/visualize/edit-images)
* [First and last frame](/visualize/first-and-last-frame)
* [Export shot video](/publish/export-shot-video)


# Models

Every image and video model the visualizer exposes, with one-line guidance on when to reach for each.

The visualizer is a model aggregator: under the hood, every Generate Image and Generate Video click routes to one of several diffusion models from external providers. The dropdown is the working set, refreshed as providers ship new versions and as some get retired.

This page is the working reference. Pick a model based on what your shot needs; the table below has one-line guidance per model.

## Image models

| Model                | Provider          | When to reach for it                                                                                                                                                                                                                                  |
| -------------------- | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Flux Pro Kontext** | Black Forest Labs | Photoreal stills with strong material rendering. Metallic, glass, and complex surfaces hold up well. Reference-image-conditioned and disciplined about it.                                                                                            |
| **Flux2 Pro**        | Black Forest Labs | Next-generation Flux. Cleaner subjects, finer detail, better at rendering text in the image when text matters.                                                                                                                                        |
| **Nano Banana Pro**  | Google            | The cinematic workhorse. Strongest with image references, especially for character consistency across shots. Default reach for hero shots when you have reference imagery.                                                                            |
| **Nano Banana 2**    | Google            | Sharper than Pro on certain stylized treatments. Picky about prompts; rewards specificity.                                                                                                                                                            |
| **GPT Image 2**      | OpenAI            | OpenAI's image model in the working set. Different stylistic register from the Flux and Nano Banana families; useful as an alternative when the others flatten the subject.                                                                           |
| **Seedream 5 Pro**   | ByteDance         | Holds composition harder than anything else in the working set. Reach for it when the shot you framed has to survive the render intact, and when detail named in the description needs to outrank the reference images on everything except identity. |

## Video models

| Model                | Provider  | When to reach for it                                                                                                                                                                                                                                                                      |
| -------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Veo 3.1**          | Google    | Wide latitude, slow generation. Best for atmospheric long-take shots where motion is naturalistic and you have time to wait.                                                                                                                                                              |
| **Veo 3.1 Fast**     | Google    | Faster Veo at lower fidelity. Iteration-tier for atmospheric shots.                                                                                                                                                                                                                       |
| **Kling 2.5 Turbo**  | Kuaishou  | Fast iteration. Use when you're cycling through compositions and want feedback in seconds.                                                                                                                                                                                                |
| **Kling 2.6 Pro**    | Kuaishou  | Action-shot strong. Reach for it on motion-heavy shots.                                                                                                                                                                                                                                   |
| **Kling 3 Standard** | Kuaishou  | Latest Kling family standard tier.                                                                                                                                                                                                                                                        |
| **Kling 3 Pro**      | Kuaishou  | Latest Kling family pro tier.                                                                                                                                                                                                                                                             |
| **Kling 3 (4K)**     | Kuaishou  | The 4K tier of the Kling 3 family, on its own endpoint. Reach for it when the deliverable needs 4K out of the visualizer rather than an upscale afterwards.                                                                                                                               |
| **Kling o3 Pro**     | Kuaishou  | Available for both image-to-video and video-to-video. Takes up to eight reference images named in the prompt. Reach for it when a video shot has to honor specific reference imagery.                                                                                                     |
| **Omni Flash**       | Google    | Available for both image-to-video and video-to-video, with generated audio and an optional end frame on the image-to-video path. Takes up to eight reference images. Video-to-video sources are capped at 10 seconds.                                                                     |
| **Luma Ray 3.14**    | Luma      | Available for both image-to-video and video-to-video. Honors authored 3D structure strictly, so it is the reach when your shot has animated meshes, splined cameras, or specific motion the model should follow rather than reinterpret. Video-to-video sources are capped at 18 seconds. |
| **Luma Ray 3.2**     | Luma      | Video-to-video model. Takes an existing video as input and reskins or extends it while respecting the source motion. Higher fidelity; use when output quality matters more than cost. Video-to-video sources are capped at 18 seconds.                                                    |
| **Runway Gen 4.5**   | Runway    | Alternative video model. Different tonal register than Kling and Veo; useful for stylistic variation.                                                                                                                                                                                     |
| **Seedance 2.0**     | ByteDance | Available for both image-to-video and video-to-video. Motion-strong with first-and-last-frame support and up to seven reference images. Strong for photorealistic, faithful output – a good reach for technical or aerospace work where the render needs to stay true to the source.      |

{% hint style="info" %}
**Tuning Luma for technical and aerospace work.** Luma exposes a creativity control. Set it to **Adhere** with the strength low when faithfulness to the source geometry matters – it keeps the render true to what you built. **Reimagine** gives the model far more license and will invent elements that aren't in your scene, so keep it away from technical work. For faithful output, Seedance 2.0 is also a strong choice.
{% endhint %}

{% hint style="info" %}
**Some models run on both paths, some only on one.** Ray 3.14, Omni Flash, Kling o3 Pro and Seedance 2.0 each appear for image-to-video and for video-to-video. Ray 3.2 is video-to-video only. Video-to-video takes an existing clip as the source input rather than generating from the scene, so use it to restyle, extend, or relight footage you already have. The mode and strength control (Adhere → Reimagine) behaves the same on either path: low Adhere keeps the motion faithful to the source; Reimagine lets the model depart significantly from it.
{% endhint %}

{% hint style="warning" %}
**Video-to-video sources have a duration ceiling that varies by model.** Ray 3.2 and Ray 3.14 accept up to 18 seconds, Seedance 2.0 and Kling o3 Pro up to 15, Omni Flash up to 10. A source longer than the selected model's ceiling is blocked before any credits are spent, with a dialog naming the limit.
{% endhint %}

## Which AI model should I use?

Direct answers per common job:

| If your shot is                                               | Reach for                                                                                  | Why                                                                                                        |
| ------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------- |
| Brand-true product hero with reference imagery                | **Nano Banana Pro**                                                                        | Strongest reference-image conditioning. Holds character and product across shots.                          |
| Photoreal still with complex materials (glass, metal, fabric) | **Flux Pro Kontext**                                                                       | Best surface fidelity. Disciplined about reference images.                                                 |
| In-image text rendering matters (signage, packaging)          | **Flux2 Pro**                                                                              | Cleanest text generation in the working set.                                                               |
| Stylized illustration or graphic look                         | **Nano Banana 2**                                                                          | Sharper on stylized treatments. Reward specificity in the prompt.                                          |
| Atmospheric long-take video, naturalistic motion              | **Veo 3.1**                                                                                | Wide latitude. Slow but the best for ambient mood.                                                         |
| Action-heavy video with motion                                | **Kling 2.6 Pro**                                                                          | Action-shot strong. The chase-and-vehicle workhorse.                                                       |
| Authored 3D motion needs to be honored exactly                | **Luma Ray 3.14**                                                                          | Honors keyframed and splined motion most strictly.                                                         |
| Composition has to survive the render intact                  | **Seedream 5 Pro**                                                                         | Holds the framing you built harder than the rest of the image working set.                                 |
| First-and-last-frame video interpolation                      | **Veo 3.1**, **Kling 2.6 Pro** or later, **Seedance 2.0**, or **Omni Flash**               | These model families support end frames. See [First and last frame](/visualize/first-and-last-frame).      |
| Video shot that has to follow specific reference imagery      | **Omni Flash**, **Kling o3 Pro**, or **Seedance 2.0**                                      | These carry reference images into video prompts. See [Generate video](/visualize/generate-video).          |
| Video with generated audio                                    | **Omni Flash** or **Veo 3.1**                                                              | Both generate a synchronized audio track. Audio adds cost on top of the render.                            |
| 4K video straight out of the visualizer                       | **Kling 3 (4K)** or **Luma Ray 3.14**                                                      | The two 4K paths in the working set. See [Resolution and cost](/visualize/resolution-and-cost).            |
| Video-to-video (restyle or extend an existing clip)           | **Luma Ray 3.2**, **Luma Ray 3.14**, **Omni Flash**, **Kling o3 Pro**, or **Seedance 2.0** | Supply a source video; the model reskins or extends it. Ray 3.2 for final quality, Ray 3.14 for iteration. |
| Fast iteration on a video composition                         | **Kling 2.5 Turbo** or **Veo 3.1 Fast**                                                    | Seconds-tier feedback.                                                                                     |

## Nano Banana Pro vs Flux Pro Kontext

The two most-asked-about image models. Both are reference-image-disciplined; they differ in what they're tuned to honor.

|                             | Nano Banana Pro                                | Flux Pro Kontext                            |
| --------------------------- | ---------------------------------------------- | ------------------------------------------- |
| Reference fidelity          | Cinematic; consistent across shots             | Photographic; consistent within a shot      |
| Material rendering          | Strong on warm tones, skin, fabric             | Strongest on glass, metal, complex surfaces |
| Best for                    | Hero shot with character or product references | Hero shot with material-heavy products      |
| Cost tier                   | Standard                                       | Standard                                    |
| Default reach when both fit | Cross-shot consistency wins                    | Single-shot material accuracy wins          |

For a campaign that needs multiple shots of the same product, Nano Banana Pro. For a one-shot hero of a watch, Flux Pro Kontext. For both at once, render the multi-shot story on Nano Banana Pro and the watch macro on Flux Pro Kontext.

## What to do past the first pass

The answer is always "test against your specific shot". Different models honor different prompt languages differently; what reads cleanly on Nano Banana 2 may flatten on Flux2 Pro and vice versa. Burn 1K iterations comparing before committing video credits.

## When models change

The model list churns. Providers ship new versions, sometimes retire older ones, occasionally pull capabilities out of free or lower tiers. The visualizer's dropdown is authoritative for what's currently available; this page tracks the names and the rough heuristics.

If a model you've been using disappears from the dropdown, the most likely reason is the provider deprecated it.

**You don't have to hunt for the replacement yourself.** When a saved shot points at a model the working set doesn't carry, regeneration routes to a configured successor and an in-app banner names the substitution before the render runs.

The same banner appears when a team admin has restricted the model you picked. Read the banner: the shot you get back came from a different model than the one stored on the shot, so the look can shift. If it matters, pick the successor deliberately and re-render.

Models the visualizer routes away from, and where they land:

| Stored on the shot | Regenerates on   |
| ------------------ | ---------------- |
| Kling 2.0 Master   | Kling 3 Pro      |
| Kling 2.1 Standard | Kling 3 Standard |
| Kling 2.1 Pro      | Kling 3 Pro      |
| Kling 2.1 Master   | Kling 3 Pro      |
| Luma Ray 3         | Luma Ray 3.14    |
| Luma Ray 2         | Luma Ray 3.14    |
| Luma Ray 2 Flash   | Luma Ray 3.14    |

## Older names you may see in transcripts

Some YouTube tutorials and webinar talks reference earlier model names. The mapping:

* *Kling 2.6* in the older transcripts is now **Kling 2.6 Pro**.
* *Kling 2.0* and *Kling 2.1* in either the Standard, Pro, or Master tier map to the **Kling 3** family.
* *Luma Ray 3*, *Ray 2*, and *Ray 2 Flash* map to **Luma Ray 3.14**.
* *Seedance 2.0 Motion Guide* is the video-to-video path of **Seedance 2.0**.
* *Flux 1 Depth* (referenced in summit talk) is superseded by **Flux Pro Kontext** for general use.
* *Flex* (mentioned in passing) was an older naming; see Flux Pro Kontext or Flux2 Pro for the current Black Forest Labs lineup.

Use the current names everywhere in your work. The older names will still appear in older tutorial videos until the team re-records.

![Image model dropdown expanded with provider-grouped options: Black Forest Labs (Flux Pro Realtime, Fast Pro) and Google (Nano Banana Pro, Nano Banana 2)](/files/ByYbJ1RzPjqYzrL6zskO)

## Watch

{% embed url="<https://www.youtube.com/watch?v=gC8yn3Zyedo>" %}

## Provider documentation

Each provider has its own deeper docs for what their models can and cannot do at the system-prompt level:

* Black Forest Labs Flux: [bfl.ai](https://bfl.ai)
* Google Veo: [aistudio.google.com/models/veo-3](https://aistudio.google.com/models/veo-3)
* Kuaishou Kling: [kling.ai](https://kling.ai)
* Luma Ray / Agents: [lumalabs.ai/ray](https://lumalabs.ai/ray)
* Runway: [runwayml.com](https://runwayml.com)

Most users won't need the provider docs; the visualizer abstracts away most provider-specific syntax. For specialized model behaviors not exposed in Intangible's UI, the provider docs are the next stop.

## Related

* [Generate image](/visualize/generate-image)
* [Generate video](/visualize/generate-video)
* [Resolution and cost](/visualize/resolution-and-cost)
* [First and last frame](/visualize/first-and-last-frame)
* [How the visualizer thinks](/overview/concepts/how-the-visualizer-thinks)


# Publish

Export per shot or per project. Present in-app. Hand off to your editor.

When the shots are right, ship them. Export per shot or per project, present in-app, hand off to your editor.

## Export

* [Export shot video](/publish/export-shot-video): render one shot's video file.
* [Export Video](/publish/export-video): the project-sequence export for full edits.
* [Scene to video](/publish/scene-to-video): export the greybox animatic from the Scene Timeline as a video.
* [Export formats](/publish/export-formats): image PNG/JPEG and 3D GLB exports.

## Present

* [Presentation mode](/publish/presentation-mode): full-screen play of a sequence for client meetings.
* [Publish](/publish/publish-tab): generate a shareable link from the Share dialog.
* [Poster](/publish/poster): the auto-generated title slide on a published project.


# Presentation mode

Full-screen play of a sequence for client review meetings. Hides the editor chrome and walks through your shots in order.

The full-screen playback view of a project's sequence. Hides the editor, shows one shot at a time, advances through the [Sequence Timeline](/compose/timeline) in order. The right tool for showing client review work without the distraction of the editor's UI.

![Published view of the project loaded in the browser - black background, project title centered, owner avatar and name, Press play to watch action, with playback controls along the bottom](/files/JszGbOazOPz9oavTYPxu)

## What it does

Showing work to a client in the editor means they see the timeline, the asset library, the gallery, the chrome. None of that helps the conversation about whether the shot lands. Presentation mode is a focused, full-screen replay: one shot at a time, in sequence order, each lasting its authored duration before advancing.

## How to use it

1. **From the project**, open Compose mode.
2. **Click the play button** in the top-right toolbar, next to Share. It's a right-pointing triangle.
3. **The sequence plays** full-screen. The first shot in the [Sequence Timeline](/compose/timeline) appears, plays for its duration, then advances to the next shot.
4. **Use the on-screen controls** to pause, advance, or exit. There are no keyboard shortcuts for playback today; the mode is click-driven.

The viewport is full-window; no panels, no chrome, no toolbar.

## What plays

Presentation mode plays the rendered output for each shot in the order set by the Sequence Timeline. If a shot has video, the video plays for its duration. If a shot has only an image render, the image holds for the shot's authored duration before advancing.

### When a shot has no rendered output

Presentation mode falls back to the **Scene (3D greybox) image** of the shot. The audience sees the structural framing of the shot rather than a black frame, and the sequence keeps playing. Render the gap when you want a finished frame in its place.

## When to reach for it

* **Client review meetings.** Open presentation mode at the start of the meeting; click through shot by shot or play the whole sequence.
* **Internal review with creative leadership.** Director or DP wants to see the cut without the editor noise.
* **Self-review at the end of a working session.** Walk the project to see how the shots read together before committing more time.

When not to reach for it:

* **Active editing.** Presentation mode is read-only; you can't tweak from inside it. Switch back to Compose to change anything.
* **Sharing externally.** For sending to a client who isn't in the room, [Export Video](/publish/export-video) produces a video file you can share without giving them an Intangible login.

## Customizing the presentation

A few settings affect how presentation plays:

* **Title slide.** The auto-generated title slide uses the **Title** field from the [Publish tab](/publish/publish-tab). See [Poster](/publish/poster).
* **Shot ordering.** Reorder in the [Sequence Timeline](/compose/timeline) before opening presentation.
* **Shot durations.** Set in [Shot details](/compose/shot-details). Presentation honors the authored duration.

## Limits and known issues

* **No audio mixing.** Audio plays per-shot from each shot's rendered output. Cross-shot audio (a continuous music bed across the whole sequence) requires external editing tools.
* **Black between cuts.** The transition between shots is a hard cut. No dissolves, no transitions.
* **No export from presentation mode itself.** What you see playing is what's on disk in each shot's gallery; to share the whole sequence, use [Export Video](/publish/export-video).

## Related

* [Publish tab](/publish/publish-tab)
* [Poster](/publish/poster)
* [Timeline](/compose/timeline)
* [Export Video](/publish/export-video)
* [Shots](/compose/shots)


# Publish

Publish a project as a shareable, viewable link. Title it, pick what to include, decide whether to allow comments.

Publishing a project produces a shareable view of the sequence. The viewer sees the rendered shots in playback order, with optional commenting. Use it for client delivery, link-based sign-off, and any case where a colleague or client should review a project without having an Intangible account or editor access.

![Share dialog with the Publish tab active, showing the Title field (Cars in City), the Content to Publish selector with shots from Manhattan city street selected, and the Publish button on the right.](/files/6mJbUwMnTeu641Sl3cMM)

## How to access it

1. **Click Share** in the top-right of the editor (next to the credit counter and the presentation play button).
2. **The Share dialog opens** with two tabs: **Share** for collaborator email invites, **Publish** for the public-link flow.
3. **Click the Publish tab.**

## What's in the Publish tab

![Publish tab open in the Share dialog with Title, Content to Publish dropdown expanded into a "Select Shots, Images, and Videos" multi-select panel grouped by scene, plus Allow comments and the Publish button](/files/6mJbUwMnTeu641Sl3cMM)

* **Title.** The name shown on the published page. Defaults to the project's name; override for a client-facing title.
* **Content to Publish.** A dropdown selector for what gets included. Click it to open a multi-select panel ("Select Shots, Images, and Videos") with All Scenes / All Types filters and the project's shots and renders grouped by scene. Pick the specific shots, images, or videos you want in this publish.
* **Allow comments.** A toggle that lets viewers leave comments on the published view. On by default; turn it off for client-facing publishes where you don't want public commenting.
* **Publish button.** Generates the shareable link.

After you publish, the dialog updates with a **Published successfully** indicator, the live URL with copy and open-in-tab actions, a "Last updated by \[name]" timestamp, and an **Unpublish** button. The Allow comments toggle stays adjustable so you can flip commenting on or off for an already-live link.

![Publish tab in its post-publish state – Published successfully header, the published URL visible with copy and external-link icons, an Unpublish button at the bottom right, and the original render still selected in the Visualize gallery on the left](/files/pJ8CL0fLvIxIGDc0jXce)

## Picking shots and alternate takes

The Content to Publish selector defaults to **Entire sequence**. The other option, **Selected shots, images, and videos**, opens a per-shot picker that's worth knowing in detail. Two things to know:

* The **first shot you pick gets a red star.** That marks it as the publish's opening shot. The audience lands on it when they click play; the cover slide also reads its poster image (see [Poster](/publish/poster)).
* **Picking a second take on the same shot adds it as an alternate.** The audience sees a single shot in the sequence, but the published viewer exposes an alternate-media switcher (covered below) so reviewers can choose between the takes you supplied.

![Selecting shots in the Publish tab: clicking the first shot gives it a red star, additional shots fill the remaining slots, and selecting a second take on an already-picked slot adds it as an alternate](/files/Kg7RqVwtkgZv5P3ZGlms)

Use the alternate-take mechanic for genuine choice presentations, not for hedging. Two takes is the right number to ask a director to compare; three or more turns review into a survey.

## How viewers experience the published link

The published link opens a stripped-down viewer with no editor chrome and no sign-up. Three interactions worth knowing about, since you may want to walk a viewer through them.

### The cover slide and Press play

The first shot's poster image fills the background under the title, the publisher's avatar and name, and a **Press play to watch.** instruction. Click anywhere on the cover to start playback. See [Poster](/publish/poster) for the full cover behavior.

### Switching between alternate takes

When a shot has alternates, the viewer surfaces an **alternate media** control. The viewer can switch takes, hit play, and compare. This is the audience-facing payoff of the alternate-take mechanic above.

![A director using the alternate media switcher in the published viewer to swap between two takes of the same shot before pressing play](/files/vm618pCpB8W7QvQzMjyf)

### Posting a comment

When you publish with **Allow comments** on, viewers can drop placement-based comments anywhere on a shot. The viewer opens the comments panel from the bubble icon in the top-right, clicks anywhere on the playing video, types, and posts. Comments come back to you in the project's comment surface, where you can review them as part of sign-off.

![Director opening the comments panel on the published viewer, clicking on the video, typing "I prefer the night shot," and posting the comment](/files/8EK4TFIu4BVeEyqGVnWA)

Turn comments off for client-facing publishes where you don't want public commenting, or for portfolio links that aren't soliciting feedback.

## When to reach for it

* **Client delivery.** A polished link that opens to the rendered sequence, no editor chrome, no sign-up required.
* **Asynchronous review.** Send the link with comments enabled; collect feedback in-context.
* **Showcasing finished work.** A portfolio link that doesn't expose the working file.

When not to reach for it:

* **Inviting a collaborator to edit.** That's the **Share** tab of the same dialog – it sends an email invite that grants editor access.
* **Downloading a file for offline delivery.** Use the export flows ([Export Video](/publish/export-video), [Export shot video](/publish/export-shot-video)) instead.

## Related

* [Presentation mode](/publish/presentation-mode)
* [Poster](/publish/poster)
* [Export Video](/publish/export-video)
* [Sharing and collaboration](/overview/reference/sharing-and-collaboration)


# Poster

The cover slide of a published project. Uses the first shot's poster image as the background with the title, avatar, and a click-to-play action.

A published project opens with a cover slide built from the first shot's poster image. The image fills the background, a dark overlay dims it for legibility, and the project title, the publisher's avatar and name, plus a **Press play to watch.** instruction sit on top. Click anywhere on the cover to start playback.

## What it does

The cover slide gives the audience a moment to see the project's hero framing and title before the sequence begins. It's automatic: whichever shot is first in the Sequence Timeline supplies the background image. Works whether the first shot is a still or a video; for video first shots, the poster frame of the video is used.

The cover is interactive:

* **Click anywhere on the cover to play.** Cursor changes to a custom play-icon while hovering.
* **The action-bar play button pulses** while paused on the cover. The animation stops the moment playback starts.
* **In comment mode, the cover shows a `not-allowed` cursor.** Comments attach to media slots only; the cover isn't a place for review feedback.
* **Loop wraparounds skip the cover.** Once playback starts, looping returns to the first shot, not back to the cover.

## How the title is set

The title comes from the **Title** field in the [Publish tab](/publish/publish-tab). It defaults to the project's name; override it for a client-facing title before publishing. Changing the title after publishing updates the cover on the next publish.

## When the first shot can't supply an image

If the project is empty or the first shot's image fails to load, the cover falls back to a black background. The title, avatar, and "Press play to watch." instruction remain visible. This is rare in practice; usually a published project has a renderable first shot.

## Social link previews

When the published link is shared in a social post, an email link card, or a chat preview, the unfurl renders as a generic Intangible icon plus the Studio link. There's no per-project preview image or thumbnail substituted into the card today.

## What's not supported

* **No poster image upload.** The cover image is always the first shot's poster; you can't substitute an arbitrary image. Reorder shots to change which one fronts the cover.
* **No per-project social preview image.** The unfurl is a generic Intangible card.
* **No cover-only title slide option.** The cover is always the first shot's image plus title; there's no flow to suppress the image and show a black-background title slide.

## Related

* [Publish tab](/publish/publish-tab)
* [Presentation mode](/publish/presentation-mode)
* [Export Video](/publish/export-video)


# Export shot video

Single-shot video and image export. Two paths: the shot kebab on the storyboard for a direct video MP4, and the per-render download icon for granular control over Image, Scene Reference, Crossfade Vid

Two entry points for getting one shot out as a file. The shot kebab in the Storyboard is the fast path for a complete video download. The per-render download icon below the main preview gives you finer-grained options for image stills, scene references, or trimmed crossfade segments.

## Watch

{% embed url="<https://www.youtube.com/watch?v=NtDxfBheD6o>" %}

## The two paths

| Path                          | Where                                        | When to reach for it                                                              |
| ----------------------------- | -------------------------------------------- | --------------------------------------------------------------------------------- |
| **Shot kebab → Export Video** | Storyboard, on the shot card                 | You want the whole rendered video as one MP4. Fastest path.                       |
| **Per-render download icon**  | Below the main render preview in the gallery | You want a still image, a scene reference, a crossfade segment, or a bundled ZIP. |

The two paths coexist. Pick by what file you need.

## Shot kebab path (rendered video as MP4)

The newer entry point. One click from the shot card.

1. **In Visualize mode**, find the shot in the Storyboard.
2. **Click the kebab (...) on the shot card.**
3. **Pick Export Video.** The file downloads immediately.

The Export Video entry is hidden when the shot has no selected video render (image-only shots show no Export Video option). Render a video first, then the entry appears.

For exports at the scene or sequence level (per-shot files plus a concatenated cut), use the [Export Video](/publish/export-video) options at the scene-group or storyboard-level kebabs.

## Per-render download icon path

The original per-render menu, useful when you want something other than a complete video.

1. **In Visualize mode**, select the shot. The shot's gallery appears on the right with every render produced for it.
2. **Click the download icon** below the main render preview (next to the favorite-heart icon).
3. **Pick the export option** from the popup menu:
   * **Image** – the currently selected generation as a still image.
   * **Scene Reference** – an image of the greybox 3D scene, no image references included. Useful for sharing the structural frame the visualizer sees.
   * **Crossfade Video** – the currently selected video artifacts on the Sequence Timeline, with trim points respected. Useful when you've trimmed a clip and want only the visible portion.
   * **All** – the currently selected image generation plus the scene (3D greybox) image, bundled as a ZIP.
4. **The file downloads automatically** to your local download directory. The OS download notification confirms completion.

## What's in each file

* **Export Video (shot kebab):** the shot's most recent video render as H.264 30fps MP4 at the authored aspect ratio. Audio included if the shot was generated with audio.
* **Image:** the currently selected generation. PNG or JPEG depending on source. Filename: `image (#).jpg` style.
* **Scene Reference:** the greybox 3D scene as a still PNG. Filename: `scene-reference.jpg`.
* **Crossfade Video:** the selected video segments concatenated, MP4. Trim points respected via stream-copy (near-instant) where possible.
* **All:** ZIP containing the selected image plus the scene reference image.

Filenames from the per-render icon menu are generic. The shot-kebab Export Video uses the [filename convention](/publish/export-video#filename-convention): `<project>_<scene>_<shot>_<localTimestamp>.mp4`. Rename downstream if you need consistent naming across both paths.

## When to reach for it

* **Sending one shot for review.** A client wants to see a specific framing; the shot kebab Export Video is fastest.
* **Dropping into a downstream edit.** Resolve, Premiere, FCP – the shot kebab path produces the editorial-ready MP4.
* **Sharing the structural frame.** Scene Reference image is the right tool for "what camera angle is this?" reviews.
* **Pulling a trimmed clip.** Crossfade Video respects the trim points you set on the Sequence Timeline.

When not to reach for the shot kebab:

* **You want only a still.** Use the per-render icon's Image option.
* **You want a multi-shot file.** Use [Export Video](/publish/export-video) at the scene or sequence level.

## Limits and known issues

* **Shot kebab Export Video requires an existing render.** It exports what's in the gallery. Render first, export second.
* **No re-rendering during export.** Same for both paths.
* **No format or codec choice.** H.264 MP4 only.
* **The Image / Scene Reference / Crossfade / All menu briefly disappeared** in an earlier release while the underlying encode pipeline was being rebuilt. It was restored as part of [Export Video Phase 1](/publish/export-video). If you don't see the popup, hard-refresh the app.

## Related

* [Export Video](/publish/export-video) – the canonical reference for shot, scene, and sequence-level exports.
* [Scene to video](/publish/scene-to-video) – per-scene greybox animatic export from Compose.
* [Direct Render](/visualize/direct-render) – the Visualize-mode wireframe-video path.
* [Generate video](/visualize/generate-video) – the rendering step that has to happen first.
* [Managing outputs](/visualize/managing-outputs)


# Export Video

Export video at three scopes (shot, scene, sequence) from either Compose or Visualize mode. Filename conventions, ZIP contents, and the editorial-handoff manifest.

Three scopes of video export, available from two modes. Per-shot exports are direct downloads; per-scene and per-sequence exports come down as ZIPs that bundle the per-shot files plus a concatenated cut. Visualize mode also exposes a **Download All Media** option that ships the entire project with editorial-handoff metadata (OTIO, EDL, XML, README).

## The export menu matrix

The export entry points live in the kebab (`...`) menus on the Storyboard: per-shot on each shot card, per-scene on each scene group, and at the storyboard level for the whole sequence. The available options change with the active mode.

| Surface                         | Compose mode                                                      | Visualize mode                                                                               |
| ------------------------------- | ----------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| **Shot kebab**                  | **Export Render** – wireframe MP4 of the shot, server-side render | **Export Video** – the rendered video for this shot (hidden when the shot has no video)      |
| **Scene kebab → Export**        | Export Render – disabled, coming in Phase 2                       | **Export Scene Videos** – ZIP: per-shot files + concatenated scene cut                       |
| **Storyboard (sequence) kebab** | Export Sequence Render – disabled, coming in Phase 2              | **Export Sequence Videos** – ZIP: per-scene folders, per-scene cuts, top-level `project.mp4` |
| **Storyboard kebab → All**      | (none)                                                            | **Download All Media** – full project ZIP with media plus OTIO, EDL, XML, and a README       |

The "Render" vs "Video" naming distinction is deliberate. In Compose mode the export is a **render**: deterministic wireframe of the 3D scene, server-side, no AI. In Visualize mode the export is a **video**: the diffusion-generated artifacts already in the project.

## How to export a single shot

The most common path. Two flavors depending on what you want.

### Compose-mode wireframe (Export Render)

A wireframe / greybox MP4 of the shot, with no AI in the loop. Same job as [Direct Render](/visualize/direct-render) on the Visualize side; this is the Compose-mode entry point.

1. **In Compose mode**, open the kebab (`...`) menu on the shot card in the Storyboard.
2. **Pick Export Render.** The job submits and a persistent toast shows "Compiling render..." with a spinner.
3. **Wait for "Render ready."** The toast updates with the scene and shot names and a **Download** action.
4. **Click Download.** The file lands in your local download directory.

![Compose-mode storyboard with the shot kebab menu open showing Export Render, plus a Render ready toast in the top-right with a Download action](/files/fOpjJyzhJTHIuZFqkEW0)

While the job is in flight, the menu shows a spinner icon (no text) and the action is disabled. Switching to other parts of the project is fine; the toast follows you.

![Compose-mode shot card with a Rendering... toast in the top-right showing job progress](/files/dDuXBV5I8kiIrhHxbB2J)

### Visualize-mode rendered video (Export Video)

The shot's most recent AI-rendered video as an MP4. Only available when the shot has a selected video render; the menu entry hides when the shot is image-only.

1. **In Visualize mode**, open the kebab (`...`) menu on the shot card in the Storyboard.
2. **Pick Export Video.** The file downloads immediately (trim path uses stream-copy, so this is near-instant for short clips).
3. **Confirm via the OS download notification.**

The per-render download icon below the main render preview also still works for granular per-clip downloads. See [Export shot video](/publish/export-shot-video) for that path and its sibling options (Image, Scene Reference, Crossfade Video, All).

## How to export a whole scene

Visualize mode only today. Compose-mode scene-level export is disabled with a "Coming soon" label (Phase 2).

1. **In Visualize mode**, open the kebab (`...`) menu on the scene group in the Storyboard.
2. **Hover Export** to reveal the submenu.
3. **Pick Export Scene Videos.** A ZIP downloads containing:
   * One MP4 per shot in the scene, in authored order.
   * A concatenated `<scene>_full.mp4` that stitches the shots together with no transitions (hard cuts).

Shots that have only image renders fold into the scene cut as **still slates** so the concatenated file plays continuously without gaps.

## How to export the full sequence

Visualize mode only today. Two options on the storyboard-level kebab.

### Export Sequence Videos

A project-scoped ZIP with per-scene structure.

1. **In Visualize mode**, open the kebab (`...`) menu at the Storyboard level (above the scene groups).
2. **Pick Export Sequence Videos.** A ZIP downloads with this structure:

   ```
   <project>_<timestamp>.zip
   ├── Scene 1/
   │   ├── Shot 1.mp4
   │   ├── Shot 2.mp4
   │   └── Scene 1 full.mp4   (concatenated)
   ├── Scene 2/
   │   ├── ...
   │   └── Scene 2 full.mp4
   └── project.mp4             (full sequence, all scenes concatenated)
   ```

### Download All Media

The full project bundle with editorial-handoff metadata. For when the next step is opening this in Premiere, Resolve, FCP, or another NLE.

1. **Same storyboard-level kebab**, pick **Download All Media**.
2. The ZIP includes everything from Export Sequence Videos plus:
   * **OTIO** (`.otio`) – OpenTimelineIO project, the canonical interchange format.
   * **EDL** (`.edl`) – classic edit decision list for legacy NLE imports.
   * **XML** (`.xml`) – Final Cut Pro XML for direct FCP import.
   * **README.md** – plain-English description of what's in the ZIP and how to import each manifest into common NLEs.

## Filename convention

Every exported file uses the same pattern:

```
<project>_<scene?>_<shot?>_<localTimestamp>.<ext>
```

Timestamps are local-time, AM/PM, with timezone marker:

```
MyProject_Scene01_Shot01_May-14-2026_0716AM-EDT.mp4
MyProject_Scene01_full_May-14-2026_0716AM-EDT.mp4
MyProject_May-14-2026_0716AM-EDT.zip
```

The convention is consistent across all six export paths, so an export from May 14 at 7:16 AM Eastern will collide-free with an export from any other time or scope.

## What's in each file

| Export                      | Format                       | Concat method          | Audio                                          |
| --------------------------- | ---------------------------- | ---------------------- | ---------------------------------------------- |
| Compose-mode Export Render  | H.264 30fps MP4              | n/a (single shot)      | None                                           |
| Visualize-mode Export Video | H.264 MP4 at the source rate | n/a (single shot)      | Per-shot, if the shot was generated with audio |
| Export Scene Videos         | H.264 MP4 ZIP entries        | ffmpeg.wasm, hard cuts | Per-shot audio preserved                       |
| Export Sequence Videos      | H.264 MP4 ZIP entries        | ffmpeg.wasm, hard cuts | Per-shot audio preserved                       |
| Download All Media          | Above + manifest files       | Same                   | Same                                           |

Concat is hard-cut only. No transitions, dissolves, or crossfades. Add those in your NLE downstream from the per-shot files.

## When to reach for each

| Job                                                                  | Path                                                                          |
| -------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| One client deliverable of one shot                                   | Visualize-mode Export Video on the shot kebab                                 |
| Blocking review of one shot before committing AI credits             | Compose-mode Export Render, or [Direct Render](/visualize/direct-render)      |
| Per-shot files plus a scene cut for editorial                        | Export Scene Videos                                                           |
| Full project ZIP for handoff                                         | Export Sequence Videos                                                        |
| Full project plus an NLE-ready timeline (OTIO / EDL / XML)           | Download All Media                                                            |
| Single-frame still or scene-reference image                          | Per-render download icon, see [Export shot video](/publish/export-shot-video) |
| Whole scene's greybox animatic from the Scene Timeline (legacy path) | [Scene to video](/publish/scene-to-video)                                     |

## Limits and known issues

* **Compose-mode scene and sequence exports are disabled.** The kebab shows the entries with a "Coming soon" tooltip. Phase 2 covers a multi-shot server-side queue plus email delivery; today, multi-shot wireframe exports go shot-by-shot.
* **Concat is hard-cut only.** No fades or dissolves at shot boundaries. The concatenated file is a structural cut, not a finished edit.
* **No re-rendering during export.** The export uses whatever's already in the gallery. To incorporate a fresh render, regenerate the shot in Visualize first.
* **No format or codec choice.** H.264 in an MP4 container. For alternative codecs, transcode in your NLE or via ffmpeg downstream.
* **Image-only shots in a scene cut become still slates.** The scene cut plays continuously; the slate is the still image held for the shot's duration.
* **Trim downloads use stream-copy when possible.** Most per-shot trims are near-instant because no re-encode is needed. If you see a longer wait, the trim fell back to ffmpeg.wasm encoding.

## Related

* [Export shot video](/publish/export-shot-video) – the per-render download icon and its sibling options (Image, Scene Reference, Crossfade Video, All).
* [Scene to video](/publish/scene-to-video) – the per-scene animatic export from the Compose Scene Timeline.
* [Direct Render](/visualize/direct-render) – the Visualize-mode equivalent of Compose's Export Render.
* [Export formats](/publish/export-formats) – image (PNG, JPEG) and 3D (GLTF, USD) format options.
* [Timeline](/compose/timeline) – the Sequence Timeline drives playback order in concatenated exports.
* [Publish tab](/publish/publish-tab)
* [Poster](/publish/poster)
* [Presentation mode](/publish/presentation-mode)


# Scene to video

Export the greybox animatic from the Scene Timeline as a video. Useful for blocking review and structural sign-off before any renders are produced.

Export the greybox animatic from the [Scene Timeline](/compose/timeline) as a video file. The output is the 3D scene's blocking played out across the timeline – the structural framing of every shot, captured as motion, before any AI rendering happens.

This is distinct from a 3D scene export (GLTF / USD); that path exports the 3D environment for use in another tool. Scene to video exports the animatic itself as a video.

{% hint style="info" %}
Three adjacent paths exist for non-AI or wireframe video exports. Pick by scope:

* **Scene to video** (this page) – per-scene animatic from the Scene Timeline, Compose / Publish mode.
* [**Direct Render**](/visualize/direct-render) – per-shot wireframe, Visualize mode. The same job as Compose's [Export Render](/publish/export-video#compose-mode-wireframe-export-render); different surface.
* [**Export Scene Videos**](/publish/export-video#how-to-export-a-whole-scene) – per-scene cut of the AI-rendered videos, Visualize mode. Generative, not wireframe.
  {% endhint %}

![Scene Timeline view with the greybox animatic playing across multiple shots, ready for a video export of the blocking pass](/files/oLXsKtPNyKWM1XyACKu5)

## What it does

Before any AI rendering, the Scene Timeline already contains the blocking: camera framings, lens choices, shot lengths, animated subjects and cameras. Scene to video captures that animatic as a video file – useful for reviewing the structural cut, sharing blocking with a director, or producing a low-cost preview before committing to AI render credits.

## How to use it

1. **Switch to Compose mode** and open the Scene Timeline.
2. **Open the scene-to-video export action** from the scene's controls.
3. **The job runs** and the output is a video of the greybox animatic across the scene's shots in their authored order.
4. **The file downloads automatically** to your local download directory when complete. H.264 30fps MP4.

## When to reach for it

* **Blocking review.** Walk a director or producer through the structural cut before committing to renders.
* **Pre-render preview.** Confirm the sequence reads at all before spending credits on Visualize.
* **Reference handoff.** Hand a downstream artist a video of the blocking they can match their work against.

When not to reach for it:

* **Final delivery.** The greybox animatic isn't a rendered shot. For finished output, render each shot in Visualize and use [Export Video](/publish/export-video) or [Export shot video](/publish/export-shot-video).
* **The 3D scene itself.** If the downstream tool needs the 3D geometry, use [Export formats](/publish/export-formats) for GLTF or USD instead.

## Limits and known issues

* **No transitions, no audio.** The animatic is a structural pass; there's no per-shot audio and no cross-shot mixing.
* **No format choice.** H.264 30fps MP4.

## Related

* [Export Video](/publish/export-video)
* [Export shot video](/publish/export-shot-video)
* [Export formats](/publish/export-formats): for 3D scene exports (GLTF, USD).
* [Timeline](/compose/timeline)
* [Publish tab](/publish/publish-tab)


# Export formats

Image and 3D file format options for downloads – PNG, JPEG, GLTF, USD. Cameras carry through; licensed assets may be substituted with stand-ins.

Beyond video exports, Intangible can produce image stills (PNG, JPEG) and 3D scene exports (GLTF, USD). Pick the format that matches the downstream tool. This page is the task-oriented guide to choosing; the complete import/export format reference lives at [Supported file formats](/overview/reference/supported-file-formats).

## What it does

Different downstream pipelines want different formats. A print designer wants PNG. A web developer wants JPEG. An Unreal artist wants GLB. The format picker exposes the working set; choose one based on what the file will go into.

## Image formats

### PNG

Lossless raster. Larger file size than JPEG. The right format for:

* Renders going into print or large-format display.
* Renders going into a downstream design tool (Figma, Photoshop) where you may keep iterating.

### JPEG

Compressed raster. Much smaller files than PNG; some quality loss but visible only at high zoom. The right format for:

* Web upload, social media posts.
* Email attachments to a client for review.
* Storage-constrained delivery where file count is high.

Renders generated at 2K and downloaded as JPEG land at a reasonable file size for web while keeping enough detail for screen viewing.

## 3D scene formats

Export a complete scene with its hierarchy, transforms, and layout intact. Cameras carry through with their position and framing exactly as you composed them. Licensed assets in the scene may be substituted with high-quality stand-ins so the export stays rights-clean; you always get a complete, usable scene.

The canonical scene export formats today are **GLTF** and **USD**. FBX is not supported – for Maya / Max pipelines that historically used FBX, use USD or GLTF as the interchange format instead.

### GLTF (and GLB)

Open 3D format with embedded textures and materials. GLB is the binary variant. The right format for:

* Handing scene assets to a web developer.
* Sending to a real-time engine that consumes GLTF / GLB (Three.js, Babylon, some Unity flows).
* Archiving the 3D scene for re-import elsewhere.
* Taking authored motion out of Intangible, since GLTF is the only export that carries animation.

#### What the GLB carries

A GLB export is the whole shot, not just the set. It includes:

* **Characters as skinned meshes**, with their pose baked in.
* **Character props** bound to the same skeleton, so hair and worn items travel with the rig rather than detaching.
* **Rig animation** from the scene timeline, sampled per frame at 30fps.
* **Object transform animation**, so anything you keyframed moves.
* **Material color animation**, for materials whose color changes over the shot.

All of the timeline motion is packed into a single animation named **Scene Timeline**. Anything that reads standard glTF plays it without setup: Blender, the Babylon sandbox, and `gltf-viewer.donmccurdy.com` are the quickest ways to confirm an export before you hand it over.

{% hint style="info" %}
If a character comes through frozen in a viewer, check whether the viewer is autoplaying every animation in the file at once. Play **Scene Timeline** on its own.
{% endhint %}

### USD

The format Unreal and most virtual-production pipelines expect. The right format for:

* Unreal Engine handoffs for VP work.
* DCC-to-DCC interchange where GLTF doesn't carry your structure cleanly.
* Maya / Houdini round-trips where USD is the agreed lingua franca.

USD exports carry geometry and layout, not animation. If the handoff needs the motion as well as the set, export GLB alongside it.

## What's not supported

A few formats users sometimes ask about that aren't exposed today:

* **FBX** – the legacy Maya / Max interchange format. Use USD or GLTF for those pipelines instead.
* **TIFF** – high-bit-depth print. PNG covers most print cases at lower bit depth.
* **WebP** – modern compressed raster. JPEG is the closest substitute.

If your downstream pipeline strictly needs a format Intangible doesn't export, transcode externally from PNG, GLTF, or USD.

## How to choose

| Downstream tool                   | Format      |
| --------------------------------- | ----------- |
| Photoshop                         | PNG         |
| Figma                             | PNG or JPEG |
| Premiere or Resolve (still frame) | PNG         |
| Web upload (social, blog)         | JPEG        |
| Email                             | JPEG        |
| Unreal Engine                     | USD         |
| Three.js or Babylon               | GLTF / GLB  |
| Maya / Houdini                    | USD         |
| Print                             | PNG         |

## How to export

The format is automatically determined by what's selected and which model produced it. Image renders download as PNG or JPEG depending on the source; 3D scene exports go through the dedicated scene-export action. There's no manual format picker mid-flow.

For a 3D scene, open the scene's card in the Sequencer, click the kebab menu (`⋯`), then **Export → Export GLTF**. The file downloads as a GLB.

The per-render download icon below each gallery render is the entry point for image stills. Its popup menu (Image / Scene Reference / Crossfade Video / All) and what lands in each file are documented in [Export shot video](/publish/export-shot-video#per-render-download-icon-path) – that page owns the menu reference.

For video exports at shot, scene, or sequence scope, see [Export Video](/publish/export-video). The Storyboard kebab menus expose Export Render (Compose mode) and Export Video / Export Scene Videos / Export Sequence Videos / Download All Media (Visualize mode).

For batch image export, repeat the per-render flow from each render in [Managing outputs](/visualize/managing-outputs).

## Limits and known issues

* **Scene exports of large scenes can take time.** Multi-thousand-object scenes (city populators, dense environments) take minutes to bundle. Plan for it.
* **Populators export as frozen instances or as individual objects.** Either way, the populator's runtime regeneration is baked out at export time; the file is geometry, not a populator definition.
* **Licensed assets may be substituted with stand-ins.** Owned assets export at full fidelity; licensed library assets may export with high-quality substitutes so the file stays rights-clean. You always get a complete scene; plan around the substitution if a specific licensed asset matters downstream.
* **Animation exports on GLTF only.** USD carries geometry and layout without motion.
* **Gaussian splats are not included in a GLTF export.** A scene that mixes splats with meshes exports the meshes; the splats have to be handled separately from their source files.
* **PNG and JPEG output resolution matches the render's resolution.** A 1K render exports as a 1K image; a 2K render as a 2K image. To get a higher-resolution still, render at 2K first.

## Related

* [Publish tab](/publish/publish-tab)
* [Export Video](/publish/export-video)
* [Export shot video](/publish/export-shot-video)
* [Managing outputs](/visualize/managing-outputs)
* [Supported file formats](/overview/reference/supported-file-formats)




---

[Next Page](/llms-full.txt/1)

