Skip to content

MidJourney client. Unofficial Node.js client

License

Notifications You must be signed in to change notification settings

rarago/midjourney-api

Repository files navigation

midjourney-client

Node.js client for the unofficial MidJourney api.

English / 中文文档

Discord server npm version

What's new

Example

To run the included example, you must have Node.js installed. Then, run the following commands in the root directory of this project:

  1. clone the repository

    git clone https://github.com/erictik/midjourney-client.git
    cd midjourney-client
  2. install dependencies

    yarn
    # or npm
    npm install
  3. set the environment variables

  • Login Discord
    F12 OR Ctrl + Shift + I (or Command + Option + I on Mac) to open the developer tools AND paste the following code into the console

    window.webpackChunkdiscord_app.push([
      [Math.random()],
      {},
      (req) => {
        for (const m of Object.keys(req.c)
          .map((x) => req.c[x].exports)
          .filter((x) => x)) {
          if (m.default && m.default.getToken !== undefined) {
            return copy(m.default.getToken());
          }
          if (m.getToken !== undefined) {
            return copy(m.getToken());
          }
        }
      },
    ]);
    console.log("%cWorked!", "font-size: 50px");
    console.log(`%cYou now have your token in the clipboard!`, "font-size: 16px");

    OR use network your Discord TOKEN

  • Join my discord server

    export SERVER_ID="1082500871478329374"
    export CHANNEL_ID="1094892992281718894"
    
  • OR Create a server and Invite Midjourney Bot to Your Server

    # How to get server and channel ids:
    when you click on a channel in your server in the browser expect to have the follow URL pattern `https://discord.com/channels/$SERVER_ID/$CHANNEL_ID`
    export SERVER_ID="your-server-id"
    export CHANNEL_ID="your-channel-id"
  • wirte your token to .env file or set the environment variables

      #example variables, please set up yours
    
      export SERVER_ID="1082500871478329374"
      export CHANNEL_ID="1094892992281718894"
      export SALAI_TOKEN="your-discord-token"
  • Then, run the example with the following command:

    npx tsx example/imagine-ws.ts

    OR

    yarn example:imagine
    # or npm
    npm run example:imagine
  • more example

Usage

  1. Install

    npm i midjourney
    # or
    yarn add midjourney
  2. Use Imagine 、Variation and Upscale

    import { Midjourney } from "midjourney";
    const client = new Midjourney({
      ServerId: <string>process.env.SERVER_ID,
      ChannelId: <string>process.env.CHANNEL_ID,
      SalaiToken: <string>process.env.SALAI_TOKEN,
      Debug: true,
      Ws: true,
    });
    await client.Connect();
    const Imagine = await client.Imagine(
      "A little pink elephant",
      (uri: string, progress: string) => {
        console.log("Imagine", uri, "progress", progress);
      }
    );
    console.log({ Imagine });
    
    const Variation = await client.Variation({
      index: 2,
      msgId: <string>Imagine.id,
      hash: <string>Imagine.hash,
      flags: Imagine.flags,
      loading: (uri: string, progress: string) => {
        console.log("Variation.loading", uri, "progress", progress);
      },
    });
    console.log({ Variation });
    const Upscale = await client.Upscale({
      index: 2,
      msgId: <string>Variation.id,
      hash: <string>Variation.hash,
      flags: Variation.flags,
      loading: (uri: string, progress: string) => {
        console.log("Upscale.loading", uri, "progress", progress);
      },
    });
    console.log({ Upscale });

route-map


Projects


Support

If you find it valuable and would like to show your support, any donations would be greatly appreciated. Your contribution helps me maintain and improve the program.

   Buy Me a Coffee

Star History

Star History Chart

About

MidJourney client. Unofficial Node.js client

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.5%
  • JavaScript 0.5%