Cyclist | ComfyUI custom nodes
세부 정보
파일 다운로드
이 버전에 대해
모델 설명
자전거 타는 사람 🚴
ComfyUI용 맞춤 노드
이 확장 기능은 생성된 결과를 반복적으로 재사용할 수 있는 기능을 제공합니다. 이 도구를 사용하면 원하는 반복 작업을 자동화할 수 있습니다: 그리드 구축, 프레임 단위 애니메이션, 매 단계마다 조건 변경 등.
이것은 미러 페이지입니다. 주 프로젝트 페이지 및 최신 업데이트는 여기에서 확인하세요: https://github.com/Pos13/comfyui-cyclist.
설치
옵션 1: ComfyUI Manager 사용.
옵션 2:
압축 파일 다운로드;
".../ComfyUI/custom_nodes/" 폴더로 이동;
압축 파일을 풀어 "_comfyui-cyclist_" 폴더 생성.
옵션 3:
git 설치;
".../ComfyUI/custom_nodes/" 폴더로 이동;
다음 명령어 실행:
git clone https://github.com/Pos13/comfyui-cyclist/
일반 사용법
이전 실행 결과를 제공하려는 위치에 로딩 노드 배치;
- (선택 사항) 아직 로드할 내용이 없는 경우(보통 첫 번째 반복 시) 백업 입력을 연결.
워크플로우의 끝에 저장 노드 배치.
특정 조건이 충족될 때 생성을 중단하려면 중단 노드를 배치.
완료! "Queue Prompt"를 누르세요. 그리고 다시, 또 다시.
(선택 사항) "Extra options" 및 "Auto Queue" 체크박스를 선택하여 ComfyUI가 워크플로우를 무한 반복하도록 설정.
루프를 처음부터 시작하려면 이 워크플로우에 도입된 "New Cycle" 버튼을 누르세요. 가능하면 모든 파일명과 루프 ID가 증가합니다.

비정상적인 동작에 대해 알아보려면 GitHub 페이지의 Known Issues를 확인하세요.
노드
루프 관리자: 단순히 문자열을 제공합니다. 이 문자열 — loop_id —는 메모리에 저장할 변수 이름이나 파일명으로 사용할 수 있습니다. "increment" 값이 "by_interrupt_node"로 설정되면, Interrupt 노드가 실행될 때 loop_id가 자동으로 변경되어 최종 결과가 덮어쓰이지 않습니다. "increment" 값이 "on_any_interrupt"로 설정되면, 같은 상황에서 뿐만 아니라 수동으로 큐를 취소할 때도 loop_id가 변경됩니다. 실패 건너뛰기에 유용합니다.
메모리 저장(Int/Float/String/Conditioning): 이 간단한 노드들은 메모리에 무언가를 저장합니다. ComfyUI를 재시작하면 정보가 사라집니다. 변수는 제공된 루프 ID에만 적용됩니다. 각 루프 ID마다 정확히 하나의 Int, 하나의 Float, 하나의 String, 하나의 Conditioning만 저장할 수 있습니다. 새 변수를 저장하려면 ID를 변경하세요.
메모리 불러오기(Int/Float/String/Conditioning): 이 노드들은 메모리에서 정보를 불러옵니다. 저장된 내용이 없으면 백업 입력이 사용됩니다. 백업 입력은 선택 사항입니다.
변환하기: 어떤 입력이든 받아 int, float, boolean, string 형식으로 변환 시도합니다. boolean과 string은 항상 변환 가능하지만, 잘못된 int나 float은 오류를 발생시킵니다.
비교하기: 어떤 종류의 두 입력과 비교 연산을 받아 True 또는 False의 boolean 값을 출력합니다.
정수는 일반적으로 비교됩니다.
부동소수점은 1-09의 정밀도로 비교됩니다.
문자열은 알파벳 순으로 비교됩니다.
이미지와 레이턴트는 전체 배치의 픽셀 총합으로 비교됩니다.
그 외의 모든 것은 비교 전에 문자열로 변환됩니다.
형식이 다를 경우, 입력을 다음 순서로 동일한 형식으로 변환 시도: boolean → float → string.
정수/부동소수점 산술: 두 수 사이의 몇 가지 간단한 산술 연산.
중단: 이 노드를 임의의 링크에 연결하면 출력은 "any_in" 입력과 동일하게 유지됩니다. 이 노드가 워크플로우에 의해 활성화되면, "stop" 입력이 참이면 워크플로우를 중단합니다. 노드를 오른쪽 클릭하여 "stop"을 위젯에서 입력으로 전환할 수 있습니다.
중단 노드의 위치에 주의하세요! 무거운 연산을 방지하고 싶다면, 그런 연산에 필요한 모든 요소의 경로 상에 배치해야 합니다. 또한, "any_in" 또는 "stop" 입력을 제공하는 노드 이후에만 배치할 수 있습니다. ComfyUI는 루프가 있는 워크플로우를 실행하지 않기 때문입니다.
중단 노드의 최적 위치는 중요한 "재로드/불러오기" 노드 바로 다음입니다.
여러 개의 중단 노드를 사용할 수 있으며, 때로는 원하는 경우도 있습니다.
이미지/레이턴트/모델 저장(덮어쓰기): 이 노드들은 기본적인 저장 노드와 유사하게 작동하지만, 파일명에 카운터가 추가되지 않고 동일하게 유지됩니다.
이미지는 출력 폴더에 저장됩니다.
레이턴트는 출력 폴더에 "latent" 서브폴더를 생성하여 저장됩니다.
모델은 기본 "models/checkpoints" 폴더에 저장됩니다.
생성 타이머: 이 노드는 생성에 소요된 시간을 측정합니다. 부동소수점 값을 출력합니다.
타이머는 워크플로우가 확인될 때마다 생성 직전에 시작됩니다.
워크플로우의 마지막 "저장/메모리 저장" 노드가 실행되면 타이머가 멈춥니다.
여러 개의 생성 타이머를 사용할 수 있지만, 다른 루프에 각각 할당하는 것이 좋습니다.
타이머 강제 중지: 이 노드는 어떤 입력이 들어오든 관계없이 타이머를 즉시 중지합니다. 전체 워크플로우가 아닌 특정 블록의 실행 시간을 측정할 때 사용할 수 있습니다. 그러나 시작은 항상 생성 시작 시점입니다.
타이머 강제 중지 노드는 워크플로우에 "저장/메모리 저장" 노드가 있다면 반드시 사용할 필요는 없습니다.
워크플로우
Civitai (항상 최신):
그리드:
GitHub 페이지 및 GitHub 워크플로우 폴더(항상 동일)의 예시 워크플로우:
ImageReward가 이미지 점수를 높게 평가할 때까지 생성
특정 해상도에 도달할 때까지 적절한 횟수만큼 업스케일
메가픽셀 수가 충족될 때까지 업스케일
인물을 배경에 자르고 배치
LoRA를 하나씩 적용
또한, 제 관련 없는 워크플로우도 확인해 보세요.


