Midjourney V7 Outpaint
curl --request POST \
--url https://api.evolink.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "mj-v7-outpaint",
"model_params": {
"task_id": "task-unified-xxx",
"image_number": 1,
"scale": 1.5
}
}
'import requests
url = "https://api.evolink.ai/v1/images/generations"
payload = {
"model": "mj-v7-outpaint",
"model_params": {
"task_id": "task-unified-xxx",
"image_number": 1,
"scale": 1.5
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'mj-v7-outpaint',
model_params: {task_id: 'task-unified-xxx', image_number: 1, scale: 1.5}
})
};
fetch('https://api.evolink.ai/v1/images/generations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.evolink.ai/v1/images/generations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'mj-v7-outpaint',
'model_params' => [
'task_id' => 'task-unified-xxx',
'image_number' => 1,
'scale' => 1.5
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.evolink.ai/v1/images/generations"
payload := strings.NewReader("{\n \"model\": \"mj-v7-outpaint\",\n \"model_params\": {\n \"task_id\": \"task-unified-xxx\",\n \"image_number\": 1,\n \"scale\": 1.5\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.evolink.ai/v1/images/generations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"mj-v7-outpaint\",\n \"model_params\": {\n \"task_id\": \"task-unified-xxx\",\n \"image_number\": 1,\n \"scale\": 1.5\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.evolink.ai/v1/images/generations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"mj-v7-outpaint\",\n \"model_params\": {\n \"task_id\": \"task-unified-xxx\",\n \"image_number\": 1,\n \"scale\": 1.5\n }\n}"
response = http.request(request)
puts response.read_body{
"created": 1757165031,
"id": "task-unified-1757165031-mjv7",
"model": "<string>",
"object": "image.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 45
},
"type": "image",
"usage": {
"billing_rule": "per_call",
"credits_reserved": 1.8,
"user_group": "default"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"type": "<string>"
}
}Midjourney V7
Midjourney V7 Outpaint
POST
/
v1
/
images
/
generations
Midjourney V7 Outpaint
curl --request POST \
--url https://api.evolink.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "mj-v7-outpaint",
"model_params": {
"task_id": "task-unified-xxx",
"image_number": 1,
"scale": 1.5
}
}
'import requests
url = "https://api.evolink.ai/v1/images/generations"
payload = {
"model": "mj-v7-outpaint",
"model_params": {
"task_id": "task-unified-xxx",
"image_number": 1,
"scale": 1.5
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'mj-v7-outpaint',
model_params: {task_id: 'task-unified-xxx', image_number: 1, scale: 1.5}
})
};
fetch('https://api.evolink.ai/v1/images/generations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.evolink.ai/v1/images/generations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'mj-v7-outpaint',
'model_params' => [
'task_id' => 'task-unified-xxx',
'image_number' => 1,
'scale' => 1.5
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.evolink.ai/v1/images/generations"
payload := strings.NewReader("{\n \"model\": \"mj-v7-outpaint\",\n \"model_params\": {\n \"task_id\": \"task-unified-xxx\",\n \"image_number\": 1,\n \"scale\": 1.5\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.evolink.ai/v1/images/generations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"mj-v7-outpaint\",\n \"model_params\": {\n \"task_id\": \"task-unified-xxx\",\n \"image_number\": 1,\n \"scale\": 1.5\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.evolink.ai/v1/images/generations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"mj-v7-outpaint\",\n \"model_params\": {\n \"task_id\": \"task-unified-xxx\",\n \"image_number\": 1,\n \"scale\": 1.5\n }\n}"
response = http.request(request)
puts response.read_body{
"created": 1757165031,
"id": "task-unified-1757165031-mjv7",
"model": "<string>",
"object": "image.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 45
},
"type": "image",
"usage": {
"billing_rule": "per_call",
"credits_reserved": 1.8,
"user_group": "default"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"type": "<string>"
}
}Midjourney has a built-in content moderation system. If some generated images are filtered by moderation, credits consumed for that request will not be refunded. Please ensure your prompts comply with content guidelines.
Authorizations
All endpoints require Bearer Token authentication
Get API Key:
Visit API Key Management Page to get your API Key
Add to request header:
Authorization: Bearer YOUR_API_KEYBody
application/json
Response
Task created successfully
Task creation timestamp
Example:
1757165031
Task ID
Example:
"task-unified-1757165031-mjv7"
Actual model name used
Task object type
Available options:
image.generation.task Task progress percentage (0-100)
Required range:
0 <= x <= 100Example:
0
Task status
Available options:
pending, processing, completed, failed Example:
"pending"
Show child attributes
Show child attributes
Available options:
text, image, audio, video Example:
"image"
Show child attributes
Show child attributes
⌘I