# 피커로 설명

> 비전 모델로 사진을 분석하고, 연결한 인물, 스타일링, 프레이밍, 렌즈, 카메라 / 필름 피커를 카탈로그에 있는 유효한 선택지로 채웁니다.

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

**피커로 설명** 노드는 사진을 분석하고, 연결한 피커 노드를 채웁니다. 비전 모델이 주요 피사체와 장면을 살펴봅니다. 그리고 인물의 나이와 머리, 메이크업, 샷 크기, 렌즈처럼 각 피커의 카탈로그에 있는 선택지를 반환합니다. 한 번 실행하면 연결된 모든 피커가 채워집니다.

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

## 사용 시기
- 레퍼런스 인물 사진을 완전한 캐스팅 브리프로 바꿉니다. [인물](https://nodaro.ai/docs/nodes/creative-controls/person), [스타일링](https://nodaro.ai/docs/nodes/creative-controls/styling), [프레이밍](https://nodaro.ai/docs/nodes/creative-controls/framing)을 연결한 다음, [이미지 생성](https://nodaro.ai/docs/nodes/image/generate-image)이나 [동영상 생성](https://nodaro.ai/docs/nodes/video/generate-video)에 넣으세요.
- 사진 한 장으로 스타일링과 렌즈 느낌까지 갖춘 반복 등장 캐릭터를 설정합니다.
- 레퍼런스 이미지의 카메라에 맞춥니다. 샷 크기, 앵글, 렌즈, 필름 스톡을 감지합니다.

## 빠른 시작
### 노드 추가
캔버스에서 Tab을 누르고 **이미지 › 해석 › 피커로 설명**을 선택하세요.

### 사진 연결
[이미지 업로드](https://nodaro.ai/docs/nodes/image/upload-image) 같은 이미지 노드에서 **이미지** 입력으로 드래그하세요.

### 채울 피커 연결
**피커 JSON** 출력에서 채우고 싶은 각 피커의 **피커 JSON** 입력으로 드래그하세요. 설정 패널의 **분석 대상:** 아래에 그 피커들이 표시됩니다.

### 실행하고 결과 적용
노드에서 **실행**을 클릭하세요. 각 피커는 결과 중 자기 몫을 받습니다. 기본적으로는 각 피커에서 **주입된 값으로 업데이트**를 클릭해 적용하세요.

Workflow: 사진 한 장이 인물, 스타일링, 프레이밍 피커를 채우고, 그 피커들이 새 이미지를 만듭니다.

- 이미지 업로드 → 피커로 설명 (이미지)
- 피커로 설명 → 인물 (피커 JSON)
- 피커로 설명 → 스타일링 (피커 JSON)
- 피커로 설명 → 프레이밍 (피커 JSON)
- 인물 → 이미지 생성 (요소)
- 스타일링 → 이미지 생성 (요소)
- 프레이밍 → 이미지 생성 (룩)

## 입력
| 입력 | 받는 것 | 하는 일 |
| --- | --- | --- |
| **이미지** | 이미지 업로드, 이미지 생성 같은 이미지 노드 | 분석할 사진입니다. 필수입니다. |

출력인 **피커 JSON**은 연결된 피커마다 한 부분씩 담은 구조화된 데이터입니다. 피커 노드만 읽을 수 있으며, 텍스트 입력에는 연결되지 않습니다.

## 채우는 항목
노드는 출력에 연결된 피커만 정확히 분석하며, 그 밖의 피커는 분석하지 않습니다. 피커를 고르는 설정은 따로 없습니다. 연결이 곧 선택입니다.

| 피커 | 감지하는 내용 |
| --- | --- |
| [인물](https://nodaro.ai/docs/nodes/creative-controls/person) | 유형, 나이, 민족, 체형, 머리, 눈, 피부 같은 특징 |
| [스타일링](https://nodaro.ai/docs/nodes/creative-controls/styling) | 메이크업, 안경, 주얼리처럼 피커 카탈로그에 있는 스타일링 선택지 |
| [프레이밍](https://nodaro.ai/docs/nodes/creative-controls/framing) | 샷 크기, 앵글, 구도 |
| [렌즈](https://nodaro.ai/docs/nodes/creative-controls/lens) | 렌즈 |
| [카메라 / 필름](https://nodaro.ai/docs/nodes/creative-controls/camera-format) | 카메라 또는 필름 포맷 |

모든 값은 피커 자체 카탈로그에 있는 실제 선택지이므로, 피커가 모르는 값을 받는 일은 없습니다. 사진에서 보이지 않는 특징은 빠집니다.

## 피커가 결과를 적용하는 방식
각 피커는 설정 패널의 두 설정으로 결과 중 자기 몫을 어떻게 쓸지 정합니다.

**이미지 JSON이 주입될 때**는 새 값을 피커의 현재 선택과 어떻게 합칠지 정합니다.

| 모드 | 기능 |
| --- | --- |
| **전체 덮어쓰기(감지되지 않은 항목은 지움)** | 기본값입니다. 감지된 값을 모두 쓰고, 감지되지 않은 값은 모두 지웁니다. 사진이 피커를 완전히 정해야 할 때 쓰세요. |
| **감지된 항목만 덮어쓰기(나머지는 유지)** | 감지된 값만 쓰고 나머지 내 선택은 유지합니다. |
| **빈 항목만 채우기** | 필드가 비어 있을 때만 감지된 값을 씁니다. 내가 고른 선택은 절대 덮어쓰지 않습니다. |

**변경 시 자동 적용**은 기본적으로 꺼져 있습니다. 꺼져 있으면, 새 결과가 마지막으로 적용한 것과 다를 때 피커에 **주입된 값으로 업데이트** 버튼이 표시됩니다. 그렇지 않으면 **최신 상태**가 표시됩니다. 켜져 있으면 새 결과가 나올 때마다 고른 모드로 즉시 적용됩니다. 같은 결과로 분석을 다시 실행해도 피커가 변경된 것으로 표시되지 않습니다.

어떤 모드에서든 바뀌는 것은 피커의 선택뿐입니다. 피커의 레이블, 앞뒤 텍스트, 레이아웃은 그대로입니다.

## 설정
| 설정 | 기능 |
| --- | --- |
| **분석 대상:** | 읽기 전용입니다. 다음 실행에서 채울, 연결된 피커입니다. 피커를 연결하거나 연결을 끊어서 바꿉니다. |
| **AI 모델** | 비전 모델입니다. 기본값은 Claude Opus 5.5이며, [비전 모델 비교 테스트](https://nodaro.ai/docs/research/vision-model-bakeoff)에서 가장 자세한 분석 중 하나를 내놓았습니다. 목록에는 이 구조화된 결과를 안정적으로 반환할 수 있는 비전 모델만 있습니다. |
| **추론 강도** | 지원하는 모델에서, 모델이 답하기 전에 얼마나 추론할지 정합니다. 기본값은 Claude Opus 5.5에서는 **높음**, 그 밖의 모든 모델에서는 <strong>자동(모델 기본값)</strong>입니다. 테스트에서 **매우 높음**과 **최대**는 답을 더 낫게 하지 않고 분석만 느리게 했습니다. |
| **고급 모드** | Gemini 모델과 Claude 모델용입니다. 모델을 제작사에서 직접 실행하므로 **온도**, **최대 토큰 수**, 추론 깊이의 전체 범위가 적용됩니다. |
| **추가 지침(선택 사항)** | 분석에 대한 내 지시로, 최대 2,000자입니다. 예: `focus on the foreground subject`(전경의 피사체에 집중). |

## 크레딧
실행당 모델과 실행 방식에 따라 11~28크레딧이 듭니다. 분석 전체가 모델 호출 한 번이므로, 연결한 피커 수는 가격에 영향을 주지 않습니다.

| 모델과 설정 | 실행당 크레딧 |
| --- | --- |
| 추론 강도를 설정한 Claude Opus 5.5 또는 Claude Fable 5(기본값인 **높음**의 Claude Opus 5.5 포함) | 28 |
| Gemini 3.1 Pro처럼 **고급 모드**의 프리미엄 모델 | 28 |
| 고급 모드가 아닌 Gemini 3.1 Pro, Kimi K3, GPT-6 Astra, GPT-6.1 Sol 같은 그 밖의 프리미엄 모델 | 11 |
| 스탠다드 모델, 또는 **고급 모드**의 이코노미 모델 | 11 |
| Gemini 3.8 Flash 같은 이코노미 모델 | 11 |

크레딧은 실행이 시작될 때 예약되고, 분석이 실패하면 환불됩니다. 단, 청구된 콘텐츠 거부는 예외입니다.

- **Claude를 쓸 수 없을 때.** Nodaro 측에서 서비스가 중단되었거나 혼잡해 Claude 모델이 응답하지 못하면, 같은 분석이 Gemini 3.8 Flash에서 한 번 실행됩니다. 예약된 Claude 가격이 아니라 Gemini 3.8 Flash 가격인 11크레딧이 청구됩니다. Gemini 3.8 Flash도 실패하면 실행이 실패하고 크레딧이 환불됩니다.
- **콘텐츠 거부.** 모델이 콘텐츠를 이유로 사진을 거부하면 실행이 콘텐츠 정책 메시지와 함께 실패합니다. 다른 모델로 보내지 않습니다. 모델 제작사가 거부에 요금을 청구했다면 크레딧이 청구되고, 청구하지 않았다면 환불됩니다.
- **아무것도 읽지 못하면 청구되지 않습니다.** 분석이 연결된 어떤 피커에 대해서도 특징을 찾지 못하면, 실행이 “이 사진에서 아무것도 읽지 못했습니다. 한 사람이 더 선명하게 나온 사진을 사용해 보세요. 크레딧은 청구되지 않았습니다.”라는 메시지와 함께 실패합니다. 크레딧이 환불됩니다.

## 문제 해결
**피커 노드를 연결하라는 메시지와 함께 실행이 거부됩니다.** 노드가 채울 수 있는 것이 출력에 하나도 연결되어 있지 않습니다. 인물, 스타일링, 프레이밍, 렌즈, 카메라 / 필름 피커를 하나 이상 연결하세요.

**실행 후 피커가 바뀌지 않았습니다.** **변경 시 자동 적용**은 기본적으로 꺼져 있습니다. 피커에서 **주입된 값으로 업데이트**를 클릭하거나 **변경 시 자동 적용**을 켜세요.

**“이 사진에서 아무것도 읽지 못했습니다”라는 메시지와 함께 실행이 실패합니다.** 모델이 연결된 어떤 피커에 대해서도 특징을 찾지 못했으며, 크레딧은 청구되지 않았습니다. 한 사람이 더 선명하게 나온 사진을 사용해 보세요.

**노드가 다른 사람을 설명했습니다.** 사진에 여러 사람이 있거나 배경이 복잡하면 `describe the woman in the red coat`(빨간 코트를 입은 여성을 설명) 같은 <strong>추가 지침(선택 사항)</strong>을 넣으세요.

## 팁
- **한 번의 실행으로 여러 피커를 채우세요.** 인물, 스타일링, 프레이밍을 함께 쓰면 사진 한 장이 캐스팅, 룩, 샷 브리프가 되며, 가격은 피커 하나와 같습니다.
- **내 선택을 지키세요.** 핵심 특징 몇 가지를 직접 골라 두고 나머지만 사진으로 채우고 싶다면 **빈 항목만 채우기**를 쓰세요.
- **추가한 항목을 잃지 않고 새로 고치세요.** 사진에 보이는 것은 업데이트하고 직접 추가한 선택은 유지하려면 <strong>감지된 항목만 덮어쓰기(나머지는 유지)</strong>를 쓰세요.
- **처음부터 다시 캐스팅하세요.** 사진만으로 깔끔하게 정한 피커를 원하면 <strong>전체 덮어쓰기(감지되지 않은 항목은 지움)</strong>를 쓰세요.

## API에서 사용
`POST /v1/describe-to-picker`는 같은 분석을 코드에서 실행합니다. 같은 요청 안에서 `{ jobId, pickerJson, gaps }`로 응답합니다. `pickerJson`은 각 피커에 감지된 값을 `{ "<picker>": { "<dimension>": "<id>" } }` 형태로 주며, 여러 개를 고를 수 있는 항목에는 id 목록을 줍니다.

| 필드 | 기능 |
| --- | --- |
| `imageUrl` | 필수입니다. 사진의 공개 `http` 또는 `https` 링크입니다. |
| `targetPickers` | 필수입니다. 채울 피커입니다. 예: `person`, `styling`, `framing`, `lens`, `camera-format`. |
| `instructions` | <strong>추가 지침(선택 사항)</strong>으로, 최대 2,000자입니다. |
| `llmModel` | 비전 모델입니다. 기본값은 추론 강도 `high`의 `claude-opus-5.5`입니다. |
| `reasoningEffort` | `none`, `low`, `medium`, `high`, `xhigh`, `max` 중 하나입니다. |
| `advancedMode`, `temperature`, `maxTokens` | Gemini 모델과 Claude 모델에서 쓰는 **고급 모드**와 그 컨트롤입니다. Claude 모델은 **온도**를 무시합니다. |

**답변 스트리밍.** `Accept: text/event-stream`을 보내면 답변을 서버 전송 이벤트로 받으므로, 클라이언트가 모델이 특징을 쓰는 즉시 하나씩 보여 줄 수 있습니다. 잘못된 요청이나 크레딧 부족처럼 스트림이 열리기 전에 발견된 오류는 여전히 일반적인 JSON 오류 본문을 담은 평범한 HTTP 응답으로 옵니다. 스트림은 `200`으로 응답하며, 각 이벤트는 JSON 객체 `{ "type", "data" }`를 담은 `data:` 줄 하나입니다.

| `type` | `data` | 의미 |
| --- | --- | --- |
| `field` | `{ "field": "<picker>.<dimension>", "value" }` | 감지된 특징 하나로, 모델이 쓰는 즉시 한 번 전송됩니다. 잠정적인 값이며 `done`에서 수정될 수 있습니다. |
| `done` | `{ jobId, pickerJson, gaps }` | JSON 응답과 같은 답변입니다. 최종 값입니다. |
| `error` | `{ "code": "llm_error", "message" }` | 스트림이 열린 뒤 분석이 실패했습니다. 청구된 콘텐츠 거부를 제외하면 크레딧이 환불됩니다. |

- 스트림은 `done` 또는 `error` 뒤에 끝납니다. `: keepalive` 같은 주석 줄은 무시하세요.
- 추론 강도를 설정한 Claude 모델(기본값) 또는 **고급 모드**의 Claude 모델로 실행하면 특징이 `field` 이벤트로 올 수 있습니다. 그 밖의 실행은 `done`만 보내며, Gemini 3.8 Flash로 전환된 실행도 마찬가지입니다.
- `field` 이벤트는 [20세 미만 인물에 대한 규칙](https://nodaro.ai/docs/nodes/creative-controls/person#people-under-20)으로 제거될 수 있는 값을 절대 담지 않습니다. 그런 값은 `done`에서만 옵니다.
- 요청 하나가 분석 하나입니다. 크레딧은 `done`과 함께 확정되고 `error`와 함께 환불됩니다. 단, 청구된 콘텐츠 거부는 예외입니다. 클라이언트 연결이 끊겨도 분석은 끝까지 진행되며 크레딧이 청구됩니다.

[노드 하나 실행](https://nodaro.ai/docs/developers/api/nodes)을 참고하세요.

## 자주 묻는 질문

### 피커로 설명 노드는 어떤 피커를 채울 수 있나요?

인물, 스타일링, 프레이밍, 렌즈, 카메라 / 필름입니다. 출력에 연결한 피커만 정확히, 한 번의 분석으로 채웁니다.

### 피커로 설명 노드는 크레딧이 얼마나 드나요?

기본 모델인 높음의 Claude Opus 5.5로는 실행당 28크레딧이고, Gemini 3.8 Flash 같은 모델로는 11크레딧입니다. 연결한 피커 수는 가격에 영향을 주지 않습니다. 분석이 실패하면 크레딧이 환불됩니다. Claude를 쓸 수 없을 때는 실행이 Gemini 3.8 Flash로 전환되며 그 가격으로 청구됩니다.

### 내가 직접 고른 선택을 덮어쓰나요?

각 피커의 이미지 JSON이 주입될 때 설정에 따라 다릅니다. 빈 항목만 채우기는 내 선택을 절대 덮어쓰지 않습니다. 감지된 항목만 덮어쓰기는 감지되지 않은 항목을 모두 유지합니다. 기본값인 전체 덮어쓰기는 감지되지 않은 항목도 모두 지웁니다.

### 피커에 아무 변화가 없는 이유는 무엇인가요?

변경 시 자동 적용은 기본적으로 꺼져 있습니다. 피커에서 주입된 값으로 업데이트를 클릭해 새 값을 적용하거나, 변경 시 자동 적용을 켜세요.

### 피커로 설명 노드에는 어떤 AI 모델을 써야 하나요?

기본값인 높음의 Claude Opus 5.5는 비전 모델 비교 테스트에서 약 9초 만에 가장 자세한 분석 중 하나를 내놓았습니다. Gemini 3.8 Flash는 더 저렴하고 다른 모델과 일치하는 빈도도 비슷했지만, 디테일은 더 적었습니다. 매우 높음과 최대는 분석을 더 낫게 하지 않고 더 느리게만 했습니다.

### 피커로 설명과 이미지 설명은 어떻게 다른가요?

이미지 설명은 자유로운 텍스트를 씁니다. 피커로 설명은 각 피커의 카탈로그에 있는 구조화된 선택지를 반환하므로, 피커가 그 선택지를 바로 적용할 수 있습니다.
