매개변수와 입력 파일
Nodaro CLI가 반복된 --param과 --input의 key=value 쌍을 요청 본문으로 바꾸는 방식, 값의 타입이 정해지는 규칙, 대신 JSON 파일을 보낼 때를 설명합니다.
매개변수는 명령줄에서 실행에 전달하는 값입니다. nodaro nodes run은 이를 --param key=value로, nodaro apps run은 --input key=value로 받습니다. 두 플래그 모두 반복해서 쓸 수 있고 같은 규칙을 따르며, 플래그에 맞지 않는 것은 --params-file로 전달하는 JSON 파일로 처리할 수 있습니다.
key=value 쌍 작성
값마다 플래그를 한 번씩 반복하세요. 공백이 들어간 값은 셸이 하나의 인수로 전달하도록 따옴표로 감싸세요.
nodaro nodes run generate-video \
--param prompt="a paper boat drifting down a rainy street" \
--param provider=seedance-2-fast \
--param duration=8CLI는 요청을 보내기 전에 각 값에 타입을 지정합니다.
| 입력한 값 | 요청 본문에 들어가는 값 |
|---|---|
true 또는 false | 불리언 |
null | null |
8 같은 정수 | 숫자 |
0.5 같은 소수 | 숫자 |
[ 또는 {로 시작하고 유효한 JSON인 값 | JSON 배열 또는 객체 |
| 그 밖의 모든 값 | 문자열 |
첫 번째 =만 키와 값을 구분합니다. 나머지 텍스트는 그대로 유지되므로, --param query=a=b=c는 문자열 a=b=c를 보냅니다.
인라인 JSON 배열은 다음과 같습니다. 셸이 큰따옴표를 유지하도록 쌍 전체를 작은따옴표로 감싸세요.
nodaro nodes run generate-image --param prompt="the same mug on a marble counter" --param 'referenceImageUrls=["https://example.com/mug-front.png","https://example.com/mug-side.png"]'노드가 받는 키를 확인하려면 nodaro nodes get <type>을 실행하세요. 앱이라면 nodaro apps get <slug>를 실행하세요.
JSON 파일 보내기
중첩된 객체, 긴 배열, 또는 플래그 형식에 맞지 않는 값은 본문 전체를 JSON 파일에 작성해 --params-file로 전달하세요. 파일에는 JSON 객체가 하나 들어 있어야 합니다.
cat > body.json <<'EOF'
{
"prompt": "a lighthouse on a cliff at dawn, cinematic",
"provider": "flux",
"aspectRatio": "16:9"
}
EOF
nodaro nodes run generate-image --params-file body.json --param aspectRatio=9:16플래그가 파일보다 우선합니다. 이 예시에서 실행은 플래그로 지정한 9:16 화면 비율을 사용하고, 본문의 나머지는 파일의 값을 사용합니다.
앱 입력과 원시 노드 필드 설정
nodaro apps run은 앱의 입력 이름을 키로 받습니다.
nodaro apps run hair-styler-dd3erw --input prompt="curly red hair" --watch--override는 앱이 노출하지 않는 노드 필드를 이번 실행에서만 변경합니다. <nodeId>.<field>=<value> 형식으로 작성하세요.
nodaro apps run hair-styler-dd3erw --input prompt="curly red hair" \
--override n1.promptPrefix="Studio portrait of" --override n1.promptSuffix=", 85mm, soft light"이 예시는 사용자의 프롬프트 앞뒤를 숨겨진 텍스트로 감쌉니다. 프롬프트 앞뒤 텍스트를 참고하세요. 오버라이드로는 Webhook 출력 노드의 주소처럼 노드가 데이터를 보내거나 가져오는 위치를 절대 바꿀 수 없습니다. 이런 실행은 locked_field로 거부됩니다.
입력 노드와 소스 노드 실행
입력 노드와 소스 노드도 같은 방식으로 실행합니다. 웹 스크래핑 노드, 즉 web-scrape는 소스를 actor로 받으며, 값은 google-search, content-crawler, rss, tiktok 중 하나입니다.
# Google Search results
nodaro nodes run web-scrape --param actor=google-search --param query="running shoes" --param maxResults=5
# The text of one web page, as Markdown
nodaro nodes run web-scrape --param actor=content-crawler --param url=https://example.com --param mode=page셀프 호스팅 설치에서 웹 스크래핑을 사용하려면 서버에 APIFY_API_TOKEN이 있거나, 스크래핑을 실행하고 요금을 청구하는 Nodaro Cloud 연결이 있어야 합니다.
자주 묻는 질문
Nodaro CLI는 값이 숫자인지 문자열인지 어떻게 판단하나요?
true와 false라는 단어는 불리언이 되고, null은 null이 되며, 정수와 소수는 숫자가 됩니다. 대괄호나 중괄호로 시작하는 값은 유효한 JSON이면 JSON 배열이나 객체가 됩니다. 그 밖의 값은 모두 문자열로 남습니다.
--param 값에 등호를 넣을 수 있나요?
네. 첫 번째 등호만 키와 값을 구분하므로, --param query=a=b=c는 a=b=c라는 값을 보냅니다.
--param 대신 --params-file은 언제 사용해야 하나요?
중첩된 객체, 긴 배열, 또는 플래그로 입력하기 어려운 값에는 JSON 파일을 사용하세요. 같은 명령의 플래그는 파일과 겹치는 키를 덮어씁니다.
--param과 --input은 어떻게 다른가요?
--param은 nodaro nodes run과 함께 사용하며, 키는 노드의 입력 필드입니다. --input은 nodaro apps run과 함께 사용하며, 키는 앱의 입력 이름입니다. 두 플래그 모두 같은 문법을 따릅니다.
관련 문서
명령
출력과 종료 코드
예시
노드
최종 업데이트