想要在iOS跑AI生圖?不要雲端運算,而是直接用本機GPU生圖?
Draw Things APP實現你的願望!
Draw Things為Draw Things Inc.於2022年推出的免費APP,部份開放原始碼,僅支援Mac、iPhone、iPad系統。其他系統建議用 Automatic1111 Stable Diffusion WebUI。
Draw Things提供文生圖、圖生圖、局部重繪、訓練模型等功能,界面針對行動裝置重新設計過。它利用Apple Core ML加速技術,讓你可以在iOS裝置直接跑Stable Diffusion、FLUX這類AI生圖模型,不用依賴第三方生圖服務。生圖過程全都是在本機運算的。
這樣做的好處是你可以自由下載生圖模型,不會有任何色色關鍵字審查,也沒有額度限制,能夠自由生成想要的圖片。
現在Draw Things仍持續更新中,不斷加入許多AI生圖的新技術,例如LoRA、ControlNet、Fooocus,新的模型也會陸續支援。
1. Draw Things硬體需求#
Draw Things支援Mac、iPhone、iPad系統,界面大同小異,本文介紹的以iPad版為主。
雖然開發者沒有明講Draw Things硬體需求,但AI生圖非常吃系統資源,會大量佔用GPU和RAM,敬請注意散熱。
建議使用搭載M1晶片、RAM 8GB以上的裝置,否則生成1024x1024的大圖時APP可能資源不足閃退。
iOS生圖時建議將背景執行的APP全部關閉,將資源留給Draw Things。
另外,AI生圖模型會佔用許多空間,因此建議準備20GB以上儲存空間。
2. 安裝Draw Things模型#
開啟後Draw Things 會提示你下載模型,我們就選SDXL吧,大約需要5GB左右空間。
Draw Things相容大部分Stable Diffusion模型,所以你也可以到 Civitai網站手動下載模型(建議用Safari背景下載),再點選Import手動匯入至Draw Things。
點選左下角系統設定,開啟CoreML全部功能,加快生圖速度。
3. 文生圖模式#
Text to image,根據輸入的文字生成圖片。
裡面的參數請參考 Stable Diffusion WebUI的說明。
界面概覽:
預設Draw Things會開一個新專案,左邊是生圖選項,中間是畫布圖層,上方為提示詞區域。
首先,點選左邊的Basic選單,選取使用Stable Diffusion XL模型,Sampler選擇Euler A或UniPC,然後設定生圖長寬為1024x1024
填入正向提示詞和負向提示詞,後者可以用embedding達成,點一下迴紋針按鈕,下載Negative XL模型。
按Generate開始生成!等待畫布上的藍色格子填滿…
圖片就會出來了。長按側邊欄位儲存圖片。
Draw Things的操作邏輯是這樣:每次「文生圖」生完圖都是一個圖層,如果你繼續點生圖,會變成「局部重繪」模式,新圖會參考方框內的圖生成,空白的地方會自動填滿。
若要生成獨立的新圖,請在生成圖片之後移動畫布的選取框到空白處,或者點一下右下角按鈕
Start a blank canvas
,這樣新圖才不會參考現有圖片。
4. 圖生圖模式#
Image to image,參考畫布上的圖片進行AI生成。
按畫布下方的相機按鈕,或是旁邊的歷史紀錄,匯入要參考的圖片,並讓白色方框對準圖片
填入提示詞。
左邊選取Image to Image,調整拉桿,設定參考原圖的程度(Strength),數值越小越像原圖。
如果你覺得圖生圖不夠精準,你還可以搭配 ControlNet依照輪廓或線稿,做更精準的生成,不過這要額外下載許多模型。
5. 局部重繪模式#
Inpainting,劃出局部區域,重新生成衣服或者換臉。
點選橡皮擦圖示,擦掉要修改的地方,再點選生成,它就會按照你的提示詞填滿空白處。
如果使用油漆刷工具的話,就是讓AI生成與筆刷顏色相近的圖片。
6. 啟用API伺服器#
你可以啟動Draw Things的HTTP伺服器,遠端控制Draw Things生圖。
點一下HTTP API Server,啟動服務,IP設定0.0.0.0
Apple裝置的區域IP可在系統設定 → Wifi查看
這樣另一部裝置就能用
http://iPad的IP:7860
生圖了,目前似乎沒有太多客戶端支援,只能用 TinyDTClient連線。