# Describe to Picker

> Analyze a photo with a vision model and fill the Person, Styling, Framing, Lens and Camera / Film Stock pickers you connect with valid catalog choices.

Source: https://nodaro.ai/docs/nodes/image/describe-to-picker

The **Describe to Picker** node analyzes a photo and fills the picker nodes you connect to it. A vision model looks at the main subject and the scene. It returns choices that exist in each picker's catalog, such as the person's age and hair, the makeup, the shot size or the lens. One run fills every connected picker.

- Found in: Image › Understand
- Output: data
- API type: `describe-to-picker`

## When to use it
- Turn a reference portrait into a full casting brief: connect [Person](https://nodaro.ai/docs/nodes/creative-controls/person), [Styling](https://nodaro.ai/docs/nodes/creative-controls/styling) and [Framing](https://nodaro.ai/docs/nodes/creative-controls/framing), then feed them into [Generate Image](https://nodaro.ai/docs/nodes/image/generate-image) or [Generate Video](https://nodaro.ai/docs/nodes/video/generate-video).
- Set up a recurring character, with its styling and its lens look, from a single photo.
- Match the camera of a reference image: detect its shot size, angle, lens and film stock.

## Quick start
### Add the node

Press Tab on the canvas and choose **Image › Understand › Describe to Picker**.

### Connect the photo

Drag from an image node, such as [Upload Image](https://nodaro.ai/docs/nodes/image/upload-image), to the **Image** input.

### Connect the pickers to fill

Drag from the **Picker JSON** output to the **Picker JSON** input of each picker you want filled. The settings panel lists them under **Analyzing:**.

### Run it and apply the result

Click **Run** on the node. Each picker receives its own part of the result. By default, click **Update from injected** on each picker to apply it.

Workflow: One photo fills the Person, Styling and Framing pickers, which then shape a new image.

- Upload Image → Describe to Picker (image)
- Describe to Picker → Person (picker json)
- Describe to Picker → Styling (picker json)
- Describe to Picker → Framing (picker json)
- Person → Generate Image (elements)
- Styling → Generate Image (elements)
- Framing → Generate Image (look)

## Inputs
| Input | Accepts | What it does |
| --- | --- | --- |
| **Image** | Image nodes, such as Upload Image and Generate Image | The photo to analyze. Required. |

The output, **Picker JSON**, is structured data with one part for each connected picker. Only picker nodes can read it: it does not connect to text inputs.

## What it fills

The node analyzes exactly the pickers wired to its output, and no others. There is no picker setting to choose: the wiring is the choice.

| Picker | What it detects |
| --- | --- |
| [Person](https://nodaro.ai/docs/nodes/creative-controls/person) | Traits such as type, age, ethnicity, build, hair, eyes and skin |
| [Styling](https://nodaro.ai/docs/nodes/creative-controls/styling) | Styling choices from the picker's catalog, such as makeup, eyewear and jewelry |
| [Framing](https://nodaro.ai/docs/nodes/creative-controls/framing) | Shot size, angle and composition |
| [Lens](https://nodaro.ai/docs/nodes/creative-controls/lens) | The lens |
| [Camera / Film Stock](https://nodaro.ai/docs/nodes/creative-controls/camera-format) | The camera or the film format |

Every value is a real choice from the picker's own catalog, so a picker never receives a value it does not know. A trait that is not visible in the photo is left out.

## How pickers apply the result

Each picker decides how to use its part of the result, with two settings in its settings panel.

**When image JSON is injected** chooses how new values merge with the picker's current choices:

| Mode | What it does |
| --- | --- |
| **Full override (clear undetected)** | The default. Writes every detected value and clears every value that was not detected. Use it when the photo should fully define the picker. |
| **Overwrite detected (keep rest)** | Writes only the detected values and keeps your other choices. |
| **Fill empty only** | Writes a detected value only where the field is empty. It never overwrites a choice you made. |

**Auto-apply on change** is off by default. When it is off, the picker shows an **Update from injected** button when a new result differs from what it last applied. Otherwise it shows **Up to date**. When it is on, every new result is applied at once, with the chosen mode. Running the analysis again with the same result does not mark the picker as changed.

In every mode, only the picker's choices change. The picker's label, its pre and post text and its layout stay as they are.

## Settings
| Setting | What it does |
| --- | --- |
| **Analyzing:** | Read only. The connected pickers that the next run will fill. Change it by wiring or unwiring pickers. |
| **AI Model** | The vision model. The default is Claude Opus 5, chosen for accurate details such as skin tone. The list offers only vision models that can return this structured result reliably, from the Claude, Gemini, GPT and Grok families. |
| **Reasoning Effort** | How much the model reasons before it answers, on models that support it. The default is **Auto (model default)**. |
| **Advanced mode** | Gemini models only. Runs the model on the provider directly, so that **Temperature**, **Max Tokens** and the full range of reasoning depth take effect. |
| **Extra guidance (optional)** | Your own instructions for the analysis, up to 2,000 characters, for example `focus on the foreground subject`. |

## Credits
Every run costs a flat 10 credits, whatever the model and however many pickers you connect. The whole analysis is one call to the model. The credits are reserved when the run starts and refunded if the analysis fails.

## Troubleshooting
**The run is refused with a message to connect a picker node.** Nothing that the node can fill is wired to its output. Connect at least one Person, Styling, Framing, Lens or Camera / Film Stock picker.

**A picker did not change after the run.** **Auto-apply on change** is off by default. Click **Update from injected** on the picker, or turn on **Auto-apply on change**.

**The node described the wrong person.** When a photo has several people or a busy background, add **Extra guidance (optional)**, such as `describe the woman in the red coat`.

## Tips
- **Fill several pickers in one run.** Person, Styling and Framing together turn one photo into a casting, look and shot brief, for the same price as one picker.
- **Protect your own choices.** Use **Fill empty only** when you have chosen a few defining traits by hand and want the photo to fill in the rest.
- **Refresh without losing extras.** Use **Overwrite detected (keep rest)** to update what the photo shows and keep the choices you added by hand.
- **Recast from scratch.** Use **Full override (clear undetected)** for a clean, photo-driven version of the picker.

## Frequently asked questions

### Which pickers can Describe to Picker fill?

Person, Styling, Framing, Lens and Camera / Film Stock. It fills exactly the ones you connect to its output, in one analysis.

### How many credits does Describe to Picker cost?

A flat 10 credits per run, whatever the model and however many pickers you connect. If the analysis fails, the credits are refunded.

### Will it overwrite choices I made by hand?

That depends on each picker's When image JSON is injected setting. Fill empty only never overwrites your choices. Overwrite detected keeps everything that was not detected. Full override, the default, also clears everything that was not detected.

### Why did nothing change on my picker?

Auto-apply on change is off by default. Click Update from injected on the picker to apply the new values, or turn on Auto-apply on change.

### What is the difference between Describe to Picker and Describe Image?

Describe Image writes free text. Describe to Picker returns structured choices that exist in each picker's catalog, so the pickers can apply them directly.
