Comment on page
Midjourney API V2
GoAPI's Midjourney API is the most stable and cost-effective Midjourney API on the market, try it for free at https://www.goapi.ai/midjourney-api!
Most stable and cost-effective Midjourney API | $0.015 for relax mode PPU or $10/mth (or $6/mth) for BYOA | accessing the all of Midjourney features through our Midjourney API: Imagine, Upscale, Variations, Describe, Blend, and more!
For more in-depth information on using webhooks to receive realtime notifications, please visit our MJ API Webhook Documentation.
Our Midjourney API V2 provides distinct modes of image generation: Mixed, Relax, Fast, Turbo. Relax, fast, and turbo modes correspond to their Midjourney equivalents.
There are two ways to select mode: using process mode and/or in-prompt-mode

two ways of specifying process modes
Below are rules about mode selection:
- 1.If process mode is not specified, the default process mode is mixed. And if process mode is mixed, then the system will use in-prompt-mode. For example
- 1.If process mode = "" & in-prompt-mode = relax | will use relax
- 2.If process mode = "" & in-prompt-mode = fast | will use fast
- 3.If process mode = "" & in-prompt-mode = unspecified | will use relax
- 2.process mode overrides in-prompt-mode; for example:
- 1.If process mode = fast & in-prompt-mode = relax | will use fast
- 2.If process mode = relax & in-prompt-mode = fast | will use relax
- 3.For BYOA users, aforementioned rules will depend on the available resource of your Midjourney account(s). For example
- 1.Fast or turbo jobs will be routed to any accounts with available fast hours. If none is available, the job will be processed as a relax job on any accounts with relax GPU time.
- 2.Relax jobs will be routed to any accounts that is not on the Basic Plan ($10 plan) because this plan has no relax GPU time. If none is available, the job will be processed as a fast job on any accounts with fast hours.
- 3.If your only Midjourney account setting = relax, then all the jobs processed by this account will be relax mode regardless mode selection from GoAPI. Also, when you set your Midjourney account to relax mode, we will not use it for any fast job. This which might result in wasted fast hours.
- 4.If your Midjourney account setting = fast | all jobs will processed as per mode selection from GoAPI. When your Midjourney account runs out of fast hours, we will automatically change that account's setting to relax mode.
Note:
- 1.Endpoints such as
upscale
,variation
,outpaint
, andpan
don’t support process mode. Instead, they inherit the process mode from the parent task automatically.

a typical workflow diagram with Midjourney API from GoAPI
post
https://api.midjourneyapi.xyz
/mj/v2/imagine
Imagine
Parameters
Header
X-API-KEY*
string
Your API Key used for request authorization
Body
prompt*
string
The prompt for image processing
aspect_ratio
string
Aspect ratio of the image
default value: 1:1
process_mode
string
Which mode to use for processing
valid values: relax/mixed/fast/turbo
webhook_endpoint
string
Send a request to the address contained in the string for task completion notification. It must be in the form of https://domain and only port 443 can be used. No request will be sent if left blank
webhook_secret
string
Passed as the x-webhook-secret field in the headers during the request. The default value is empty.
Responses
200: OK
Successful Response
400: Bad Request
The request format does not meet the requirements.
401: Unauthorized
The API key is incorrect
500: Internal Server Error
Service is experiencing an error
Writing Midjourney prompt just like you would like write prompt in the Discord community with /imagine command.
Python
Node
Curl
import requests
X_API_KEY = "YOUR_API_KEY"
endpoint = "https://api.midjourneyapi.xyz/mj/v2/imagine"
headers = {
"X-API-KEY": X_API_KEY
}
data = {
"prompt": "a cute cat",
"aspect_ratio": "4:3",
"process_mode": "mixed",
"webhook_endpoint": "",
"webhook_secret": ""
}
response = requests.post(endpoint, headers=headers, json=data)
print(response.status_code)
print(response.json())
const axios = require('axios');
const X_API_KEY = "YOUR_API_KEY";
const options = {
headers: {
"X-API-KEY": X_API_KEY,
},
data: {
"prompt": "a cute cat",
"aspect_ratio": "4:3",
"process_mode": "mixed",
"webhook_endpoint": "",
"webhook_secret": ""
},
url: "https://api.midjourneyapi.xyz/mj/v2/imagine",
method: 'post'
};
axios(options)
.then(response => {
console.log(response.status);
console.log(response.data);
})
.catch(error => console.error(`Error: ${error}`));
curl -X POST "https://api.midjourneyapi.xyz/mj/v2/imagine" \
-H "X-API-KEY: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "a cute cat",
"aspect_ratio": "4:3",
"process_mode": "mixed",
"webhook_endpoint": "",
"webhook_secret": ""
}'
json
{
"task_id": "807400b9-9d79-465b-8ecc-eecb7419dbbc",
"status": "success",
"message": ""
}
post
https://api.midjourneyapi.xyz
/mj/v2/reroll
Reroll
Parameters
Header
X-API-KEY*
string
Your API Key used for request authorization
Body
origin_task_id*
string
The task ID of the original task
prompt
string
Prompt for re-drawing
default value: original prompt from parent task
aspect_ratio
string
Aspect ratio of the image
default value: 1:1
webhook_endpoint
string
Send a request to the address contained in the string for task completion notification. It must be in the form of https://domain and only port 443 can be used. No request will be sent if left blank
webhook_secret
string
Passed as the x-webhook-secret field in the headers during the request. The default value is empty.
Responses
200: OK
Successful Response
400: Bad Request
The request format does not meet the requirements.
401: Unauthorized
The API key is incorrect
500: Internal Server Error
Service is experiencing an error
Python
Node
Curl
import requests
X_API_KEY = "YOUR_API_KEY"
endpoint = "https://api.midjourneyapi.xyz/mj/v2/reroll"
headers = {
"X-API-KEY": X_API_KEY
}
data = {
"origin_task_id": "cbf31ba7-c83b-4cb4-a875-ff60e499e0bc",
"prompt": "a cute cartoon blue cat, weird",
"aspect_ratio": "4:3"
}
response = requests.post(endpoint, headers=headers, json=data)
print(response.status_code)
print(response.json())
const axios = require('axios');
const X_API_KEY = 'YOUR_API_KEY';
const endpoint = 'https://api.midjourneyapi.xyz/mj/v2/reroll';
const headers = {
'X-API-KEY': X_API_KEY
};
const data = {
'origin_task_id': 'cbf31ba7-c83b-4cb4-a875-ff60e499e0bc',
'prompt': 'a cute cartoon blue cat, weird',
'aspect_ratio': '4:3'
};
axios.post(endpoint, data, {headers: headers})
.then(response => {
console.log(response.status);
console.log(response.data);
})
.catch(error => console.error(error));
curl -X POST https://api.midjourneyapi.xyz/mj/v2/reroll \
-H 'X-API-KEY: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"origin_task_id": "cbf31ba7-c83b-4cb4-a875-ff60e499e0bc",
"prompt": "a cute cartoon blue cat, weird",
"aspect_ratio": "4:3"
}'
{
'task_id': '9cd1c5e3-52a8-4b3f-8dbc-4a13a772fcbe',
'status': 'success',
'message': ''
}
post
https://api.midjourneyapi.xyz
/mj/v2/upscale
Upscale
The upscale endpoint from our Midjourney API upscales one of the four generated images to a higher resolution.
Parameters
Header
X-API-KEY*
string
Your API Key used for request authorization
Body
origin_task_id*
string
The returned task_id from your parent request
index*
string
The index of the image to upscale
valid values: 1/2/3/4/2x/4x
webhook_endpoint
string
Send a request to this address to notify the result after the task is completed. It must be in the form of https://domain and only port 443 can be used.
no request will be sent if left blank
webhook_secret
string
Passed as the x-webhook-secret field in the headers during the request. default is empty
Responses
200: OK
Successful Response
400: Bad Request
The request format does not meet the requirements.
401: Unauthorized
The API key is incorrect
500: Internal Server Error
Service is experiencing an error
The 'process_mode' parameter is not supported for this endpoint, it is automatically inherited from the parent task.
Python
Node
Curl
import requests
X_API_KEY = "YOUR_API_KEY"
endpoint = "https://api.midjourneyapi.xyz/mj/v2/upscale"
headers = {
"X-API-KEY": X_API_KEY
}
data = {
"origin_task_id": "e5caaac5-4a6d-4078-b2d3-b973d907b611",
"index": "1",
"webhook_endpoint": "",
"webhook_secret": ""
}
response = requests.post(endpoint, headers=headers, json=data)
print(response.status_code)
print(response.json())
const axios = require('axios');
const X_API_KEY = "YOUR_API_KEY";
const options = {
headers: {
"X-API-KEY": X_API_KEY,
},
data: {
"origin_task_id": "e5caaac5-4a6d-4078-b2d3-b973d907b611",
"index": "1",
"webhook_endpoint": "",
"webhook_secret": ""
},
url: "https://api.midjourneyapi.xyz/mj/v2/upscale",
method: 'post'
};
axios(options)
.then(response => {
console.log(response.status);
console.log(response.data);
})
.catch(error => console.error(`Error: ${error}`));
curl -X POST "https://api.midjourneyapi.xyz/mj/v2/upscale" \
-H "X-API-KEY: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"origin_task_id": "e5caaac5-4a6d-4078-b2d3-b973d907b611",
"index": "1",
"webhook_endpoint": "",
"webhook_secret": ""
}'
{
"task_id": "e5caaac5-4a6d-4078-b2d3-b973d907b611",
"status": "success",
"message": ""
}
post
https://api.midjourneyapi.xyz
/mj/v2/variation
Variation
Parameters
Header
X-API-KEY*
string
Your API Key used for request authorization
Body
origin_task_id*
string
Returned by the task_id parameter in the response upon an image generation request
index*
string
The index of the image to be varied, value include:
variation:1/2/3/4
vary(strong/subtle):high_variation/low_variation
prompt
string
Drawing prompt
default value: prompt from the parent task
aspect_ratio
string
Aspect ratio of the new image
the default value is: 1:1
webhook_endpoint
string
Send a request to this address to notify the result after the task is completed. It must be in the form of https://domain and only port 443 can be used.
no request will be sent if left blank
webhook_secret
string
Passed as the x-webhook-secret field in the headers during the request. default is empty
Responses
200: OK
Successful Response
400: Bad Request
The request format does not meet the requirements.
401: Unauthorized
The API key is incorrect
500: Internal Server Error
Service is experiencing an error
variation
vary

variation tasks
index valid values:
1 / 2 / 3 / 4

vary tasks
index valid values:
high_variation / low_variation
The 'process_mode' parameter is not supported for this endpoint, it is automatically inherited from the parent task.
Using variation function just like when you click V1 V2 V3 V4 buttons in Discord using the Midjourney Bot
Python
Node
Curl
import requests
X_API_KEY = "YOUR_API_KEY"
endpoint = "https://api.midjourneyapi.xyz/mj/v2/variation"
headers = {
"X-API-KEY": X_API_KEY
}
data = {
"origin_task_id": "45ffd445-28cf-45fc-9ac5-7ee5d426c901",
"index": "1",
"prompt": "a cute cat with a hat",
"aspect_ratio": "3:4"
"webhook_endpoint": "",
"webhook_secret": ""
}
response = requests.post(endpoint, headers=headers, json=data)
print(response.status_code)
print(response.json())
const axios = require('axios');
const X_API_KEY = "YOUR_API_KEY";
const options = {
headers: {
"X-API-KEY": X_API_KEY,
},
data: {
"origin_task_id": "45ffd445-28cf-45fc-9ac5-7ee5d426c901",
"index": "1",
"prompt": "a cute cat with a hat",
"aspect_ratio": "3:4",
"webhook_endpoint": "",
"webhook_secret": ""
},
url: "https://api.midjourneyapi.xyz/mj/v2/variation",
method: 'post'
};
axios(options)
.then(response => {
console.log(response.status);
console.log(response.data);
})
.catch(error => console.error(`Error: ${error}`));
curl -X POST "https://api.midjourneyapi.xyz/mj/v2/variation" \
-H "X-API-KEY: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"origin_task_id": "45ffd445-28cf-45fc-9ac5-7ee5d426c901",
"index": "1",
"prompt": "a cute cat with a hat",
"aspect_ratio": "3:4",
"webhook_endpoint": "",
"webhook_secret": ""
}'
{
"task_id": "e5caaac5-4a6d-4078-b2d3-b973d907b611",
"status": "success",
"message": ""
}
post
Inpaint
Parameters
Header
X-API-KEY*
string
Your API Key used for request authorization
Body
origin_task_id*
string
The task ID of the original task
mask*
string
Base64 encoding of the image corresponding to the selected area
prompt
string
Drawing prompt for selected areas
skip_prompt_check
boolean
bypass internal prompt validation process default value: False
webhook_endpoint
string
Send a request to this address to notify the result after the task is completed. It must be in the form of https://domain and only port 443 can be used.
no request will be sent if left blank
webhook_secret
string
Passed as the x-webhook-secret field in the headers during the request. default is empty
Responses
200: OK
Successful Response
400: Bad Request
The request format does not meet the requirements.
401: Unauthorized
The API key is incorrect
500: Internal Server Error
Service is experiencing an error
Midjourney Inpainting UI is a simple tool to replicate Midjourney's inpainting model interface. you can generate mask base64 code using this open-source tool.
Python
Node
Curl
import requests
import json
url = "https://api.midjourneyapi.xyz/mj/v2/inpaint"
payload = json.dumps({
"origin_task_id": "1d536e18-c8a8-4ac5-9c4b-ae5895cc1f29",
"prompt": "mirror",
"skip_prompt_check": False,
"mask": "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"
})
headers = {
'X-API-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
const axios = require('axios');
let data = JSON.stringify({
"origin_task_id": "1d536e18-c8a8-4ac5-9c4b-ae5895cc1f29",
"prompt": "mirror",
"skip_prompt_check": false,
"mask": "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"
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://api.midjourneyapi.xyz/mj/v2/inpaint',
headers: {
'X-API-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
POST /mj/v2/inpaint HTTP/1.1
Host: https://api.midjourneyapi.xyz
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Content-Length: 7689
{
"origin_task_id": "1d536e18-c8a8-4ac5-9c4b-ae5895cc1f29",
"prompt": "mirror",
"skip_prompt_check": false,
"mask": "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"
}
{
"task_id": "807400b9-9d79-465b-8ecc-eecb7419dbbc",
"status": "success",
"message": ""
}
post
https://api.midjourneyapi.xyz
/mj/v2/outpaint
Outpaint
The outpaint endpoint from our Midjourney API enlarges an image's canvas beyond its original size while keeping the contents of the original image unchanged.
Parameters
Header
X-API-KEY*
string
Your API Key used for request authorization
Body
origin_task_id*
string
Returned by the task_id parameter in the response upon an image generation request
zoom_ratio
string
Image magnification ratio, value range:
zoom out:
zoom out 1.5x: 1.5
zoom out 2x: 2
make square: 1
custom zoom:
zoom folat(1, 2]
aspect_ratio
string
Aspect ratio of the image
default value: 1:1
prompt
string
Drawing prompt
the default value is the prompt from the parent task record
skip_prompt_check
string
bypass internal prompt validation process default value: False
webhook_endpoint
string
Send a request to this address to notify the result after the task is completed. It must be in the form of https://domain and only port 443 can be used.
no request will be sent if left blank
webhook_secret
string
Passed as the x-webhook-secret field in the headers during the request. default is empty
Responses
200: OK
Successful Response
400: Bad Request
The request format does not meet the requirements.
401: Unauthorized
The API key is incorrect
500: Internal Server Error
Service is experiencing an error
zoom_ratio
Zoom Out
Custom Zoom

square upscaled image
The
Zoom Out 2x
, Zoom Out 1.5x
button will appear underneath square upscaled images.
Zoom Out 1.5x
----- "zoom_ratio": "1.5"
Zoom Out 2x
------ "zoom_ratio": "2"

non-square upscaled image
The
Zoom Out 2x
, Zoom Out 1.5x
, Make Square
button will appear underneath non-square upscaled images.
Zoom Out 1.5x
----- "zoom_ratio": "1.5"
Zoom Out 2x
------ "zoom_ratio": "2"
Make Square
----- "zoom_ratio": "1"

custom zoom
Custom Zoom button under an upscaled image lets you choose how much to zoom on an image and change prompt.
--zoom floatnum
----- "zoom_ratio": "floatnum"
floatnum: (1, 2]
The 'process_mode' parameter is not supported for this endpoint, it is automatically inherited from the parent task.
Python
Node
Curl
import requests
X_API_KEY = "YOUR_API_KEY"
endpoint = "https://api.midjourneyapi.xyz/mj/v2/outpaint"
headers = {
"X-API-KEY": X_API_KEY
}
data = {
"origin_task_id": "45ffd445-28cf-45fc-9ac5-7ee5d426c901",
"zoom_ratio": "2",
"aspect_ratio": "4:3",
"prompt": "a cute cat with a hat",
"webhook_endpoint": "",
"webhook_secret": ""
}
response = requests.post(endpoint, headers=headers, json=data)
print(response.status_code)
print(response.json())
const axios = require('axios');
const X_API_KEY = "YOUR_API_KEY";
const options = {
headers: {
"X-API-KEY": X_API_KEY,
},
data: {
"origin_task_id": "45ffd445-28cf-45fc-9ac5-7ee5d426c901",
"zoom_ratio": "2",
"aspect_ratio": "4:3",
"prompt": "a cute cat with a hat",
"webhook_endpoint": "",
"webhook_secret": ""
},
url: "https://api.midjourneyapi.xyz/mj/v2/outpaint",
method: 'post'
};
axios(options)
.then(response => {
console.log(response.status);
console.log(response.data);
})
.catch(error => console.error(`Error: ${error}`));
curl -X POST "https://api.midjourneyapi.xyz/mj/v2/outpaint" \
-H "X-API-KEY: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"origin_task_id": "45ffd445-28cf-45fc-9ac5-7ee5d426c901",
"zoom_ratio": "2",
"aspect_ratio": "4:3",
"prompt": "a cute cat with a hat",
"webhook_endpoint": "",
"webhook_secret": ""
}'
{
"task_id": "e5caaac5-4a6d-4078-b2d3-b973d907b611",
"status": "success",
"message": ""
}
post
https://api.midjourneyapi.xyz
/mj/v2/pan
Pan
The pan endpoint from our Midjourney API broadens the image canvas in a specific direction, keeping the original content intact and using prompts and the original image as guides for filling the expanded area.
Parameters
Header
X-API-KEY*
string
Your API Key used for request authorization
Body
origin_task_id*
string
Returned by the task_id parameter in the response upon an image generation request
direction
string
Image expansion direction
valid values: up/down/left/right
prompt
string
Drawing prompt
the default value is the prompt from the parent task record
skip_prompt_check
boolean
bypass internal prompt validation process default value: False
webhook_endpoint
string
Send a request to this address to notify the result after the task is completed. It must be in the form of https://domain and only port 443 can be used (due to Cloudflare worker restrictions). no request will be sent if left blank
webhook_secret
string
Passed as the x-webhook-secret field in the headers during the request. default is empty
Responses
The 'process_mode' parameter is not supported for this endpoint, it is automatically inherited from the parent task.
Python
Node
Curl
import requests
X_API_KEY = "YOUR_API_KEY"
endpoint = "https://api.midjourneyapi.xyz/mj/v2/pan"
headers = {
"X-API-KEY": X_API_KEY
}
data = {
"origin_task_id": "45ffd445-28cf-45fc-9ac5-7ee5d426c901",
"direction": "left",
"prompt": "a cute cat with a hat",
"webhook_endpoint": "",
"webhook_secret": ""
}
response = requests.post(endpoint, headers=headers, json=data)
print(response.status_code)
print(response.json())
const axios = require('axios');
const X_API_KEY = "YOUR_API_KEY";
const options = {
headers: {
"X-API-KEY": X_API_KEY,
},
data: {
"origin_task_id": "45ffd445-28cf-45fc-9ac5-7ee5d426c901",
"direction": "left",
"prompt": "a cute cat with a hat",
"webhook_endpoint": "",
"webhook_secret": ""
},
url: "https://api.midjourneyapi.xyz/mj/v2/pan",
method: 'post'
};
axios(options)
.then(response => {
console.log(response.status);
console.log(response.data);
})
.catch(error => console.error(`Error: ${error}`));
curl -X POST "https://api.midjourneyapi.xyz/mj/v2/pan" \
-H "X-API-KEY: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"origin_task_id": "45ffd445-28cf-45fc-9ac5-7ee5d426c901",
"direction": "left",
"prompt": "a cute cat with a hat",
"webhook_endpoint": "",
"webhook_secret": ""
}'
{
"task_id": "43507b86-1495-44f5-ac89-40d15dccc729",
"status": "success",
"message": ""
}
post
https://api.midjourneyapi.xyz
/mj/v2/describe
Describe
The describe endpoint from our Midjourney API generates four possible prompts based on the uploaded image.
Parameters
Header
X-API-KEY*
string
Your API Key used for request authorization
Body
image_url*
string
Image URL path
process_mode
string
Processing mode to use
valid values: relax/mixed/fast/turbo
webhook_endpoint
string
Send a request to this address to notify the result after the task is completed. It must be in the form of https://domain and only port 443 can be used.
no request will be sent if left blank
webhook_secret
string
Passed as the x-webhook-secret field in the headers during the request. default is empty.
Responses
200: OK
Successful Response
400: Bad Request
The request format does not meet the requirements.
401: Unauthorized
The API key is incorrect
500: Internal Server Error
Service is experiencing an error
Python
Node
Curl
import requests
X_API_KEY = "YOUR_API_KEY"
endpoint = "https://api.midjourneyapi.xyz/mj/v2/describe"
headers = {
"X-API-KEY": X_API_KEY
}
data = {
"image_url": "https://sample.png",
"process_mode": "mixed",
"webhook_endpoint": "",
"webhook_secret": ""
}
response = requests.post(endpoint, headers=headers, json=data)
print(response.status_code)
print(response.json())
const axios = require('axios');
const X_API_KEY = "YOUR_API_KEY";
const options = {
headers: {
"X-API-KEY": X_API_KEY,
},