프롬프트 변수
프롬프트 변수는 다른 노드의 레이블을 중괄호로 감싸 그 값을 프롬프트에 넣습니다. 파이프 두 개로 기본값을 정하고, @로 캐릭터와 이름 있는 이미지를 첨부하세요.
프롬프트 변수는 다른 노드의 값을 프롬프트에 넣습니다. {Mood}처럼 노드의 레이블을 중괄호로 감싸 쓰면, 프롬프트가 실행될 때 Nodaro가 이를 그 노드의 텍스트나 선택 값으로 바꿉니다. 변수를 사용하면 프롬프트를 한 번만 쓰고, 그 일부를 다른 노드, 피커, 목록 항목에서 바꿀 수 있습니다. 캐릭터, 장소, 이미지는 @ 멘션을 쓰면 단어뿐 아니라 이미지 자체가 첨부됩니다.
작동 방식
- 값을 가져올 노드에 “Subject” 같은 레이블을 붙이세요. 피커에는 “Mood” 같은 레이블이 이미 있습니다.
- 다른 노드의 프롬프트에 레이블을 중괄호로 감싸 쓰세요. 예:
A portrait of {Subject}, {Mood}, soft window light. - 값을 가져올 노드를 프롬프트가 있는 노드에 연결하세요. 피커의 값은 연결하지 않아도 워크플로 어디에서나 사용할 수 있습니다.
- 노드를 실행하세요. Nodaro가 각 변수를 해당 노드의 현재 값으로 바꿉니다.
프롬프트 편집기에서 {를 입력하면 변수를 삽입할 수 있습니다. 변수 이름은 대소문자를 구분하지 않습니다. {mood}, {Mood}, {MOOD}는 모두 “Mood”라는 레이블의 노드를 가리킵니다. 각 변수의 출처가 하나가 되도록, 값을 가져올 노드마다 고유한 레이블을 붙이세요. 다른 인터페이스 언어에서도 노드의 기본 레이블은 영어로 유지되므로, 헤더에 번역된 이름이 표시되어도 변수는 여전히 {Mood}입니다.
기본값
변수에는 파이프 두 개 뒤에 대체 값을 붙일 수 있습니다. 변수에 값을 제공하는 것이 없으면 Nodaro는 이 대체 값을 사용합니다.
{person || man}은 연결된 인물 피커가 있으면 그 값을, 없으면 “man”(남자)이라는 단어를 사용합니다. 인물 피커가 없으면 프롬프트generate a {person || man} running은generate a man running이 됩니다.- 파이프 뒤에 아무것도 없는
{person || }은 값을 제공하는 노드가 없으면 아무것도 들어가지 않습니다. - 대체 값 앞뒤의 공백은 제거됩니다.
많은 기본 제공 프리셋은 {brand || a modern tech startup}처럼 기본값을 사용하므로, 프리셋을 그대로 실행해도 적절한 결과가 나옵니다. 변수 전체를 내 문구로 바꾸거나, 레이블이 일치하는 노드를 연결해 실행할 때 값을 채우세요.
강조 표시
설정 패널의 프롬프트 편집기와 Ctrl+E로 여는 더 큰 프롬프트 편집기에서는 변수가 강조 표시됩니다.
| 강조 색 | 의미 |
|---|---|
| 청록색 | 연결된 노드가 이 이름을 제공하거나, 이 이름이 기본 제공 템플릿 변수입니다. |
| 주황색 | 연결된 노드 중 아직 이 이름을 제공하는 노드가 없습니다. 오류가 아니라 경고이며, 기본값이 있는 변수는 그대로 작동합니다. |
기본값이 있는 변수 안에서 기본값 텍스트는 사용될 때 밝게 표시되고, 연결된 노드의 값이 대신 사용될 때는 회색에 취소선으로 표시됩니다.
노드가 보낼 정확한 텍스트를 보려면 노드의 프롬프트 영역을 편집에서 최종으로 전환하거나, 설정 패널의 프롬프트 필드에서 최종 프롬프트 보기를 클릭하세요. 최종 보기는 프롬프트의 각 부분을 출처에 따라 다른 색으로 표시하며, 범례에는 변수, 피커, 스니펫, 앞뒤 텍스트, 레퍼런스, 스타일, 네거티브가 있습니다. 최종 프롬프트 복사는 결과를 복사합니다.


변수를 해석할 수 없을 때
- 어떤 노드와도 일치하지 않는 이름은 실행을 중단합니다. 기본값이 없는 변수가 워크플로 어디에도 없는 노드를 가리키면, 아무것도 전송되거나 청구되기 전에 실행이 거부됩니다. 따라서 오타 때문에 잘못된 이미지가 만들어지는 일은 없습니다.
- 값이 없는 노드는 빈 텍스트가 됩니다. 노드는 있지만 아직 아무것도 만들지 않았다면, 기본값이 없는 변수는 빈 텍스트가 됩니다.
- 연결된 텍스트는 다시 쓰이지 않습니다. 변수가 아니라 입력을 통해 들어온 텍스트는 그대로 사용됩니다. 그 안의 중괄호는 변수로 처리되지 않습니다.
- 일부 이름은 예약되어 있습니다. 프롬프트 템플릿은
{userPrompt}같은 기본 제공 이름을 사용합니다. 이런 이름은 노드 레이블이 아닙니다.
노드가 빠졌습니까? 프롬프트가 있는 노드를 선택하고 Tab 키를 눌러 노드를 추가하세요. 자동 연결이 켜져 있으면 연결 대화 상자에 프롬프트의 누락된 변수가 표시됩니다. 하나를 고르면 새 노드에 그 이름이 붙고 자동으로 연결됩니다.
입력한 프롬프트와 연결된 프롬프트
노드에는 직접 입력한 프롬프트와 프롬프트 입력에 연결된 프롬프트가 동시에 있을 수 있습니다.
- 이미지 생성과 동영상 생성에서는 연결된 프롬프트가 입력한 프롬프트 뒤에 추가됩니다. 입력한 프롬프트가 이미 연결된 노드를 변수로 가리키고 있으면, 텍스트는 변수 위치에만 나타납니다. 연결된 프롬프트를 추가하지 않으려면 설정 패널의 프롬프트 삽입 영역에서 프롬프트 삽입을 끄세요. 연결선은 노드가 연결된 텍스트를 사용하지 않을 때만 회색으로 바뀝니다. 프롬프트 삽입이 꺼져 있고 프롬프트가 연결된 노드를 가리키지 않을 때, 또는 그 뒤에 다른 텍스트 노드가 연결되었을 때입니다. 회색 연결선을 가리키면 이유가 표시됩니다. “사용되지 않음: ‘프롬프트 삽입’이(가) 꺼져 있습니다” 또는 “사용되지 않음: 나중에 연결한 텍스트 노드가 대신 사용됩니다”입니다.
- 다른 노드에서는 입력한 프롬프트가 우선합니다. 연결된 프롬프트는 입력한 프롬프트가 비어 있을 때나, 입력한 프롬프트가 그것을 변수로 가리키는 위치에서 사용됩니다. 노드가 연결된 프롬프트를 사용하지 않으면 연결선이 회색으로 바뀌고 “프롬프트에서 참조되지 않음”이라고 표시됩니다.
- 일괄 처리에서는 각 목록 항목이 해당 실행의 프롬프트를 대체합니다. 목록과 일괄 처리를 참고하세요.
피커가 텍스트를 추가하는 방식
분위기, 조명, 프레이밍 같은 피커는 모델을 실행하지 않습니다. 피커는 연결된 노드의 프롬프트에 검증된 문구를 다음 두 가지 방식 중 하나로 추가합니다.
- 룩 또는 요소에 연결. 피커의 문구가 이미지 생성 또는 동영상 생성의 프롬프트 끝에 추가됩니다. 추가하지 않으려면 설정 패널에서 룩 삽입 또는 요소 삽입을 끄세요.
- 변수로 지정.
{Mood}를 쓰면 피커의 문구가 정확히 그 위치에 들어갑니다. 연결하지 않아도 모든 프롬프트에서 작동합니다.
모든 카탈로그 피커에는 프롬프트 힌트 스위치가 있습니다. 전체는 선택 항목에 대한 더 긴 설명을 추가하고, 간략은 짧은 용어만 추가하므로 여러 피커가 한 노드에 연결될 때 프롬프트를 짧게 유지할 수 있습니다. 피커 자체의 사용자 지정 텍스트(앞) 및 사용자 지정 텍스트(뒤) 값은 두 모드 모두에서 피커 문구 앞뒤에 추가됩니다. 피커가 추가하는 정확한 문구를 보려면 피커를 프롬프트 또는 둘 다 표시 모드로 전환하세요.
@로 캐릭터와 이미지 멘션
@ 멘션은 레퍼런스 이미지를 첨부하고, 입력한 위치에 그에 맞는 문구를 씁니다. 이미지 노드나 동영상 노드의 프롬프트에 @를 입력하고 옵션 중에서 고르세요.
| 멘션 | 첨부되는 것 |
|---|---|
@maya 같은 캐릭터 | 연결된 캐릭터 에셋 노드에서 가져온, 캐릭터의 승인된 이미지와 설명 |
@old-library 같은 장소 | 연결된 장소 에셋 노드에서 가져온, 장소의 이미지와 설명 |
@town:1 같은 이름 있는 이미지 | “Town”이라는 레이블이 붙은, 연결된 이미지 업로드 노드 |
@nessie:1 같은 크리처나 오브젝트 | 연결된 동물/크리처 에셋 또는 오브젝트/소품 에셋 노드. 추천 목록이 없으므로 직접 입력하세요. |
멘션은 레퍼런스에서 무엇을 가져올지도 지정할 수 있습니다. @town:1:background는 the background from reference image A가 되고, @maya:1:clothes는 옷만 가져옵니다. 캐릭터와 장소는 프롬프트에 알약 모양 태그로 표시됩니다. 태그의 썸네일을 클릭하면 다른 이미지를 고를 수 있고, 레이블을 클릭하면 가져올 요소를 고를 수 있습니다. 레퍼런스 역할에 모든 역할과 신원 잠금이 정리되어 있습니다.
숫자로 시작하는 레이블로는 멘션을 만들 수 없으므로 이름을 바꾸세요. 캐릭터나 장소가 이미지와 같은 이름이면 캐릭터나 장소가 우선합니다.
연결된 레퍼런스 가리키기
Seedance 2처럼 여러 레퍼런스를 받는 동영상 모델에서는 위치 토큰으로 문구가 연결된 레퍼런스 하나를 가리키게 할 수 있습니다.
| 토큰 | 바뀌는 결과 |
|---|---|
{image:1:person} | the person from @image_1 |
{image:2:jacket} | the jacket from @image_2 |
{image:1} | the subject in @image_1 |
{video:1:clip} | the clip from @video_1 |
{audio:1:voice} | the voice from @audio_1 |
이미지 레퍼런스에 연결된 이미지에 먼저 연결 순서대로 번호가 매겨지고, 그다음 에셋에 연결된 에셋에 번호가 매겨집니다. 연결된 레퍼런스 수보다 큰 번호의 토큰은 일반 레이블이 되며, 레퍼런스를 지원하지 않는 모델도 일반 레이블을 읽습니다.
변수를 사용할 수 있는 곳
- 이미지, 동영상, 오디오, 음악, 음성, 텍스트 노드의 프롬프트, 그리고 텍스트 노드의 텍스트.
- 앞뒤 텍스트. 프롬프트 앞뒤 텍스트를 참고하세요.
- 목록 항목. 일괄 처리의 각 항목에 변수를 넣을 수 있습니다.
- 선택기 노드의 나누는 수, 값, 시드 필드 같은 일부 유틸리티 설정.
값 대신 재사용할 텍스트를 삽입하려면 프롬프트에 /를 입력해 프롬프트 스니펫을 여세요. 스니펫은 일반 텍스트로 삽입됩니다.
자주 묻는 질문
Nodaro의 프롬프트 변수란 무엇입니까?
프롬프트 안에 {Mood}처럼 중괄호로 감싸 쓴 노드의 레이블입니다. 노드가 실행되면 Nodaro가 변수를 그 노드의 텍스트나 선택 값으로 바꾸므로, 다른 노드에서 프롬프트의 일부를 바꿀 수 있습니다.
존재하지 않는 노드를 가리키는 변수는 어떻게 됩니까?
아무것도 전송되거나 청구되기 전에 실행이 중단되므로, 오타 때문에 잘못된 결과가 나오는 일은 없습니다. 이름을 고치거나, 파이프 두 개 뒤에 기본값을 추가하세요.
변수에 기본값을 지정하려면 어떻게 합니까?
{person || man}처럼 파이프 두 개 뒤에 기본값을 쓰세요. Nodaro는 연결된 노드가 있으면 그 노드를, 없으면 “man”이라는 단어를 사용합니다. {person || }처럼 기본값을 비워 두면 아무것도 들어가지 않습니다.
변수가 주황색으로 강조 표시되는 이유는 무엇입니까?
주황색은 연결된 노드 중 아직 그 이름을 제공하는 노드가 없다는 뜻입니다. 오류가 아니라 경고입니다. 기본값이 있는 변수는 그대로 작동하며, 피커의 값은 연결하지 않아도 사용할 수 있습니다.
변수와 @ 멘션은 어떻게 다릅니까?
변수는 텍스트를 삽입합니다. @ 멘션은 캐릭터, 장소 또는 이름 있는 이미지를 레퍼런스 이미지로 첨부하고, 입력한 위치에 “레퍼런스 이미지 A의 인물” 같은 문구를 씁니다.
관련 문서
프롬프트 앞뒤 텍스트
레퍼런스 역할
프롬프트 스니펫
목록과 일괄 처리
텍스트
최종 업데이트