> ## Documentation Index
> Fetch the complete documentation index at: https://evolink.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Midjourney V8.2 Prompt Parameter Guide

> All available parameters for the Midjourney V8.2 model in prompts, including value ranges, defaults, dependencies, conflicts, input image rules, length limits and the task workflow

## Parameter Overview

| Parameter | Syntax | Type | Range | Default | Description |
| - | - | - | - | - | - |
| Aspect Ratio | `--ar W:H` | Integer ratio | Any positive integer ratio, no decimals | 1:1 | Image aspect ratio |
| Chaos | `--c N` | int | 0 - 100 | 0 | Diversity of generated results |
| Seed | `--seed N` | int | 0 - 4294967295 | Random | Fix seed for reproducible results |
| Stylize | `--s N` | int | 0 - 1000 | 100 | Artistic style intensity |
| Experimental | `--exp N` | int | 0 - 100 | 0 | Aesthetic effect, stackable with stylize |
| Quality (detail level) | `--quality N` / `--q N` | int | 1 - 4 | 1 | Image detail level; 4 is the high-quality mode. No extra cost. V8.1 accepts only 1 / 4 |
| Raw Mode | `--raw` | Switch | — | Off | Disable default beautification |
| Negative Prompt | `--no item1, item2` | Text | — | — | Elements to leave out of the image |
| Image Weight | `--iw N` | float | 0 - 3 | 1 | Image prompt influence |
| Style Reference | `--sref [URL]` | URL | — | — | Match visual style |
| Style Weight | `--sw N` | int | 0 - 1000 | 100 | Style reference strength |
| Personalization | `--p [code]` | Code | — | — | Moodboard id created by the upstream channel, passed through as-is |
| Tile | `--tile` | Switch | — | Off | Generate seamless repeating patterns |
| Weird | `--weird N` / `--w N` | int | 0 - 3000 | 0 | Unconventional, experimental aesthetics |

<Note>
  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](#speed-modes) and [Output Quality](#output-quality) below.
</Note>

***

## 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.

```
a cat --ar 16:9
```

Common values: `1:1`, `4:3`, `3:2`, `16:9`, `9:16`, `2:3`. See [Output Quality](#output-quality) for the pixel size.

### Chaos `--chaos` / `--c`

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

```
a cat --c 50
```

| Range | Effect |
| - | - |
| 0 | 4 images are highly consistent (default) |
| 1-30 | Subtle differences |
| 30-70 | Moderate variety |
| 70-100 | Significant differences, suitable for creative exploration |

### Stylize `--stylize` / `--s`

Adjusts the balance between realism and artistic style.

```
a cat --s 500
```

| Range | Effect |
| - | - |
| 0-250 | Realistic style, faithful to the prompt |
| 250-750 | Balanced |
| 750-1000 | Strong artistic expression, bold colors and composition |

### Experimental `--exp`

Similar to `--stylize` but stackable, generating more detailed, dynamic, and creative images.

```
a cat --exp 25
```

* 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**.

```
a cat --q 3
```

* 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.

```
product photo --raw
```

### 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.

```
still life gouache painting --no fruit, flowers
```

### Seed `--seed`

Fixes the initial random state for comparison testing.

```
a cat --seed 23453422
```

* 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.

```
https://cdn.evolink.ai/model-cards/midjourney-v8-2/midjourney-v8-2-og-v1.jpg text description --iw 1.5
```

**Valid combination rules:**

| Combination | Valid? |
| - | - |
| 1 image + no text | Invalid (will error) |
| 1 image + text description | Valid |
| 2+ images + no text | Valid |
| 2+ images + text description | Valid |

* 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](#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.

```
https://cdn.evolink.ai/model-cards/midjourney-v8-2/midjourney-v8-2-og-v1.jpg watercolor landscape --iw 2.0
```

### Style Reference `--sref`

Matches the visual style (colors, textures, lighting) of the reference image without copying content. **Must be used with a text prompt**.

```
a cat --sref https://cdn.evolink.ai/model-cards/midjourney-v8-2/midjourney-v8-2-og-v1.jpg
```

* 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.

```
a cat --sref https://cdn.evolink.ai/model-cards/midjourney-v8-2/midjourney-v8-2-og-v1.jpg --sw 500
```

### 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`.

```
a cat --p abc123
```

***

## 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`).

| Mode | Description | Cost |
| - | - | - |
| `draft` | Returns 24 lightweight 512 px sketch images in a single run. Image generation endpoint only. | Same multiplier as fast |
| `fast` | Standard mode (default), 4 images per generation | Standard |

<Note>
  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).
</Note>

***

## Output Quality

Output resolution is controlled via the top-level `quality` parameter, **not** a prompt parameter. Do not write `--hd` in the prompt.

| Value | Resolution | Cost |
| - | - | - |
| `standard` | Standard resolution, about 1024 px on the long side for 1:1 (default) | 1x |
| `hd` | Native 2K output, about 2048 x 2048 for 1:1 | 1.5x |

* 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

| Endpoint | Limit | Notes |
| - | - | - |
| `mj-v8.2` (image generation) | **1024 characters of text description** as enforced by the upstream; the API accepts up to 2048 characters in total | The upstream counts the description only, after image URLs and `--parameters` are removed. The extra room is for URLs and parameters |
| `mj-v8.2-remix` / `-edit` / `-retexture` / `-upload-paint` | 8100 characters | The prompt is sent as the edit instruction; the 1024 rule does not apply |
| `mj-v8.2-variation` / `-remove-bg` | — | `prompt` is ignored |

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:

| Parameter | Prerequisite |
| - | - |
| `--sw` | Requires `--sref` |
| `--iw` | Requires image prompt |
| `--sref` | Requires text prompt |
| Single image prompt | Requires text prompt |

***

## Conflicts

| Parameter A | Parameter B | Description |
| - | - | - |
| `draft` speed | `hd` quality | Draft mode cannot be combined with HD |
| `draft` speed | `--tile` | Not allowed together |
| `--weird` | `--p` | Not allowed together |
| Image-only prompt | `--stylize` / `--weird` | Incompatible without text |
| `--exp` > 25 | `--stylize` / `--p` | High `--exp` may suppress them; lower `--exp` when combining |

***

## 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.

| Parameter | Handling |
| - | - |
| `--v` / `--version` / `--niji` | Stripped — version is locked to V8.2 |
| `--fast` / `--turbo` / `--draft` / `--relax` | Stripped — use `model_params.speed` (`draft` / `fast`; turbo is not available on V8.2) |
| `--hd` | Stripped — use the top-level `quality` parameter |
| `--bs` / `--batchsize` | Stripped — batch size is not configurable |
| `--edit` | Reserved for the upstream's instruction-edit endpoint, which is not exposed on this platform yet; rejected by the upstream on all current endpoints |
| `--oref` / `--ow` | Rejected by upstream (not supported on V8.2) |
| `--cref` / `--cw` | Rejected by upstream (not supported on V8.2) |
| `--stop` | Rejected by upstream |
| Multi-prompt `::` | Rejected by upstream |
| `--sv` | Only `--sv 6` is accepted, and only together with `--sref` |
| `--repeat` / `--r`, `{}` permutations, `--stealth` / `--public` | Not supported via API |

<Note>
  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.
</Note>

***

## 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](/docs/en/api-manual/file-series/upload-url) 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

```
[image URL] text description --param1 value1 --param2 value2
```

### 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

<CodeGroup>
  ```text Correct theme={null}
  a yellow Persian cat --ar 1:2 --s 500
  ```

  ```text Incorrect theme={null}
  a yellow Persian cat--ar 2:3          ← missing space before --
  a yellow Persian cat - - ar 2:3       ← space between --
  a yellow Persian cat --ar 2:3, --s 50 ← punctuation in parameters
  a yellow Persian cat --ar 2:3 more description ← text after parameters
  ```
</CodeGroup>

***

## 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](/docs/en/api-manual/task-management/get-task-detail)). 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.

| Status | Meaning | Final? |
| - | - | - |
| `pending` | Accepted, waiting for the upstream queue | No |
| `processing` | Rendering | No |
| `completed` | Images ready in `results` | Yes |
| `failed` | Upstream error, parameter rejection, moderation or fetch failure; the message is in `error` and reserved credits are refunded in full | Yes |

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](/docs/en/api-manual/task-management/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

<Note>
  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.
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.