살아있는 그림 (Living Paintings)
이 스킬은 그림 영상의 시각적 디자인과 합성에 사용합니다. 설치된 comfy-film 컨트롤러를 사용하여 생성, 리뷰, 복구 및 최종 납품을 진행합니다. 이 컨트롤러는 모든 에이전트에서 동일합니다 — Codex (~/.codex/skills/comfy-film/SKILL.md), DeepSeek Harness (~/.dsh/skills/comfy-film-dsh/SKILL.md), Claude Code (~/.claude/skills/comfy-film-dsh/SKILL.md) — 모두 동일한 $Tools/comfy-film/scripts/film.py를 구동합니다. 주변 도구만 다를 뿐입니다. 필요에 따라 관련 참조 문서를 읽되, 컨트롤러를 다시 생성하지 마십시오. 본격적인 H3 프롬프트에는 h3-prompt-writing을 사용하십시오.
Harness 차이점 (Codex → DeepSeek Harness / Claude Code)
| Codex 습관 | 대체 방법 |
|---|---|
| 진행 상태 페이지를 위한 Codex 브라우저 패널 | progress.py --serve를 백그라운드 작업으로 시작하고 .pipeline/progress-server.json에서 확인된 URL을 게시 |
| 수락/변경/거부를 위한 메뉴 도구 | 두 단어 레이블이 있는 ask_user_question 사용; 링크와 숫자는 그 위의 메시지에 포함 |
| 이미지가 채팅에서 렌더링되는 것 신뢰 | 이미지/문서의 경우 각괄호 안의 경로 링크 사용; 모든 클립에 대해 http://127.0.0.1:8199/watch/... 사용 (서버: comfy-film-dsh/scripts/serve-media.py) |
| 하위 에이전트에 위임된 초안 작성 | 상위 에이전트에서 초안 작성; DSH는 이러한 영화에 대한 초안 위임이 없음 |
| 최종 처리 | comfy-film-dsh/scripts/finalize_delivery.py --input ... --no-upscale |
게시, 리뷰 및 몽타주 규칙은 변경되지 않습니다. 이 규칙들은 comfy-film 스킬에 있습니다.
시작 또는 재개
- 프로젝트는
$Paintings/<영문 이름>아래에 유지하십시오. 원본 아트워크, 방 참조 이미지, 프롬프트, 생성된 테이크, 몽타주 클립 및 최종 내보내기 파일을 해당 프로젝트 내에 저장하십시오. 클립보드/임시 파일이나 다른 프로젝트의 출력 폴더에 의존하지 마십시오. - 재개 시
film status --project PROJECT를 실행하고 현재brief.md를 읽으십시오. 기술적 상태는film.json에 있습니다. 승인은 파일 존재 여부로 추론하지 마십시오. - 새 그림의 경우, 키프레임을 디자인하거나 비디오를 생성하기 전에 workflow.md를 읽으십시오. 여기에는 검증된 레시피와 Living Cafe Painting에서 발생한 특정 실패 사례가 포함되어 있습니다.
- 사용자가 제공한 포맷, 타이밍, 사운드 및 카메라 선택을 재사용하십시오. 이전 영화의 5초 접근 + 10초 애니메이션 + 5초 후퇴는 예시일 뿐, 모든 그림에 자동으로 적용되는 것은 아닙니다.
방 모션과 아트워크 애니메이션 분리
- 액자가 정면으로 보이고 의도된 접근을 위한 충분한 공간이 있는 방 참조 이미지를 디자인하십시오. 원본 고해상도 아트워크는 별도 소스로 유지하십시오.
- 사용자가 접근 중에 아트워크를 정적으로 유지하기를 원할 경우, 해당 원본 아트워크를 프레임에 합성하고 균일한 평면 자르기/크기 조정을 결정론적으로 애니메이션 처리하십시오. H3에게 방에서 거리로의 이동을 요청하지 마십시오. 테스트 프로젝트에서 내부 원근을 변경했습니다. 방 이미지에 포함된 작은 그림을 확대하지 마십시오. 흐려집니다.
- 접근 장면의 최종 프레임이 아트워크 안에 완전히 위치하도록 렌더링하십시오. 가장 좁은 자르기에 대해 원본 아트워크에 충분한 픽셀이 있는지 확인하십시오. 고해상도 방 캔버스는 합성 정밀도에 도움이 되지만 아트워크 디테일을 추가하지는 않습니다. 최종 출력 샘플링까지 원본 소스의 픽셀을 보존하십시오.
- 실제 승인된 접근 종료 지점에서 살아있는 장면을 시작하십시오. 이는 의도적으로 정지 자세에서의 새로운 동작입니다. 방/접근을 움직이는 가이드로 전달하지 말고 해당 정지 이미지와 함께 I2VA를 사용하십시오. comfy-film의 기본 가이드는 이미 살아있는 동작을 계속하는 데 적합하며, 이 전환에는 적합하지 않습니다.
- 고정된 거리/풍경 시점과 묘사된 장면 내의 몇 가지 작은 움직임을 설명하는 짧은 긍정 프롬프트를 사용하십시오. 그림에 들어가거나 통과하는 것을 설명하지 마십시오. workflow.md에서 성공적인 프롬프트 패턴을 참조하십시오.
- 정적 아트워크 후퇴의 경우, 승인된 살아있는 장면의 실제 선택된 마지막 프레임을 고정하고, 이를 고해상도 방/아트워크 합성에 등록한 후 역 평면 자르기/크기 조정을 애니메이션 처리하십시오. 연결 지점에서 원본 아트워크의 이전 캐릭터 포즈로 리셋하지 마십시오. 가장자리에서 등록 이음새를 검사하십시오. 적합한 경우에만 절제된 페더링을 사용하십시오.
카메라 움직임과 묘사된 움직임은 독립적으로 제어 가능하게 유지하십시오. 사용자가 원근 변경을 원할 경우 생성적 카메라 움직임을 사용할 수 있습니다. 평면 아트워크 방법은 정적 아트워크 개념에 적용됩니다.
살아있는 테이크로의 연결 지점이 눈에 띄는 점프가 발생하는 부분입니다
H3는 컨디셔닝 정지 이미지를 복사하지 않습니다. 첫 번째 프레임을 다시 렌더링하는데, 이 프레임은 더 평평하고 몇 루마 더 어둡게 나오며 하늘이 다시 그려집니다. 선명하게 합성된 접근 프레임과 비교하면, 스케일과 오프셋이 정확히 일치하더라도 컷에서 밝기 단차로 읽힙니다. Living Tulip Balloons에서 컷은 필름에서 가장 큰 단일 프레임 루마 단차(-2.04)를 전달한 반면, 연결 지점은 0 시프트와 1.000 스케일로 측정되었습니다.
측정하고 추측하지 마십시오: 조립된 컷을 한 번 디코딩하고 프레임별 평균 루마를 출력하십시오. 연결 지점이 필름에서 가장 큰 단차가 되어서는 안 됩니다. 그럴 경우, 테이크의 첫 12프레임을 접근의 실제 마지막 프레임에서 시작하여 테이크 자체 프레임으로 수렴하는 결정론적 디졸브(가중치 k/12)로 교체하십시오. 아무것도 리타이밍되지 않으며, 아무것도 새로 생성되지 않으며, 테이크의 첫 번째 표시 프레임은 카메라가 정확히 멈춘 사진입니다. 레시피 및 숫자: workflow.md.
리뷰 및 마무리
- comfy-film의 프레임, 클립 및 최종 리뷰 게이트를 따르십시오. 승인된 소스의 결정론적 피팅과 엔드포인트 추출은 해당 소스 승인을 상속합니다. 새로운 생성적 방이나 아트워크 다시 그리기는 자체 리뷰가 필요합니다.
- 애니메이션 후보를 보여주기 전에 전체 타임라인에서 전경 손, 열리는 패널/창, 원치 않는 카메라 움직임, 레이아웃 드리프트, 캐릭터 아티팩트 및 디테일 손실을 검사하십시오. 성공적인 디코딩만으로는 시각적 승인이 아닙니다. 실패 시 이를 공개하고 comfy-film의 승인된 재시도 규칙을 따르십시오.
- 실제 트리밍된 엔드포인트를 연결에 사용하십시오. H3는 지속 시간을 반올림합니다. 선택한 계획에 맞게 필요한 초과 프레임만 제거하십시오. 승인된 소스 클립과 버전을 보존하십시오.
- 제공된 음악이 있는 경우, 가능하면 비디오를 변경하지 않고 유지하십시오. 새 최종 버전을 저장하십시오. 첫 번째 영화의 믹스를 맹목적으로 재사용하지 말고 제공된 트랙에 맞춰 음악/앰비언스 균형과 페이드를 설정하십시오.
- 최종 업스케일은 선택 사항입니다. 명시적으로 요청되지 않는 한
finalize_delivery.py --no-upscale을 사용하십시오. 빠른 시작이 있는 H.264 yuv420p/AAC를 생성하고 디코딩을 확인하십시오. 클릭 가능한 로컬 MP4 링크를 제공하십시오. 인라인 비디오만으로는 테스트된 채팅에서 사용자에게 표시되지 않았습니다. - 선택된 지오메트리, 소스 버전, 프롬프트, 승인된 테이크, 트림, 믹스 및 최종 리뷰 상태를
brief.md에 저장하십시오. 향후 결정을 변경할 때만 새로운 재사용 가능한 교훈을 여기에 기록하고, 일회성 좌표는 프로젝트에 보관하십시오.
기존 예시
$Paintings/Living Cafe Painting은 테스트된 예시입니다. brief.md는 결정 사항과 거부된 변형을 보존하고, clips/에는 승인된 세그먼트가 포함되어 있으며, .pipeline/drafts/prompts/part2-v4.txt는 성공적인 살아있는 장면 프롬프트입니다. 최종 v2는 사용자의 음악을 포함하고 있으며 여전히 명시적인 최종 영화 승인을 기다리고 있습니다. 이러한 사실이 향후 영화를 승인하거나 게시를 허가하지는 않습니다.