Midjourney API
AI ImageMidjourney API on OmniaKey — a painterly text-to-image route on the asynchronous media task API. One job returns a single 2048x2048 four-up grid in about three minutes and bills a flat rate per job.
- Per successful call$0.13
- OperationsText to image
- View tool pricing and billing rules
Your result will appear here once you run the model.
01
Where it fits
Midjourney API on OmniaKey — a painterly text-to-image route on the asynchronous media task API. One job returns a single 2048x2048 four-up grid in about three minutes and bills a flat rate per job.
Pick it when the look matters more than literal instruction-following: concept frames, campaign illustration and mood boards. Send the prompt and an aspect ratio, poll the task, and budget minutes rather than seconds.
02
What it does
Text to image
midjourney
Turn a text prompt into a new image.
03
In depth
Midjourney joins the image catalog as a text-to-image route on the shared asynchronous media API, under the model id midjourney. Our verified run on 12 November 2026 submitted a 1:1 prompt and received one 2048x2048 PNG four-up grid after roughly three minutes, with a single charge for the job.
The draw is the house look: painterly, cinematic and strongly lit, which suits concept art and editorial illustration more than pixel-exact product work. The route takes an aspect ratio and a quality parameter, returns the finished grid as one asset, and has no edit operation.
Concept frames from a written brief
Describe the scene, the light and the mood in prose and let the grid do the exploring: one prompt yields four candidates on the same theme, which is faster than four separate iterations while you are still choosing a direction.
Editorial and campaign illustration
State the composition you intend to crop and keep the prompt short and visual. Pick the quadrant that works, then upscale it in your own toolchain, because this route returns the grid rather than four separate files.
Mood boards and pitch visuals
Use the four takes to show a client the range inside one direction. Each job is one flat charge, so comparing four interpretations of a brief costs the same as rendering a single image.
04
Hands-on notes
In our 12 November 2026 run, a 1:1 generation returned one 2048x2048 PNG grid after about three minutes and ten seconds, and the SHA-256 of the downloaded file matched the stored asset record.
The billing log for that task showed one charge and one upstream submission, so the catalog lists a flat per-job rate with no size tiers.
05
Limits to plan around
- The asset is a four-up grid, not four separate images: splitting or upscaling a quadrant is work you do after the download.
- Jobs run in minutes, not seconds, so build for polling and set a generous timeout instead of retrying while the task is still processing.
- Only generation is smoked here. Reference edits, blends and Midjourney's own upscale, vary and pan actions are not part of this route, and the OpenAI image-compatible endpoint does not serve the id.
06
Compare nearby models
| Model | Best for | Operations | Listed price |
|---|---|---|---|
| MidjourneyThis page midjourney | Painterly four-up exploration at one flat charge per job. | Text to image | $0.13 per call |
| GPT-Image 2.6 Flare gpt-image-2.6-flare | Faster and more literal: the better pick when a prompt has to be followed exactly. | Text to image · Image edit | $0.025–$0.055 per call |
| Nano Banana 2.1 gemini-nano-banana-2.1 | Cheaper per call for quick iteration, on a token-based price. | Text to image · Image edit | $0.019–$0.039 per call |
07
Sources and verification
Guide updated 2026-11-12.
08
Call it
Media models run asynchronously. Create a task, poll it until it finishes, then download the signed asset URL.
# 1. Create the job. 202 Accepted; the body carries the task id,
# the pre-charged price, and a poll_url. Reuse one Idempotency-Key
# across retries so a timeout never starts a second paid job.
curl --fail-with-body https://api.omniakey.com/v1/media/tasks \
-H "Authorization: Bearer $OMNIAKEY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: midjourney-001" \
-d '{
"model": "midjourney",
"type": "image",
"operation": "generate",
"input": {"prompt": "a paper boat on a quiet lake at sunset"},
"parameters": {"size": "1024x1024", "quality": "medium"}
}'
# 2. Poll GET /v1/media/tasks/{id} until status is
# succeeded | failed | canceled. Progress carries percent and stage.
curl --fail-with-body https://api.omniakey.com/v1/media/tasks/TASK_ID \
-H "Authorization: Bearer $OMNIAKEY_API_KEY"
# 3. Download assets[0].url before expires_at, or poll again for a
# fresh signed URL. Failed and canceled jobs are refunded.
curl -sS -o out.png "$(jq -r '.assets[0].url' result.json)"09
Pricing
Image jobs are billed per successful call, not per token. Failed or canceled jobs are refunded automatically.
$0.13per call
Frequently asked questions
How do I call Midjourney on OmniaKey?
POST to /v1/media/tasks with the model id, type "image", and operation "generate" or "edit". Reuse one Idempotency-Key across retries so a timeout never starts a second paid job.
What does Midjourney cost?
Midjourney bills $0.13 per call. Creation pre-charges that amount from your prepaid balance, and failed or canceled jobs are refunded automatically.
Why does the API return a task id instead of the image?
Provider latency runs from seconds to about a minute, so OmniaKey normalizes every image route into one asynchronous lifecycle. Poll GET /v1/media/tasks/{id} until the status is succeeded, then read the signed asset URL.
What does a Midjourney job return?
One PNG asset at 2048x2048 that holds a 2x2 grid of four candidates rendered from your prompt. There is no separate file per candidate, so crop or upscale the quadrant you keep.
How long should I wait for the task to finish?
In our measured run the job took about three minutes and ten seconds end to end. Poll the task endpoint, treat queued and processing as normal, and resubmit with a fresh idempotency key only after the task has failed or expired.
Can I edit or blend images with Midjourney here?
No. This route exposes generation only. Use a GPT Image or Nano Banana route when you need reference-image edits and keep Midjourney for the first pass.
Which parameters does the route accept?
Send parameters.aspectRatio such as 1:1 or 16:9 and parameters.quality; the upstream bot type is preset for you. Values outside the documented set are forwarded as-is, so check the returned grid rather than assuming your ratio took effect.
