# 동영상

> AI 어시스턴트용 Nodaro 동영상 도구로 텍스트나 이미지에서 동영상을 생성하고, 클립을 연장하고, 스타일과 조명을 바꾸고, 업스케일하고, 얼굴이 말하거나 움직이게 하세요.

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

**동영상 도구**로 어시스턴트는 Nodaro에서 동영상을 만들고 변형할 수 있습니다. 텍스트나 이미지로 클립을 생성하고, 연장하거나 스타일을 바꾸고, 조명을 바꾸고, 업스케일하고, 얼굴이 말하게 하거나 움직임을 따라 하게 합니다. 각 도구는 작업을 시작하고 그 ID를 반환하며, 결과는 내 라이브러리에 저장됩니다. 모든 동영상 도구에는 `workflows:execute` 권한이 필요합니다. 동영상 작업은 보통 2~10분이 걸립니다.

| 도구 | 하는 일 |
| --- | --- |
| [`generate_video`](#generate_video) | 텍스트로 동영상을 만들며, 레퍼런스를 함께 쓸 수 있습니다 |
| [`animate_image`](#animate_image) | 이미지로 동영상을 만들며, 종료 프레임을 함께 쓸 수 있습니다 |
| [`extend_video`](#extend_video) | 클립을 시간 순서대로 이어 갑니다 |
| [`modify_video`](#modify_video) | 프롬프트로 클립의 스타일을 바꾸거나 편집합니다 |
| [`relight_video`](#relight_video) | 클립 자체의 픽셀로 조명을 바꾸거나 배경을 교체합니다 |
| [`video_upscale`](#video_upscale) | 클립을 업스케일하거나, Seedance 2.5 초안을 1080p로 완성합니다 |
| [`video_depth`](#video_depth) | 클립을 깊이 동영상으로 바꿉니다 |
| [`video_mask`](#video_mask) | 텍스트로 설명한 피사체를 추적해 마스크 동영상을 반환합니다 |
| [`lip_sync`](#lip_sync) | 얼굴이 오디오 트랙을 말하거나 노래하게 합니다 |
| [`speech_to_video`](#speech_to_video) | 인물 사진을 음성 클립에 맞춰 움직입니다 |
| [`motion_transfer`](#motion_transfer) | 동영상의 움직임을 캐릭터 이미지에 복사합니다 |
| [`face_swap`](#face_swap) | 동영상 속 얼굴을 교체합니다 |
| [`stop_video_pro`](#stop_video_pro), [`continue_video_pro`](#continue_video_pro) | 긴 동영상 생성 Pro 실행을 멈추거나 다시 이어 갑니다 |

## `generate_video`
텍스트 프롬프트로 동영상을 만듭니다. [동영상 생성](https://nodaro.ai/docs/nodes/video/generate-video) 노드와 같은 방식으로 작동합니다.

**권한:** `workflows:execute`. **크레딧:** 모델의 가격이며, 대부분의 모델은 길이와 해상도로 가격을 정합니다. 비용을 안내하기 전에 [`list_models`](https://nodaro.ai/docs/mcp/tools/models-and-credits#list_models)에서 모델의 `pricing`을 확인하세요.

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `prompt` | string | 동영상 설명으로, 최대 8,000자입니다. 프리셋이 제공하지 않으면 필수입니다. |
| `model` | string | 모델 ID입니다. 기본값은 `seedance-2-fast`입니다. 알 수 없는 ID는 기본 모델로 대체됩니다. |
| `duration` | number | 초 단위입니다. 지원되는 가장 가까운 값이 쓰입니다. `-1`이면 Seedance 2가 길이를 정합니다. |
| `aspect_ratio` | string | 예를 들어 `16:9`, `9:16`, `1:1`입니다. 기본값은 `16:9`입니다. 지원되지 않는 값은 대체됩니다. |
| `resolution` | string | 모델에 따라 `480p`, `720p`, `1080p`, `4k` 등입니다. 생략하면 모델의 가장 낮은 해상도, 즉 가장 저렴한 해상도를 씁니다. |
| `sound` | boolean | 소리를 생성할 수 있는 모델에서 소리를 생성합니다. |
| `negative_prompt` | string | 피할 내용으로, 최대 8,000자입니다. |
| `seed` | integer | 시드를 지원하는 모델에서 쓰는 고정 시드입니다. Seedance 2.5와 HappyHorse 1.1 같은 일부 모델은 시드를 받지 않습니다. 이 값을 무시하므로 반복 실행 결과가 달라집니다. |
| `draft` | boolean | `seedance-2-5`에서 480p 실행 가격으로 만드는 480p 초안입니다. 마음에 드는 테이크는 `video_upscale`와 `model: "seedance-2-5-hd"`로 완성하세요. [Seedance 2.5 초안 모드](https://nodaro.ai/docs/nodes/video/generate-video#seedance-25-draft-mode)를 참고하세요. |
| `reference_image_urls` | array | 정체성이나 스타일을 위한 레퍼런스 이미지로, URL이나 Nodaro ID입니다. 모델마다 한도가 있으며, 예를 들어 Seedance 2.5는 30장, Seedance 2와 MiniMax H3은 9장, Gemini Omni는 7장, VEO 3.1은 3장입니다. 레퍼런스를 받지 않는 모델은 이 값을 무시합니다. |
| `reference_video_urls` | array | 스타일이나 움직임을 위한 레퍼런스 동영상으로, 이를 받는 모델에서 씁니다. |
| `reference_video_captions` | array | 각 레퍼런스 동영상의 용도로, 같은 순서로 각각 최대 500자입니다. 각 캡션은 프롬프트에서 `@video_1: …` 같은 줄이 됩니다. |
| `reference_audio_urls` | array | 움직임을 이끄는 레퍼런스 오디오로, 이를 받는 모델에서 씁니다. |
| `presetId` | string | [`list_node_presets`](https://nodaro.ai/docs/mcp/tools/models-and-credits#list_node_presets)의 프리셋입니다. 직접 보낸 필드가 프리셋보다 우선합니다. |
| `structured` | object | [`generate_image`](https://nodaro.ai/docs/mcp/tools/image#generate_image)와 마찬가지로 프롬프트에 추가하는 구조화된 세부 정보입니다. |
| `described_references` | array | 이름은 알지만 사진이 없는 대상을 위한 `{ name, description }` 항목으로, 최대 10개입니다. |
| `connected_references`, `reference_order` | array | 고급 기능입니다. 편집기 자체 형식으로 라벨과 순서를 붙인 레퍼런스로, 최대 14개입니다. |
| `character_references` | array | Gemini Omni와 Gemini Omni Flash 전용입니다. 실제 인물의 얼굴을 유지하며, 최대 3개입니다. [인물의 얼굴 유지](#keep-a-persons-face)를 참조하세요. |

**반환값:** 작업 ID입니다. MCP Apps를 지원하는 클라이언트에서는 동영상이 준비되면 카드에서 재생됩니다.

Seedance에서는 여러 순간이 있는 동영상을 `Shot 1: … Shot 2: …` 형식으로 쓰고, 샷마다 카메라 움직임은 하나만 쓰고, 소리는 프롬프트에서 설명하세요. `generate-video`로 `get_node_skill`을 호출하면 모델 계열마다의 프롬프트 규칙을 반환합니다.

레퍼런스 동영상은 모델에게 그 클립에서 무언가를 따라 하라고 알려 줍니다. 무엇을 위한 동영상인지 `reference_video_captions`에 적으세요. 예를 들어 [3D 장면](https://nodaro.ai/docs/mcp/3d-scenes)의 회색 클레이 렌더링은 룩이 아니라 레이아웃 가이드입니다. 캡션이 없으면 모델이 회색 클레이 룩까지 따라 할 수 있습니다.

### 모델별 참고 사항
| 모델 | 알아 둘 점 |
| --- | --- |
| Seedance 2(`seedance-2`) | `resolution: "4k"`, 그리고 `aspect_ratio: "adaptive"` 또는 `"21:9"`를 받습니다. |
| Seedance 2 Fast와 Mini(`seedance-2-fast`, `seedance-2-mini`) | `480p`와 `720p`만 지원합니다. |
| Seedance 2.5(`seedance-2-5`) | `480p`, `720p`, `1080p`를 지원하며, 한 번 호출로 최대 30초까지 만듭니다. 레퍼런스 이미지 최대 30장, 동영상 10개, 오디오 클립 10개를 받습니다. |
| MiniMax H3(`minimax-h3`) | 레퍼런스 이미지 최대 9장, 동영상 3개, 오디오 클립 3개를 받습니다. `resolution`은 `2K`(기본값) 또는 더 저렴한 `768P`이며, 오디오는 항상 켜져 있습니다. 텍스트만으로 만드는 동영상에는 구체적인 화면 비율이 필요합니다. 레퍼런스 동영상은 각각 2~15초, 합계 15초이며, 레퍼런스 오디오는 이미지나 동영상 레퍼런스와 함께 보내야 합니다. |
| Wan 3.0(`wan-3`, `wan-3-prime`) | 레퍼런스 이미지 최대 10장, 동영상 5개, 오디오 클립 5개를 받으며, 각 클립은 1~15초, 유형별 합계는 15초입니다. `duration`은 2~30초이며 기본값은 5초입니다. `resolution`은 `480p`, `720p`, `1080p` 중 하나입니다. `wan-3-prime`은 더 빠르고 더 비쌉니다. |
| Gemini Omni Flash(`gemini-omni-flash`) | Gemini Omni의 더 저렴하고 빠른 버전입니다. `duration`은 4, 6, 8, 10초 중 하나이며 기본값은 8초입니다. `aspect_ratio`는 `16:9` 또는 `9:16`입니다. `resolution`은 `720p`, `1080p`, `4k` 중 하나입니다. |
| VEO 3.1 Quality(`veo3`) | 레퍼런스 모드가 없습니다. 레퍼런스를 쓰려면 VEO 3.1 Fast나 Lite를 사용하세요. |

Seedance 2, MiniMax H3, Wan 3.0에서는 레퍼런스와 함께 보낸 시작 프레임이나 종료 프레임이 레퍼런스 이미지 하나로 추가되며, 프롬프트에서 시작 프레임이나 마지막 프레임으로 설명됩니다. Seedance에서는 레퍼런스 동영상이 입력 길이와 출력 길이를 합쳐 청구되므로, 레퍼런스 클립이 길수록 더 많은 크레딧이 예약됩니다.

### 인물의 얼굴 유지
Gemini Omni나 Gemini Omni Flash에서 실제 인물의 얼굴을 유지하려면 `character_references`를 넘기세요. `{ image_url, description }` 항목을 최대 3개까지 넣을 수 있으며, 각 항목에 `body_image_url`, `name`, `voice_preset`을 선택적으로 더할 수 있습니다. `image_url`은 인물 사진이고, `description`은 그 인물에 대한 설명입니다. 이것은 모델 자체의 정체성 입력이므로 얼굴을 유지합니다. 반면 `reference_image_urls`는 클립의 방향만 잡아 줍니다.

- 다른 모델은 이 입력 없이 실행하지 않고 오류로 응답합니다.
- 시작 프레임과 함께 쓸 수 없습니다.
- 레퍼런스 이미지(각 1단위), 원본 동영상(2단위)과 함께 모델의 입력 예산 7단위를 나눠 씁니다. 캐릭터 하나는 1단위이며, `body_image_url`이 있으면 2단위입니다.
- `voice_preset`은 `kore` 같은 Gemini 보이스 ID입니다. 여러 클립에 걸쳐 그 캐릭터의 보이스를 똑같이 유지합니다.

캐릭터 레퍼런스는 클립 가격에 크레딧을 더하지 않습니다.

## `animate_image`
정지 이미지를 동영상으로 만듭니다. 종료 프레임도 보내면 첫 번째 그림에서 두 번째 그림으로 움직이는 동영상이 됩니다. [동영상 생성](https://nodaro.ai/docs/nodes/video/generate-video)의 이미지로 동영상 만들기 모드와 같은 방식으로 작동합니다.

**권한:** `workflows:execute`. **크레딧:** 모델의 가격입니다.

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `image_url` 또는 `image_asset_id` | string | 첫 프레임입니다. |
| `end_frame_url` 또는 `end_frame_asset_id` | string | 마지막 프레임입니다. `list_models`에서 `features`에 `end-frame`이 포함된 모델을 고르세요. |
| `prompt` | string | 동영상에서 일어나는 일로, 최대 8,000자입니다. |
| `model` | string | 기본값은 `seedance-2-fast`입니다. 알 수 없는 ID는 기본 모델로 대체됩니다. |
| `duration`, `aspect_ratio`, `resolution`, `sound`, `draft` | | `generate_video`와 같습니다. |
| `reference_image_urls`, `reference_video_urls`, `reference_audio_urls` | array | 모델별 한도 안의 레퍼런스로, 예를 들어 Seedance 2.5는 이미지 30장, Seedance 2와 MiniMax H3은 9장, Gemini Omni, Kling 3 Omni, Grok은 7장입니다. |
| `loop_trim` | object | 결과를 가장 깔끔한 루프 지점으로 자릅니다. `enabled`, `frames_to_test`(1~64), `quality`(`lossless` 또는 `precise`)로 설정합니다. 이전의 `auto_loop_trim` 매개변수도 계속 작동하며 이 매개변수로 매핑됩니다. |
| `described_references`, `connected_references`, `reference_order` | array | `generate_video`와 같습니다. |

도구는 보낸 값에 따라 모드를 고릅니다. 프레임(첫 프레임과 선택 사항인 마지막 프레임) 또는 레퍼런스입니다. 레퍼런스 동영상과 오디오는 종료 프레임과 함께 쓸 수 없습니다. 끊김 없는 루프를 만들려면 첫 프레임과 마지막 프레임에 같은 이미지를 쓰고 소리를 끈 다음, `combine_videos`로 사본을 잇고 `merge_video_audio`로 소리를 추가하세요.

**반환값:** 작업 ID입니다.

## `extend_video`
클립을 시간 순서대로 이어 갑니다. 먼저 모델을 고르세요. 두 모델은 자신이 생성한 동영상을 이어 가고, 한 모델은 어떤 동영상이든 연장합니다.

**권한:** `workflows:execute`. **크레딧:** 연장 모델의 가격입니다.

| Model | Maker | Modes | Credits | Details |
| --- | --- | --- | --- | --- |
| [Seedance 2 Extend](https://nodaro.ai/docs/models/video/seedance-2-extend) | Bytedance | Video extension | 286부터 | Extend ANY video: generates the continuation (audio included) and trim-stitches it into one seamless clip. |
| [VEO Extend](https://nodaro.ai/docs/models/video/veo-extend) | Google | Video extension | 209부터 | Extend an existing VEO 3.1 clip by another segment. |
| [Runway Extend](https://nodaro.ai/docs/models/video/runway-extend) | Runway | Video extension | 352 | Extend a Runway video by another clip. |

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `model` | string | **필수.** `seedance-2-extend`, `veo-extend`, `runway-extend` 중 하나입니다. |
| `prompt` | string | **필수.** 다음에 일어나는 일로, 최대 8,000자입니다. `seedance-2-extend`에서는 이어지는 부분만 설명하세요. |
| `video_url` 또는 `video_asset_id` | string | `seedance-2-extend` 전용: 연장할 동영상으로, 출처는 상관없습니다. |
| `task_id` | string | `veo-extend`와 `runway-extend` 전용: 이전 VEO 또는 Runway 생성의 태스크 ID로, 해당 작업 출력의 `providerTaskId`입니다. |
| `duration` | integer | `seedance-2-extend`: 추가할 초 수로, 4~15입니다. 기본값은 `8`입니다. |
| `generate_audio` | boolean | `seedance-2-extend`: 사운드트랙을 이어 갑니다. 기본값은 `true`입니다. |
| `resolution` | string | `seedance-2-extend`: `480p`, `720p`(기본값), `1080p`, `4k` 중 하나입니다. 가장 깔끔하게 이어지도록 원본에 맞추세요. |
| `reference_image_urls` | array | `seedance-2-extend`: 레퍼런스 이미지 최대 8장이며, 프롬프트에서 목록 순서대로 `@image_1`~`@image_8`로 부릅니다. |
| `veo_quality` | string | `veo-extend`: `fast` 또는 `quality`입니다. |
| `runway_resolution` | string | `runway-extend`: `720p` 또는 `1080p`입니다. |
| `seed` | integer | 10,000~99,999입니다. |

**반환값:** 작업 ID입니다. `seedance-2-extend`는 다음에 일어나는 일을 오디오와 함께 생성하고, 원본과 이어 클립 하나로 만듭니다.

## `modify_video`
프롬프트로 기존 클립의 스타일을 바꾸거나 편집합니다. [동영상으로 동영상 만들기](https://nodaro.ai/docs/nodes/video/video-to-video) 노드와 같은 방식으로 작동합니다.

**권한:** `workflows:execute`. **크레딧:** 모델의 가격입니다.

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `prompt` | string | **필수.** 변경 내용으로, 최대 8,000자입니다. |
| `video_url` 또는 `video_asset_id` | string | **둘 중 하나는 필수.** 원본 클립입니다. |
| `model` | string | `wan`(기본값, Wan 2.6, 일반적인 선택), `wan-flash`, `wan-videoedit`, `luma-modify`, `runway-aleph`, `happyhorse-edit`, `seedance-2-5` 중 하나입니다. 알 수 없는 ID는 `wan`으로 대체됩니다. |
| `duration` | string | Wan과 Wan Flash: `5` 또는 `10`초입니다. |
| `resolution` | string | Wan과 Wan Flash: `720p` 또는 `1080p`입니다. Seedance 2.5: `480p`~`1080p`입니다. |
| `aspect_ratio` | string | Runway Aleph 전용: `16:9`, `9:16`, `4:3`, `3:4`, `1:1`, `21:9` 중 하나입니다. |
| `audio` | boolean | Wan Flash 전용: 오디오를 유지하거나 다시 생성합니다. |
| `multi_shots` | boolean | Wan Flash 전용: 클립 안에서 장면 전환을 허용합니다. |
| `reference_image_url` | string | Runway Aleph 전용: 스타일 레퍼런스 이미지입니다. |
| `reference_image_urls` | array | Seedance 2.5 전용: 최대 30장이며, 프롬프트에서 `{image:1}`, `{image:2}` 식으로 부릅니다. |
| `seed` | integer | 고정 시드입니다. `seedance-2-5`와 `happyhorse-edit`는 시드를 받지 않으며 이 값을 무시합니다. |
| `draft` | boolean | Seedance 2.5 전용: 편집을 480p 초안으로 렌더링합니다. `video_upscale`와 `model: "seedance-2-5-hd"`로 1080p로 완성하세요. |

`seedance-2-5`에서는 프롬프트가 클립 전체를 편집하는 지시문입니다. 결과는 원본의 길이와 화면 비율을 유지하며, 클립은 4~30초여야 합니다. 레퍼런스 동영상을 쓰는 Seedance 2.5 실행처럼 청구됩니다. 입력 초와 출력 초를 합한 값으로, 가장 긴 클립을 기준으로 예약했다가 실제로 나온 길이로 정산합니다.

**반환값:** 작업 ID입니다.

## `relight_video`
원본 동영상 자체의 픽셀로 클립의 조명을 바꾸거나, 배경을 교체하거나 스타일을 바꾸거나, 새 요소를 합성합니다. Beeble SwitchX로 실행되며, [조명 변경 및 교체](https://nodaro.ai/docs/nodes/video/relight-and-switch) 노드와 같은 방식으로 작동합니다.

**권한:** `workflows:execute`. **크레딧:** 프레임 수와 출력 해상도로 정해집니다.

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `video_url` 또는 `video_asset_id` | string | 원본 클립으로, 최대 240프레임, 프레임당 2,770,000픽셀입니다. |
| `prompt` | string | 새 조명이나 룩으로, 최대 2,000자입니다. 프롬프트, 레퍼런스 이미지 또는 둘 다 보내세요. |
| `reference_image_url` | string | 새 룩을 위한 레퍼런스 이미지입니다. 강력히 권장합니다. |
| `alpha_mode` | string | `auto`(기본값)는 주 피사체를 마스킹합니다. `fill`은 프레임 전체의 스타일을 바꿉니다. `select`는 `mask_url`을 키프레임 마스크 하나로 씁니다. `custom`은 `mask_url`을 모든 프레임에 쓰는 마스크 동영상으로 씁니다. |
| `mask_url` | string | `select`와 `custom`에 필요합니다. |
| `alpha_keyframe_index` | integer | `select`일 때: 마스크가 설명하는 프레임으로, 0부터 셉니다. |
| `max_resolution` | string | `720` 또는 `1080`(기본값)입니다. |
| `seed` | integer | 고정 시드입니다. |

**반환값:** 작업 ID입니다. 결과에는 SwitchX 출처 표시가 붙습니다.

## `video_upscale`
클립을 더 높은 해상도로 업스케일합니다. [동영상 업스케일](https://nodaro.ai/docs/nodes/video/upscale-video) 노드와 같은 방식으로 작동합니다.

**권한:** `workflows:execute`. **크레딧:** 업스케일 모델의 가격입니다.

| Model | Maker | Modes | Credits | Details |
| --- | --- | --- | --- | --- |
| [Topaz Video Upscale](https://nodaro.ai/docs/models/video/topaz-video-upscale) | Topaz | Video upscaling | 209 | High-quality video upscale and enhancement. |
| [VEO 1080p Upscale](https://nodaro.ai/docs/models/video/veo-1080p-upscale) | Google | Video upscaling | 22 | Upscale VEO output to 1080p. |
| [VEO 4K Upscale](https://nodaro.ai/docs/models/video/veo-4k-upscale) | Google | Video upscaling | 418 | Upscale VEO output to 4K. |

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `model` | string | `topaz`(기본값), `veo-1080p`, `veo-4k`, `seedance-2-5-hd` 중 하나입니다. |
| `video_url` 또는 `video_asset_id` | string | `topaz`에 필요합니다. |
| `upscale_factor` | string | `topaz`일 때: `1`, `2`, `4` 중 하나입니다. 기본값은 `2`입니다. |
| `task_id` | string | `veo-1080p`와 `veo-4k`에 필요합니다. 원래 VEO 생성의 태스크 ID로, 해당 작업 출력의 `providerTaskId`입니다. `seedance-2-5-hd`에서는 초안의 태스크 ID입니다. |
| `source_job_id` | string | `seedance-2-5-hd` 전용: `task_id` 대신 지정하는, 완성할 Seedance 2.5 초안의 작업 ID입니다. |

`seedance-2-5-hd`는 Seedance 2.5 초안을 같은 테이크로 1080p에서 다시 렌더링합니다. 가격은 초안의 길이로 정해집니다. [동영상 업스케일](https://nodaro.ai/docs/nodes/video/upscale-video#seedance-25-hd-from-draft)을 참고하세요.

**반환값:** 작업 ID입니다.

## `video_depth`
동영상을 가까운 곳은 밝고 먼 곳은 어두운 깊이 동영상으로 바꿉니다. [동영상 깊이](https://nodaro.ai/docs/nodes/video/video-depth) 노드와 같은 방식으로 작동합니다.

**권한:** `workflows:execute`. **크레딧:** 클립 길이에 따라 정해집니다. [동영상 깊이](https://nodaro.ai/docs/nodes/video/video-depth#credits)를 참고하세요.

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `video_url` 또는 `video_asset_id` | string | 원본 동영상입니다. |
| `provider` | string | 프레임 간에 일관된 `video-depth-anything`(기본값), 또는 프레임마다 실행되어 깜빡일 수 있고 최대 80초 클립을 받는 `depth-anything-frames`입니다. |
| `model_size` | string | `small`, `base` 또는 `large`입니다. 기본값은 `large`입니다. |
| `colormap` | string | `grayscale`(기본값), `turbo`, `inferno`, `magma` 또는 `viridis`입니다. `depth-anything-frames`는 `grayscale`과 `inferno`만 렌더링합니다. 다른 값은 `grayscale`이 됩니다. |
| `resolution` | string | `video-depth-anything` 전용: `auto`(기본값), `360p`, `480p`, `720p` 또는 `1080p`입니다. |
| `side_by_side` | boolean | `video-depth-anything` 전용: 원본과 깊이를 나란히 보여 줍니다. |

모델이 받지 않는 설정은 제외됩니다. 2,400프레임이나 300초를 넘는 클립은 크레딧이 예약되기 전에 거부됩니다.

**반환값:** 작업 ID입니다.

## `video_mask`
일반 텍스트로 설명한 피사체를 동영상 전체에서 추적해, 피사체가 있는 곳이 흰색인 흑백 마스크 동영상을 반환합니다. [동영상 마스크](https://nodaro.ai/docs/nodes/video/video-mask) 노드와 같은 방식으로 작동합니다.

**권한:** `workflows:execute`. **크레딧:** 클립 길이에 따라 정해지며, SAM 3.1에서 55~3,108크레딧입니다. SAM 3은 절반입니다.

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `video_url` 또는 `video_asset_id` | string | 원본 동영상으로, 30fps 기준 최대 5분입니다. 프레임 레이트가 더 높은 클립은 그만큼 더 길게 계산됩니다. |
| `prompt` | string | **필수.** 추적할 대상으로, 1~500자입니다. 예: `the woman in the red coat`. 여러 피사체는 쉼표로 구분하세요. |
| `threshold` | number | 0.05~0.95입니다. 기본값은 `0.5`입니다. 값이 낮을수록 더 많이 찾습니다. 아무것도 맞지 않으면 `0.3`을 시도하세요. |
| `provider` | string | `sam-3.1`(기본값) 또는 절반 가격의 `sam-3`입니다. |

읽을 수 없거나 너무 긴 클립은 요금이 청구되기 전에 거부됩니다. 어떤 프레임에서도 맞는 것이 없는 프롬프트는 실패하고 크레딧이 환불됩니다. 작업 ID를 [`mask_composite`](https://nodaro.ai/docs/mcp/tools/video-editing#mask_composite)에 `mask_asset_id`로 전달하세요.

**반환값:** 작업 ID입니다.

## `lip_sync`
얼굴이 오디오 트랙을 말하거나 노래하게 합니다. 인물 사진은 말하는 얼굴 영상이 되고, 기존 클립의 입은 새 오디오를 따라 움직입니다. [립싱크](https://nodaro.ai/docs/nodes/video/lip-sync) 노드와 같은 방식으로 작동합니다.

**권한:** `workflows:execute`. **크레딧:** 모델의 가격입니다. 도구의 `model` 설명에 모델마다의 가격이 나와 있습니다.

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `image_url` 또는 `image_asset_id` | string | 인물 사진입니다. `kling-avatar`, `kling-avatar-pro`, `infinitalk`에 쓰세요. |
| `video_url` 또는 `video_asset_id` | string | 얼굴이 나오는 클립으로, `latentsync`, `video-retalking`처럼 기존 동영상을 다시 움직이는 모델에 씁니다. |
| `audio_url` 또는 `audio_asset_id` | string | 말이나 노래입니다. |
| `audio_duration_sec` | number | 오디오의 길이로, 0.1~600초입니다. 초 단위로 청구되는 모델은 이 길이로 크레딧을 예약하고 청구합니다. 생략하면 오디오 길이를 먼저 측정합니다. |
| `model` | string | 기본값은 720p로 말하는 얼굴을 만드는 `kling-avatar`입니다. 그 밖에 `kling-avatar-pro`, `infinitalk`, `omnihuman-1-5`, `latentsync`, `wav2lip`, `video-retalking`, `sadtalker`, `heygen-lipsync-precision`, `lipsync-2-pro`, `sync-lipsync-v3`, `volcengine-lipsync`, Seedance 2 계열, `minimax-h3`가 있습니다. 알 수 없는 ID는 `kling-avatar`로 대체됩니다. |
| `prompt` | string | `a confident TED speaker`(자신감 있는 TED 연사) 같은 연기 힌트로, 최대 500자입니다. 일부 모델이 사용합니다. |
| `resolution` | string | InfiniTalk: `480p` 또는 `720p`. Seedance 2와 2 Fast: `480p`, `720p`, `1080p`. OmniHuman 1.5: `720p` 또는 `1080p`(기본값). |
| `seed`, `fast_mode` | | OmniHuman 1.5 전용: 고정 시드, 그리고 품질이 약간 낮은 대신 더 빠른 모드입니다. |
| `mode` | string | Volcengine 전용: `lite`(기본값, 카메라를 보는 한 사람) 또는 `basic`(복잡한 장면)입니다. |
| `open_scenedet`, `separate_vocal`, `align_audio`, `align_audio_reverse`, `templ_start_seconds` | | Volcengine 전용: 여러 화자를 위한 화자 감지, 오디오 노이즈 제거, 원본 동영상을 오디오 길이에 맞춰 반복하기, 원본의 시작 시간입니다. |

`lip-sync`로 `get_node_skill`을 호출하면 노래, 더빙, 영화 같은 전신 샷, 가장 저렴한 초안에 각각 어떤 모델이 맞는지 설명합니다.

| Model | Maker | Modes | Credits | Details |
| --- | --- | --- | --- | --- |
| [MiniMax H3](https://nodaro.ai/docs/models/video/minimax-h3) | MiniMax | Image to video, Text to video | 253부터 | MiniMax H3 — premium multimodal tier: first/last frame + image/video/audio references, native audio, 2K (default) or 768P output, 4-15s per-second pricing. |
| [Kling Avatar Standard](https://nodaro.ai/docs/models/video/kling-avatar-standard) | Kuaishou | Lip sync | 308 | Lip-sync a still portrait to driving audio. Standard quality. |
| [Kling Avatar Pro](https://nodaro.ai/docs/models/video/kling-avatar-pro) | Kuaishou | Lip sync | 616 | Premium lip-sync — better mouth shape and timing. |
| [Seedance 2](https://nodaro.ai/docs/models/video/seedance-2) | Bytedance | Image to video, Text to video | 253부터 | Seedance 2 — premium tier with native audio. Per-second pricing by resolution. |
| [Seedance 2 Fast](https://nodaro.ai/docs/models/video/seedance-2-fast) | Bytedance | Image to video, Text to video | 198부터 | Cheaper / quicker Seedance 2 tier. |
| [Seedance 2 Mini](https://nodaro.ai/docs/models/video/seedance-2-mini) | Bytedance | Image to video, Text to video | 132부터 | Budget Seedance 2 tier — 480p/720p only, per-second pricing by resolution. |
| [Seedance 2.5](https://nodaro.ai/docs/models/video/seedance-2-5) | Bytedance | Image to video, Text to video | 374부터 | Seedance 2.5 — up to 30s in one shot, native audio, wide multimodal references. 480p/720p/1080p. |
| [OmniHuman 1.5](https://nodaro.ai/docs/models/video/omnihuman-1-5) | Bytedance | Lip sync | 1,122부터 | Premium prompt-directed talking avatar from a still image + audio. 720p / 1080p, up to 60s. People, pets, anime. |
| [InfiniTalk](https://nodaro.ai/docs/models/video/infinitalk) | InfiniTalk | Lip sync | 121부터 | Audio-driven talking-head from a still image. 480p / 720p. |
| [Sync Lipsync v3](https://nodaro.ai/docs/models/video/sync-lipsync-v3) | Sync | Lip sync | 1,100부터 | Dub existing footage — re-syncs lips to a new audio track. Video input, billed per second. |
| [Volcengine Lip Sync](https://nodaro.ai/docs/models/video/volcengine-lip-sync) | Volcengine | Lip sync | 330부터 | Video-to-video AI dubbing — re-syncs lips to a new vocal track. Multi-speaker (scene detection + speaker ID) in basic mode. Video input, billed per second. |

**반환값:** 작업 ID입니다. 동영상이 준비되면 카드에서 재생됩니다.

## `speech_to_video`
인물 사진이 오디오 클립을 말하도록 움직입니다. 얼굴은 립싱크되고 머리와 몸도 움직입니다. Wan Speech to Video로 실행되며, [음성으로 동영상 만들기](https://nodaro.ai/docs/nodes/video/speech-to-video) 노드와 같은 방식으로 작동합니다.

**권한:** `workflows:execute`. **크레딧:** 33~66크레딧.

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `prompt` | string | **필수.** 움직임과 장면으로, 최대 2,500자입니다. |
| `image_url` 또는 `image_asset_id` | string | 인물 사진입니다. |
| `audio_url` 또는 `audio_asset_id` | string | 음성입니다. |
| `resolution` | string | `480p`(기본값), `580p`, `720p` 중 하나입니다. |
| `negative_prompt` | string | 피할 내용으로, 최대 2,500자입니다. |

**반환값:** 작업 ID입니다.

## `motion_transfer`
구동 동영상의 움직임을 캐릭터 이미지에 복사해, 캐릭터가 같은 동작을 하게 합니다. [모션 전이](https://nodaro.ai/docs/nodes/video/motion-transfer) 노드와 같은 방식으로 작동합니다.

**권한:** `workflows:execute`. **크레딧:** 모델과 길이에 따른 가격입니다.

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `image_url` 또는 `image_asset_id` | string | **필수.** 캐릭터입니다. |
| `video_url` 또는 `video_asset_id` | string | **필수.** 움직임을 복사할 동영상입니다. |
| `prompt` | string | 원하는 결과로, 최대 8,000자입니다. |
| `provider` | string | 모델입니다. 기본값은 `kling`입니다. |
| `resolution` | string | `480p`, `580p`, `720p`(기본값), `1080p` 중 하나입니다. |
| `character_orientation` | string | 어느 쪽의 구도를 따를지 정합니다. `image`(기본값) 또는 `video`입니다. |
| `background_source` | string | 배경을 가져올 입력으로, `input_video` 또는 `input_image`입니다. 이를 지원하는 모델에서 씁니다. |
| `video_duration` | number | 출력 길이로, 1~60초입니다. 이를 지원하는 모델에서 씁니다. |

**반환값:** 작업 ID입니다.

## `face_swap`
동영상 속 얼굴을 인물 사진의 얼굴로 교체합니다. [얼굴 교체](https://nodaro.ai/docs/nodes/video/face-swap) 노드와 같은 방식으로 작동합니다.

**권한:** `workflows:execute`. **크레딧:** 143크레딧.

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `video_url` 또는 `video_asset_id` | string | 원본 동영상입니다. |
| `face_image_url` 또는 `face_image_asset_id` | string | 얼굴을 가져올 인물 사진입니다. |

**반환값:** 작업 ID입니다.

## `stop_video_pro`
실행 중인 동영상 생성 Pro 작업을 멈춥니다. 동영상 생성 Pro는 긴 동영상을 세그먼트 단위로 만드는 엔진으로, 예를 들어 [동영상 생성 Pro](https://nodaro.ai/docs/nodes/video/generate-video-pro) 노드가 있는 워크플로에서 쓰입니다. 진행 중인 세그먼트는 중단되지만 요금은 청구되고, 남은 세그먼트는 건너뛰며, 완료된 모든 세그먼트가 이어져 작업의 최종 동영상이 됩니다. 예약된 크레딧의 나머지는 환불됩니다. 아직 시작하지 않은 작업은 전액 환불과 함께 취소됩니다.

**권한:** `workflows:execute`. **크레딧:** 무료이며, 쓰지 않은 예약분은 환불됩니다.

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `job_id` | string | **필수.** 동영상 생성 Pro 작업입니다. |

**반환값:** 확인 응답입니다. `get_job`으로 작업을 폴링하세요. 작업은 `output_data.pro.stopped`가 `true`로 설정되고, 부분 동영상을 결과로 가진 채 완료됩니다.

## `continue_video_pro`
멈추거나 실패하거나 완료된 동영상 생성 Pro 실행을 새 작업으로 이어 갑니다. `from_segment` 이전의 세그먼트는 재사용되고, 그 세그먼트부터 이후의 모든 세그먼트는 다시 생성됩니다. 실패한 실행에는 전달된 세그먼트가 하나 이상 있어야 합니다.

**권한:** `workflows:execute`. **크레딧:** 다시 생성하는 세그먼트와 동영상 생성 Pro의 고정 요금만 듭니다.

| 매개변수 | 타입 | 설명 |
| --- | --- | --- |
| `job_id` | string | **필수.** 원래의 동영상 생성 Pro 작업입니다. |
| `from_segment` | integer | 다시 생성할 첫 세그먼트로, 1부터 세며 최대 24입니다. 기본값은 첫 번째로 빠진 세그먼트입니다. 완료된 실행의 끝부분을 다시 만들려면 더 앞의 세그먼트를 보내세요. |

**반환값:** 새 작업 ID입니다.

## 자주 묻는 질문

### generate_video는 기본적으로 어떤 모델을 쓰나요?

Seedance 2 Fast입니다. 바꾸려면 list_models에 있는 다른 ID를 model로 보내세요. 알 수 없는 ID는 오류 없이 기본 모델로 대체되며, resolution을 생략하면 모델의 가장 낮고 저렴한 해상도를 씁니다.

### generate_video와 animate_image의 차이는 무엇인가요?

generate_video는 텍스트에서 시작합니다. animate_image는 정지 이미지에서 시작하며, 종료 프레임도 받을 수 있어 한 그림에서 다른 그림으로 움직이는 동영상을 만들 수 있습니다.

### MCP로 인물 사진이 말하게 하려면 어떻게 하나요?

인물 사진이나 얼굴이 나오는 동영상, 그리고 오디오 트랙으로 lip_sync를 호출하세요. 기본 모델은 Kling Avatar입니다. 인물 사진을 음성 클립에 맞춰 움직이는 speech_to_video도 쓸 수 있습니다.

### MCP로 동영상을 생성하면 크레딧이 얼마나 드나요?

편집기에서와 같습니다. 대부분의 동영상 모델은 길이와 해상도에 따라 가격이 정해지므로, 비용을 안내하기 전에 list_models에서 모델의 가격을 확인하세요.

### Nodaro에서 만들지 않은 동영상도 연장할 수 있나요?

네, seedance-2-extend로 할 수 있습니다. 이 모델은 URL이나 Nodaro ID로 지정한 어떤 동영상이든 연장합니다. veo-extend와 runway-extend 모델은 자신이 이전에 생성한 동영상만 이어 갑니다.
