Skip to main content
POST
Enhance and Upscale Image
This service is suspended. New requests return 503 Service Unavailable. Do not build new integrations against this endpoint.
The contract remains published so existing callers can identify the endpoint and handle the maintenance response. Use the Midjourney Upscale action when it is available on a completed grid; it is a different capability and is not a drop-in replacement for Topaz enhancement.

Authorizations

x-api-key
string
header
required

API key from the Legnext dashboard. Authorization: Bearer <key> is accepted as an alternative.

Body

application/json
image_url
string
required

Direct URL of the image to enhance (must start with http:// or https://). Either image_url or jobId+imageNo is required.

Maximum string length: 2048
Pattern: ^https?://
aspect_ratio
enum<string>
default:keep

Output aspect ratio.

Available options:
keep,
1:1,
16:9,
9:16,
4:5,
5:4,
3:2,
2:3,
4:3,
3:4
content_type
enum<string>
default:standard

Content type hint for the enhancer.

Available options:
photo,
illustration,
text,
low_res,
standard
crop_mode
enum<string>
default:letterbox

How to fit the target aspect ratio.

Available options:
letterbox,
crop
face_enhancement_level
enum<string>
default:moderate

Face enhancement preset.

Available options:
off,
none,
subtle,
moderate,
strong
imageNo
integer

Index of the image in the parent task's grid (0-3, left-to-right, top-to-bottom). Required when using jobId.

Required range: 0 <= x <= 3
jobId
string<uuid>

ID of a previous Midjourney task whose grid image should be enhanced.

notify_progress
boolean
output_format
enum<string>
default:jpeg

Output image format.

Available options:
jpeg,
jpg,
png,
tiff,
tif
target_resolution
enum<string>
default:2K

Target resolution preset.

Available options:
HD,
FHD,
2K,
4K,
6K,
8K,
12K
webhook_endpoint
string
webhook_schema
string
webhook_secret
string

Response

Enhancement task accepted.

config
object
required
detail
null
required

Reserved for future use; currently null in public API responses.

error
object
required
input
object
required

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.

job_id
string<uuid>
required

Task UUID. Pass it to GET /v1/job/{job_id} to poll, or reference it as jobId in follow-up operations.

logs
string[]
required

Operational log lines of the task (progress events, retries).

meta
object | null
required

Timestamps and billing usage of the task (null in error responses).

model
enum<string>
required

Model family that executed the task.

Available options:
midjourney
output
object
required

Task result, present once status is completed (null before that). Image/video tasks return URLs; describe/shorten tasks return text prompts.

status
enum<string>
required

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.

Available options:
pending,
staged,
processing,
retry,
completed,
failed
task_type
enum<string>
required

Type of the task — the operation that created it.

Available options:
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