プロジェクトの概要#
MidJourney の discord チャンネルを実現し、API 形式で AI ドローイングを呼び出すことができます。より便利で柔軟なものになります!
現在の機能#
Imagine コマンドと関連する U、V 操作をサポートしています。
Imagine 時には、プレースホルダーとして画像の base64 を追加することができます。
Blend(画像のブレンド)コマンドと関連する U、V 操作をサポートしています。
Describe コマンドをサポートし、画像に基づいてプロンプトを生成します。
Imagine、V、Blend 画像の生成進捗をサポートしています。
中国語のプロンプトの翻訳をサポートしています。Baidu 翻訳または gpt を設定する必要があります。
プロンプトの禁止ワード判定をサポートし、カバー調整が可能です。
タスクキューはデフォルトで 10 で、同時に 3 つのタスクを実行できます。MidJourney のサブスクリプションレベルを参考にして、mj.queue を調整してください。
ユーザートークンを使用して wss に接続することで、エラーメッセージと完全な機能を取得することができます。
discord ドメイン(server、cdn、wss)のリバースプロキシをサポートし、mj.ng-discord を設定します。
使用前提条件#
MidJourney に登録し、自分のチャンネルを作成してください。以下を参考にしてください。
https://docs.midjourney.com/docs/quick-start
ユーザートークン、サーバー ID、チャンネル ID を取得してください。
リスクについての注意事項#
頻繁な描画などの行動は、midjourney アカウントの警告を引き起こす可能性がありますので、注意して使用してください。
リスクを減らすために、mj.discord.user-agent と mj.discord.session-id を設定してください。
デフォルトでは user-wss 方式が使用されますが、midjourney のエラーメッセージや画像変換の進捗などを取得することができますが、アカウントのリスクが増加する可能性があります。
mj.discord.user-wss を false に設定することもできます。bot-token を使用して wss に接続する場合は、カスタムボットを追加する必要があります。手順については以下を参照してください。
Railway デプロイ#
Railway プラットフォームを使用してデプロイする場合、独自のサーバーは必要ありません:デプロイ方法。Railway が使用できない場合は、以下の Zeabur を使用できます。
Zeabur デプロイ#
Zeabur プラットフォームを使用してデプロイする場合、独自のサーバーは必要ありません:デプロイ方法
Docker デプロイ#
-
/xxx/xxx/config ディレクトリに application.yml(mj 設定項目)と banned-words.txt(オプション、デフォルトの禁止ワードファイルを上書き)を作成します。src/main/resources のファイルを参照してください。
-
コンテナを起動し、config ディレクトリをマッピングします。
docker run -d --name midjourney-proxy \
-p 8080:8080 \
-v /xxx/xxx/config:/home/spring/config \
--restart=always \
novicezk/midjourney-proxy:2.3.5
- http://ip:port/mj にアクセスして API ドキュメントを表示します。
注:config ディレクトリをマッピングしない方法で、起動コマンドで直接パラメータを設定することもできます。
docker run -d --name midjourney-proxy \
-p 8080:8080 \
-e mj.discord.guild-id=xxx \
-e mj.discord.channel-id=xxx \
-e mj.discord.user-token=xxx \
--restart=always \
novicezk/midjourney-proxy:2.3.5
設定項目#
mj.discord.guild-id:discord サーバー ID
mj.discord.channel-id:discord チャンネル ID
mj.discord.user-token:discord ユーザートークン
mj.discord.session-id:discord ユーザーの sessionId。設定しない場合はデフォルトを使用しますが、interactions リクエストからコピーして置き換えることをお勧めします。
mj.discord.user-agent:discord の API を呼び出すときや wss に接続するときの user-agent。デフォルトでは作者のものが使用されますが、ブラウザのネットワークからコピーして置き換えることをお勧めします。
mj.discord.user-wss:user-token を使用して wss に接続するかどうか。デフォルトは true です。
mj.discord.bot-token:カスタムボットトークン。user-wss=false の場合は必須です。
その他の設定については、以下を参照してください。