Create or update Midjourney account information

December 2023 (August 5, 2025)

Table of contents

  1. Request Headers
  2. Request Body
  3. Responses
  4. Model
  5. Examples
  6. Try It

You must configure a Midjourney API account before making calls using the Midjourney API. If you specify multiple Midjourney accounts, the API will automatically perform load balancing by randomly selecting an account with available capacity before making calls to Discord / Midjourney.

https://api.useapi.net/v2/account/midjourney

Request Headers
Authorization: Bearer {API token}
Request Body
{
    "discord": "Discord token",
    "maxJobs": 1-15,
}
  • discord is required. Please see Setup Midjourney for details.

  • maxJobs is optional and will be set to 3 if not provided. This value should be equal to or less than the Maximum Concurrent Jobs allowed by your Midjourney subscription plan (see plan comparison). Currently, it should be 3 or less for Basic and Standard plans, and 15 or less for Pro and Mega plans.
    Important: Specifying a higher number than supported by your Midjourney subscription will prevent the API from functioning properly.

Responses
  • 200 OK

    Existing Midjourney API account was updated.

    {
        "discord": "<discord token>",
        "channel": "<Midjourney private channel id>",
        "maxJobs": 1-15
    }
    
  • 201 Created

    New Midjourney API account was created.

    {
        "discord": "<discord token>",
        "channel": "<Midjourney private channel id>",
        "maxJobs": 1-15
    }
    
  • 400 Bad Request

    {
      "error": 
        "Required param discord is missing or empty"
        "Required param maxJobs <maxJobs> can't be more that <maxConcurrentJobs>"
        "Channel <channel> configuration has same discord value"
        "`Midjourney bot not configured"
      "code": 400
    }
    
  • 401 Unauthorized

    {
      "error": "Unauthorized",
      "code": 401
    }
    
  • 402 Payment Required

    {
        "error": 
            "Account has no subscription or subscription expired"
            "Subscription quantity exceeded, see https://useapi.net/docs/subscription",
        "code": 402
    }
    
Model
{ // TypeScript, all fields are optional
  discord: string, 
  channel: string,
  maxJobs: number,
  error: string,
  errorDetails: string,
  code: number
}
Examples
  • curl -H "Accept: application/json" \
         -H "Content-Type: application/json" \
         -H "Authorization: Bearer …" \
         -X POST https://api.useapi.net/v2/account/midjourney \
         -d '{"discord": "…", "maxJobs": …}'
    
  • const apiUrl = `https://api.useapi.net/v2/account/midjourney`; 
    const token = "API token";
    const discord = "Discord token";
    const maxJobs = 3;
    const data = { 
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${token}`,
        'Content-Type': 'application/json' }
    };
    data.body = JSON.stringify({ 
      discord, maxJobs
    });
    const response = await fetch(apiUrl, data);
    const result = await response.json();
    console.log("response", {response, result});
    
  • import requests
    apiUrl = f"https://api.useapi.net/v2/account/midjourney" 
    token = "API token"
    discord = "Discord token"
    maxJobs = 3
    headers = {
        "Content-Type": "application/json", 
        "Authorization" : f"Bearer {token}"
    }
    body = {
        "discord": f"{discord}", 
        "maxJobs": maxJobs
    }
    response = requests.post(apiUrl, headers=headers, json=body)
    print(response, response.json())
    
Try It