# 가져오기와 내보내기

> 워크플로를 캐릭터, 오브젝트, 장소와 함께 또는 없이 JSON 파일 하나로 내보내고, 다른 계정, 프로젝트, 셀프 호스팅 설치로 가져오세요.

Source: https://nodaro.ai/ko/docs/guides/import-export

워크플로는 **JSON 파일** 하나로 이동합니다. 편집기에서 내보내고 어디로든 가져올 수 있습니다. 다른 계정, 다른 프로젝트, 셀프 호스팅 설치 모두 가능합니다. 파일에는 워크플로가 사용하는 캐릭터, 오브젝트, 장소를 담을 수 있습니다. 가져오기는 접근할 수 있는 미디어를 복사하므로, 사본이 따로 작동합니다.

## 워크플로 내보내기
### 워크플로 저장
내보내기는 캔버스에 있는 것이 아니라 저장된 버전의 워크플로를 읽습니다. 먼저 저장하세요.

### 내보내기 선택
편집기 도구 모음에서 **내보내기**를 열고 파일에 담을 내용을 고르세요.

| 선택 | 파일에 담기는 것 |
| --- | --- |
| **에셋 포함** | 워크플로와 그 워크플로가 사용하는 캐릭터, 오브젝트, 장소 |
| **템플릿만** | 결과와 그 밖의 실행 콘텐츠 없이 워크플로만 |

### 파일 공유
파일을 보내거나 백업으로 보관하세요. 워크플로가 비공개 서버의 파일처럼 내 설치에서만 제공할 수 있는 미디어를 쓰면 내보내기가 경고합니다. 파일을 공유하기 전에 그 미디어를 공개된 곳에 업로드하거나, 그 노드들에 새 입력이 필요할 것이라고 예상하세요.

## 워크플로 가져오기
**홈 화면에서.** “이어서 작업하기” 옆의 **JSON 가져오기**를 클릭하고 파일을 고르세요. Nodaro가 워크플로를 만들고 엽니다. 워크플로는 기본 프로젝트인 **내 최근 워크플로**에 들어가며, 이 프로젝트는 처음 필요할 때 만들어집니다.

**편집기에서.** 도구 모음에서 **가져오기**를 여세요. **파일에서** 또는 **클립보드에서**를 고른 다음, 두 옵션 중 하나를 고르세요.

| 선택 | 결과 |
| --- | --- |
| **새 워크플로로 가져오기** | 홈 화면 버튼처럼 새 워크플로가 만들어집니다 |
| **현재 워크플로에 추가** | 가져온 노드가 열려 있는 캔버스에서 기존 내용의 오른쪽에 추가됩니다 |

가져온 워크플로의 이름은 모두 파일 이름 끝에 `(Imported)`를 붙여 정해지므로, 사본이 원본처럼 보이지 않습니다. 두 방법 모두 일반 내보내기 파일과 튜토리얼 형식을 받습니다.

## 옮겨지는 것
| 워크플로의 부분 | 가져올 때 일어나는 일 |
| --- | --- |
| **캐릭터, 오브젝트, 장소** | **에셋 포함** 파일이면 내 계정에 다시 만들어지고, 노드가 새 사본을 가리킵니다. |
| **새 설치가 접근할 수 있는 미디어** | 이미지, 동영상, 오디오가 새 설치의 스토리지로 복사되므로, 워크플로가 더 이상 원본에 의존하지 않습니다. 완료 메시지에 복사된 파일 수가 나옵니다. |
| **새 설치가 접근할 수 없는 미디어** | 원래 위치를 계속 가리킵니다. 가져오기가 경고하고 노드의 이름을 알려 주며, 그 노드들은 파일을 다시 업로드할 때까지 실행되지 않습니다. |
| **내 스토리지에 맞지 않는 에셋** | 워크플로는 그래도 들어오며, 가져오기가 만들지 못한 에셋의 이름을 알려 줍니다. 그 에셋을 쓰는 노드에는 에셋이 없다고 표시됩니다. |
| **저장된 자격 증명** | 절대 내보내지 않습니다. [**Webhook 출력**](https://nodaro.ai/docs/nodes/publish/webhook-output)은 자격 증명 없이 도착하며, 내 자격 증명을 직접 고르세요. |
| **일정** | 가져온 [**일정 트리거**](https://nodaro.ai/docs/nodes/automate/schedule-trigger)는 항상 일시 중지된 상태로 시작합니다. 준비가 되면 켜세요. |
| **스니펫과 피커 설정** | 그대로 옮겨집니다. [스니펫](https://nodaro.ai/docs/guides/prompt-snippets)은 프롬프트 안의 일반 텍스트이고, 피커는 전체 또는 간략 모드를 유지합니다. |

**공유받은 워크플로는 에셋 없이 내보내집니다.** 다른 사람이 나와 공유한 워크플로도 내보낼 수 있습니다. 이때 파일에는 그 뒤에 있는 캐릭터와 장소가 담기지 않습니다. 워크플로를 읽을 수 있다고 해서 그 에셋까지 받는 것은 아닙니다.

## Nodaro Cloud와 셀프 호스팅 설치 사이에서 워크플로 옮기기
같은 파일이 양방향으로 작동합니다.

1. 이전 설치에서 워크플로를 **에셋 포함**으로 내보내세요.
2. 새 설치에서 **JSON 가져오기**로 가져오세요.
3. 가져오기 메시지를 읽으세요. 접근하지 못한 미디어는 다시 업로드하세요.
4. 셀프 호스팅 설치라면 워크플로가 쓰는 모델을 내 공급자 키나 [Nodaro Cloud 연결](https://nodaro.ai/docs/concepts/editions)로 쓸 수 있는지 확인하세요.
5. Webhook 출력 노드에서 자격 증명을 다시 고르고, 실행되어야 할 일정을 켜세요.

## 코드에서 가져오기와 내보내기
REST API는 `POST /v1/workflows/import`로 같은 파일을 가져오며, 파일 내용을 `workflow_json`으로 보냅니다. 응답에는 새 워크플로와 가져오기 보고서가 들어 있습니다. 보고서에는 복사된 미디어 파일 수, 접근할 수 없었던 파일, 건너뛴 파일이 나옵니다. SDK는 `client.workflows.import(...)`로 같은 엔드포인트를 호출하며, [MCP](https://nodaro.ai/docs/mcp)로 연결된 어시스턴트도 워크플로를 내보내고 가져올 수 있습니다. [워크플로 API](https://nodaro.ai/docs/developers/api/workflows)를 참고하세요.

## 자주 묻는 질문

### 워크플로를 다른 Nodaro 계정으로 복사하려면 어떻게 하나요?

편집기에서 내보내기를 열고 에셋 포함을 선택하세요. 다른 계정에서는 홈 화면의 JSON 가져오기를 클릭하고 파일을 고르세요. 워크플로가 새 사본으로 열리며, 그 캐릭터, 오브젝트, 장소도 그 계정에 만들어집니다.

### 에셋 포함과 템플릿만은 어떻게 다른가요?

에셋 포함은 워크플로가 사용하는 캐릭터, 오브젝트, 장소를 함께 담습니다. 템플릿만은 결과와 그 밖의 실행 콘텐츠 없이 워크플로만 담습니다.

### 가져온 노드에 미디어가 없다고 표시되는 이유는 무엇인가요?

파일이 비공개 셀프 호스팅 서버처럼 원래 설치에서만 제공할 수 있는 미디어를 가리키기 때문입니다. 가져오기가 그런 노드의 이름을 알려 줍니다. 실행하기 전에 새 설치에 미디어를 다시 업로드하세요.

### 가져온 일정은 바로 실행되기 시작하나요?

아니요. 가져온 일정 트리거는 항상 일시 중지된 상태로 시작합니다. 준비가 되면 스위치로 켜세요.

### 내보내기에 내 Webhook 키가 포함되나요?

아니요. 내보내기에는 저장된 자격 증명이 절대 담기지 않습니다. 가져온 뒤 자격 증명이 필요한 각 Webhook 출력 노드에서 내 자격 증명을 고르세요.
