コンテンツにスキップ

Midjourney接口文档

Midjourney 画像フォーマット(Midjourney Proxy/Midjourney Proxy Plus)

Section titled “Midjourney 画像フォーマット(Midjourney Proxy/Midjourney Proxy Plus)”

Midjourney は、自然言語による指示をもとに画像の生成・編集・加工ができる強力な画像生成モデルです。さまざまな API を使うことで、多様な画像生成・処理タスクを実現できます。

  1. 初期タスク
  2. Imagine: テキストから画像を生成
  3. Blend: 複数画像のブレンド
  4. Describe: 画像の説明文生成
  5. Swap Face: 顔の入れ替え
  6. 画像処理
  7. U1-U4: 拡大操作
  8. V1-V4: バリエーション生成
  9. Pan: 画像の移動
  10. Zoom: 画像の拡大縮小
  11. 特殊フロー
  12. Action + Modal: ポップアップ確認が必要な操作
  13. Action 直接実行: ポップアップ不要の操作
  14. タスク管理
  15. タスク詳細の取得
  16. 画像 Seed の取得
  17. Discord へのアップロード

Imagine タスクの送信 :check_mark_button:

Section titled “Imagine タスクの送信 :check_mark_button:”
Terminal window
curl --location --request POST 'https://api.4allapi.com/mj/submit/imagine' \
--header 'Authorization: Bearer $API_KEY' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"botType": "MID_JOURNEY",
"prompt": "Cat",
"base64Array": [],
"accountFilter": {
"channelId": "",
"instanceId": "",
"modes": [],
"remark": "",
"remix": true,
"remixAutoConsidered": true
},
"notifyHook": "",
"state": ""
}'

レスポンス例:

{
"code": 1,
"description": "提交成功",
"properties": {},
"result": 1320098173412546
}

Blend タスクの送信 :check_mark_button:

Section titled “Blend タスクの送信 :check_mark_button:”
Terminal window
curl --location --request POST 'https://api.4allapi.com/mj/submit/blend' \
--header 'Authorization: Bearer $API_KEY' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"botType": "MID_JOURNEY",
"base64Array": [
"data:image/png;base64,xxx1",
"data:image/png;base64,xxx2"
],
"dimensions": "SQUARE",
"accountFilter": {
"channelId": "",
"instanceId": "",
"modes": [],
"remark": "",
"remix": true,
"remixAutoConsidered": true
},
"notifyHook": "",
"state": ""
}'

レスポンス例:

{
"code": 1,
"description": "提交成功",
"properties": {},
"result": 1320098173412546
}

Describe タスクの送信 :check_mark_button:

Section titled “Describe タスクの送信 :check_mark_button:”
Terminal window
curl --location --request POST 'https://api.4allapi.com/mj/submit/describe' \
--header 'Authorization: Bearer $API_KEY' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"botType": "MID_JOURNEY",
"base64": "data:image/png;base64,xxx",
"accountFilter": {
"channelId": "",
"instanceId": "",
"modes": [],
"remark": "",
"remix": true,
"remixAutoConsidered": true
},
"notifyHook": "",
"state": ""
}'

レスポンス例:

{
"code": 1,
"description": "提交成功",
"properties": {},
"result": 1320098173412546
}
Terminal window
curl --location --request POST 'https://api.4allapi.com/mj/submit/modal' \
--header 'Authorization: Bearer $API_KEY' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"maskBase64": "",
"prompt": "",
"taskId": "14001934816969359"
}'

レスポンス例:

{
"code": 1,
"description": "提交成功",
"properties": {},
"result": 1320098173412546
}

swap_face タスクの送信 :check_mark_button:

Section titled “swap_face タスクの送信 :check_mark_button:”
Terminal window
curl --location --request POST 'https://api.4allapi.com/mj/insight-face/swap' \
--header 'Authorization: Bearer $API_KEY' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"sourceBase64": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBwgHBgkIBwgKCgkLDRYPDQwMDRsUFRAWIB0iIiAdHx8kKDQsJCYxJx8fLT0tMTU3Ojo6Iys/RDnYdriP1wsS81kwU8OVs/R3xu8s6bX7+zYnOH8coSqpmRSBjqerjcBlr2OB/lbAf/2Q==",
"targetBase64": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBwgHBgkIBwgKCgkLDRYPDQwMDRsUFRAWIB0iIiAdHx8kKDQsJCYxJx8fLT0tMTU3Ojo6Iys/RD849k="
}'

レスポンス例:

{
"code": 0,
"description": "string",
"result": "string"
}
Terminal window
curl --location --request POST 'https://api.4allapi.com/mj/submit/action' \
--header 'Authorization: Bearer $API_KEY' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"chooseSameChannel": true,
"customId": "MJ::JOB::upsample::1::82c51c9d-bc33-4c07-a471-36c3dcb1a6f0",
"taskId": "1728781324658687",
"accountFilter": {
"channelId": "",
"instanceId": "",
"modes": [],
"remark": "",
"remix": true,
"remixAutoConsidered": true
},
"notifyHook": "",
"state": ""
}'

レスポンス例:

{
"code": 1,
"description": "提交成功",
"properties": {},
"result": 1320098173412546
}

ファイルを discord にアップロード :check_mark_button:

Section titled “ファイルを discord にアップロード :check_mark_button:”
Terminal window
curl --location --request POST 'https://api.4allapi.com/mj/submit/upload-discord-images' \
--header 'Authorization: Bearer $API_KEY' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"base64Array": [],
"filter": {
"channelId": "",
"instanceId": "",
"remark": ""
}
}'

レスポンス例:

{
"code": 0,
"description": "string",
"result": [
"string"
]
}

ID リストに基づいてタスクを照会 :check_mark_button:

Section titled “ID リストに基づいてタスクを照会 :check_mark_button:”
Terminal window
curl --location --request POST 'https://api.4allapi.com/mj/task/list-by-condition' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer $API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"ids": []
}'

レスポンス例:

[
{
"action": "IMAGINE",
"buttons": [
{
"customId": "string",
"emoji": "string",
"label": "string",
"style": 0,
"type": 0
}
],
"description": "string",
"failReason": "string",
"finishTime": 0,
"id": "string",
"imageUrl": "string",
"progress": "string",
"prompt": "string",
"promptEn": "string",
"properties": {},
"startTime": 0,
"state": "string",
"status": "NOT_START",
"submitTime": 0
}
]

指定 ID でタスクを取得 :check_mark_button:

Section titled “指定 ID でタスクを取得 :check_mark_button:”
Terminal window
curl --location --request GET 'https://api.4allapi.com/mj/task/{id}/fetch' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer $API_KEY' \
--header 'Content-Type: application/json'

レスポンス例:

{
"action": "IMAGINE",
"buttons": [
{
"customId": "string",
"emoji": "string",
"label": "string",
"style": 0,
"type": 0
}
],
"description": "string",
"failReason": "string",
"finishTime": 0,
"id": "string",
"imageUrl": "string",
"progress": "string",
"prompt": "string",
"promptEn": "string",
"properties": {},
"startTime": 0,
"state": "string",
"status": "NOT_START",
"submitTime": 0
}

タスク画像の seed を取得 :check_mark_button:

Section titled “タスク画像の seed を取得 :check_mark_button:”
Terminal window
curl --location --request GET 'https://api.4allapi.com/mj/task/{id}/image-seed' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer $API_KEY' \
--header 'Content-Type: application/json'

レスポンス例:

{
"code": 0,
"description": "string",
"result": "string"
}
POST /mj/submit/imagine

テキストプロンプトに基づいて画像を生成します。

POST /mj/submit/blend

複数の入力画像をブレンドして新しい画像を生成します。

POST /mj/submit/describe

入力画像からテキスト説明を生成します。

POST /mj/submit/modal

画像生成の詳細を調整するためのモーダル情報を送信します。

POST /mj/insight-face/swap

元画像と対象画像を使って顔を入れ替えます。

POST /mj/submit/action

生成済み画像に対して、拡大や調整などの後続操作を行います。

ファイルを discord にアップロード

Section titled “ファイルを discord にアップロード”
POST /mj/submit/upload-discord-images

画像を discord にアップロードします。

ID リストに基づいてタスクを照会

Section titled “ID リストに基づいてタスクを照会”
POST /mj/task/list-by-condition

指定したタスク ID の一覧に基づいて、タスク詳細を取得します。

GET /mj/task/{id}/fetch

タスク ID に基づいてタスク詳細を取得します。

GET /mj/task/{id}/image-seed

指定タスクで生成された画像の seed 値を取得します。

リクエストヘッダーに以下を含めて API キー認証を行います。

Authorization: Bearer $API_KEY

ここでの $API_KEY は、あなたの API キーです。

リクエストボディのパラメータ

Section titled “リクエストボディのパラメータ”
  • 種類: 列挙型文字列
  • 必須: いいえ
  • デフォルト値: MID_JOURNEY
  • 選択肢:
    • MID_JOURNEY: Midjourney モデル
    • NIJI_JOURNEY: Niji Journey モデル
  • 説明: 使用する bot の種類を選択します
  • 種類: 文字列
  • 必須: はい
  • 説明: 画像生成用のテキストプロンプト
  • 補足:
    • 明確で具体的な説明を使用してください
    • アートスタイルや構図などの詳細も含められます
    • 英語と中国語の入力に対応しています
  • 種類: 文字列配列
  • 必須: いいえ
  • 説明: 参考画像の base64 エンコード配列
  • 形式: 各要素は MIME タイプのプレフィックスを含む完全な base64 画像文字列である必要があります
  • 種類: オブジェクト
  • 必須: いいえ
  • 属性:
    • channelId: チャンネル ID
    • instanceId: アカウントインスタンス ID
    • modes: アカウントモード配列。選択肢は RELAX、FAST、TURBO
    • remark: 備考に含まれる内容
    • remix: アカウントが remix をサポートしているか
    • remixAutoConsidered: remix の自動送信設定
  • 種類: 文字列
  • 必須: いいえ
  • 説明: タスク完了後のコールバック URL。空の場合はグローバル notifyHook を使用します
  • 種類: 文字列
  • 必須: いいえ
  • 説明: カスタム状態パラメータ。リクエスト追跡に使用できます
  • 種類: 文字列配列
  • 必須: はい
  • 説明: ブレンドする画像の base64 エンコード配列
  • 形式: 2〜5 枚の画像の base64 文字列を含める必要があります
  • 種類: 列挙型文字列
  • 必須: いいえ
  • 選択肢:
    • PORTRAIT: 2:3 比率
    • SQUARE: 1:1 比率
    • LANDSCAPE: 3:2 比率
  • 説明: 出力画像の縦横比設定
  • 種類: 文字列
  • 必須: はい
  • 説明: 説明対象の画像の base64 エンコード
  • 形式: MIME タイプのプレフィックスを含む完全な base64 文字列
  • 種類: 文字列
  • 必須: いいえ
  • 説明: 部分再描画用マスク画像の base64 エンコード
  • 種類: 文字列
  • 必須: いいえ
  • 説明: 再描画領域のテキストプロンプト
  • 種類: 文字列
  • 必須: はい
  • 説明: 元のタスクの ID
  • 種類: 文字列
  • 必須: はい
  • 説明: 顔の元画像の base64 エンコード
  • 要件: 画像にははっきりとした顔が含まれている必要があります
  • 種類: 文字列
  • 必須: はい
  • 説明: 対象画像の base64 エンコード
  • 要件: 置き換える顔が含まれている必要があります
  • 種類: 真偽値
  • 必須: いいえ
  • デフォルト値: false
  • 説明: 同一チャンネルのアカウントを選択するかどうか
  • 種類: 文字列
  • 必須: はい
  • 説明: アクション識別子
  • 形式: "MJ::JOB::upsample::1::xxx" のような特定形式の文字列
  • 種類: 文字列
  • 必須: はい
  • 説明: アクションを実行するタスク ID

Discord へのファイルアップロード

Section titled “Discord へのファイルアップロード”
  • 種類: 文字列配列
  • 必須: はい
  • 説明: アップロードする画像の base64 エンコード配列
  • 種類: オブジェクト
  • 必須: いいえ
  • 属性:
    • channelId: 対象チャンネル ID
    • instanceId: アカウントインスタンス ID
    • remark: 備考情報

ID リストに基づいてタスクを照会

Section titled “ID リストに基づいてタスクを照会”
  • 種類: 文字列配列
  • 必須: はい
  • 説明: 照会したいタスク ID の一覧

すべての API は、似た形式のレスポンスを返します。

  • 種類: 整数
  • 説明: ステータスコード
ステータスコード説明
1送信成功
22タスクをキュー待機中
21パラメータエラー
23システムエラー
24アカウント利用不可
25残高不足
  • 種類: 文字列
  • 説明: レスポンスの説明情報
  • 種類: オブジェクト
  • 説明: 拡張属性
  • 種類: 文字列または配列
  • 説明: 返却結果。タスク ID またはその他のデータが入る場合があります
  • 種類: 列挙型文字列
  • 説明: タスク種別
文字列値説明
IMAGINE画像を生成
UPSCALE画像を拡大
VARIATIONバリエーション生成
ZOOM画像をズーム
PAN画像を移動
DESCRIBE画像を説明
BLEND画像をブレンド
SHORTENプロンプトを短縮
SWAP_FACE顔を置換
  • 種類: オブジェクト配列
  • 説明: 実行可能な操作ボタン
配列に含まれる属性説明
customIdアクション識別子
emojiボタンアイコン
labelボタンテキスト
styleスタイル(2=Primary, 3=Green)
typeシステム内部で使用される型
  • 種類: 文字列
  • 説明: タスクの説明情報
  • 種類: 文字列
  • 説明: タスク失敗の理由
  • 種類: 整数
  • 説明: タスク完了時刻のタイムスタンプ
  • 種類: 文字列
  • 説明: タスクの一意識別子
  • 種類: 文字列
  • 説明: 生成画像の URL
  • 種類: 文字列
  • 説明: タスクの進捗情報
  • 種類: 文字列
  • 説明: 元のプロンプト
  • 種類: 文字列
  • 説明: 英語のプロンプト
  • 種類: 列挙型文字列
  • 説明: タスク状態
文字列値説明
NOT_START未開始
SUBMITTED送信済み
MODALモーダル操作中
IN_PROGRESS進行中
FAILURE失敗
SUCCESS成功
CANCELキャンセル済み
  • 種類: 整数
  • 説明: タスク送信時刻のタイムスタンプ
  • 種類: 整数
  • 説明: タスク実行開始時刻のタイムスタンプ

リクエストに問題がある場合、API はエラーレスポンスを返します。

  • 400 Bad Request: リクエストパラメータが無効
  • 401 Unauthorized: API キーが無効、または未指定
  • 403 Forbidden: 権限不足
  • 404 Not Found: リソースが存在しない
  • 429 Too Many Requests: リクエスト頻度超過
  • 500 Internal Server Error: サーバー内部エラー
{
"code": <错误码>,
"description": "错误描述信息",
"result": null
}