Skip to main content

Parameter Overview

Two settings are not written into the prompt — they are controlled through the API instead (writing them in the prompt has no effect, the parameters are stripped):
  • Speed (draft / fast) → model_params.speed
  • Output quality (standard / hd) → top-level quality parameter
--v / --version is locked to V8.2 and --niji is not supported. See Speed Modes and Output Quality below.

Basic Parameters

Aspect Ratio --ar

Sets the image aspect ratio. Only integer ratios are supported; decimals are rejected (write 139:100, not 1.39:1). Extreme ratios are experimental and may produce unpredictable results.
Common values: 1:1, 4:3, 3:2, 16:9, 9:16, 2:3. See Output Quality for the pixel size.

Chaos --chaos / --c

Controls the diversity of generated results. Higher values produce greater differences among the 4 images.

Stylize --stylize / --s

Adjusts the balance between realism and artistic style.

Experimental --exp

Similar to --stylize but stackable, generating more detailed, dynamic, and creative images.
  • Recommended values: 5, 10, 25, 50, 100
  • Noticeable effect changes from 5-50, diminishing returns from 50-100
  • Above 25-50 it may override the effect of --stylize and --p; use lower values when combining

Quality --quality / --q

Sets the image detail level. Range 1 - 4, default 1; 4 is the high-quality mode. The parameter is passed through to the upstream as-is and does not change the price.
  • V8.2 accepts 1 / 2 / 3 / 4; V8.1 accepts only 1 / 4. Out-of-range values are rejected: the task fails with a parameter error that names --quality and its allowed values, and reserved credits are refunded
  • Higher values take longer to render
  • Image generation endpoint only; derived tasks (variation, remix, edit, etc.) inherit the source image

Raw Mode --raw

Disables default beautification for stricter adherence to prompt details. Suitable for photorealism or precise control scenarios.

Negative Prompt --no

Lists elements that should not appear in the image. Separate multiple items with commas. It is equivalent to giving those elements a weight of -0.5. Writing “no fruit” or “without fruit” in the description does not work — Midjourney treats those words as content — so use the parameter instead.

Seed --seed

Fixes the initial random state for comparison testing.
  • Range: 0 - 4294967295
  • The seed only fixes the initial state; it does not guarantee identical output, and any change to the prompt, parameters or model version changes the result
  • Use a fixed seed while testing and a random seed for production variety

Image Reference Parameters

Image Prompt

Place image URLs at the beginning of the prompt to influence the generated content.
Valid combination rules:
  • Maximum 20 image prompts
  • Supported formats: .png, .gif, .webp, .jpg, .jpeg; at most 20 MB per file and 16k pixels per side
  • Image-only prompts (no text) are incompatible with --stylize and --weird
  • Also works at draft speed (verified on this platform); only --tile cannot be combined with draft
  • URLs must be publicly reachable within a few seconds, see Input Image Requirements

Image Weight --iw

Controls the influence of image prompts on the result. Range 0 - 3, default 1. Higher values produce results closer to the reference image.

Style Reference --sref

Matches the visual style (colors, textures, lighting) of the reference image without copying content. Must be used with a text prompt.
  • Multiple supported: --sref URL1 URL2; relative weights can be given as --sref URL1::2 URL2::1 (documented by the upstream, not yet verified on this platform)
  • Random style supported: --sref random (returns a numeric code after generation, reusable)
  • Maximum 20 srefs
  • Keep the text prompt about content, not instructions (“a cat”, not “make this look like the reference”)

Style Weight --sw

Controls the influence of the style reference. Range 0 - 1000, default 100.

Personalization --p

--p is passed through to the upstream as-is. It accepts a moodboard id created by the upstream channel under this platform’s organization account; this platform does not yet expose endpoints to create or list moodboards, and personal profile codes from midjourney.com do not apply. For a consistent style, use --sref / --sw together with --seed instead. --p cannot be combined with --weird.

Speed Modes

Speed mode is controlled via the API’s model_params.speed field (do not write --draft / --fast in the prompt). Which routes take the field: image generation accepts draft / fast; remix, canvas edit, retexture and upload paint accept fast only; variation and remove background have no speed field (variation accepts and ignores speed: fast; any other value returns 400).
Unlike V7, V8.2 draft mode is not half price — it uses the same multiplier as fast. Draft returns 24 small sketches in one run; pick the ones you like and re-run them at full quality. Draft cannot be combined with hd quality or --tile (--oref is not supported on V8.2 at all).Turbo is not available on V8.2. The upstream channel documents V8 as not supporting turbo mode, so speed: "turbo" is rejected with 400 on every V8.2 endpoint (as on V8.1).

Output Quality

Output resolution is controlled via the top-level quality parameter, not a prompt parameter. Do not write --hd in the prompt.
  • The quality multiplier is combined (multiplied) with the speed multiplier
  • hd is incompatible with draft speed
  • There is no separate upscale endpoint on V8.2; the upstream implements “upscale” for V8 as a fresh generation with hd, so use quality: "hd" when you need the 2K output

Prompt Length Limits

A description that is too long is rejected: the task fails with a parameter error (invalid_parameters) and reserved credits are refunded.

Dependencies

The following parameters require other parameters to take effect:

Conflicts


Unsupported Parameters in V8.2

V8.2 strips only the parameters that would break version locking or billing; all other parameters are passed through to the upstream as-is. If the upstream does not support a parameter, the task fails with a parameter error (invalid_parameters) and reserved credits are refunded — nothing is silently dropped.
The upstream channel has also opened an instruction-based edit endpoint for V8.1 / V8.2 (the Midjourney Edit Model: --edit with up to 4 reference images, optional transparent-mask repaint). It is not exposed on this platform yet and is being scheduled. mj-v8.2-edit and mj-v8.2-upload-paint are canvas edits (canvas + img_pos + optional mask), and mj-v8.2-retexture is the retexture tool. Writing --edit in a prompt on any current endpoint is rejected by the upstream.

Input Image Requirements

These rules apply to image prompts, --sref URLs and the image_urls field of retexture / upload-paint / remove-bg.
  • Public HTTP(S) URL only. Base64 and data URLs are not accepted for input images. The URL itself must be at most 1024 characters.
  • The upstream fetches the image synchronously when the task is created and gives up after about 10 seconds (measured on this platform). If it cannot download the file in time, the request fails with 400 and no task is created. Image hosts outside mainland China (imgur, ibb, raw.githubusercontent, pinimg, picsum and similar) fail almost every time in practice. Host images on a fast CDN or upload them first with the File Upload API and use the returned URL.
  • Supported formats: .png, .gif, .webp, .jpg, .jpeg (mj-v8.2-remove-bg accepts .png, .jpg, .jpeg only). At most 20 MB per file and 16k pixels per side; very large files can miss the fetch budget even from a reachable host.
  • mj-v8.2-remove-bg does not accept the signed result links returned by Midjourney tasks on this platform (URLs containing Expires / Signature). Re-host the image or use an unsigned URL. Retexture and upload-paint accept those links.
  • Image prompts and --sref URLs are also accepted at draft speed (verified on this platform); only --tile is rejected together with draft.

Prompt Format Guidelines

Basic Structure

Writing Rules

  • Parameters go at the end of the text prompt
  • A space is required before --
  • Do not use punctuation in parameters
  • No text can follow after parameters
  • To render words inside the image, wrap them in double quotes: a neon sign that says "OPEN" --ar 3:2

Examples


Task Workflow

All seven V8.2 models are asynchronous and billed per call.
  1. Submit — POST /v1/images/generations returns immediately with a task id, status: processing and usage.credits_reserved. The upstream job is created in the background.
  2. Poll — GET /v1/tasks/{task_id} (Query Task Status). The upstream reports an average of about 40 seconds for generation and edits; poll every 3–5 seconds with a client-side cap of about 20 minutes, and do not resubmit the same prompt while a task is still processing. The upstream limits concurrency per organization account; when the limit is exceeded, this platform backs off and resubmits automatically, so on your side the task only takes longer rather than failing.
  3. Read the result — when status is completed, results holds the image URLs: 4 for fast, 24 for draft. usage.cost shows the final charge.
  4. Save the images — result links are signed OSS URLs valid for 30 days; the signature only covers GET, so probing with HEAD returns 403. Download or re-host anything you need to keep.
  5. Optional callback — pass callback_url (HTTPS, public host) to be notified on completed / failed. Callbacks are retried 3 times with backoff; treat them as a hint and confirm with the task query.
Failed tasks are refunded in full, including requests rejected at creation, upstream parameter rejections (--oref, out-of-range --q, too-long description), image fetch failures, and tasks where upstream content moderation blocks all images. As long as at least one image passes moderation, the task is completed and billed normally. Error codes and retry guidance are listed on the Error Codes page.

Derived Tasks

Variation, remix and canvas edit take a completed mj-v8.2 series task of the same account as their source (task_id + image_number). Rules documented by the upstream channel and verified on this platform:
  • Source tasks are rendered by Midjourney’s V7 engine upstream for these derived operations, so the result may differ slightly in style from the source image. Pricing is unchanged. V8.1 sources are not accepted.
  • image_number selects the source image: 0–3 for a fast source task, 0–23 for a draft source task (all 24 sketches can be used as a source for variation, remix and edit).
  • Results of mj-v8.2-upload-paint, mj-v8.2-retexture and mj-v8.2-remove-bg cannot be used as a source for variation, remix or edit; the upstream only allows upscaling them, which this route does not expose. Use an image-generation, variation, remix or edit task as the source instead.

FAQ

Do I need to change my prompts when moving from V8.1? No. Change the model value; prompts, model_params and prices are unchanged. Only --oref / --ow no longer work, and --q accepts 2 and 3 in addition to 1 and 4. Why does my image prompt fail with a 400 before any task is created? The upstream could not download the image within its fetch budget. Move the file to a fast, publicly reachable host or use the File Upload API, then retry. Is there a turbo speed? No. The upstream documents V8 as not supporting turbo, so V8.2 offers draft and fast only, like V8.1. Is --q 4 slower or more expensive? It is not billed differently. The upstream describes 4 as the high-quality mode, which takes longer to render. Can I upscale a V8.2 image? There is no upscale endpoint on V8.2. Generate with quality: "hd" for native 2K output instead.

Content Moderation Notice

Midjourney has a built-in content moderation system. Each image is moderated individually: if some of the generated images are filtered, the task is still completed, the remaining images are delivered and the task is billed normally; if all images are filtered, the task ends as failed and the reserved credits are refunded in full. Please ensure your prompts comply with content guidelines.