# Generate 3D Scene

> Describe a shot and get an editable, animated 3D clay scene for previz, with objects, camera moves and timing, to render as a layout reference for video models.

Source: https://nodaro.ai/docs/nodes/video/generate-3d-scene

The **Generate 3D Scene** node turns a description of a shot into an editable, animated 3D scene in untextured clay. It places the objects, the camera and their motion over time, so you can check framing, camera moves and blocking before you spend credits on a final video. The node returns the scene, not a video: edit it with [Edit 3D Scene](https://nodaro.ai/docs/nodes/video/edit-3d-scene), or export it with [Render Video](https://nodaro.ai/docs/nodes/video/render-video).

- Found in: Video › Titles, Graphics & Captions
- Output: data
- API type: `generate-3d-scene`

## When to use it
- You want to previsualize a shot: where the subjects stand, what is in front of what, and how the camera moves.
- You want a layout reference that makes a video model follow your blocking and camera move.
- You want to rebuild the rough layout or motion of a reference image or clip, then adjust it.
- You want to compare camera moves and timings cheaply before a final render.

## Where it is available

Generate 3D Scene is in the node picker on every edition, under **Video › Titles, Graphics & Captions**. Code and AI assistants can run it through the API, the SDK and the `generate_3d_scene` MCP tool. On self-hosted installs there is no credit billing.

## Quick start
### Add the node

Press Tab on the canvas and choose **Video › Titles, Graphics & Captions › Generate 3D Scene**.

### Describe the shot

In the settings panel, write the objects, their motion, the camera's position and movement, and the timing under **Scene**. For example: `A red suitcase rolls behind a central pillar and reappears. Dolly right over four seconds.`

### Add references, if you have them

Connect up to 8 images and at most 1 video to the **References** input. For each one, choose a role under **References**: appearance, layout or motion.

### Run it and check the preview

Click **Run**. The 3D preview appears in the settings panel. Play it, scrub the timeline, and adjust objects or the camera directly.

### Render it

Connect the **Composition** output to [Render Video](https://nodaro.ai/docs/nodes/video/render-video) and run it to get a clay MP4.

Workflow: A clay previz scene is rendered and guides the final video's layout and camera, while the character supplies the look.

- Upload Image → Generate 3D Scene (references)
- Generate 3D Scene → Render Video (composition)
- Render Video → Generate Video (video refs)
- Character Asset → Generate Video

## Inputs
| Input | Accepts | What it does |
| --- | --- | --- |
| **References** | Image and video nodes | Optional. Up to 8 references, including at most 1 video. Images guide appearance and layout. A video guides motion and layout. |

The output, **Composition**, is the editable scene. Connect it to [Render Video](https://nodaro.ai/docs/nodes/video/render-video), or to the **Scene** input of [Edit 3D Scene](https://nodaro.ai/docs/nodes/video/edit-3d-scene) or [3D Render Pro](https://nodaro.ai/docs/nodes/video/pro-3d-render).

## Settings
| Setting | What it does |
| --- | --- |
| **Authoring engine** | Shown only when your install offers an advanced engine. **Basic** is the default. **Advanced — hosted** builds more detailed scenes and is priced separately. **Advanced — local Blender** appears only where the install supports a paired desktop. Advanced engines use a fixed planner, so the model settings are hidden. |
| **AI Model** | The language model that plans the scene. The default is **Claude Sonnet 4.6**. The model's tier (**Economy**, **Standard** or **Premium**) sets the price. |
| **Reasoning Effort** | Shown for models that can reason. **Very high** and **Max** may bill one tier up. |
| **Scene** | The description of the shot: the objects, their motion, the camera and the timing. |
| **References** | One role for each connected reference: **appearance** (the default for images), **layout** or **motion** (the default for a video). |
| **FPS** | `24` (the default), `30` or `60` frames per second. |
| **Duration (s)** | From 1 to 60 seconds. The default is 4. |
| **Aspect Ratio** | `16:9` (the default), `9:16`, `1:1` or `4:5`. |
| **Pre & post text** | Text added before and after the scene description at run time. See [Prompt pre and post text](https://nodaro.ai/docs/concepts/prompt-pre-post-text). |

A role tells the model what a reference means: what things look like, where things go, or how they move. The same picture means three different things under the three roles.

## The preview and revisions

The scene stores every object's id, position, rotation, scale and size, the camera's position, target and lens, the lighting and the keyframes. The 3D preview in the settings panel lets you play and scrub the scene, select objects and edit their values directly.

- **Direct edits are free.** Changing a value in the preview creates a new revision of the scene, without any model call and without credits.
- **Animated or not.** On a channel that is not animated, an edit moves the object at every frame. On an animated channel, an edit writes a keyframe at the current frame.
- **Every revision is kept.** The revision list shows where each one came from: **Generated**, **Model edit**, **Manual edit** or **From the connected scene**. Restore any revision to make it active again.
- **Your edits win.** If a generation finishes after you edited the scene, your edits stay active. A notice offers **Use the new one** or **Keep mine**.
- **Units.** Positions are in meters with Y pointing up, rotations are in radians, and frames count from 0.

Each MP4 you render uses one specific revision.

## What the scene can and cannot do

- **Simple geometry.** The Basic engine builds scenes from simple shapes and groups, including simple stand-in figures for people. It does not build detailed textured models or physics simulations.
- **Approximate reconstruction.** An image cannot show what is hidden in it, so hidden geometry is guessed. A video reference is read as a guide for motion and layout.
- **Whole clips only.** A video reference is analyzed as a whole. To use part of a clip, trim it first with [Trim Video](https://nodaro.ai/docs/nodes/video/trim-video) and reference the trimmed clip.

Always check the preview before you export.

## Use the render as a video reference

The MP4 that Render Video exports from a scene is a **layout reference**. It carries where the subjects are, what is in front of what, the framing, the camera move and the timing. It also carries a look, untextured grey clay, and a video model copies that look unless it is told not to. Two rules keep the layout and drop the clay.

**1. Never attach the clay render without a scoping line.** Wire the Render Video output into the **Video Refs** input of a [Generate Video](https://nodaro.ai/docs/nodes/video/generate-video) node, and Nodaro adds the line for that reference by itself. It does so on a workflow run and on the video node's own **Run**. The node's **Final** prompt preview shows the line exactly as it is sent. The line for a clip is:

> LAYOUT reference only — match its subject positions and blocking, its foreground occlusion, its framing, its camera angle, its camera motion and its timing. Ignore its untextured grey clay placeholder look, its flat placeholder colours, its materials, its lighting and its empty background; none of that is the target look. Take the look from the prompt and from the other references

The model reads it as `@video_1:` followed by that line. For a scene whose camera does not move, the line leaves out the camera-motion clause. For a frame extracted from the render and wired as an image reference, it leaves out the motion and timing clauses. A prompt that already scopes that reference is left alone, so running again never doubles the line.

**2. Give every figure that must look real its own character reference.** Photoreal treatment follows each referenced subject, not the whole frame. With one layout reference and one character, only that character becomes real, and every other figure stays a clay stand-in. With one [Character Asset](https://nodaro.ai/docs/nodes/assets/character) per figure, every figure becomes real and keeps its identity. Keep two reference slots free for a location or a style image.

Also connect your original appearance images to the final video node: the clay render supplies the blocking and the camera, and the images supply the look. Wire the render into a reference input, never into the start frame, because a start frame sets the look and no scoping line reaches it. To compare a guided and an unguided result, keep the prompt, the images, the model and the settings identical, and add only the clay video with its line.

## Credits
On Nodaro Cloud, a scene costs the sum of up to three parts:

| Part | Credits |
| --- | --- |
| Authoring the scene | 10 with an Economy model, 30 with a Standard model, 40 with a Premium model |
| A video reference, when there is one | The [Video Analysis](https://nodaro.ai/docs/nodes/video/video-analysis#credits) price for that video |
| Exporting an MP4 with Render Video | 50 up to 1920 pixels on the longest side, 75 up to 5.12 megapixels, 125 above that |

The default model is Standard. A scene with image references only costs 30 credits to author, and 80 credits with one MP4 export. A high **Reasoning Effort** can raise the billed tier.

Every aspect ratio this node offers renders at 1920 pixels or less, so its exports cost 50 credits. A larger frame appears only when a scene is resized in the editor, or supplied through the API or MCP. See [What a 3D scene render costs](https://nodaro.ai/docs/nodes/video/render-video#what-a-3d-scene-render-costs).

Playing the preview and editing values are free. Community and Business editions do not use credit billing.

## Tips
- **Say what the camera does and when.** "Dolly right over four seconds" gives the model a clear move and duration.
- **Keep previz short.** The default of 4 seconds at 24 fps is one beat of blocking, which is what a previz pass is for.
- **Lock what must not change.** Before you ask [Edit 3D Scene](https://nodaro.ai/docs/nodes/video/edit-3d-scene) for a change, lock the objects that must stay as they are.
- **Need a finished shot in one step?** [3D Render Pro](https://nodaro.ai/docs/nodes/video/pro-3d-render) authors and exports a more detailed scene in one run, where your install offers it.

## Troubleshooting
**The preview says it needs WebGL.** The 3D preview needs WebGL, and the browser has it turned off. Enable WebGL in the browser, or use a browser that supports it. The scene itself is intact: you can still render it to video.

**The preview stops or loses its graphics context.** The scene data is not affected. Keep editing values in the panel, or render the scene to video.

## From the API
`POST /v1/3d-scene/generate` returns a `jobId`. When the job completes, its `output_data.scenePlan` holds the editable scene. Render it with `POST /v1/render-video/plan` and `planType: "3d-scene"`.

```typescript
const scene = await client.nodes.runAndWait("generate-3d-scene", {
prompt: "A red suitcase rolls behind a central pillar and reappears. Dolly right over four seconds.",
durationSeconds: 4,
fps: 24,
aspectRatio: "16:9",
references: [{ id: "suitcase-appearance", kind: "image", role: "appearance", url: appearanceImageUrl }],
});
const video = await client.nodes.runAndWait("render-video", { planType: "3d-scene", plan: scene.scenePlan });
```

- **References** use `{ id, url, kind, role }`: `kind` is `image` or `video`, and `role` is `appearance`, `layout` or `motion`. An optional `objectId` ties a reference to one object. Partial time windows of a video are refused before any charge.
- **Frame rate.** Through the API, `fps` can be any value from 15 to 60.
- **Engines.** `GET /v1/3d-scene/capabilities` lists the optional advanced engines of the install. Asking for an engine that is not available is refused; it never falls back to Basic. With an advanced engine that supports imports, `inputAssets` can bring in up to 8 existing GLB models that your scenes retained.
- **Advanced results.** A scene from an advanced engine also reports the assumptions it made and the repairs it ran. It can be delivered without the visual review's approval, and a failed run can keep the draft it built. [3D Render Pro](https://nodaro.ai/docs/nodes/video/pro-3d-render#what-happens-when-a-run-does-not-pass) explains how to read these results.

AI assistants use the `generate_3d_scene`, `edit_3d_scene` and `render_3d_scene` MCP tools. See [3D scenes through MCP](https://nodaro.ai/docs/mcp/3d-scenes) and the [3D scenes API](https://nodaro.ai/docs/developers/api/3d-scenes).

## Frequently asked questions

### Where do I find Generate 3D Scene?

In the node picker under Video › Titles, Graphics & Captions, on every edition. Code and AI assistants can also run it through the API, the SDK and the generate_3d_scene MCP tool.

### Does Generate 3D Scene make a video?

No. It makes an editable 3D scene. Connect it to Render Video to export an MP4, which costs 50 credits on Nodaro Cloud for any aspect ratio the node offers.

### How many credits does Generate 3D Scene cost?

On Nodaro Cloud, authoring a scene costs 10, 30 or 40 credits for an Economy, Standard or Premium model. The default model is Standard, so a scene costs 30 credits, or 80 with one MP4 export. A video reference adds a Video Analysis charge, and preview edits are free.

### Can it rebuild a scene from a photo or a video?

Approximately. Images guide the appearance and the layout, and a video guides the motion and the layout. The scene uses simple shapes and stand-in figures, so it does not recover hidden geometry or detailed textures.

### How do I use the clay render with a video model?

Wire the rendered MP4 into the Video Refs input of a Generate Video node. Nodaro adds a line that tells the model to copy only the layout, camera and timing, and to ignore the clay look. Give every figure that must look real its own character reference.
