本教程來源于網絡,但網絡上的教程對小白不是很友好,所以我今天整理一個保姆級的搭建教程。
本教程默認以下條件:
1、最好是一臺國外云服務器,如果沒海外的,用香港的也可以,并且已安裝寶塔面板。不知道怎么操作的可以后臺留言找我無償指導。
2、一個midjourney賬號。什么,你沒有賬號?那就不用看這個教程啦,直接拉到文末免費體驗我接入的AI繪畫。
教程其實很簡單,總共就兩個大步驟:第一步獲取自己midjourney賬號的參數,第二步配置自己的云服務器作為調用的中轉(為什么要中轉,因為國內不用不了)。
首先來看第一步,獲取自己的midjourney賬號參數,因為midjourney本身沒有API接口,所以這里獲取的是discord服務器的參數。
一、獲取參數

以上是需要獲取的參數,主要是:1、服務器ID,2、頻道ID,3、用戶Token,4、用戶的sessionid。
1. 獲取用戶Token
進入頻道,打開network,刷新頁面,找到messages?的請求,這里的 authorization 即用戶Token,保存下來,后續要設置到?mj.discord.user-token?。

2. 獲取用戶sessionId
進入頻道,打開network,發送/imagine作圖指令,找到interactions?的請求,這里的 session_id 即用戶sessionId,保存下來,后續設置到?mj.discord.session-id。

3. 獲取服務器ID、頻道ID
頻道的url里取出服務器ID、頻道ID,保存下來,后續設置到配置項。
備注:這里我們用的接口是8080,接口也可以自己調整,但是要保證云服務器后臺開啟對應的接口才行,否則會報錯。

docker run -d --name midjourney-proxy \
-p 8080:8080 \
-e mj.discord.guild-id=XX \
-e mj.discord.channel-id=XX \
-e mj.discord.user-token=XX \
-e mj.discord.session-id=XX \
-e mj.translate-way=gpt \
-e mj.task-store.type=in_memory \
-e mj.task-store.timeout=3d \
? -e?mj.openai.gpt-api-key=XX??\
--restart=always \
novicezk/midjourney-proxy:2.5.4
把前面獲得的參數填入到這條指令中的XXX中,guild-id即服務器ID,channel-id即頻道ID,注意別填錯。接著進行第二步,服務器配置。
mj.openai.gpt-api-key填寫你自己GPT的key,這里說明一下,填寫這個是做翻譯用的,你可以輸入中文,但提交給MJ的時候就會自動翻譯成英文了,MJ對中文不太理解,建議翻譯成為英文。如果不需要翻譯,就刪掉第7行到第10行。
二、服務器配置
這里的服務器為什么選擇國外的呢,因為國內的不能直接訪問,還要配置什么反代服務器,對小白來說不是很友好,所以建議直接上海外云服務器。
下面的步驟很簡單,但卻卡了我很久,因為確實是小白。
1、進入服務器寶塔面板

2、安裝Docker管理器
進入面板長這樣,我這里是需要用Docker來配置這個MJ代理,所以面板上多了一個Docker,新服務器是沒有的,要先進軟件商店安裝一下。

按箭頭指示安裝就行了。
3、下載鏡像
點擊面板上的終端,輸入命令:docker pull novicezk/midjourney-proxy:2.5.4 回車。
(2.3的版本已經失效,圖沒有更新)

4、輸入代碼
點擊面板上的終端,輸入命令:就是第一步的第3點內容里的代碼,直接復制粘貼進去執行即可。
這里的執行命令就是第一步的第3點內容,正常的話就會顯示如下圖

瀏覽器訪問?http://你的服務器IP:8080/mj?能看到下方頁面則說明搭建成功。
如果報錯,請檢查一下是否開啟了對應的接口,云服務器后臺和寶塔后臺都檢查一下。

三、小狐貍代碼修改
找到小狐貍后臺的這個文件:lxai.php


把原來64行的代碼屏蔽掉,輸入下面的代碼:
$url = 'http://ip:8080/mj/submit/imagine';
接口可以自己定義,記得一定要在開啟。
四、小狐貍后臺設置
1、找到設置的功能
AI繪畫-參數設置-選擇MJ-選擇靈犀AI-保存。


2、在key池里添加一個key
功能-key池-選擇靈犀AI-添加key,隨便寫幾個字母就行,然后保存。


這就全部設置好了,我們來測試一下。


可以正常返回圖片,并且MJ對應的服務器也出現了同樣的圖片,一切正常,大功告成了。
為聰明的自己點個贊吧。
你好!可以付費代搭建嗎?