
Focal-length vocabulary for AI image-gen: what works, what doesn't, and what to use instead
Bare mm values are no-ops in MJ V8.1 — three independent A/B tests confirm it. SDXL is the exception. Here's the full per-tool vocabulary map: descriptive terms that work, LoRA workarounds, and copy-paste prompts for telephoto compression, wide distortion, and macro depth across MJ, Flux, SDXL, and SD3.

Focal-length vocabulary for AI image gen: what works, what's a no-op, and what nobody has tested yet
Focal-length numbers don't do what you think they do — at least not in Midjourney. But that doesn't mean lens vocabulary is useless. The vocabulary that does work looks completely different from the camera-spec syntax most guides recommend. Here's what three independent A/B tests found, what SDXL does differently, and the copy-paste strings that produce telephoto compression and wide-angle depth without relying on numbers that get ignored.
The no-op list: bare mm values in MJ V8.1
Three separate community experiments — using fixed seeds and
--style raw to isolate the variable — reached the same conclusion on Midjourney. 1 2- Daniel Nest (Why Try AI, Dec 2024) tested
18mm,200mm, and12345mmon the same seed with--style raw --stylize 0. His verdict: "Nothing. Zilch. Nada. Zero millimeters." 1 - Reddit user issafly (Sep 2024) tested 14mm through 200mm on MJ V6.1 with
--seed 1554 --s 250 --style raw: "The difference between a photo at 14mm and a photo of the same scene at 200mm should be HUGE. They were nearly the same image regardless of which aperture or focal length I put into the prompt." 2 - A Facebook MJ Prompt Tricks thread documented the same pattern as early as 2023: "Currently, doing 30mm and 200mm leads to basically the same results." 3
The existing A/B tests were all on MJ V6.1. MJ V8.1 became the default on June 11, 2026 — no independent replication exists for V8.1 yet. 4 The same inertia likely applies (the architecture hasn't changed its relationship to numeric camera parameters), but treat the gap as a gap.

--style raw --stylize 0. Output framing is visually identical across all three values. 1The f-stop and ISO slots are similarly inert on MJ — this isn't unique to focal length. MJ is not processing these values as spatial or optical directives. Denis Girard (professional photographer) put it plainly in the Facebook thread: "MJ does not really reflect the real effect you should be expecting with focal range; it just refers to training images tagged with those numbers, making results hit-or-miss." 3
SDXL: the exception
SDXL responds to mm values where MJ doesn't. Reddit user c2Ft published a focal-length study on SDXL comparing 24mm through 200mm+ in a single grid: "The bigger focal lengths certainly compress the background and add depth of field. 85mm might be a good keyword for portrait shots and 24/35mm for street stuff." 5

Why the divergence? The current hypothesis is that SDXL's training corpus included more consistently mm-tagged EXIF data from photography datasets, while MJ's training emphasizes aesthetic output over technical input fidelity. That's inference, not a confirmed mechanism — but the behavioral difference is documented.
For Flux and SD3, the picture is murkier. The SurePrompts Flux Pro Prompting Guide (50 tested prompts, updated May 2026) explicitly recommends lens vocabulary — "85mm for portraits (flattering), 35mm for environments (wide)" — and states "Flux Pro understands photography terms." 6 But no independent A/B test with fixed seeds exists for Flux. Descriptive camera language in Flux works; whether bare mm numbers specifically drive perspective geometry is an open question.
What actually works across all tools: descriptive vocabulary
Descriptive shot types produce clear, verifiable framing on every tool tested. Daniel Nest's same article that buried focal-length numbers confirmed this:
close-up shot, medium shot, and wide shot each produced distinctly framed outputs — tight on the head/shoulders, waist-up, and full-body with environment respectively. 1
close-up shot / medium shot / wide shot produce clear framing differences — where 85mm / 35mm / 18mm on the same scene produce near-identical outputs. 1Beyond basic shot types, the vocabulary that pulls on distinct training data clusters:
Telephoto / portrait register:
85mm portrait lens(works on SDXL; combined-vocabulary approach for Flux/MJ)telephoto compression+background compression(recommended in multiple 2026 frameworks; not A/B-tested)shallow depth of field, subject isolated from backgroundcreamy bokeh, out-of-focus background
Wide-angle register:
ultra-wide shotorextreme wide-anglewide-angle distortion, foreground exaggerationenvironmental context, foreground-to-background depth- For MJ:
14mm ultra-wideappears in Tim Fajardo's style-stacking framework as part of the "implied lens behavior" syntax 7
Macro / extreme close-up register:
macro photographyormacro lens— treated as a behavioral descriptor, not a technical parameter100mm macro lens, f/2.8— designhero.tv uses this to "trigger the model to pull from training data of high-resolution medical and portrait photography" 8extreme close-up, sub-surface scattering(Flux-specific addition for skin texture detail)
Fish-eye (confirmed working on MJ and SDXL):
fish-eye lensorfisheye lensproduces visible center-stretch distortion and deep depth of field on MJ 9- SDXL: use
fisheyein positive prompt, addfishto your negative prompt to prevent literal fish appearing 10 - SDXL LoRA: the "4mm Fisheye Lens" LoRA by VirtualDreams (15,700 downloads as of June 2026) produces 180°+ field-of-view effects starting at 0.3 strength 11
The "implied lens behavior" pattern — recommended but untested
Multiple 2026 prompt engineering frameworks recommend a vocabulary class that goes beyond shot types into explicit behavioral description. Tim Fajardo's style-stacking framework positions this as the "Camera" layer — "position, height, and implied lens behavior" — describing it as controlling "forced perspective, depth of field, and the emotional stance of the image." 7
His framework includes prompts like:
Activate implied lens behavior: extreme telephoto compression(paired with800mm extreme telephoto)A wide-angle lens of approximately 16mm equivalent creates strong barrel distortion on the closest desk geometryspatial depth compression, implied lens behavior: 14mm ultra-wide
Olivier Hero Dressen (designhero.tv) frames the same principle as treating lens vocabulary as a "portal to specific training data": "Specific camera models, lens manufacturers, and film stocks aren't just technical jargon — they're portals to specific training data." 8
The critical caveat: no published A/B tests exist for descriptive compression/distortion terms. Every existing focal-length A/B test (Nest, issafly, Facebook) tested only bare mm numbers. The question of whether
telephoto compression as a standalone phrase produces measurably different perspective geometry than a baseline prompt — without mm numbers — is unanswered as of June 2026. Every published test from Nest, issafly, and the Facebook threads tested only bare numerical values, never descriptive compression vocabulary. These terms appear in hundreds of community prompts and are recommended by practitioners with real cinematography backgrounds; they're worth using. But if you're troubleshooting a failed telephoto compression shot, the problem may be the descriptor itself rather than placement or syntax.Per-tool copy-paste reference
MJ V8.1
MJ V8.1 (default since June 11, 2026) does not process bare mm values as spatial directives. Use descriptive vocabulary and add
--raw when you need literal prompt compliance. 4Telephoto / subject isolation:
close portrait shot, shallow depth of field, subject sharply isolated, compressed background blur, creamy bokeh, 85mm portrait lens --v 8.1 --raw --stylize 50Wide environmental:
ultra-wide establishing shot, extreme wide-angle, foreground environmental depth, subject in context, slight edge distortion --v 8.1 --rawMacro detail:
macro photography, extreme close-up, sub-surface detail, shallow depth of field, soft background dissolution --v 8.1 --stylize 50Implied telephoto compression (Fajardo framework):
[subject description], camera positioned far from subject, implied lens behavior: extreme telephoto compression, background compressed to apparent flatness, subject isolation --v 8.1 --rawFish-eye:
fisheye lens, spherical distortion, center stretch, deep depth of field, urban environment --v 8.1--stylize interaction: Keep --stylize below 300 when using explicit lens vocabulary. Values above 300 push MJ's aesthetic amplification high enough to override spatial directives. Combine --raw + --stylize 0–50 for maximum prompt compliance on technical shots. 4Flux (dev / schnell / Pro)
Flux's T5-XXL text encoder processes prompt language as prose, not a tag lookup. Behavioral description outperforms labels. Designhero.tv's approach — tested by a working cinematographer — pairs camera model + lens + behavioral description: 8
Telephoto compression:
Portrait shot on Arri Alexa Mini with 85mm lens, f/1.8, shallow depth of field, background compressed behind subject, subject isolated in sharp focus, cinematic portrait lightingMacro texture:
100mm macro lens, f/2.8, shallow depth of field, vellus hair detail, sub-surface scattering, shot on Sony A7R IV, extreme close-up skin texture, high-resolution medical photography aestheticWide environmental:
RED Komodo 6K with Zeiss Supreme Prime 25mm lens, f/8, wide environmental establishing shot, foreground to background depth, subject in contextNKD Focal Length Slider LoRA (Flux.2 Klein 9B only): Nekodificador's LoRA provides hardware-level perspective control via a -5.0 (ultra-wide) to +5.0 (telephoto) slider. In img2img mode, it alters perspective distortion while preserving original composition — "unlike standard prompting, this slider is highly composition-aware." 12 2,870 downloads as of June 2026. Use when text prompts fail to consistently hit the compression/distortion degree you need.
SDXL
SDXL responds to mm values, making it the most direct tool for focal-length work. The c2Ft focal-length study confirms compression increases with mm. Practical ranges: 5
Portrait (compression + subject isolation):
85mm portrait lens, f/1.8, shallow depth of field, background compressed, subject isolated, professional portrait photographyStreet / environmental (wide):
24mm wide-angle lens, deep depth of field, environmental context, street photography, foreground-to-background depthMacro:
100mm macro lens, f/2.8, extreme close-up, high detail, sub-surface lightingFish-eye LoRA: The "4mm Fisheye Lens" LoRA (strength 0.3–0.6, trigger words
f1sh3y3 or 4mm fisheye) produces full 180°+ spherical distortion. Without the LoRA, fisheye lens in the text prompt gives partial effect. 11SD3
SD3's training prioritizes photorealism, which works against exaggerated lens effects. Wide-angle distortion and heavy fisheye effects are weaker here than on MJ or SDXL. For telephoto subject isolation, focus on the depth-of-field description rather than mm values:
shallow depth of field, subject in sharp focus, out-of-focus background, soft background dissolution, portrait photography, 85mm equivalent compressionAdd
strong bokeh, background blur, subject isolation if the first pass doesn't separate cleanly enough. SD3 handles subtle telephoto compression better than fisheye — expect muted distortion results on wide-angle and fish-eye prompts.Quick decision table
| Effect you want | MJ V8.1 | Flux dev/Pro | SDXL | SD3 |
|---|---|---|---|---|
| Telephoto / subject isolation | shallow depth of field, subject isolated, compressed background + --raw | Camera model + 85mm, f/1.8, background compressed | 85mm portrait lens, f/1.8 | DOF description only |
| Wide-angle / environmental depth | ultra-wide shot, foreground depth + --raw | 25mm lens + environmental description | 24mm wide-angle lens | wide shot, environmental context |
| Macro / extreme close-up | macro photography, extreme close-up | 100mm macro lens, f/2.8 + camera model | 100mm macro lens | extreme close-up, high detail |
| Fish-eye distortion | fisheye lens (confirmed working) | fisheye lens (evidence limited) | fisheye + negative fish + LoRA for full effect | Limited support |
Bare mm value (e.g. 200mm) | No effect 1 | Possibly effective, untested | Effective 5 | Uncertain |
Cargando tarjeta de contenido…
Fuentes de referencia
- 1Daniel Nest, Why Try AI: Ditch These Pointless Midjourney Photography Terms
- 2issafly, Reddit r/midjourney: Comparing Camera Settings in Prompts
- 3Jon Reed, Facebook MJ Prompt Tricks: Understanding focal length in AI image generation prompts
- 4Blake Crosley: Midjourney V8.1 + V7 Reference
- 5c2Ft, Reddit r/StableDiffusion: Focal length study
- 6Imtiaz Rayhan, SurePrompts: Flux Pro Prompting Guide
- 7Tim Fajardo, Medium: Style-Stacking — The New Way of Image Prompting
- 8Olivier Hero Dressen, designhero.tv: 7 Prompts for Professional Realism
- 9Facebook Official Midjourney group: Midjourney prompt testing for photography keywords
- 10Reddit r/StableDiffusion: how can i get a fisheye effect without adding fish?
- 11VirtualDreams, Civitai: 4mm Fisheye Lens LoRA
- 12Nekodificador, Civitai: NKD Focal Length Slider
Añade más opiniones o contexto en torno a este contenido.