# 유틸리티, 레시피, 스킬

> ping으로 연결을 확인하고, get_recipe로 검증된 레시피를 불러오고, 영화 디렉터 스킬을 시작하고, 빌더 도구로 UGC 웹사이트 동영상을 준비하세요.

Source: https://nodaro.ai/ko/docs/mcp/tools/utility

**유틸리티, 레시피, 스킬 도구**는 어시스턴트가 작업을 제대로 시작하도록 돕습니다. `ping`은 연결을 확인하고, `get_recipe`는 검증된 여러 단계 플레이북을 불러오고, `start_film_director`는 영화 디렉터 스킬을 불러오며, UGC 빌더 세 가지는 웹사이트를 소개하는 크리에이터 동영상을 준비합니다. 이 도구들은 미디어를 생성하지 않고 크레딧도 쓰지 않습니다. 이 페이지의 다른 세 도구는 크레딧을 씁니다. `capture_site`는 웹 페이지를 스크린샷으로 캡처하고, `ugc_split_speech`와 `ugc_finish_clips`는 UGC 동영상의 음성을 자르고 클립을 마무리합니다.

지침을 반환하는 다른 도구는 각 도구 그룹에서 설명합니다. [`start_workflow_editor`와 `get_node_skill`](https://nodaro.ai/docs/mcp/tools/projects-and-workflows#start_workflow_editor), [`start_video_director`](https://nodaro.ai/docs/mcp/tools/shot-sequence-and-video-director#start_video_director), [`get_studio_production_skill`](https://nodaro.ai/docs/mcp/tools/studio-productions#get_studio_production_skill), [`get_recast_authoring_skill`](https://nodaro.ai/docs/mcp/tools/recast#get_recast_authoring_skill)입니다.

## `ping`
`pong`, 내 Nodaro 사용자 ID, 이 도구를 호출한 클라이언트의 이름을 반환합니다. 커넥터가 작동하는지 확인할 때 사용하세요.

**권한:** 없음, 항상 표시됨. **크레딧:** 무료.

이 도구에는 매개변수가 없습니다.

## `get_recipe`
콘텐츠 레시피를 나열하고 불러옵니다. 콘텐츠 레시피는 내레이션이 있는 애니메이션 설명 동영상처럼, 여러 도구를 쓰는 전체 흐름을 어시스턴트에게 단계별로 안내하는 검증된 플레이북입니다. 이 도구는 텍스트만 반환합니다. 레시피가 요구하는 작업은 다른 도구로 하며, 각 도구에는 자체 권한과 가격이 있습니다. 레시피 목록은 [콘텐츠 레시피](https://nodaro.ai/docs/mcp/recipes)를 참고하세요.

**권한:** 없음, 항상 표시됨. **크레딧:** 무료.

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `recipe` | string | `video-explainer` 같은 레시피 이름입니다. 생략하면 모든 레시피를 나열합니다. |
| `file` | string | `references/prompts.md`처럼 레시피 안에 있는 레퍼런스 파일입니다. `recipe`가 필요합니다. |

**반환값:** 인수가 없으면 각 레시피의 이름, 설명, 트리거 문구를 반환합니다. `recipe`를 주면 레시피의 전체 지침을, `file`을 주면 그 파일을 반환합니다. 알 수 없는 이름이면 유효한 이름과 함께 오류를 반환합니다.

Nodaro Cloud에서는 목록에 UGC 웹사이트 동영상도 들어 있습니다. 크리에이터가 카메라를 보며 사이트를 소개하고, 사이트의 스크린샷이 카드로 표시되는 동영상입니다.

## `start_film_director`
영화 디렉터 스킬을 반환합니다. 이 스킬은 어시스턴트가 스크립트부터 최종 편집본까지 10단계로 영화를 연출하면서, 내 캔버스에 편집 가능한 워크플로를 만들어 가게 하는 지침입니다. 어시스턴트는 예고편, 단편 영화, 뮤직비디오, 릴스, 광고처럼 여러 샷으로 된 동영상 요청이 오면 이 도구를 가장 먼저 호출합니다. [영화 디렉터](https://nodaro.ai/docs/mcp/film-director)를 참고하세요.

**권한:** 없음, 항상 표시됨. **크레딧:** 무료. **Nodaro Cloud 전용.**

이 도구에는 매개변수가 없습니다. 아무것도 변경하지 않습니다.

## `capture_site`
웹 페이지를 실제 휴대폰 너비의 스크린샷으로 캡처합니다. 페이지 전체 이미지 한 장과, 휴대폰 카드 형태로 자른 섹션 스틸을 최대 8장 반환합니다. 각 섹션의 제목, 위치, 짧은 텍스트가 담긴 페이지 섹션 맵과, 페이지 텍스트에 있는 정확한 수치도 반환합니다. 동의 팝업은 숨기며, 절대 수락하지 않습니다.

**권한:** `workflows:execute`. **크레딧:** 캡처마다 정해진 가격입니다. 이 도구는 설치에서 페이지 캡처를 켠 경우에만 나열됩니다.

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `url` | string | **필수.** 캡처할 페이지입니다. `https://`는 생략해도 됩니다. 최대 2,048자입니다. |
| `max_stills` | integer | 반환할 섹션 스틸의 최대 개수로, 3~8입니다. 기본값은 `8`입니다. |
| `client_request_id` | string | 재시도 토큰으로, 문자, 숫자, `_ - . :`로 된 8~128자입니다. 타임아웃 후 재시도할 때 다시 사용하면 캡처가 두 번 시작되거나 두 번 청구되지 않습니다. |

**반환값:** 작업 ID입니다. 스틸은 [`wait_for_job`](https://nodaro.ai/docs/mcp/tools/jobs#wait_for_job)의 `outputData.stills`에서 읽으며, 각각 `assetId`와 `url`이 있습니다. 스틸은 내 미디어에 저장되고, 내가 저장하기 전까지 선택기에는 표시되지 않으며, 내 저장 공간을 사용합니다.

자동 방문자를 차단하거나 빈 페이지로 돌아오는 페이지는 실패하고 크레딧이 환불됩니다. `robots.txt`가 캡처를 허용하지 않는 페이지는 아무것도 실행하기 전에 거부됩니다.

## UGC 동영상 빌더
UGC 웹사이트 레시피가 쓰는 무료 도구 세 가지입니다. 아무것도 생성하지 않으며, 각 도구는 자기 부분을 검사하거나 준비한 뒤 다음 생성 호출에 쓸 정확한 인수를 반환합니다. 다른 두 도구인 `ugc_split_speech`와 `ugc_finish_clips`는 같은 레시피의 오디오와 동영상 작업을 호출마다 정해진 가격으로 처리합니다. 다섯 도구 모두 Nodaro Cloud에서만 사용할 수 있고 권한이 필요하지 않습니다. 단, 저장된 캐릭터로 `build_ugc_creator`를 쓸 때는 `assets:read`가 필요합니다.

### `build_ugc_creator`
카메라를 보며 말하는 크리에이터를 준비합니다. 새로 샘플링한 인물, 저장된 내 캐릭터, 내 사진 중 하나를 씁니다.

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `source` | string | **필수.** `sampled`, `character`, `photo` 중 하나입니다. |
| `character_id` | string | `character`일 때 쓰는 저장된 캐릭터입니다. |
| `photo_url` | string | `photo`일 때 쓰는 내 사진입니다. |
| `gender` | string | `woman` 또는 `man`입니다. |
| `product_category`, `overrides`, `previous`, `seed` | | 샘플링한 크리에이터를 조정하거나 똑같이 다시 만들 때 쓰는 선택 항목입니다. |

**반환값:** 크리에이터의 정체성 이미지, 또는 다음에 실행할 이미지 생성의 정확한 인수입니다. 샘플링한 크리에이터라면 후보마다 이미지 한 장이므로, 사용자가 그중 하나를 고를 수 있습니다.

### `build_ugc_clips`
(Nodaro Cloud 전용) UGC 동영상 스크립트를 검사하고(모든 문제를 한 번에, 각각의 해결 방법과 함께), 클립마다 하나의 `generate_video` 호출, 클립을 잇는 호출, 동영상 나머지 부분의 크레딧 견적을 반환합니다. 스크립트는 영어나 히브리어로 쓸 수 있습니다. 히브리어 스크립트에는 두 단계로 답합니다. 첫 호출은 녹음할 음성과 그 음성을 나누는 방법을 견적과 함께 반환합니다. `ugc_split_speech`의 `segments`를 넣어 다시 호출하면 세그먼트마다 하나의 `generate_video` 호출을 받습니다. 권한이 필요 없고 무료입니다. UGC 웹사이트 레시피(get_recipe)에서 씁니다.

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `plan` | object | **필수.** 스크립트입니다. |
| `gender` | string | **필수.** `woman` 또는 `man`입니다. |
| `identity_images` | array | **필수.** 크리에이터 이미지 1~2장입니다. |
| `traits`, `seed` | | 선택 항목입니다. |
| `spent_job_ids` | array | 이 동영상을 위해 이미 실행한 작업으로, 견적에 사용한 작업으로 표시됩니다. 최대 64개입니다. |
| `segments` | array | `ugc_split_speech`의 출력에 있는 구간으로, 첫 호출의 응답이 요청했을 때 넣습니다. 첫 호출에서는 생략하세요. 최대 8개입니다. |
| `speech_lane` | string | 영어 전용입니다. `reference-audio`(기본값): 보이스가 스크립트를 말하고 동영상 모델이 그 연기를 합니다. `prompt-quoted`: 동영상 모델이 자체 목소리로 대사를 읽습니다. |
| `voice_id` | string | 영어 전용입니다. `reference-audio` 방식의 보이스로, 프리메이드 이름이나 `list_voices`의 ID입니다. 빌더가 크리에이터에 맞춰 고르는 보이스 대신 쓰입니다. |

**반환값:** 클립마다 바로 실행할 수 있는 `generate_video` 호출 하나, 클립을 이어 붙이는 호출, 남은 동영상 작업의 크레딧 견적입니다.

### `build_ugc_cards`
UGC 동영상의 단어 타이밍을 바탕으로 스크린샷 카드와 자막의 타이밍을 맞춥니다.

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `plan` | object | **필수.** 스크립트입니다. |
| `alignment` 또는 `words` | array | [`forced_alignment`](https://nodaro.ai/docs/mcp/tools/shot-sequence-and-video-director#forced_alignment)나 [`transcribe`](https://nodaro.ai/docs/mcp/tools/audio#transcribe)에서 받은 단어 타이밍입니다. |
| `video_duration_ms` | number | 동영상의 길이입니다. |
| `caption_style` | string | 첫 줄 다음 자막의 모양입니다. `body-captions`(단어 단위, 기본값), `karaoke`, `clean-subtitles`, `none` 중 하나입니다. 첫 줄은 항상 배경판을 유지합니다. |

**반환값:** [`overlay_images`](https://nodaro.ai/docs/mcp/tools/video-editing#overlay_images)에 쓸 레이어와 [`add_captions`](https://nodaro.ai/docs/mcp/tools/video-editing#add_captions)에 쓸 자막 구간입니다.

### `ugc_split_speech`
UGC 동영상의 녹음된 음성을 말이 멈추는 지점마다 구간으로 자릅니다. 각 구간은 양쪽에 짧은 무음을 둔 오디오 파일로 저장됩니다.

**크레딧:** 호출마다 정해진 가격입니다.

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `plan` | object | **필수.** 스크립트입니다. |
| `audio_url` 또는 `audio_asset_id` | string | 음성으로, URL이나 Nodaro 작업 또는 업로드 ID입니다. |
| `alignment` | array | **필수.** 음성의 단어 타이밍으로, `{ word, start, end }` 항목 1~2,000개입니다. |

**반환값:** 구간 목록이 출력에 담긴 작업으로, `build_ugc_clips`의 `segments` 매개변수에 씁니다.

### `ugc_finish_clips`
렌더링된 각 클립을 그 클립에 주어진 오디오와 대조하고, 원래 오디오를 클립에 입히고, 단어 사이의 빈 구간을 잘라 낸 뒤, 완성된 클립을 순서대로 반환합니다. 클립이 오디오와 맞지 않으면 다시 렌더링할 클립을 알려 주고 아무것도 바꾸지 않습니다.

**크레딧:** 호출마다 정해진 가격입니다.

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `segments` | array | **필수.** `ugc_split_speech`에서 받은 구간으로, 1~8개입니다. |
| `clips` | array | **필수.** 항목 1~8개입니다. 각 항목에는 `clip`(1~8의 클립 번호)과, `video_url` 또는 `video_asset_id`로 지정한 렌더링된 동영상이 있습니다. `reroll_video_url` 또는 `reroll_video_asset_id`는 다시 렌더링한 클립입니다. |

구간으로 만든 히브리어 동영상에서는 각 클립에 그 배경의 소리도 입힙니다. 배경에 맞춘 리버브, -16 LUFS 레벨, 그 아래에 깔리는 룸 톤입니다. 야외, 자동차, 홀 배경은 리버브와 레벨만 적용되고 룸 톤은 없습니다. 이 단계가 실패하면 클립은 이 처리 없이 경고와 함께 반환됩니다.

**반환값:** 완성된 클립 목록이 순서대로 출력에 담긴 작업입니다.

## 자주 묻는 질문

### 어시스턴트가 Nodaro에 연결되었는지 어떻게 확인하나요?

어시스턴트에게 ping을 호출해 달라고 요청하세요. 이 도구는 pong, 내 Nodaro 사용자 ID, 클라이언트 이름으로 응답하며, 권한이 필요하지 않습니다.

### get_recipe는 무엇을 반환하나요?

미디어가 아니라 지침을 반환합니다. 인수 없이 호출하면 레시피를 설명, 트리거 문구와 함께 나열하고, 레시피 이름을 주면 그 레시피의 전체 플레이북을 반환합니다. 어시스턴트는 그 플레이북에 따라 다른 도구를 사용합니다.

### UGC 빌더 도구가 동영상을 생성하나요?

아니요. 빌더 세 가지는 UGC 웹사이트 레시피를 돕는 무료 도구입니다. 크리에이터를 준비하고, 스크립트를 검사하고, 카드와 자막의 타이밍을 맞춘 다음, 다음에 할 정확한 호출을 크레딧 견적과 함께 반환합니다. 다른 두 도구인 ugc_split_speech와 ugc_finish_clips는 호출마다 정해진 가격으로 음성을 자르고 클립을 마무리합니다.
