🔥 Midjourney Image Edit API
Midjourney external image edits capability
💡
The max job in progressing is 10, get more job in progress please contact us
Image Edit
POST
{Domain}/midjourney/image-edits/submit
Generate four images based on images your support and description words. And you can checkout the domain here
This endpoint is an asynchronous task.
Headers
Name | Type | Description |
---|---|---|
TT-API-KEY* | String | Your API Key in TT API used for request authorization |
Request Body
Name | Type | Required | Description |
---|---|---|---|
image | String | true | Images that need editing, Supports url and base64, only supports png, jpg, jpeg, bmp, webp. Eg : https://cdn.ttapi.io/other/2025-07-28/2ace47ac-5cf0-41bb-b1eb-3e47f2a46f35.png (opens in a new tab) Note: The part of the image that needs to be modified is the transparent area, as shown in the example. |
prompt | String | true | Tips for editing images, best viewed in English. |
mode | String | false | Speed mode, fast relax turbo , the default is fast |
hookUrl | String | false | Send a request to the address for task completion or failed notification. If not set you need to request fetch endpoint to get result |
Example Request
import requests
endpoint = "https://api.ttapi.io/midjourney/image-edits/submit"
headers = {
"TT-API-KEY": your_key
}
data = {
"prompt": "blue-eyed cat",
"image": "https://cdn.ttapi.io/other/2025-07-28/2ace47ac-5cf0-41bb-b1eb-3e47f2a46f35.png",
"hookUrl": "https://webhook-test.com/1cb411db3bc4bfa7729c7df3ca2c1a5e"
}
response = requests.post(endpoint, headers=headers, json=data)
print(response.status_code)
print(response.json())
Example Response
{
"status": "SUCCESS",
"message": "",
"data": {
"jobId": "afa774a3-1aee-5aba-4510-14818d6875e4"
}
}
Fetch Job
GET
{Domain}/midjourney/image-edits/fetch
To fetch the edit images job result, free endpoint
And you can checkout the domain here
Headers
Name | Type | Description |
---|---|---|
TT-API-KEY* | String | Your API Key in TT API used for request authorization |
Request Body / Query params
Name | Type | Required | Description |
---|---|---|---|
jobId | String | true | The jobId in prev request |
Example Request
import requests
endpoint = "https://api.ttapi.io/midjourney/image-edits/fetch"
headers = {
"TT-API-KEY": your_key
}
data = {
"jobId": "afa774a3-1aee-5aba-4510-14818d6875e4",
}
response = requests.post(endpoint, headers=headers, json=data)
print(response.status_code)
print(response.json())
Example Response
The result returned by the fetch endpoint has the same data structure as the result returned by hookUrl, as follows
Async callback & fetch json
{
"status": "SUCCESS",
"message": "success",
"jobId": "7cea558a-6da0-41cd-863f-e90d5866b076",
"data": {
"jobId": "7cea558a-6da0-41cd-863f-e90d5866b076",
"progress": "100",
"mode": "fast",
"prompt": "blue-eyed cat",
"quota": "3",
"images": [
"https://cdn.midjourney.com/48b2eff6-80b2-4f53-a651-993481a928ad/0_0.png",
"https://cdn.midjourney.com/48b2eff6-80b2-4f53-a651-993481a928ad/0_1.png",
"https://cdn.midjourney.com/48b2eff6-80b2-4f53-a651-993481a928ad/0_2.png",
"https://cdn.midjourney.com/48b2eff6-80b2-4f53-a651-993481a928ad/0_3.png"
],
"hookUrl": "https://webhook-test.com/bf74f63b0d51ba1b3090e295aae057fe",
"submitTime": "2025-07-30T05:39:16Z",
"finishTime": "2025-07-30T05:40:01Z"
}
}