아이패드 크리타(Krita) 실시간 AI 드로잉 | ft.스테이블 디퓨전 ComfyUI

스테이블 디퓨전의 기술이 발전하면서 이제는 실시간 드로잉까지 가능한 수준이 되었습니다. 본 글에서는 아이패드 크리타(Krita) 실시간 AI 드로잉에 대해 살펴볼 예정인데요, 집에서 놀고있는 아이패드를 활용해 크리타(Krita) 드로잉 앱에서 스테이블 디퓨전을 실시간으로 구동하는 구체적인 방법과 후기를 전해드리고자 합니다. 실제로 평소 태블릿 드로잉을 하시는 분들께서는 참고하시면 큰 도움이 될 것 같습니다.

아이패드 크리타 실시간 AI 드로잉 셋업

먼저 포스팅 제목만으로는 아이패드에서 크리타 실시간 AI 드로잉이 어떻게 이뤄지는지 궁금하신 분들이 많을 것 같습니다. 먼저 간략히 아이패드 크리타 실시간 AI 드로잉 구동 원리와 셋업을 요약해보면 다음과 같습니다.

아이패드 크리타 실행 셋업 요약

가장 먼저 스테이블 디퓨전을 실제로 구동하는 윈도우 PC가 필요합니다. 해당 PC는 서버의 역할을 하며 ComfyUI를 Listen으로 구동합니다. 동일 네트워크에 위치한 맥에서는 크리타(Krita)를 구동합니다. 크리타에서 플러그인을 설치하여 윈도우 PC에서 서버로 구동중인 ComfyUI와 연동합니다. 마지막으로 아이패드는 크리타를 구동 중인 맥과 사이드카(SideCar)로 연동되어 보조모니터로 사용합니다. 아이패드의 특성상 맥의 확장모니터가 되면 애플팬슬의 입력을 받을 수 있습니다. 따라서 맥에서 구동중인 크리타를 아이패드 화면으로 옮겨 애플팬슬을 활용해 그림을 그릴 수 있습니다.

윈도우 PC ComfyUI 서버

위의 셋업을 갖추기 위해 각 단계별로 차근차근 살펴보도록 하겠습니다. 위해 가장 먼저 윈도우 PC에서 아래에서 설명드리는 순서대로 ComfyUI를 설치하고 서버를 구동해야 합니다.

ComfyUI 설치

먼저 윈도우 PC ComfyUI 서버를 구동하기 위해 ComfyUI를 설치합니다. 설치 과정은 일반적인 ComfyUI와 100% 동일하므로 설치 방법이 궁금하신 분들은 아래 글을 참고하시기 바랍니다.

ComfyUI 서버 구동

설치를 완료한 뒤 ComfyUI를 서버로 구동시키기 위한 방법은 생각보다 매우 간단합니다. 터미널에서 ComfyUI를 실행할 때 명령어 뒤에 –listen을 추가로 입력하면 됩니다. 즉, 가상환경(venv)가 활성화 된 상태에서 아래 명령어를 입력합니다.

python main.py –listen

ComfyUI listen 실행 방법

위 그림은 실제로 터미널에서 ComfyUI를 서버로 실행했을 때 볼 수 있는 화면입니다. 명령어를 입력한 뒤 여러 정보들과 설치된 커스텀 노드들에 대한 준비가 끝나면 가장 하단에 Starting server라는 글과 함께 To see the GUI go to : http://0.0.0.0:8188이란 문구를 보시게 됩니다.

그런데 대부분의 경우 해당 PC에서 정말로 위의 주소(0.0.0.0:8188)을 입력하면 페이지 연결이 불가할 것입니다. 위의 주소가 의미하는 바는 해당 PC의 IP 주소 + 8188 포트로 접근하면 ComfyUI에 접속이 가능하다는 것입니다. 따라서 해당 PC 자체에서 ComfyUI를 구동하려면 LocalHost 주소인 127.0.0.1:8188로 접속하면 됩니다.

이외의 동일 네트워크에 위치한 다른 PC에서 서버에 연결하려면 서버 PC의 내부 IP 주소를 알아야 하는데요, 이 또한 매우 쉽게 알아낼 수 있습니다.

ipconfig

먼저 윈도우 검색(윈도우+R) 창에서 cmd를 입력해서 명령 프롬프트(터미널)을 새로 띄웁니다. 이후 ipconfig를 입력하면 현재 연결된 인터넷의 IPv4 주소를 알아낼 수 있습니다. 예시 PC의 경우 와이파이로 인터넷에 연결되어 있으며, 172.30.1.88로 주소가 할당(보통 내부 IP는 10, 172 또는 192로 시작)된 것을 보실 수 있습니다. 이제 서버 PC의 IP 주소를 알았으므로 같은 네트워크에 있는 어느 PC에서든 IP주소:8188로 ComfyUI에 접속할 수 있습니다.

comfyui 접속방법

위 화면은 맥에서 구글 Chrome 창을 띄우고 172.0.0.88:8188을 입력해 서버 윈도우 PC에서 구동중인 ComfyUI에 접속한 모습입니다.

맥 Krita 설치

크리타(Krita)는 무료 오픈소스 드로잉 소프트웨어입니다. 공식적으로 윈도우, 맥, 리눅스 및 안드로이드 태블릿을 지원하고 있으며, 2024년 1월 현재 기준으로 아이패드용 어플리케이션은 존재하지 않습니다. 따라서 아이패드에서 크리타 단독 구동은 불가합니다. 하지만 우리는 앞서 설명드린 것처럼 맥용 크리타를 설치한 뒤 아이패드를 확장 모니터로 활용해서 애플팬슬을 이용할 예정입니다.

맥 Krita 설치

크리타 공식 홈페이지로 접속해 맥용 크리타 설치파일을 다운받습니다. 다운받은 dmg 파일을 실행한 후 위 이미지를 참고하여 Krita 아이콘을 Applications 폴더로 드래그 앤 드롭 해주시면 간단하게 설치가 마무리됩니다.

Krita AI diffusion 설치

이제 맥용 크리타 설치까지는 완료가 되었습니다. 하지만 크리타에서 스테이블 디퓨전(ComfyUI)를 구동하려면 추가적으로 Krita AI diffusion 플러그인을 설치하고 연동해줘야 합니다. 꽤 많은 부가적인 설치가 필요해서 복잡해보이지만 공식 깃허브 문서에서 설치 방법을 잘 설명해주고 있습니다. 아래의 순서를 따라 차근차근 다운로드 및 설치를 진행해주시기 바랍니다.

Krita AI diffusion 플러그인 다운로드

크리타 AI 디퓨전 플러그인을 다운로드 받은 뒤 Krita가 설치된 위치로 플러그인을 옮겨주어야 합니다. 이 플러그인은 ComfyUI 또는 WebUI 플러그인이 아니라, 크리타 플러그인 입니다.

Krita AI Diffusion 설치

다운 받은 플러그인은 아래를 참고하여 크리타 응용프로그램 내부 폴더에 압축을 풀어줘야 합니다.

맥에서 크리타 AI Diffusion 압축 해제하는 방법

응용프로그램 > krita를 찾은 뒤 마우스 우클릭하면 나오는 “패키지 내용보기”를 선택하면 위 그림의 하단처럼 폴더를 볼 수 있습니다. Contents > share > krita > pykrita 위치에 위에서 다운받은 플러그인 압축 파일을 해제하면 ai_diffusion폴더와 ai_diffusion_desktop파일이 생성됩니다.

ComfyUI 커스텀노드 설치

Krita에서 스테이블 디퓨전을 구동하기 위해 ComfyUI에도 추가적으로 4개의 Custom Nodes를 설치해줘야 합니다. ComfyUI가 설치된 윈도우 PC에서 ComfyUI Manager를 이용해 아래의 4개의 커스텀노드를 설치합니다.

커스텀노드 설치를 마친 후에는 해당 노드들을 정상동작하게 하기 위한 각종 모델들을 다운받아 줘야 합니다. 아래에 리스트업 된 모델들을 다운받고 각 모델이 위치해야하는 폴더로 이동시켜주시기 바랍니다. SDXL을 사용하지 않는 분들은 SD1.5 모델만 받으셔도 무방합니다.

SD1.5 SDXL 공통 모델
SD1.5 모델

LCM-LoRA는 models/loras로 이동한 뒤 이름을 꼭 lcm-lora-sdv1-5.safetensors로 바꿔주셔야 합니다.

SDXL 모델

LCM-LoRA는 models/loras로 이동한 뒤 이름을 꼭 lcm-lora-sdxl.safetensors로 바꿔주셔야 합니다.

맥에서 Krita 실시간 그리기

이제 모든 설치 절차를 마쳤습니다. 실제로 그림을 그려보기 위해 먼저 맥에서 Krita를 구동해보겠습니다. 아이패드 크리타 동작은 맥에서 먼저 제대로 그림이 그려지는지 확인한 후 시도해보겠습니다. 먼저 맥에서 크리타를 실행한 뒤 상단 메뉴바에서 Krita > preferences를 누르면 아래와 같은 창이 등장합니다.

크리타 파이썬 플러그인 활성화

좌측 맨 하단에서 Python 플러그인 관리자를 선택하고 가장 상단의 AI Image Diffusion을 찾아 체크하여 활성화시켜줍니다. 확인을 눌러 창을 빠져나온 뒤 크리타를 다시 재시작 해줍니다. AI Image Diffusion이 보이지 않는다면, 위에서 Krita AI Plugin을 압축해제 하는 과정에서 잘못된 부분이 있다는 것이므로, 다시 한번 정확한 위치에 압축을 풀었는지 확인해보시기 바랍니다.

다시 크리타를 시작한 뒤 새 이미지를 선택, 캔버스 사이즈는 원하는대로 설정해주셔도 무방하지만, 처음이라면 테스트를 위해 무난하게 512×768 해상도로 생성해주시면 됩니다.

크리타 도커 설정

빈 캔버스가 생성되었다면 상단 메뉴의 설정>도커>AI Image Generation을 눌러 활성화 해줍니다. 도커는 크리타를 실행하면 UI 내부에 위치한 다양한 기능모음 덩어리를 의미합니다. AI Image Generation 도커가 활성화 되면 위 그림의 우측 하단에 보시는 바와 같이 새로운 AI 기능모음 창이 생겨납니다. Configure 버튼을 눌러 설정창으로 이동합니다.

크리타 ComfyUI 연결

드디어 맥에서 구동되는 Krita와 윈도우 PC에서 구동중인 ComfyUI를 연결할 시간입니다. ComfyUI 서버가 listen으로 잘 실행되고 있는지 확인한 뒤, 위 그림과 같이 Connection > Connect to external Server를 선택하고, 서버PC의 IP주소와 포트를 입력합니다. 설치를 정상적으로 마치신 분들은 Connect 버튼을 눌러 아래와 같이 녹색 Connected 멘트를 보실 수 있으며 이제 맥의 Krita가 윈도우PC의 ComfyUI를 직접 사용할 수 있는 상태가 되었습니다. 만약 연결에 실패한 경우 위 이미지의 상단처럼 붉은 글씨로 어떤 문제로 연결이 안되고 있는지 알려주기 때문에 해당 문제를 해결하고 다시 연결을 시도해보시기 바랍니다. 주로 커스텀노드가 제대로 설치되지 않았거나 필수 모델이 없을 때 에러가 발생합니다.

AI Image Generation Styles 프리셋 설정

이제 그림을 그리기 전 정말 마지막 단계입니다. 성공적으로 연결한 후 이제 좌측에서 Styles를 선택해줍니다. 우측의 +버튼을 눌러 지금 설정할 스타일(그림을 그릴 때 적용될 모델, 공통프롬프트, 샘플러 등의 프리셋)의 이름을 정해줍니다. 예시에서는 실시간 그림을 그릴 것이므로 Realtime으로 지정했습니다. 이후 그림그릴 때 사용할 모델(체크포인트)를 선택합니다. 실사를 그릴 분들은 실사 모델을, 2D를 그릴 분들은 2D 모델을 선택하면 됩니다.

그 아래 Style Prompt는 그림 전반에 적용될 긍정 프롬프트입니다. 보통 퀄리티 태그나 스타일 태그(화풍 등)를 작성하면 충분합니다. 물론 상황에 따라 다른 프롬프트를 작성하셔도 무방합니다. 예를 들어 사용자가 오직 1명의 여성이 등장하는 그림을 그릴 것이라면 1girl, solo 등의 프롬프트를 여기에 작성하셔 됩니다. 어차피 뒤에 실제 그림을 그릴 때는 세부 프롬프트를 또 작성합니다. 따라서 그림 그리는 동안 반복적으로 입력할 프롬프트만 여기 작성해주세요. 부정 프롬프트도 마찬가지입니다.

마지막으로 Quality Preset과 Performance Preset을 설정할 수 있습니다. 현재 크리타에서는 스테이블 디퓨전을 2가지 방식으로 활용할 수 있습니다. 이 2가지 방식에 대해 각각 다르게 프리셋을 지정하는 단계입니다. 쉽게 설명드리자면 Quality Preset은 사용자가 AI 이미지가 필요할 때 생성해서 반영하는 방식에 적용되는 설정값이고, Performance Preset은 실시간으로 AI 이미지가 사용자의 그림을 분석하여 재창조해주는 방식에 적용되는 설정값입니다. 즉, 우리가 현재 해보려는 실시간 드로잉은 Performance Preset에서 설정해줘야 합니다. 실시간 렌더링이 가능해야 하므로 생성이 매우 빨라야합니다. 샘플러는 LCM으로, 샘플링 스탭은 10스텝 이하로 설정해주시는 것이 좋습니다.

AI Image Generation Docker 설정

이제 설정창을 닫고 다시 크리타 메인 UI로 돌아옵니다. 아까 활성화해둔 AI Image Generation 도커에서 위 그림을 참고하여 좌상단의 Live를 선택하면 위 그림의 아래와 같이 도커 UI가 실시간 그림을 위한 설정으로 변경됩니다. 우리가 프리셋으로 만든 Realtime을 선택하고 좌측의 재생 버튼을 누르면 이때부터 ComfyUI는 실시간으로 사용자의 프롬프트와 스케치를 읽어와서 그림을 그립니다. 프롬프트는 도커 가장 하단에 작성할 수 있습니다.

크리타 맥에서 그림 그리는 모습

프롬프트에 girl, leaning on the tree 이 두개의 프롬프트만 작성한 뒤 마우스도 아닌, 트랙패드로 날림으로 스케치를 했지만 AI가 기가 막힌 그림을 그려냅니다. 도커의 Strength 설정을 높일수록 AI의 개입 정도가 더 높아집니다. 위 이미지는 Strength를 70%로 설정한 상태이지만, 여기서 30%로 낮추면 AI가 그림을 그려주지 않습니다. 그냥 검은 선만 나올 뿐입니다.

아이패드 크리타 실시간 그림 그리기

이제 거의 다 왔습니다. 아이패드 크리타 설치는 불가하지만, 아이패드를 맥에 연결해서 그림을 그리는 것은 가능합니다. 아이패드를 유선 또는 무선(동일 와이파이에 연결)으로 연결한뒤 맥의 디스플레이 설정에서 아래 그림과 같이 아이패드를 연결해줍니다.

애플 아이패드 사이드카 설정

이후 아래와 같이 아이패드를 확장된 디스플레이로 설정하고, 아이패드의 사이드바 보기, Touch Bar 표시는 모두 “안함”으로 바꿔줍니다.

맥-아이패드 연결 후 크리타 실행모습

이제 아이패드는 완벽한 확장 모니터가 되었습니다. 맥에서 먼저 크리타를 실행하고, 아이패드로 크리타 실행창을 드래그하여 전체화면으로 만들어주면 마치 전용 아이패드 크리타를 실행한 것과 같이 사용할 수 있습니다.

크리타 아이패드 실제 그림 움짤
크리타 아이패드 실제 그림 움짤2

이 상태에서 이제 위와 같이 아이패드 크리타 실시간 그림을 마음껏 즐기시면 됩니다. 따로 설정하지 않아도 팜 리젝션(손으로 그림 그려지는 것 방지)과 애플팬슬의 필압도 잘 작동하는 것을 보실 수 있습니다.

크리타 아이패드 실행 화면

태어나서 그림을 제대로 그려본 적이 한 번도 없는 분들도, 프롬프트 + 점 하나 달랑 찍는 것만으로 그림을 그릴 수 있는 세상이 되었네요.

크리타 기본 단축키

아래는 맥에서 크리타로 그림을 그릴 때 유용한 필수 단축키 입니다. 한 손은 아이패드 위에 애플팬슬을 잡고 그림을 그리고 다른 한손은 맥의 키보드 위에서 아래 단축키들을 사용하면 훨씬 편하게 그림을 그릴 수 있습니다.

  • b : 브러쉬
  • e : 지우개 토글(현재 브러쉬 상태로 지우개 활성화/비활성화)
  • [ , ] : 브러쉬 크기 조절(포토샵과 동일)
  • shift 펜 이동 : shift 누른 상태에서 펜 좌우 이동시 브러쉬 크기 조절
  • cmd +, cmd – , cmd 0: 캔버스 줌
  • cmd z : 실행취소
  • cmd 길게 누른 상태 : 색상 스포이드