Skip to content
View midjourney-api's full-sized avatar

Block or report midjourney-api

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
midjourney-api/readme.md

Midjourney API (unofficial)

A simple NPM module that wraps the Midjourney API, providing an easy-to-use interface for interacting with the Midjourney API services.

This service deprecated, take a look at https://apiframe.pro

Installation

npm install midjourney-api

Usage

Import the MidjourneyAPI class and create an instance with your API key and desired options. You can get your API Key and API Base URL at https://apiframe.pro

const MidjourneyAPI = require('midjourney-api');

const apiKey = 'your-api-key';
const verbose = true;

const midjourney = new MidjourneyAPI(apiKey, verbose);

Methods

The module provides the following methods:

  • imagine(prompt, callbackURL): Generate an image using a text prompt.
  • upscale(taskId, position): Upscale one of the 4 generated images by the Imagine command.
  • variations(taskId, position, callbackURL): Create 4 new variations of one of the 4 generated images by the Imagine command.
  • uploadImage(image): Upload an image and get an image URL back.
  • getSeed(taskId, callbackURL): Get the seed of a generated image.
  • describe(image, callbackURL): Writes four example prompts based on an uploaded image.
  • faceswap(targetImageURL, faceImageURL): Swap the face on the target image with the face on source image.
  • getResult(taskId): Get the final result for a submitted job.

For more detailed information about these methods and their parameters, please refer to the Midjourney API documentation.

Example

const MidjourneyAPI = require('midjourney-api');
const fs = require('fs');

const apiKey = 'your-api-key';
const verbose = true;

const midjourney = new MidjourneyAPI(apiKey, verbose);

(async () => {
  /**********  IMAGINE  ***********/

  // Imagine request
  const req1 = await midjourney.imagine('a red knight riding a blue horse', 'turbo');

  // wait 30 seconds
  await new Promise((resolve) => {
    setTimeout(resolve, 20 * 1000);
  });

  // Get result
  const res1 = await midjourney.getResult(req1.taskId);

  /**********  IMAGINE  ***********/

  /**********  UPSCALE IMAGE #2  ***********/

  // Upscale request
  const res2 = await midjourney.upscale(res1.taskId, 2);

  /**********  UPSCALE IMAGE #2 ***********/

  /**********  VARIATIONS OF IMAGE #3 ***********/

  // Variations request
  const req3 = await midjourney.variations(res1.taskId, 3);

  // wait 30 seconds
  await new Promise((resolve) => {
    setTimeout(resolve, 30 * 1000);
  });

  // Get result
  const res3 = await midjourney.getResult(req3.taskId);

  /**********  VARIATIONS OF IMAGE #3  ***********/

  /**********  GET SEED OF THE FIRST COMMAND  ***********/

  // seed request
  const req4 = await midjourney.getSeed(res1.taskId);

  // wait 5 seconds
  await new Promise((resolve) => {
    setTimeout(resolve, 5 * 1000);
  });

  // Get result
  const res4 = await midjourney.getResult(req4.taskId);


  /**********  GET SEED OF THE FIRST COMMAND ***********/


  /**********  DESCRIBE AN IMAGE  ***********/

  // seed request
  const req6 = await midjourney.describe(
    {  // FILE 1
        file: fs.createReadStream('./images/image2.png'),
        name: 'image2.png'
    }
  );

  // wait 30 seconds
  await new Promise((resolve) => {
    setTimeout(resolve, 30 * 1000);
  });

  // Get result
  const res6 = await midjourney.getResult(req6.resultId);

  /**********  DESCRIBE AN IMAGE  ***********/
})();

License

This project is licensed under the MIT License.

Popular repositories Loading

  1. midjourney-api midjourney-api Public archive

    JavaScript 30 2