# Recast

> AI 어시스턴트가 영화를 JSON 스크립트로 쓰고 무료로 검증한 다음 Recast 프로젝트로 가져와, 내가 견적 가격을 수락하면 렌더링합니다.

Source: https://nodaro.ai/ko/docs/mcp/recast

**Recast**는 요청 하나로 완전한 동영상을 만드는 MCP 방식입니다. 어시스턴트는 영화를 시나리오 형태의 JSON 스크립트로 쓰고, 무료로 검증하고, [recast.nodaro.ai](https://recast.nodaro.ai)에서 보고 재개할 수 있는 실제 Recast 프로젝트로 가져온 다음, 크레딧을 쓸 때마다 먼저 가격을 보여 주며 렌더링합니다. “X에 대한 동영상, 영화, 광고를 만들어 주세요” 같은 처음부터 끝까지의 요청에는 이 방식을 사용하세요. 캔버스의 워크플로에는 [워크플로 도구](https://nodaro.ai/docs/mcp/tools/projects-and-workflows)나 [영화 디렉터](https://nodaro.ai/docs/mcp/film-director)를 사용하세요. Recast는 Nodaro Cloud 기능입니다.

## 작업 순서
### 작성 가이드 읽기
`get_recast_authoring_skill`은 플랫폼 자체가 사용하는 플래너에서 생성된 스크립트 형식 가이드를 반환합니다. 문서 형식, 각 필드의 의미, 허용되는 값, 제한, 오디오 규칙, 검증된 작업 예시가 들어 있습니다. 무료입니다.

### 필요한 만큼 검증
`validate_recast_script`는 스크립트를 무료로 확인합니다. 각 오류를 그 `path` 위치에서 `hint`에 따라 고치고, `valid`가 `true`가 될 때까지 반복하세요.

### 가져오기
`import_recast_script`는 Recast 프로젝트와 그 워크플로를 만들고, 스크립트를 완료된 분석으로 저장합니다. 무료입니다. 이 도구에는 `rights_attested: true`가 필요하며, 이 값은 스크립트가 내 작품이라는 대화 속 나 자신의 확인을 반영해야 합니다. 이 도구는 `recastId`와 프로젝트 링크를 반환합니다.

### 견적 후 렌더링
`confirm` 없이 `start_recast`를 호출하면 크레딧 견적만 반환합니다. 내가 가격을 수락하면 어시스턴트가 `confirm: true`로 다시 호출합니다. 렌더링은 서버에서 실행됩니다. 상태가 `planned`일 때 `start_recast`를 다시 호출하면 추가 요금 없이 실행이 렌더링 단계로 넘어갑니다.

### 렌더링 추적
`get_recast_status`는 planning, planned, generating(실시간 미리 보기와 함께 전체 중 완료된 파트 수), completed(결과 URL 포함), failed 상태를 알려 주며, 항상 프로젝트 링크를 포함합니다. MCP Apps를 표시하는 클라이언트에서는 진행률 표시줄, 점점 늘어나는 미리 보기, 버튼으로 표시되는 대화형 선택이 담긴 실시간 카드를 보여 줍니다.

## 스크립트
스크립트는 세 부분으로 이루어집니다. `meta`, 반복해서 등장하는 인물, 물체, 장소를 위한 `slots`, 그리고 `scenes`입니다. 작성 가이드가 기준 문서이며, 다음은 어시스턴트에게 가장 자주 필요한 규칙입니다.

- **`visual`은 장면 그림을 위한 생성 프롬프트입니다.** **`camera`는 카메라 움직임만 설명합니다.** `shotType`은 정해진 값 목록에서 고릅니다.
- **장면은 최대 8초이며** 0초부터 빈틈없이 이어집니다. 영화 전체는 4초부터 플랫폼의 실행 한도까지입니다.
- **화면 비율**은 `"16:9"` 또는 `"9:16"`입니다.
- **노래 가사는 `music` 레이어에 넣으며**, `speech`에는 절대 넣지 않습니다. 음악 레이어가 없는 장면은 소리가 없습니다.

검증기는 [`video_analysis`](https://nodaro.ai/docs/mcp/tools/analysis-and-edl#video_analysis)에서 내보낸 전체 분석도 받습니다. 이 분석은 장면별 구조가 같습니다.

## 권리와 충실한 렌더링
직접 작성한 Recast는 브랜드 이름까지 포함해 쓰인 그대로 **충실하게** 렌더링됩니다. 그래서 가져오기에는 `rights_attested: true`가 필요하며, 이 값은 스크립트가 내 작품이거나 내가 권리를 보유하고 있다는 나 자신의 명시적인 확인에서 나와야 합니다. 어시스턴트가 나를 대신해 이 값을 설정해서는 절대 안 됩니다.

## 출연진 직접 고르기
렌더링 전에 직접 고르려면 `interactive: true`로 실행을 시작하세요. 대화형 모드에는 추가 요금이 붙으며, 이 요금은 견적에 포함됩니다. 실행은 게이트에서 멈춥니다. `get_recast_status`가 후보를 보여 주고, `resolve_recast_gate`가 각 선택을 무료로 기록하고 실행을 다음으로 진행합니다. 게이트는 다음 순서로 열립니다.

1. **출연진.** 각 요소의 포트레이트를 세 개 중 하나 고릅니다.
2. **아이덴티티 시트.** 인물에 대해, 실행이 이 게이트를 제공할 때 열립니다. 세 시트는 내가 고른 얼굴을 공유하므로, 이 선택은 체형과 의상에 관한 것입니다.
3. **장면 스틸.** 각 장면의 첫 프레임과 마지막 프레임을 고릅니다.
4. **음악.** 음악 구간마다 테이크를 고릅니다.

`finish_auto: true`는 남은 모든 게이트를 자동 평가기의 1순위 후보로 결정합니다. 아무도 끝내지 않은 대화형 실행은 안전하게 보류되었다가 기한이 되면 스스로 결정됩니다.

## 권한
| 도구 | 권한 |
| --- | --- |
| `get_recast_authoring_skill`, `validate_recast_script` | 없음 |
| `import_recast_script` | `workflows:write` |
| `start_recast`, `resolve_recast_gate` | `workflows:execute` |
| `get_recast_status` | `workflows:read` |

각 도구의 매개변수는 [도구 레퍼런스](https://nodaro.ai/docs/mcp/tools/recast)에 있습니다.

## REST API에서
같은 방식이 REST에서도 작동합니다. `POST /v1/video-analysis/import/validate`, `POST /v1/video-analysis/import`, `GET /v1/video-analysis/authoring-skill`입니다. API 레퍼런스의 [Recast](https://nodaro.ai/docs/developers/api/recast)를 참고하세요.

## 자주 묻는 질문

### Recast 방식이란 무엇인가요?

AI 어시스턴트가 요청 하나로 완전한 동영상을 만드는 방식입니다. 어시스턴트는 시나리오 형태의 JSON 스크립트를 쓰고, 무료로 검증하고, 실제 Recast 프로젝트로 가져와 렌더링하며, 크레딧을 쓰기 전에 가격을 보여 줍니다.

### Recast 프로젝트는 어디에서 볼 수 있나요?

recast.nodaro.ai에서 볼 수 있습니다. 모든 상태 응답에 링크가 있습니다. 그곳의 전체 편집기에서 캐릭터를 다시 캐스팅하고, 일부를 다시 만들고, 대화형 선택을 할 수 있습니다.

### Recast는 얼마나 길게 만들 수 있나요?

각 장면은 최대 8초이며, 장면은 0초부터 빈틈없이 이어집니다. 영화 전체는 4초부터 플랫폼의 실행 한도까지이며, 16:9나 9:16으로 만듭니다.

### 렌더링 중에 대화를 떠나면 어떻게 되나요?

잃는 것은 없습니다. 실행은 실제 Recast 프로젝트이므로, 어시스턴트 없이도 앱이 실행을 재개하거나 안전하게 보류합니다.

### 어시스턴트가 스크립트가 내 것인지 확인해 달라고 하는 이유는 무엇인가요?

직접 작성한 Recast는 브랜드 이름까지 포함해 쓰인 그대로 렌더링됩니다. 가져오기에는 스크립트가 내 작품이거나 내가 권리를 보유하고 있다는 나 자신의 확인이 필요하며, 어시스턴트가 이를 대신해서는 절대 안 됩니다.
