5초짜리 영상은 생성되었습니다. 하지만 임베디드 UI는 '완료'로 바뀌지 않았고, 파일을 대조하는 항목도 업데이트되지 않았으며, 종료 버튼은 비활성화된 상태였습니다.
Colab의 L4 환경에서 Wan2.2 TI2V-5B를 구동한 비공개 시제품 기록입니다. 생성 성공, 파일 수신, 런타임 종료를 각각 다른 증거로 확인함으로써, 화면이 멈춘 후에도 어디까지 완료되었는지 정리할 수 있었습니다.
화면 업데이트가 안 되어도 같은 생성을 다시 하지 않기
이번 시도에서 생성한 것은 종이배가 수면을 지나가는 무음 영상 1편입니다. Python 3.12.13과 L4 환경에 고정 의존성(fixed dependency)을 도입하고, 고정된 모델 파일의 해시값(hash)을 확인한 후 생성을 진행했습니다.
worker는 정상적으로 종료되었습니다. 그래서 생성을 다시 투입하지 않고, 기존 job 상태와 출력을 읽어내는 보조 경로를 통해 MP4와 설정 JSON을 회수했습니다. UI 표시 업데이트가 멈춘 원인은 여기서는 확정되지 않았습니다.
'생성 버튼을 누를 수 있었다', '처리가 끝났다', '사용자가 파일을 받을 수 있었다'는 별개의 확인 사항입니다. worker의 정상 종료만으로 수신까지 완료되었다고 하면, 수신에 실패한 상태를 간과하게 됩니다.
해시 일치와 사용 가능한 영상 여부를 분리하기
받아온 MP4는 571,335 bytes였고, 설정 JSON은 2,301 bytes였습니다. 두 파일 모두의 크기와 SHA-256을 생성 측의 수신 기록과 대조했습니다.
해시가 일치하면 같은 바이트를 받았음을 확인할 수 있습니다. 영상으로서 요구되는 조건을 충족하는지는 별도로 조사합니다. 저장된 검증 기록에서는 다음이 일치했습니다.
| 항목 | 확인 결과 |
|---|
| 영상 형식 | H.264 / yuv420p |
| ... | |
| 생성 그래프는 121프레임을 다루며, 수신 사양에 맞춰 앞의 120프레임을 출력하고 있습니다. 설정상의 프레임 수와 최종 파일의 프레임 수도 분리하여 기록했습니다. | |
이번 기사용 대조에서는 현재 MP4와 설정 JSON의 해시가 저장된 수신 기록과 일치함을 확인했습니다. 생성과 전체 프레임 디코딩을 새로 실행한 것은 아닙니다. 형식 확인만으로 움직임이나 외관 품질 전체를 보장했다고 할 수도 없습니다.
엔진 정지 및 GPU 런타임 해제도 별개
수신 후에는 소유하는 생성 엔진의 프로세스가 남아있지 않은지, 대기 포트에 연결할 수 없는지, worker가 정상 종료했는지 확인한 기록이 있습니다.
그럼에도 불구하고 Colab의 런타임이 해제되었다는 증거로는 부족합니다. 수신 대조 후에도 자동 연결 끊김 완료를 화면에서 확인할 수 없었기 때문에, 일반적인 '연결 해제 및 삭제'로 종료했습니다. 이후 리소스란의 0 세션과 빈 세션 관리 목록을 확인했습니다.
이 시도에서는 현재 시간부터 종료 확인까지 약 19분이 소요되었습니다. 이 한 번의 소요 시간을 다른 모델이나 다른 환경에서의 완료 시간에 일반화하지 않습니다.
'완료'라는 단어를 증거가 있는 상태로 분리하기
이번에 확인된 상태들을 나열하면 다음과 같습니다.
| 상태 | 근거 |
|---|
| 생성 처리가 끝났다 | worker 정상 종료 |
| ... | |
| UI의 완료 표시, 자동 종료, 브라우저 내 연속 재생은 미확인/미해결 범위로 남겨둡니다. 실제 영상을 획득한 것과 GUI 조작 전체가 완성된 것을 함께 보고하지 않기 때문입니다. | |
본고는 구현 및 저장된 검증 기록에 기반한 정리입니다. 개발·검증 및 본고의 정리·집필에는 AI를 사용했습니다.
Discussion