Questions and Answers

Table of contents

  1. How to avoid Midjourney bans?
  2. Do you validate a user’s prompt to ensure they are passing Midjourney PG13 requirements?
  3. Are you planning to offer a pay-per-use subscription option for the experimental Midjourney API?
  4. How is your experimental Runway API different from the official Runway API?
  5. How is your experimental MiniMax API different from the official MiniMax API?
  6. How POST raw content to runwayml/assets and minimax/files using Make.com and similar nocode tools?

How to avoid Midjourney bans?

Using automation is against Discord and Midjourney’s Terms of Service, so you need to plan accordingly and have backup account(s) ready.

  • The best practice is to create several new Discord accounts and join the Midjourney Discord server. These accounts should be used exclusively for API work and nothing else. We strongly recommend using a VPN to prevent your personal data/IP addresses from being leaked. You can use the Opera browser with built-in VPN or the Brave browser with Tor support.

  • When creating accounts in bulk, make sure to restart Opera/Brave so that your IP is different every time, since Discord tracks and records the IP addresses used to create new accounts. Make sure to log in to the Discord accounts designated for API use through a VPN. When creating new email and Discord accounts, use names closely resembling real names - something that does not look suspicious.

  • Once a Discord account is created, join the Midjourney Discord server and follow the instructions to create your own server and invite the Midjourney bot. If you’re planning to use this account, you can proceed with a Midjourney subscription. It’s a good idea to create several Discord accounts with the Midjourney setup, as described above early on, this will “age” them and make them less suspicious later on when you need to subscribe to Midjourney.

  • When paying for a Midjourney subscription use a virtual credit card number (provided by most major credit card companies) or services like Privacy.com. Make sure to use a credit card name and address that resemble an actual address and name. Use a different name and address for every new Midjourney subscription. Midjourney has access to all payment details and will cross-check banned accounts’ payment information to ban newly created accounts if a match is found.

  • When using the API, try to simulate real users. Avoid running generators 24/7 by establishing quiet hours (for example, you can use two or three accounts and rotate them every 12/8 hours). Midjourney seems to specifically target accounts with a large number of --relax usage, so try to limit those generations to a reasonable number (<300 generations/day). If you heavily rely on --relax, execute at least one fast generation for every NN relax generations.

  • Do not post public links to Discord/Midjourney CDN attachments, they contain your Discord account number and can be used to trace back to your account.

  • Adjust maxJobs parameter to be one less than the maximum possible. For example, for the Pro Plan with a maximum of 12 concurrent jobs, set maxJobs to 11 or even 10.

  • If you ever receive a 504 response code, it means your maxJobs is set to a value higher than your account plan supports. Adjust it accordingly.

  • Finally, monitor for 596 response codes and ensure you check your API email. The API will proactively warn you if you have pending moderation messages or if Midjourney issues a CAPTCHA request.

Do you validate a user’s prompt to ensure they are passing Midjourney PG13 requirements?

The API does not perform any prompt pre-validations. It will return a 422 status code if the job was moderated by Midjourney. If you’re planning to use the API for a public Telegram bot (which is one of the popular use cases) or similar cases where you do not control the quality of the prompt, it may be a good idea to use a combination of a ban/stop word list along with OpenAI ChatGPT/Google Gemini AI to check if the prompts meet Midjourney’s PG13 requirements. Gemini offers a free tier with some RPM (requests per minute) limitations. Keep in mind that Midjourney often bans very innocent prompts and there seems to be very little effort to improve the prompt moderation logic.

Are you planning to offer a pay-per-use subscription option for the experimental Midjourney API?

We have no plans to offer such an option. Instead, we are offering the most competitive API subscription without any kind of limitation on the number of accounts, type (relax/fast/turbo), or number of jobs, and provide full support for all Midjourney functionality.

How is your experimental Runway API different from the official Runway API?

Official Runway API currently only supports Gen-3 Alpha Turbo. The cost for Gen-3 Alpha Turbo 10-second generation is $0.50.

Our experimental Runway API is a reverse-engineered version of runwayml.com. It fully supports all features of Gen-3 Alpha, Gen-3 Alpha Turbo, Act-One, Video to Video, Super-Slow Motion, Gen-2, the LipSync feature, and more. When used along with the Runway Unlimited plan, it allows you to run several hundred generations each day.

On average, you can expect the following numbers for Gen-3 Alpha Turbo 10-second generation:

  • 1 generation completed within 25 seconds
  • 10 generations take about 4 minutes to complete
  • 30 generations take about 12 minutes to complete

If you generate 200+ videos each day, the official API will cost you $0.50 per generation, so 200 generations total about $100. This means the $95 Unlimited plan plan, combined with our $10/month subscription, will pay for itself by the first day.

How is your experimental MiniMax API different from the official MiniMax API?

Official MiniMax API costs $0.43 per single 5-second-long generation.

Our experimental MiniMax API is a reverse-engineered version of hailuoai.video and hailuoai.com. It does not cost you anything to generate as many videos as you wish with a flat monthly subscription fee. You can link as many paid or free Hailuoai accounts to our API as you wish.

With Unlimited Hailuo AI plan or Standard plan for first day, you can expect the following numbers:

  • 1 generation completed within 2 minutes
  • 10 generations take about 20 minutes to complete
  • 30 generations take about an hour to complete

If you generate 250+ videos each day, the official API will cost you $0.43 per generation, so 250 generations total about $107.50. This means the $95 Unlimited plan, combined with our $10/month subscription, will pay for itself by the first day.

How POST raw content to runwayml/assets and minimax/files using Make.com and similar nocode tools?

We recommend using module called 0codekit to run JavaScript and return a result.

0codekit JavaScript example
async function fetchFromURLandPOST(imageURL, name) {
  const apiToken = "<Your useapi.net API key>"; // https://useapi.net/docs/start-here/setup-useapi
  // Runway https://useapi.net/docs/api-runwayml-v1/post-runwayml-assets
  const apiUrl = `https://api.useapi.net/v1/runwayml/assets/?name=${name}`;
  // MiniMax https://useapi.net/docs/api-minimax-v1/post-minimax-files
  // const apiUrl = `https://api.useapi.net/v1/minimax/files/`;

  try {
    // Fetch the image from the URL
    const responseImage = await fetch(imageURL);

    if (!responseImage.ok) 
      throw new Error(`Failed to fetch ${imageURL}: ${responseImage.statusText}`);

    // Convert the response to a Blob
    const blob = await responseImage.blob();

    // Prepare headers for the POST request
    const headers = {
      "Authorization": `Bearer ${apiToken}`, 
      "Content-Type": blob.type,
    };

    // Make the POST request with the blob as the body
    const response = await fetch(apiUrl, {
      method: "POST",
      headers: headers,
      body: blob,
    });

    const result = await response.json();
    return { data: result };
  } catch (error) {
    return { error: error.message };
  }
}

// Calling the function
result = await fetchFromURLandPOST("https:\\website.com\image.jpeg", "my_image");