2025/01/21 2

[ComfyUI] Workflow를 Python API로 만들기

ComfyUI로 구성한 Workflow를 Python API로 만드는 방법을 공유한다. ComfyUI 서버에 HTTP/Websocket 통신을 하는 구조로 되어있기 때문에 사실 어떤 언어든 가능하다. 노드 ID의 확인과 사용예시로, Text 프롬프트를 읽고 이미지를 출력하는 Workflow가 있다고하면 ComfyUI에서는 이런 TextInput Node를 준비하고, 이 노드의 출력을 CLIP Prompt 노드의 STRING 포트와 연결한다. 이 노드의 우측상단 귀퉁이에는 #37이라는 번호가있는데, 이것이 노드 ID다. Workflow를 API 형태로 Export하고JSON 파일을 열어보면 “37”번 키에 해당 노드의 정보가 들어있음을 알 수 있다. 우리는 이런식으로 JSON 파일을 읽고, 입력값을 바꾸길..

[FastAPI] Server Sent Event(SSE)를 이용한 비동기 스트리밍 구현

이미지 생성 모델을 이용한 이미지 생성 및 이미지 처리 툴을 테스트하기 위해서 WebGUI가 필요했다. 이미지 생성은 오래 걸리면 10초가량도 소요될 수 있기 때문에, 태스크 처리 상황에 대한 클라이언트와 서버의 지속적인 통신이 필요하다. 나는 특히, 이미지 처리 상황을 ProgressBar로 보여주고 싶었다. HTTP/2의 주요 피쳐중의 하나인 SSE(Server Sent Event)를 통해서 이를 처리하는 방법을 공유하겠다. 사용한 서버쪽 프레임워크는 FastAPI다.app = FastAPI()async def progress_stream(): for i in range(100): d = { "progress": i / 100, } yie..

카테고리 없음 2025.01.21