# 예시

> cron으로 매일 밤 워크플로를 실행하고, 실행 결과로 CI 단계를 제어하고, 이미지 생성을 스크립트로 처리하고, 동영상에 자막을 넣고, 프롬프트를 다듬는 Nodaro CLI 예시입니다.

Source: https://nodaro.ai/ko/docs/developers/cli/examples

이 **Nodaro CLI 예시**는 자주 하는 작업을 위한 짧은 활용법입니다. 예약 실행, CI 게이트, 스크립트로 하는 생성, 녹취록으로 만드는 자막, 프롬프트 개선을 다룹니다. 모든 예시는 [CLI를 설치하고 로그인](https://nodaro.ai/docs/developers/cli)했다고 가정하며, 대부분 `jq`로 JSON 출력을 읽습니다.

## cron으로 매일 밤 워크플로 실행
이 cron 항목은 매일 밤 03:00에 워크플로를 실행하고, JSON 결과를 로그 파일에 덧붙입니다.

```text
0 3 * * * /usr/local/bin/nodaro workflows run wf_abc123 --json >> /var/log/nodaro-nightly.log 2>&1
```

## 실행을 기다린 뒤 이어 가기
`--watch`를 쓰면 명령이 실행을 기다리고 성공했을 때만 `0`으로 종료하므로, 워크플로가 성공했을 때만 다음 명령이 실행됩니다.

```bash
nodaro workflows run wf_abc --watch && \
echo "shipped" | mail -s "nodaro run done" me@example.com
```

다른 종료 코드는 [출력과 종료 코드](https://nodaro.ai/docs/developers/cli/output)에 나와 있습니다.

## 명령 하나로 이미지 생성
```bash
nodaro nodes run generate-image \
  --param prompt="a snow leopard on a mountain ridge, cinematic" \
  --param provider=flux \
  --param resolution=2K \
  --watch --json | jq -r '.output_data.imageUrl'
```

이 명령은 이미지 URL만 출력하므로, 스크립트의 다음 단계에서 바로 쓸 수 있습니다.

## 녹취록으로 동영상에 자막 넣기
단어별 타이밍이 있는 녹취록을 만든 다음, 그 단어를 키네틱 자막으로 입힙니다.

```bash
# 1. Word-level transcription (elevenlabs-stt always returns word timings)
nodaro audio transcribe --audio https://example.com/talk.mp3 \
  --provider elevenlabs-stt --watch

# 2. Save the words. They are in milliseconds; the top-level segments are in seconds.
nodaro jobs get <jobId> --json | jq '.output_data.words' > words.json

# 3. Burn them in. With captions supplied, add-captions runs no transcription of its own.
nodaro media add-captions https://example.com/talk.mp4 \
  --captions-file words.json \
  --style word-highlight --no-auto-transcribe --watch
```

- 2단계와 3단계 사이에 `words.json`에서 단어의 `text`를 고치면, 고친 내용이 동영상에 나타납니다.
- 빠르게 읽히도록 두 단어씩 보여 주려면 3단계에 `--max-words-per-line 2`를 추가하세요.
- 1단계에는 단어 단위 엔진이 필요합니다. `elevenlabs-stt`, 또는 `--word-timestamps`를 붙인 `incredibly-fast-whisper`를 쓰세요. `whisper` 엔진은 단어 없이 구절만 반환하므로, 키네틱 스타일로는 보여 줄 것이 없습니다.

모든 자막 옵션은 [미디어와 보이스 명령](https://nodaro.ai/docs/developers/cli/media-commands#captions)을 참고하세요.

## 앱의 프롬프트를 숨은 텍스트로 감싸기
`--override`는 앱을 바꾸지 않고, 한 번의 실행에서만 사용자 프롬프트 앞뒤에 텍스트를 붙입니다.

```bash
nodaro apps run hair-styler-dd3erw --input prompt="curly red hair" \
  --override n1.promptPrefix="Studio portrait of" --override n1.promptSuffix=", 85mm, soft light"
```

텍스트가 프롬프트에 붙는 방식은 [프롬프트 앞뒤 텍스트](https://nodaro.ai/docs/concepts/prompt-pre-post-text)를 참고하세요.

## 대략적인 아이디어를 최적화된 프롬프트로 바꾸기
`prompt enhance`는 한 번에 프롬프트를 다시 씁니다. 그 결과를 바로 노드 실행에 넣으세요.

```bash
PROMPT=$(nodaro prompt enhance \
  --node-type generate-image \
  --prompt "snow leopard" \
  --json | jq -r '.prompt')

nodaro nodes run generate-image --param prompt="$PROMPT" --watch
```

마법사의 안내 질문을 스크립트에서 쓰려면 두 단계 방식을 사용하세요. `nodaro prompt analyze --json`이 질문을 반환하고, `nodaro prompt generate --selection category=value`가 내 답변으로 최종 프롬프트를 만듭니다. 대화형 `nodaro prompt wizard`에는 터미널이 필요합니다.

## 한 달 사용량 내보내기
조직이 있는 인스턴스에서 멤버별 사용량 보고서를 CSV 파일로 저장합니다.

```bash
nodaro org usage org_abc --from 2026-09-01 --to 2026-09-30 --group-by member --csv > september.csv
```

[워크스페이스와 조직](https://nodaro.ai/docs/developers/cli/workspaces#usage-reports)을 참고하세요.

## 자주 묻는 질문

### Nodaro 워크플로를 일정에 맞춰 실행하려면 어떻게 하나요?

워크플로 ID와 --json으로 nodaro workflows run을 호출하고 출력을 로그 파일에 덧붙이는 cron 항목을 추가하세요. 이 페이지의 첫 번째 예시는 매일 밤 03:00에 워크플로를 실행합니다.

### 셸 스크립트에서 생성된 이미지의 URL을 얻으려면 어떻게 하나요?

nodaro nodes run generate-image를 --watch와 --json과 함께 실행하고, 출력을 jq -r '.output_data.imageUrl'로 파이프하세요.

### CLI로 동영상에 단어 단위 자막을 넣으려면 어떻게 하나요?

elevenlabs-stt 같은 단어 단위 엔진으로 오디오를 텍스트로 변환하고, 작업의 output_data.words를 파일에 저장한 다음, 그 파일을 --captions-file, --no-auto-transcribe와 함께 nodaro media add-captions에 넘기세요.

### 노드를 실행하기 전에 프롬프트를 개선할 수 있나요?

네. --node-type과 --prompt를 넣은 nodaro prompt enhance가 최적화된 프롬프트를 반환하며, 이를 바로 nodaro nodes run에 넘길 수 있습니다.
