🔥 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

NameTypeDescription
TT-API-KEY*StringYour API Key in TT API used for request authorization

Request Body

NameTypeRequiredDescription
imageStringtrueImages 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.
promptStringtrueTips for editing images, best viewed in English.
modeStringfalseSpeed mode, fast relax turbo, the default is fast
hookUrlStringfalseSend 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

NameTypeDescription
TT-API-KEY*StringYour API Key in TT API used for request authorization

Request Body / Query params

NameTypeRequiredDescription
jobIdStringtrueThe 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"
    }
}