English · Español · Português · 日本語 · 한국어 · Deutsch · Français · Türkçe · 繁體中文 · 简体中文 · Русский
Integrate the latest Midjourney V8.1 image generation workflows through EvoLink, with preserved V7 workflow documentation for existing integrations.
Read V8.1 image generation docs · Read V8.1 prompt guide · Get your API key
Use Midjourney V8.1 image generation in one API call.
V8.1 Docs · Prompt Guide · API Key · GPT Image Prompts · Media MCP
export EVOLINK_API_KEY="your_key_here"
curl --request POST \
--url https://api.evolink.ai/v1/images/generations \
--header "Authorization: Bearer ${EVOLINK_API_KEY}" \
--header 'Content-Type: application/json' \
--data '{
"model": "mj-v8.1",
"prompt": "A cinematic shot of a Maine Coon cat on a neon-lit balcony --ar 16:9 --s 500",
"quality": "standard",
"model_params": {
"speed": "fast"
}
}'Midjourney generation and editing are asynchronous. A production integration should create a task, store the task ID, poll or receive a callback, and save the final image URLs before they expire.
export EVOLINK_API_KEY="your_key_here"
bash examples/curl/complete-flow.shComplete examples:
- cURL complete flow
- Python complete flow
- JavaScript complete flow
- cURL V8.1 generation
- JavaScript V8.1 generation
Midjourney API on EvoLink.ai gives developers access to Midjourney image generation and editing workflows through one unified API key. This repository now covers the latest Midjourney V8.1 generation family while preserving the existing Midjourney V7 workflow references for integrations that still depend on V7 model IDs.
This repository is built for developers who want to:
- integrate Midjourney V8.1 image generation into production apps
- understand V8.1 speed, quality, prompt parameter, and workflow behavior
- keep existing V7 workflow examples available during migration
- choose the right Midjourney operation for generation, variation, remix, edit, retexture, or background removal
- one API key for Midjourney V8.1 and preserved V7 workflow examples
- asynchronous task flow designed for production integration
- V8.1 native HD output through the top-level
qualityfield - V8.1 speed control through
model_params.speed - support for native Midjourney prompt parameters and reference workflows
- HTTPS callback support for task completion workflows
The V8.1 official docs describe pricing through speed and quality multipliers. This repository does not invent fixed dollar prices for V8.1.
| Setting | Values | Billing note |
|---|---|---|
model_params.speed |
draft, fast, turbo |
draft and fast use the same speed multiplier; turbo is about 2x fast |
quality |
standard, hd |
standard is 1x; hd is 1.5x |
| Combined cost | speed x quality | for example, turbo + hd is about 3x the base |
V8.1
draftreturns 24 lightweight 0.5K sketch images in one run and cannot be combined withquality: "hd". Fast and turbo modes return 4 images per generation.
| Workflow | Model | Summary |
|---|---|---|
| Image Generation | mj-v8.1 |
text-to-image and image-to-image with V8.1 prompt syntax, quality, and speed |
| Variation | mj-v8.1-variation |
create subtle or strong variants from a completed V8.1 task |
| Remix | mj-v8.1-remix |
reinterpret a completed result with a required new prompt |
| Retexture | mj-v8.1-retexture |
change image texture or style directly from an input image URL |
| Upload Paint | mj-v8.1-upload-paint |
advanced canvas editing from uploaded image, mask, and placement fields |
| Canvas Edit | mj-v8.1-edit |
reposition an existing task image on a canvas and fill blank areas |
| Remove Background | mj-v8.1-remove-bg |
remove the background from one input image URL without prompt or speed fields |
The original V7 docs and examples remain available for existing integrations.
| Workflow | Model | Summary |
|---|---|---|
| Image Generation | mj-v7 |
text-to-image and image-to-image with native Midjourney V7 prompt syntax |
| Upscale | mj-v7-upscale |
upscale one selected image from a completed task |
| Inpaint | mj-v7-inpaint |
edit a masked area in one selected image |
| Outpaint | mj-v7-outpaint |
expand beyond the original image boundary |
| Pan | mj-v7-pan |
extend composition in one direction |
| Remix | mj-v7-remix |
reinterpret an existing image with a new prompt |
| Retexture | mj-v7-retexture |
change texture or style while preserving structure |
| Canvas Edit | mj-v7-edit |
reposition image on canvas and fill blank areas |
| Enhance | mj-v7-enhance |
improve one selected generated image |
| Remove Background | mj-v7-remove-bg |
generate transparent subject cutout from one input image |
| Upload Paint | mj-v7-upload-paint |
advanced edit flow using uploaded image, mask, and canvas settings |
The detailed workflow references live in separate docs so the README stays focused on navigation, pricing notes, and integration guidance.
Latest V8.1 docs:
- V8.1 Image Generation
- V8.1 Variation
- V8.1 Remix
- V8.1 Retexture
- V8.1 Upload Paint
- V8.1 Canvas Edit
- V8.1 Remove Background
- Prompt Parameters
Preserved V7 docs:
- V7 Image Generation
- V7 Image-to-Image and Reference
- V7 Upscale
- V7 Inpaint
- V7 Outpaint
- V7 Pan
- V7 Remix
- V7 Retexture
- V7 Canvas Edit
- V7 Enhance
- V7 Remove Background
- V7 Upload Paint
Midjourney V8.1 supports native parameter syntax inside the prompt field, but speed and output quality are API fields.
| Control | Where to set it | Values |
|---|---|---|
| Speed | model_params.speed |
draft, fast, turbo |
| Output quality | top-level quality |
standard, hd |
| Prompt parameters | prompt text |
--ar, --c, --seed, --s, --exp, --raw, --iw, --sref, --sw, --oref, --ow |
V8.1 does not expose --q, --no, --weird, --tile, --sv, --stop, --cref, --cw, --relax, --repeat, --p, permutations, public/stealth flags, --niji, or multi-prompt :: on this route.
Detailed parameter rules are in docs/prompt-parameters.md.
- get an API key from EvoLink.ai
- create a generation or edit task with
POST /v1/images/generations - store the returned task ID
- poll
GET /v1/tasks/{task_id}until the task is completed - download and save the resulting images promptly because generated links are temporary
Detailed lifecycle docs:
Latest V8.1 examples:
Preserved V7 examples:
- cURL: complete first-run flow
- cURL: basic generation
- cURL: image-to-image
- cURL: upscale
- cURL: inpaint
- Python: complete first-run flow
- JavaScript: complete first-run flow
- JavaScript: basic generation
- JavaScript: image-to-image
- JavaScript: upscale
- JavaScript: inpaint
| If you need... | Recommended workflow | Why |
|---|---|---|
| latest first-pass generation | mj-v8.1 |
latest V8.1 image model with speed and quality controls |
| fast ideation sketches | mj-v8.1 with speed: "draft" |
returns 24 lightweight 0.5K sketches |
| native HD output | mj-v8.1 with quality: "hd" |
top-level API quality field enables HD output |
| create variants from a V8.1 task | mj-v8.1-variation |
subtle or strong variations from a selected source image |
| reinterpret a V8.1 result | mj-v8.1-remix |
requires a new prompt and preserves source structure |
| edit a V8.1 task on a canvas | mj-v8.1-edit |
reposition source image and fill blank areas |
| edit directly from uploaded image URLs | mj-v8.1-upload-paint |
mask and canvas workflow without an existing task |
| remove a background from one image | mj-v8.1-remove-bg |
no prompt, speed, or other model parameters |
| use existing V7-only flows | preserved V7 models | V7 docs remain available for upscale, inpaint, outpaint, pan, enhance, and existing integrations |
- all endpoints require Bearer token authentication
- Midjourney generation and edit workflows are asynchronous
- callbacks must use HTTPS and cannot target private IP addresses
- callback timeout is 10 seconds with up to 3 retries
- V8.1 generated image links are valid for 30 days according to the official V8.1 image-generation docs
- V8.1 speed is controlled with
model_params.speed, not prompt flags - V8.1 output resolution is controlled with top-level
quality, not--qor--hd - V8.1
draftreturns 24 lightweight sketches and is incompatible withquality: "hd" - V8.1 image prompts and references require
fastorturbo, notdraft - V8.1 remove background only accepts
modelandimage_urls - V7 docs and examples remain in this repo for backward compatibility
Use mj-v8.1 for new image generation unless you specifically need a preserved V7 workflow.
Set top-level "quality": "hd" and use model_params.speed as fast or turbo. Do not combine hd with draft.
No. Speed is controlled through model_params.speed, and output quality is controlled through top-level quality.
Yes. V7 docs and examples are intentionally preserved for existing integrations.