Midjourney Text To Image
Playground
Try it on WavespeedAI!Create high-quality, artistic images from text prompts using Midjourney’s renowned creative interpretation. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
Midjourney Text-to-Image
Midjourney Text-to-Image generates high-quality images from natural-language prompts with flexible aspect ratios, style controls, reference image guidance, and support for multiple Midjourney model versions. It is suitable for concept art, stylized visuals, cinematic imagery, anime-inspired art, and other prompt-driven image generation workflows.
Why Choose This?
-
Flexible Midjourney model versions Choose from
6,6.1,7, or8.1depending on your preferred look and behavior. -
Strong style control Fine-tune the result with
stylize,chaos, andweirdto balance coherence, creativity, and experimental output. -
Reference image support Use
srefto guide the generated image toward a desired visual direction. -
Aspect ratio control Supports square, portrait, landscape, and cinematic aspect ratios.
-
Optional HD generation Version
8.1supports optional native2kHD generation. -
Anime-focused mode Use
nijisettings when you want anime or Eastern-aesthetic results.
Parameters
| Parameter | Required | Description |
|---|---|---|
| prompt | Yes | The text prompt describing the image you want to generate. |
| sref | No | URL of the image to use as a style reference for generation. |
| aspect_ratio | No | Aspect ratio of the generated image. Supported values: 1:1, 9:16, 16:9, 4:3, 3:4, 2:3, 3:2, 9:21, 21:9. Default: 1:1. |
| quality | No | Controls image detail and processing time. Supported values: 0.25, 0.5, 1, 2. Default: 1. |
| stylize | No | Controls artistic styling strength. Range: 0–1000. Default: 0. |
| chaos | No | Adds variety and unpredictability to results. Range: 0–100. Default: 0. |
| weird | No | Makes the result more quirky or unconventional. Range: 0–3000. Default: 0. |
| version | No | Midjourney model version. Supported values: 6, 6.1, 7, 8.1. Default: 8.1. |
| hd | No | Enable native 2k HD generation for version 8.1. Default: false. |
| niji | No | Anime/Eastern-aesthetic mode selection. Supported values: 0, 5, 6, 7, close. Default: close. |
| seed | No | Seed for reproducibility. Use -1 for random generation. Default: -1. |
How to Use
- Write your prompt — describe the subject, style, lighting, mood, and composition you want.
- Choose aspect ratio — select the output framing that fits your use case.
- Set style controls (optional) — adjust
stylize,chaos, andweirdfor more artistic or experimental results. - Choose version — use the Midjourney version that best matches your workflow.
- Enable HD (optional) — turn on
hdif you are using version8.1and want higher-resolution output. - Add a reference image (optional) — use
srefwhen you want stronger style guidance. - Set seed (optional) — use
-1for random output, or a fixed seed for more reproducible results. - Submit — run the model and download the generated image.
Example Prompt
A cinematic sci-fi city street at night, neon reflections on wet pavement, dramatic fog, ultra-detailed architecture, moody lighting, dynamic composition
Pricing
Pricing is fixed per image, with an additional charge for HD generation on version 8.1.
| Mode | Cost |
|---|---|
| Standard generation | $0.10 |
Version 8.1 with hd=true | $0.15 |
Billing Rules
- Base price is $0.10 per image
- Enabling
hdadds a surcharge only whenversion = 8.1 version = 8.1withhd=truecosts $0.15 per imageaspect_ratio,quality,stylize,chaos,weird,niji,seed, andsrefdo not affect pricing
Best Use Cases
- Concept art — Explore visual directions for environments, characters, and products.
- Stylized illustration — Generate artistic, cinematic, or graphic compositions from text prompts.
- Anime-inspired imagery — Use
nijisettings for anime and Eastern-aesthetic outputs. - Marketing creatives — Produce eye-catching visuals for campaigns, ads, and presentations.
- Reference-guided ideation — Use
srefto push the output closer to a target style or mood.
Pro Tips
- Use
stylizewhen you want a stronger artistic interpretation. - Increase
chaoswhen you want more variation and less predictability. - Use
weirdsparingly when you want unusual or surreal results. - Only enable
hdwhen you need the extra resolution, since it increases cost. - Use
srefwhen style consistency matters more than purely prompt-based generation. - Keep
seedfixed when comparing prompt or parameter changes across runs.
Notes
promptis required.hdonly applies to version8.1.seed = -1means random generation.nijiis intended for anime and Eastern-style visual output.- Pricing is fixed per image, with a higher price only for
8.1HD generation.
Related Models
- Other Midjourney image generation workflows — Useful when you want different generation modes or prompt setups.
- Reference-guided image generation workflows — Useful when style steering from an image matters more heavily.
- Anime-focused image generation workflows — Useful when stylized illustration and character art are the main priority.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/midjourney/text-to-image" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"aspect_ratio": "1:1",
"quality": 1,
"stylize": 0,
"chaos": 0,
"weird": 0,
"version": "8.1",
"hd": false,
"niji": "close",
"seed": -1,
"enable_base64_output": false
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| prompt | string | Yes | - | The text prompt describing the image you want to generate. | |
| sref | string | No | - | - | URL of the image to use as a reference for the image generation. |
| aspect_ratio | string | No | 1:1 | 1:1, 9:16, 16:9, 4:3, 3:4, 2:3, 3:2, 9:21, 21:9 | The aspect ratio of the generated media. |
| quality | number | No | 1 | 0.25, 0.5, 1, 2 | Use the quality parameter to control image detail and processing time. |
| stylize | integer | No | - | 0 ~ 1000 | Use the stylize parameter to control the artistic style in the image (0-1000). |
| chaos | integer | No | - | 0 ~ 100 | Use the chaos parameter to add variety to your image results (0-100). Higher values produce more unusual and unexpected results. |
| weird | integer | No | - | 0 ~ 3000 | Use the weird parameter to make your images quirky and unconventional (0-3000). |
| version | string | No | 8.1 | 6, 6.1, 7, 8.1 | Use the version parameter to explore and switch between Midjourney model versions. Version 8.1 supports optional HD generation. |
| hd | boolean | No | false | - | Enable native 2k HD generation for version 8.1. |
| niji | string | No | close | 0, 5, 6, 7, close | Use the Niji model focused on anime and Eastern aesthetics. |
| seed | integer | No | -1 | -1 ~ 2147483647 | Use the seed parameter for testing and experimentation. Use the same seed and prompt to get similar results. |
| enable_base64_output | boolean | No | false | - | The random seed to use for the generation. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | string | Array of URLs to the generated content (empty when status is not completed). |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |