이미지·영상 생성
최종 업데이트
DGX Spark에서 Cosmos 3 Edge로 이미지를 짧은 영상으로 만들기
참조 이미지와 JSON 프롬프트에서 짧은 MP4를 생성해요.
Cosmos 3 Edge의 Generator는 참조 이미지와 영상용 JSON 프롬프트1에서 짧은 영상을 생성해요. 이 안내에서는 DGX Spark에서 ARM64 vLLM-Omni 컨테이너를 시작하고 공개 I2V 입력을 로컬 API2로 보내 MP4를 저장해요. 모델 카드의 DGX Spark 시간은 189프레임3 공개 측정이며 실행 경로별로 제시돼요. Reasoner의 텍스트 생성이나 행동 추론은 별도 작업이에요.
이미지를 받아 짧은 MP4를 만드는 모델이에요
Cosmos 3 Edge는 텍스트·이미지·행동 입력을 받아 물리 세계에 관한 결과를 만드는 NVIDIA 월드 모델이에요. Generator는 이미지와 장면을 잇는 구조화 JSON 프롬프트를 MP4로 바꾸고, Reasoner는 영상·행동을 해석해 텍스트나 동작 출력을 만들어요. 여기서는 참조 이미지 한 장으로 시작하는 Generator의 I2V 경로를 따라가요. Cosmos 3 Edge 모델 카드
DGX Spark는 GB10 기반 ARM64 Linux 시스템이에요. vLLM-Omni 공식 Cosmos3 컨테이너의 이미지 매니페스트에는 linux/arm64가 있어 이 경로를 선택할 수 있습니다. 아래 실행은 포트를 127.0.0.1에만 열고, 요청에 이미지 파일을 직접 업로드해요. vLLM-Omni Cosmos3-Edge 레시피

Docker에서 ARM64 서버를 로컬로 열어요
DGX Spark에 NVIDIA 드라이버와 NVIDIA Container Toolkit을 준비해요. 기본 가드레일을 사용하려면 먼저 Cosmos Guardrail 모델 페이지에서 이용 조건을 읽고 본인 계정의 접근을 승인받아야 해요. 이어서 아래 명령으로 Python 환경을 만들고 그 계정에 로그인한 뒤 서버를 시작하세요. 로그에 Application startup complete가 나타나면 요청을 보낼 수 있어요. DGX Spark 사용 안내
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -U huggingface_hub requests
hf auth login
cosmos_cache="${HF_HOME:-$HOME/.cache/huggingface}"
mkdir -p "$cosmos_cache"
docker run --rm --name cosmos3-edge --platform linux/arm64 \
--runtime nvidia --gpus all --ipc=host \
-p 127.0.0.1:8000:8000 \
-v "$cosmos_cache:/root/.cache/huggingface" \
vllm/vllm-omni:cosmos3 \
vllm serve nvidia/Cosmos3-Edge --omni --host 0.0.0.0 --port 8000 \
--init-timeout 1800서버는 켜 둔 채 두 번째 터미널을 열고, 첫 터미널과 같은 작업 폴더로 이동해요. 가상환경4을 다시 활성화한 뒤 샘플 이미지와 JSON 프롬프트만 내려받습니다. 결과 영상 확인에는 FFmpeg에 포함된 ffprobe가 필요해요.
source .venv/bin/activate
hf download nvidia/Cosmos3-Edge --include "assets/*" --local-dir Cosmos3-Edge샘플 이미지와 프롬프트를 업로드해요
샘플 입력 폴더로 이동한 뒤 아래 Python 코드를 실행해요. 프롬프트와 부정 프롬프트는 모델 카드가 제공하는 JSON을 읽고, 이미지 파일은 multipart 요청으로 로컬 서버에 올립니다. 이 예제는 832×480, 121프레임, 24fps 요청이며 서버가 반환한 바이트를 현재 폴더의 cosmos3_edge_i2v.mp4에 저장해요. 모델 카드의 I2V 요청 형식
cd Cosmos3-Edge
python - <<'PY'
import json, mimetypes, requests
from pathlib import Path
prompt = json.load(open('assets/example_i2v_prompt.json'))
negative = json.load(open('assets/negative_prompt.json'))
image = Path('assets/example_i2v_input.jpg')
data = {
'prompt': json.dumps(prompt),
'negative_prompt': json.dumps(negative),
'size': '832x480',
'num_frames': '121',
'fps': '24',
'num_inference_steps': '20',
'guidance_scale': '6.0',
'max_sequence_length': '4096',
'flow_shift': '12.0',
'seed': '0',
'extra_params': json.dumps({
'use_resolution_template': False,
'use_duration_template': False,
'guardrails': True,
}),
}
mime = mimetypes.guess_type(image.name)[0] or 'image/jpeg'
with image.open('rb') as file:
response = requests.post('http://127.0.0.1:8000/v1/videos/sync', data=data, files={'input_reference': (image.name, file, mime)}, headers={'Accept': 'video/mp4'}, timeout=1800)
response.raise_for_status()
output = Path('cosmos3_edge_i2v.mp4')
output.write_bytes(response.content)
print(f'Saved {output} ({len(response.content):,} bytes)')
PY
ffprobe -v error -select_streams v:0 -show_entries stream=width,height,nb_frames,r_frame_rate -of default=noprint_wrappers=1 cosmos3_edge_i2v.mp4서버는 요청한 영상 바이트를 돌려주고 클라이언트가 파일로 저장해요. 완료 뒤 ffprobe로 영상 크기와 프레임 수를 확인하면, API 요청이 MP4 파일까지 이어졌는지 살펴볼 수 있어요.

공개 생성 시간은 같은 모델의 별도 기록으로 읽어요
DGX Spark에서는 같은 이미지→영상 작업도 실행 엔진에 따라 걸리는 시간이 달라요. 아래는 189프레임을 생성한 공개 기록이에요. 위의 짧은 실행 예제는 121프레임이므로 각 작업의 프레임 수를 함께 확인하세요.
| 실행 경로 | DGX Spark I2V 시간 |
|---|---|
| vLLM-Omni | 165.96초 |
| PyTorch | 179.80초 |
DGX Spark · Generator I2V · 480p · 189프레임 · 단일 통합 플랫폼 · batch size5 1. 측정 조건과 결과
서버가 시작되지 않으면 docker info에서 NVIDIA 런타임6을 사용할 수 있는지 확인해요. 요청이 422로 끝나면 지정한 포트의 서버 로그와 파일 이름을 확인하고, 입력 JPEG와 공식 JSON 파일이 현재 Cosmos3-Edge/assets/ 경로에 있는지 살펴보세요. ffprobe에서 MP4 스트림이 나오면 영상 파일이 저장된 거예요.

용어 각주
프롬프트 — 모델에 보내는 입력문입니다. 생성 모델에서는 만들 결과를 설명하는 문장이 되어 출력의 구성과 내용을 크게 좌우합니다.
본문으로 돌아가기API — 프로그램의 기능을 다른 코드에서 호출하기 위한 약속된 인터페이스입니다.
본문으로 돌아가기프레임 — 영상의 한 장면을 이루는 단일 이미지입니다.
본문으로 돌아가기Python 가상환경 — 프로젝트별로 Python 패키지를 분리해 설치하는 공간입니다. 패키지 버전 충돌을 줄이는 데 쓰입니다.
본문으로 돌아가기배치 크기 — 한 번의 처리 묶음에 함께 넣는 입력 또는 요청의 수입니다.
본문으로 돌아가기런타임 — 프로그램이 실행될 때 필요한 기능을 제공하는 소프트웨어 환경입니다. 로컬 AI에서는 모델을 실행하는 엔진을 가리키기도 합니다.
본문으로 돌아가기
자주 묻는 질문
- 이 글에서 가장 먼저 확인할 것은 무엇인가요?
- Cosmos 3 Edge의 Generator는 참조 이미지와 영상용 JSON 프롬프트에서 짧은 영상을 생성해요. 이 안내에서는 DGX Spark에서 ARM64 vLLM-Omni 컨테이너를 시작하고 공개 I2V 입력을 로컬 API로 보내 MP4를 저장해요. 모델 카드의 DGX Spark 시간은 189프레임 공개 측정이며 실행 경로별로 제시돼요. Reasoner의 텍스트 생성이나 행동 추론은 별도 작업이에요.
- 조건과 출처는 어디서 확인하나요?
- Cosmos 3 Edge는 텍스트·이미지·행동 입력을 받아 물리 세계에 관한 결과를 만드는 NVIDIA 월드 모델이에요. Generator는 이미지와 장면을 잇는 구조화 JSON 프롬프트를 MP4로 바꾸고, Reasoner는 영상·행동을 해석해 텍스트나 동작 출력을 만들어요. 여기서는 참조 이미지 한 장으로 시작하는 Generator의 I2V 경로를 따라가요. [Cosmos 3 Edge 모델 카드](https://huggingface.co/nvidia/Cosmos3-Edge)
