메인 콘텐츠로 건너뛰기
이 페이지에서는 간단한 HTTP 제출부터 실시간 이미지 출력과의 완전한 WebSocket 통합까지, ComfyUI 서버 API와 상호작용하는 세 가지 방법을 보여줍니다. 모든 예제는 설명을 위해 기본 SD1.5 워크플로우를 사용합니다. API를 사용하기 전에 API 형식으로 워크플로우를 내보내야 합니다.
이 예제들은 표준 라이브러리와 websocket-client 패키지를 사용한 파이썬 코드입니다(pip install websocket-client). 언어에 관계없이 기본 API 프로토콜은 동일합니다—TypeScript 및 curl equivalent에 대한 클라우드 API 참조를 확인하세요.

방법 1: 제출 후 잊어버리기 (HTTP 전용)

소스: basic_api_example.py 가장 간단한 방식: 워크플로우를 제출하고 결과를 기다리지 않습니다. 나중에 출력물을 확인하는 일회성 작업에 유용합니다.
이 방법은 SaveImage 노드를 사용하며, 이 노드는 이미지를 서버의 디스크에 저장합니다. 이를 가져오려면 /view?filename=... 호출을 추가로 실행해야 합니다.

방법 2: WebSocket + 히스토리 (완료 모니터링)

소스: websockets_api_example.py WebSocket을 사용해 실행이 완료될 때까지 기다린 후, /history 엔드포인트를 통해 출력물을 가져옵니다. 대부분의 사용 사례에 권장되는 방식입니다.
WebSocket 이진 프레임에는 생성 중인 미리보기 이미지가 포함됩니다. 이를 디코딩하여 실시간 미리보기를 볼 수 있습니다(서버 메시지 페이지에서 이진 형식을 확인하세요).

방법 3: SaveImageWebsocket을 사용한 WebSocket (실시간 이미지)

소스: websockets_api_example_ws_images.py 이미지를 디스크에 저장하지 않고 싶은 경우, SaveImageWebsocket 노드를 사용하세요. 이미지는 WebSocket 이진 프레임을 통해 바로 전송됩니다.
워크플로우는 일반 SaveImage 노드 대신 class_type: "SaveImageWebsocket"를 가진 노드를 사용해야 합니다.

어떤 방법을 사용해야 할까요?

방법 1: HTTP 전용

즉시 처리 후 잊어버리기. 즉각적인 출력이 필요하지 않거나, 나중에 결과를 가져오는 것이 괜찮을 때 사용하세요.

방법 2: WebSocket + 히스토리

권장. 실행이 완료될 때까지 기다렸다가 출력물을 다운로드하세요. 간편함과 신뢰성의 최적 조화입니다.

방법 3: SaveImageWebsocket

실시간 이미지. 디스크 쓰기 없이 이미지를 전달받고자 하는 인터랙티브 앱에 가장 적합합니다.
전체 API 참조(엔드포인트, 페이로드 형식, 오류 처리)는 서버 라우트서버 메시지 페이지를 참고하세요.