プロジェクトの概要#
MidJourney の discord チャンネルをプロキシし、API 形式で AI ドローイングを呼び出すことができます。より便利で柔軟な操作が可能です!
現在の機能#
Imagine コマンドと関連する U、V 操作をサポートしています。
Imagine 時には、ベース 64 として画像を追加することができます。
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 インターフェースの呼び出しや wss 接続時の user-agent。デフォルトでは作者のものが使用されますが、ブラウザのネットワークからコピーして置き換えることをお勧めします。
mj.discord.user-wss:user-token を使用して wss に接続するかどうか。デフォルトは true です。
mj.discord.bot-token:カスタムボットトークン。user-wss が false の場合は必須です。
その他の設定については以下を参照してください。