Midjourney is an independent research lab's text-to-image service, launched in open beta in July 2022 and used first through Discord and later through its own web app. It is widely regarded for strong default aesthetics: stylized lighting, composition and texture with minimal prompt engineering. Unlike Stable Diffusion, its models and training details are not published, so this page describes the observable product and the techniques it is generally understood to rely on, not internal architecture.
Every prompt returns a grid of four candidates. From there you upscale a favorite, create subtle or strong variations, or remix by editing the prompt while keeping the composition. Later versions added in-app editing: inpainting a region (Vary Region), outpainting (Zoom Out, Pan), and retexturing. This loop of "generate several, select, refine" is the core of how practitioners use it.
Midjourney has not published a paper or model card. It is broadly assumed to be a large diffusion model with a text encoder, trained on large image-text datasets, with substantial aesthetic tuning from user preference signals (users rate and select images, and the company has run explicit ranking programs). Version jumps (v4, v5, v6, v7) have brought noticeable changes in realism, prompt adherence and text rendering. Treat any specific architectural claim you read about it as speculation unless it comes from the company.
The practical implication: you cannot fine-tune it, self-host it, or inspect it. Personalization features (style references, profile-based personalization) are the supported customization path.
Midjourney responds better to descriptive phrases than to long keyword lists. Commonly used parameters include --ar (aspect ratio), --stylize/--s (how strongly to apply the house aesthetic), --chaos (variety across the grid), --seed, --no (negative prompt), --sref (style reference image or code) and --v (model version). Exact sets and defaults differ per version, so pin --v when you need consistency.
Midjourney has historically not offered a public general-purpose API, and its terms prohibit automating the Discord bot with unofficial clients. For pipelines that must generate images programmatically, use a provider with an official API. A model-agnostic wrapper keeps that choice swappable:
from dataclasses import dataclass
from typing import Protocol
@dataclass
class ImageRequest:
prompt: str
aspect: str = "1:1"
seed: int | None = None
class ImageBackend(Protocol):
def generate(self, req: ImageRequest) -> bytes: ...
class DiffusersBackend:
"""Open-weights backend; swap for any official hosted API."""
def __init__(self, model_id="stabilityai/stable-diffusion-xl-base-1.0"):
import torch
from diffusers import AutoPipelineForText2Image
self.torch = torch
self.pipe = AutoPipelineForText2Image.from_pretrained(
model_id, torch_dtype=torch.float16).to("cuda")
def generate(self, req: ImageRequest) -> bytes:
import io
w, h = {"1:1": (1024, 1024), "16:9": (1344, 768), "9:16": (768, 1344)}[req.aspect]
g = self.torch.Generator("cuda").manual_seed(req.seed) if req.seed is not None else None
img = self.pipe(req.prompt, width=w, height=h, generator=g,
num_inference_steps=30, guidance_scale=6.0).images[0]
buf = io.BytesIO(); img.save(buf, format="PNG"); return buf.getvalue()
backend: ImageBackend = DiffusersBackend()
png = backend.generate(ImageRequest("lighthouse at dusk, gouache, wide shot", "16:9", seed=7))
Use Midjourney interactively for exploration and art direction, then reproduce the chosen look in an automatable backend when needed.
Recent Midjourney versions follow natural-language descriptions more literally than early versions did, so the most reliable structure is a clear sentence or two covering subject, setting, medium or style, and lighting and mood, followed by parameters. Specific nouns beat stacked adjectives: "a 1970s Polaroid of a diner at night" carries more information than "beautiful, stunning, highly detailed". Words like "8k" and "trending on artstation", common in early diffusion prompting, add little in current versions.
Things the model does not do reliably are worth knowing up front: exact counts of many objects, precise spatial layouts ("three cups, the left one red"), long legible text, and consistent characters across many images without reference tools. For consistency, use the reference features (style references with --sref, and the character or omni reference feature for the version you are on) and reuse a --seed when comparing small prompt changes. Multi-prompts with :: weights let you balance concepts, and --no works as a negative prompt, though it is a weight, not a hard constraint.
| Parameter | What it controls | Guidance |
|---|---|---|
--ar W:H | Aspect ratio | Set it first; composition changes with the frame, so re-cropping later is a poor substitute. |
--stylize / --s | Strength of the house aesthetic | Low values follow the prompt more literally; high values are more artistic and less literal. Product or diagram-like work usually wants low values. |
--chaos | Variation between the four grid images | Raise it while exploring directions; drop to 0 once a direction is chosen. |
--seed | Starting noise | Same seed and prompt give similar results within a version; useful for controlled A/B prompt tests, not a guarantee of identical output. |
--sref | Style reference (image URL or code) | The main tool for keeping a campaign or brand look consistent. |
--v | Model version | Pin it in any documented workflow; defaults change when new versions ship. |
--tile, --weird, --q | Seamless tiling, unconventional aesthetics, render quality vs time | Support and ranges vary by version; check the current parameter list. |
Exact ranges and defaults have changed between versions, so treat the official parameter documentation for your pinned version as the authority. A good habit for client work is to keep a prompt log with the full prompt, parameters, version, seed and the job ID of the selected image, so a look can be reproduced or explained later.
Midjourney is strongest in the early, divergent phase of creative work: mood boards, concept art for games and film, storyboard frames, book-cover and album-art exploration, interior and architectural mood studies, and marketing visuals where a strong style matters more than exact product accuracy. Teams usually treat its output as reference or a starting point, then composite, paint over, or recreate in a controlled pipeline. Where an exact product, logo or layout must appear, combine generated backgrounds with real photography, or use an open model with structural conditioning such as ControlNet (see Stable Diffusion Web UI).
For repeatable output across a team, agree on a small set of style references and a prompt template, pin the version, and review a shared gallery rather than individual results. Generation is fast enough that the bottleneck becomes curation, so define acceptance criteria (composition, palette, brand fit) before generating hundreds of candidates.
Copyright in outputs: the US Copyright Office has taken the position that material generated by AI without sufficient human authorship is not registrable; in the 2023 "Zarya of the Dawn" decision it allowed copyright in the human-written text and arrangement of a comic but not in the Midjourney-generated images themselves. Other jurisdictions differ and the area is evolving. Training data: Midjourney has been named in lawsuits by artists and, in 2025, by major film studios, over the use of copyrighted works in training and in outputs; outcomes were not settled at the time of writing. For commercial projects, avoid prompts naming living artists or protected characters, and keep records of how an image was produced.
Content policy: the service moderates prompts and images, and its rules restrict, among other things, sexual content and deceptive depictions of real people. Images made on lower tiers are visible in the public gallery unless stealth mode is available on your plan. Bias and sameness: a strong house style means outputs can converge on similar faces, lighting and compositions; lowering stylization and adding concrete descriptors helps.
Compared with DALL-E and open diffusion models: DALL-E via ChatGPT or the API is easier to automate and tends to follow complex instructions literally; open models offer full control, fine-tuning and self-hosting at the cost of setup; Midjourney trades control for aesthetic quality and speed of exploration.
Further reading: the official Midjourney documentation (parameter list and version notes); US Copyright Office, "Copyright Registration Guidance: Works Containing Material Generated by Artificial Intelligence" (2023) and its letter on "Zarya of the Dawn"; Rombach et al., "High-Resolution Image Synthesis with Latent Diffusion Models" (2022) for the general technique behind modern text-to-image systems.