Midjourney Error 429: How to Fix Rate Limit Exceeded
Updated 10/11/2026
Understanding Midjourney Error 429
Midjourney does not offer an official, public REST API for general developer integrations. Because of this, developers and teams integration-testing Midjourney typically rely on the official Midjourney Discord bot, Discord's gateway APIs, or third-party downstream wrapper APIs (such as ImagineAPI).
When you encounter Error 429: Too Many Requests, it means your integration has sent more requests than the receiving server allows in a given timeframe. This rate limit block can originate from one of three sources: 1. Discord's API rate limits (if your integration communicates via the Discord bot interface). 2. Midjourney's internal queue limits (exceeding maximum concurrent active jobs allowed on your subscription tier). 3. Third-party API gateway limits (if utilizing an intermediary service).
Follow these diagnostic steps to resolve the issue and prevent future rate-limiting blocks.
---
Step-by-Step Fixes for Error 429
1. Identify the Source of the 429 Block Before modifying your code, you must determine which service is returning the 429 status code. * **Check response headers:** Look at the network headers in your debugger. If you see headers like `via: lutris` or `server: cloudflare`, or if the JSON response specifically mentions a `retry_after` parameter, the block is originating from Discord's infrastructure. * **Examine the JSON body:** If the body mentions "Too many active jobs" or "Queue full", this is a Midjourney-specific limitation on your current subscription plan, meaning your code is submitting jobs faster than Midjourney can process them. * **Audit intermediary logs:** If you are using a third-party wrapper API, check their management dashboard to see if you have exceeded your monthly or per-minute API call allotment.
2. Implement Exponential Backoff in Your Code If your script or application makes automated requests, you must handle the HTTP 429 status code gracefully. Do not immediately retry the request, as rapid retries will compound the rate limit penalty and may result in a temporary IP ban. * **Read the `Retry-After` header:** Many API gateways provide a `Retry-After` header indicating the exact number of seconds (or milliseconds) you must wait before making another request. Write logic to pause execution for this duration. * **Add jitter:** If no header is present, pause your execution for a base delay (e.g., 2 seconds), then double the delay on subsequent failures (e.g., 2s, 4s, 8s, 16s). Introduce a small randomized "jitter" interval to prevent synchronous request spikes from your servers.
3. Establish a Local Queue System Do not send prompts to the Midjourney interface in parallel batches. Instead, build a local queue system (such as Redis/BullMQ or a basic in-memory queue) to manage outgoing traffic. * **Respect concurrent job limits:** Midjourney Standard and Pro plans restrict you to 3 concurrent active jobs in "Fast" mode. Ensure your local queue does not dispatch a new `/imagine` request until one of your 3 active jobs has resolved or failed. * **Throttle dispatch rates:** Keep your local dispatch rate below 1 request every 5 to 10 seconds to avoid triggering automated spam-detection algorithms.
4. Adjust Discord Automation Settings If you are using Discord user tokens (self-botting) to automate interactions with the Midjourney bot, you are violating Discord’s Terms of Service, which aggressively triggers 429 blocks. * **Use official slash commands:** Ensure your bot uses proper Discord slash command payloads rather than simulating a user manually typing text. * **Introduce human-like delay patterns:** If simulating interactions, randomize delays between 3000ms and 7000ms to mimic organic human activity.
5. Rotate API Keys or Gateway Proxies If your third-party API provider enforces strict IP-based or key-based rate limits: * **Distribute traffic:** Distribute your requests across multiple authorized API keys if your provider supports workspace-level or team-level rotation. * **Avoid blocked IP blocks:** Verify that your backend server is not hosted on an IP range (such as certain AWS or DigitalOcean regions) that has been pre-emptively rate-limited or flagged by Cloudflare.
---
When to Escalate
If you have implemented local queuing and exponential backoff but still receive persistent 429 errors: * Check Service Status: Visit the Midjourney Discord server's #status channel or your third-party provider's status page. Global outages or database migrations can sometimes mirror rate-limit errors. * Upgrade Your Plan: If you are frequently hitting Midjourney's concurrent job limits, upgrade your subscription to the Pro or Mega tier, which permits up to 12 concurrent fast jobs. * Contact Your API Provider: If you pay for an intermediary Midjourney API service, open a support ticket with your request logs to request a custom rate limit limit allocation for your account.