HunyuanVideo 1.5 720p MCP
by ssy2205
README.md
# HunyuanVideo 1.5 720p MCP
RunPod Serverless에서 HunyuanVideo-1.5 720P-I2V를 실행하고 MCP로 비동기 작업을 제출·조회·취소하는 프로젝트입니다.
## 현재 고정된 배포 구성
- 모델: HunyuanVideo-1.5 720P-I2V
- 출력: 1280×720, 24fps, 무음 H.264 MP4
- 길이: 5~10초
- GPU: A40 48GB 우선, RTX A6000 48GB 대체, A100 PCIe 80GB 최종 fallback
- Network Volume: `qs5gpwp1p1`, 60GB, `CA-MTL-3`
- Worker: 최소 0, 최대 1, 유휴 5초 후 정지
- Serverless 48GB Flex 계산 기준: 현재 $1.22/시간(실제 청구는 RunPod 가격 우선)
- 결과: 비공개 Cloudflare R2에 저장 후 최대 7일짜리 다운로드 URL 반환
- 에이전트 입력: MCP에서 로컬 PNG/JPEG 또는 base64/data URI를 R2에 직접 업로드
## 에이전트에서 이미지 바로 사용
Claude/Cursor에서 이미지를 첨부한 뒤 다음처럼 요청할 수 있습니다.
> 이 이미지를 업로드하고, 종이 질감은 유지한 채 선이 천천히 움직이는 5초 720p 영상으로 만들어줘.
에이전트는 다음 순서로 MCP 도구를 호출합니다.
1. `upload_video_input`에 첨부 이미지의 `local_path`, `image_data_base64`, `image_data_uri` 중 하나를 전달
2. 반환된 `asset_id`를 `submit_video_job`에 전달
3. `get_video_job`으로 완료 상태를 확인
4. `get_video_result`로 새 다운로드 링크를 받음
업로드는 PNG/JPEG, 최대 20MB, 한 변 64~8192px, 최대 40MP로 제한됩니다. 이미지는 실제로 디코딩해 손상 여부를 확인하고 콘텐츠 해시 기반 R2 키로 저장하므로 같은 파일은 같은 `asset_id`를 사용합니다. 16:9가 아닌 입력은 1280×720 workflow에서 잘리거나 재구성될 수 있다는 경고를 반환합니다.
## 남은 일회성 승인
1. 첫 5초 GPU 테스트 비용 승인 (`GPU-TEST`)
2. 테스트 성공 후 장면 8개 전체 생성 비용 승인 (`ALL-8`)
GitHub 로그인, Worker 빌드, R2 입력 8개 업로드, RunPod Template·Endpoint 생성은 완료되었습니다. 추가 API key 입력은 필요하지 않습니다.
`.env`는 Git에 포함되지 않습니다. API key와 R2 Secret은 채팅이나 저장소에 올리지 않습니다.
비용 표시는 Serverless Flex의 현재 48GB/A100 시간당 가격을 사용한 추정치이며, 실제 RunPod 청구가 우선합니다.
## 검증과 배포
전체 절차는 [READY_TO_DEPLOY.md](READY_TO_DEPLOY.md)에 정리되어 있습니다.
가장 쉬운 방법은 Finder에서 `START_HERE.command`를 더블클릭하는 것입니다. 완료된 배포 상태를 확인한 뒤 GPU 비용 승인을 안내하며, 승인 문구가 정확히 입력되기 전에는 유료 작업을 실행하지 않습니다.
```bash
python3 scripts/preflight.py
scripts/finalize_deployment.sh --approve-public-code-and-r2-upload
.venv/bin/python scripts/smoke_test.py --approve-gpu-cost
```
`deploy_runpod.py`는 기본적으로 dry-run이며 `--apply`를 지정할 때만 템플릿과 Endpoint를 생성합니다.
TDQS
B3.2/5.0
Scored across 4 tools
Disambiguation5/5
Each tool has a distinct purpose: listing models, listing uploaded inputs, estimating a job, and getting a job's state. There is no overlap or ambiguity.
Naming Consistency5/5
All tools follow a consistent verb_noun pattern (list_, estimate_, get_), making it predictable for agents.
Tool Count4/5
With 4 tools, the set is small but reasonable for a focused server. A few more tools might be expected, but the count is not problematic.
Completeness2/5
The tool surface has significant gaps: there is no tool to upload video inputs or to create a video generation job, which are core operations implied by the server's purpose.
Maintenance
ActivityStale
ResponsivenessNo issues