Getting Started with Midjourney API (2026)
This guide shows you how to move from a fresh API key to a working image generation flow. We will cover the core request pattern, async job tracking, webhook delivery, pricing decisions, and the next pages to use as you scale.
Quick Start in 4 Steps
Create your account and copy the API key
Sign in to the dashboard, open the API Console, and copy your API key. The API uses a single API-KEY header, so you can plug it into any backend or automation tool immediately.
Submit your first image job
Send a POST request to /midjourney/v1/submit-jobs with a prompt, mode, and optional hookUrl. The API returns a taskId that represents the async generation job.
Track completion with polling or webhooks
Use /midjourney/v1/job-status to poll one or more task IDs, or pass a hookUrl and receive the final image payload automatically when the job completes.
Ship the workflow into your app
Once the basic flow works, connect it to your product UI, queue, CMS, or internal tools. Most teams start with relax mode for bulk jobs and enable fast mode for premium flows.
Your First Request
This is the fastest way to confirm your credentials and see the async job flow in action.
curl -X POST "https://api.midjourney-api.com/midjourney/v1/submit-jobs" \
-H "Content-Type: application/json" \
-H "API-KEY: your_api_key" \
-d '{
"prompt": "a cinematic desert highway at dusk --ar 16:9",
"mode": "fast",
"hookUrl": "https://yourapp.com/webhooks/midjourney"
}'What happens next?
The API responds immediately with a taskId. You can store that ID in your database, show a pending state in your UI, and later attach the final image URLs when the webhook or status response arrives.
Recommended Production Workflow
Start with a server-side endpoint that receives a user prompt and forwards it to the Midjourney API. Save the returned task ID together with your user ID, prompt, selected mode, and internal job status.
If you only need a quick prototype, polling is enough. For real products, webhooks are usually the cleaner option because the result comes back to your backend without repetitive status checks. That makes it easier to notify users, update databases, and trigger follow-up automation.
Use relax mode to keep cost per image low for background jobs. Reserve fast mode for urgent user-facing requests such as premium plans, live previews, or time-sensitive content generation.
Common Use Cases
- •Generate marketing creatives, blog hero images, and social assets
- •Offer AI image generation inside SaaS products and customer portals
- •Automate e-commerce banners, mockups, and product storytelling visuals
- •Build internal design tools that route image results through webhooks
Next Pages to Read
Webhook Guide
Learn how to receive async Midjourney results with hookUrl callbacks.
Features
Review webhook, polling, concurrency, and prompt support in one place.
Node.js Tutorial
Ship a typed async workflow with fetch, TypeScript, and polling helpers.
Python Guide
Use requests and webhooks to integrate Midjourney into backend jobs.
Pricing
Compare quota plans, image estimates, and when to upgrade.
Frequently Asked Questions
Do I need an SDK to use Midjourney API?
No. The API is plain HTTP, so you can use fetch, requests, curl, Axios, or any workflow tool that supports REST requests.
Should I use polling or webhooks?
For prototypes, polling is fine. For production apps, webhooks are usually better because they reduce repeated status checks and fit async job pipelines cleanly.
What is the fastest way to test the API?
Use a single curl request with a short prompt, then poll job status once or twice. After that, switch to a webhook flow so your backend can process results automatically.
Which pages should I read next?
Most developers continue to the pricing page, the Python guide, or the Node.js tutorial depending on their stack and rollout stage.
Launch Your First Midjourney Workflow
Start with the quickstart above, then move to stack-specific guides once your first generation pipeline is working.