curl --request POST \
--url https://api.legnext.ai/api/v1/diffusion \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"text": "<string>",
"callback": "<string>"
}
'import requests
url = "https://api.legnext.ai/api/v1/diffusion"
payload = {
"text": "<string>",
"callback": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({text: '<string>', callback: '<string>'})
};
fetch('https://api.legnext.ai/api/v1/diffusion', 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.legnext.ai/api/v1/diffusion",
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([
'text' => '<string>',
'callback' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.legnext.ai/api/v1/diffusion"
payload := strings.NewReader("{\n \"text\": \"<string>\",\n \"callback\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.legnext.ai/api/v1/diffusion")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"text\": \"<string>\",\n \"callback\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.legnext.ai/api/v1/diffusion")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"text\": \"<string>\",\n \"callback\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"config": {
"service_mode": "public",
"webhook_config": {
"endpoint": "<string>",
"secret": "<string>"
}
},
"detail": null,
"error": {
"code": 123,
"detail": "<unknown>",
"message": "<string>",
"raw_message": "<string>"
},
"input": {},
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"logs": [
"<string>"
],
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"usage": {
"consume": 123,
"frozen": 123
}
},
"model": "midjourney",
"output": {
"image_url": "<string>",
"image_urls": [
"<string>"
],
"seed": "<string>",
"available_actions": {}
}
}{
"config": {
"service_mode": "public",
"webhook_config": {
"endpoint": "<string>",
"secret": "<string>"
}
},
"detail": null,
"error": {
"code": 123,
"detail": "<unknown>",
"message": "<string>",
"raw_message": "<string>"
},
"input": {},
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"logs": [
"<string>"
],
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"usage": {
"consume": 123,
"frozen": 123
}
},
"model": "midjourney",
"output": {
"image_url": "<string>",
"image_urls": [
"<string>"
],
"seed": "<string>",
"available_actions": {}
}
}{
"config": {
"service_mode": "public",
"webhook_config": {
"endpoint": "<string>",
"secret": "<string>"
}
},
"detail": null,
"error": {
"code": 123,
"detail": "<unknown>",
"message": "<string>",
"raw_message": "<string>"
},
"input": {},
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"logs": [
"<string>"
],
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"usage": {
"consume": 123,
"frozen": 123
}
},
"model": "midjourney",
"output": {
"image_url": "<string>",
"image_urls": [
"<string>"
],
"seed": "<string>",
"available_actions": {}
}
}{
"config": {
"service_mode": "public",
"webhook_config": {
"endpoint": "<string>",
"secret": "<string>"
}
},
"detail": null,
"error": {
"code": 123,
"detail": "<unknown>",
"message": "<string>",
"raw_message": "<string>"
},
"input": {},
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"logs": [
"<string>"
],
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"usage": {
"consume": 123,
"frozen": 123
}
},
"model": "midjourney",
"output": {
"image_url": "<string>",
"image_urls": [
"<string>"
],
"seed": "<string>",
"available_actions": {}
}
}{
"config": {
"service_mode": "public",
"webhook_config": {
"endpoint": "<string>",
"secret": "<string>"
}
},
"detail": null,
"error": {
"code": 123,
"detail": "<unknown>",
"message": "<string>",
"raw_message": "<string>"
},
"input": {},
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"logs": [
"<string>"
],
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"usage": {
"consume": 123,
"frozen": 123
}
},
"model": "midjourney",
"output": {
"image_url": "<string>",
"image_urls": [
"<string>"
],
"seed": "<string>",
"available_actions": {}
}
}{
"config": {
"service_mode": "public",
"webhook_config": {
"endpoint": "<string>",
"secret": "<string>"
}
},
"detail": null,
"error": {
"code": 123,
"detail": "<unknown>",
"message": "<string>",
"raw_message": "<string>"
},
"input": {},
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"logs": [
"<string>"
],
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"usage": {
"consume": 123,
"frozen": 123
}
},
"model": "midjourney",
"output": {
"image_url": "<string>",
"image_urls": [
"<string>"
],
"seed": "<string>",
"available_actions": {}
}
}{
"config": {
"service_mode": "public",
"webhook_config": {
"endpoint": "<string>",
"secret": "<string>"
}
},
"detail": null,
"error": {
"code": 123,
"detail": "<unknown>",
"message": "<string>",
"raw_message": "<string>"
},
"input": {},
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"logs": [
"<string>"
],
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"usage": {
"consume": 123,
"frozen": 123
}
},
"model": "midjourney",
"output": {
"image_url": "<string>",
"image_urls": [
"<string>"
],
"seed": "<string>",
"available_actions": {}
}
}Text to Image
Create a Midjourney image-generation task from a prompt.
curl --request POST \
--url https://api.legnext.ai/api/v1/diffusion \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"text": "<string>",
"callback": "<string>"
}
'import requests
url = "https://api.legnext.ai/api/v1/diffusion"
payload = {
"text": "<string>",
"callback": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({text: '<string>', callback: '<string>'})
};
fetch('https://api.legnext.ai/api/v1/diffusion', 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.legnext.ai/api/v1/diffusion",
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([
'text' => '<string>',
'callback' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.legnext.ai/api/v1/diffusion"
payload := strings.NewReader("{\n \"text\": \"<string>\",\n \"callback\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.legnext.ai/api/v1/diffusion")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"text\": \"<string>\",\n \"callback\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.legnext.ai/api/v1/diffusion")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"text\": \"<string>\",\n \"callback\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"config": {
"service_mode": "public",
"webhook_config": {
"endpoint": "<string>",
"secret": "<string>"
}
},
"detail": null,
"error": {
"code": 123,
"detail": "<unknown>",
"message": "<string>",
"raw_message": "<string>"
},
"input": {},
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"logs": [
"<string>"
],
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"usage": {
"consume": 123,
"frozen": 123
}
},
"model": "midjourney",
"output": {
"image_url": "<string>",
"image_urls": [
"<string>"
],
"seed": "<string>",
"available_actions": {}
}
}{
"config": {
"service_mode": "public",
"webhook_config": {
"endpoint": "<string>",
"secret": "<string>"
}
},
"detail": null,
"error": {
"code": 123,
"detail": "<unknown>",
"message": "<string>",
"raw_message": "<string>"
},
"input": {},
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"logs": [
"<string>"
],
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"usage": {
"consume": 123,
"frozen": 123
}
},
"model": "midjourney",
"output": {
"image_url": "<string>",
"image_urls": [
"<string>"
],
"seed": "<string>",
"available_actions": {}
}
}{
"config": {
"service_mode": "public",
"webhook_config": {
"endpoint": "<string>",
"secret": "<string>"
}
},
"detail": null,
"error": {
"code": 123,
"detail": "<unknown>",
"message": "<string>",
"raw_message": "<string>"
},
"input": {},
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"logs": [
"<string>"
],
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"usage": {
"consume": 123,
"frozen": 123
}
},
"model": "midjourney",
"output": {
"image_url": "<string>",
"image_urls": [
"<string>"
],
"seed": "<string>",
"available_actions": {}
}
}{
"config": {
"service_mode": "public",
"webhook_config": {
"endpoint": "<string>",
"secret": "<string>"
}
},
"detail": null,
"error": {
"code": 123,
"detail": "<unknown>",
"message": "<string>",
"raw_message": "<string>"
},
"input": {},
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"logs": [
"<string>"
],
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"usage": {
"consume": 123,
"frozen": 123
}
},
"model": "midjourney",
"output": {
"image_url": "<string>",
"image_urls": [
"<string>"
],
"seed": "<string>",
"available_actions": {}
}
}{
"config": {
"service_mode": "public",
"webhook_config": {
"endpoint": "<string>",
"secret": "<string>"
}
},
"detail": null,
"error": {
"code": 123,
"detail": "<unknown>",
"message": "<string>",
"raw_message": "<string>"
},
"input": {},
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"logs": [
"<string>"
],
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"usage": {
"consume": 123,
"frozen": 123
}
},
"model": "midjourney",
"output": {
"image_url": "<string>",
"image_urls": [
"<string>"
],
"seed": "<string>",
"available_actions": {}
}
}{
"config": {
"service_mode": "public",
"webhook_config": {
"endpoint": "<string>",
"secret": "<string>"
}
},
"detail": null,
"error": {
"code": 123,
"detail": "<unknown>",
"message": "<string>",
"raw_message": "<string>"
},
"input": {},
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"logs": [
"<string>"
],
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"usage": {
"consume": 123,
"frozen": 123
}
},
"model": "midjourney",
"output": {
"image_url": "<string>",
"image_urls": [
"<string>"
],
"seed": "<string>",
"available_actions": {}
}
}{
"config": {
"service_mode": "public",
"webhook_config": {
"endpoint": "<string>",
"secret": "<string>"
}
},
"detail": null,
"error": {
"code": 123,
"detail": "<unknown>",
"message": "<string>",
"raw_message": "<string>"
},
"input": {},
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"logs": [
"<string>"
],
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"usage": {
"consume": 123,
"frozen": 123
}
},
"model": "midjourney",
"output": {
"image_url": "<string>",
"image_urls": [
"<string>"
],
"seed": "<string>",
"available_actions": {}
}
}text, for example:
Cinematic coastal road at sunrise --v 8.2 --ar 16:9
job_id, then follow the
task lifecycle until completed or failed.
For accepted flags and version compatibility, use the generated
image parameter matrix.Authorizations
API key from the Legnext dashboard. Authorization: Bearer <key> is accepted as an alternative.
Body
Text prompt for image generation.
1 - 8192Optional webhook URL. When set, the completed TaskResponse is POSTed to this URL; when empty, poll GET /v1/job/{job_id}.
Response
Task accepted. The full task object is returned with status pending (or staged when the account is at its concurrency limit).
Show child attributes
Show child attributes
Reserved for future use; currently null in public API responses.
Show child attributes
Show child attributes
Echo of the task's input parameters (shape depends on task_type; mirrors the create-request body of the operation that created the task). Null in error responses.
Task UUID. Pass it to GET /v1/job/{job_id} to poll, or reference it as jobId in follow-up operations.
Operational log lines of the task (progress events, retries).
Timestamps and billing usage of the task (null in error responses).
Show child attributes
Show child attributes
Model family that executed the task.
midjourney Task result, present once status is completed (null before that). Image/video tasks return URLs; describe/shorten tasks return text prompts.
- Option 1
- Option 2
- Option 3
Show child attributes
Show child attributes
Lifecycle state. Terminal states: completed, failed. staged means the task is queued behind the account's concurrency limit; retry means it is being resubmitted after a transient provider error.
pending, staged, processing, retry, completed, failed Type of the task — the operation that created it.
diffusion, upscale, reroll, variation, inpaint, outpaint, pan, edit, remix, enhance, upload_paint, retexture, remove_background, shorten, describe, blend, video_diffusion, extend_video, video_upscale, enhance_upscale