🔥 Midjourney Video API
Midjourney image-to-video capability
The max job in progressing is 10, get more job in progress please contact us
Generate Video
POST
{Domain}/midjourney/video/submit
The length of generated video and the length of the continued video are currently fixed at 5s.
Generate four videos based on images 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 |
---|---|---|---|
prompt | String | true | Prompt use to generate video |
imageUrl | String | true | The image address of the video start frame, which must be an image address that can be accessed |
mode | String | false | Speed mode, only support fast now, the default is fast |
manual | String | false | Video modelow low movement high high movement Default is low |
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/video/submit"
headers = {
"TT-API-KEY": your_key
}
data = {
"prompt": "hyperrealistic album cover: Black sacral Ocean. Sunken prayer canoe. Ghost Canoe Horizon",
"imageUrl": "https://unlimbot.hb.ru-msk.vkcloud-storage.ru/AQADJvYxG8ZHiEt-.jpeg",
"mode": "fast",
"manual": "high",
"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"
}
}
Extend Video
POST
{Domain}/midjourney/video/extend
Generate four videos based on the previous video result. 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 |
---|---|---|---|
jobId | String | true | The jobId in prev request |
index | int | true | Select the extend video Select a continuation from the four videos with the previous task 0 represents the first, 1 represents the second, and so on The optional value range is 0-3 |
manual | String | false | Video modelow low movement high high movement default is low |
animateMode | String | false | Animation Mode can use auto manual default is auto |
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/video/extend"
headers = {
"TT-API-KEY": your_key
}
data = {
"jobId": "9fd71109-f508-4f0e-a26c-d776d6b38b58",
"index": 0
}
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/video/fetch
to fetch the generate and extend video 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/video/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": "943583cb-08f4-4077-ad1e-f1bfc6c1191a",
"data": {
"action": "generate",
"jobId": "943583cb-08f4-4077-ad1e-f1bfc6c1191a",
"progress": "100",
"prompt": "hyperrealistic album cover: Black sacral Ocean. Sunken prayer canoe. Ghost Canoe Horizon",
"quota": "30",
"videos": [
"https://cdn.midjourney.com/video/780b1227-227a-418c-998e-3eb90eb4824a/0.mp4",
"https://cdn.midjourney.com/video/780b1227-227a-418c-998e-3eb90eb4824a/1.mp4",
"https://cdn.midjourney.com/video/780b1227-227a-418c-998e-3eb90eb4824a/2.mp4",
"https://cdn.midjourney.com/video/780b1227-227a-418c-998e-3eb90eb4824a/3.mp4"
],
"hookUrl": "https://webhook-test.com/1cb411db3bc4bfa7729c7df3ca2c1a5e"
}
}