midjourney_client 0.3.3-alpha copy "midjourney_client: ^0.3.3-alpha" to clipboard
midjourney_client: ^0.3.3-alpha copied to clipboard

Unofficial midjourney client that gives you possibility to generates images! Now, it utilizes the Discord API to communicate with the bot.

Midjourney Client (Unofficial) #

This is an unofficial client for Midjourney that interfaces with the authentic Midjourney Bot via a Discord account token. As of now, it's stability has not been thoroughly tested. Consequently, it is advised against utilizing this client in production environments.

Table of Contents #

Install #

For a flutter project, consider running this command:

flutter pub add midjourney_client

For a dart project, consider running this command:

dart pub add midjourney_client

This installs the midjourney_client library and its dependencies.

Usage #


import 'dart:async';

import 'package:midjourney_client/midjourney_client.dart' as midjourney_client;

Future<void> main(List<Object> arguments) async {
  final client = midjourney_client.Midjourney();

  await client.initialize(
    channelId: Env.channelId,
    serverId: Env.serverId,
    token: Env.token,
  );

  final imagine = client.imagine('Elephant on a tree')..listen(print);

  final result = await imagine.last;

  final upscaled = client.upscale(result, 1)..listen(print);
  final uResult = await upscaled.last;

  print(uResult);
}

Set up #

Pre-requisites:

How to get server id & channel id #

  1. Open Discord app
  2. Open your server
  3. Right click on the message inside the channel you want to use
  4. Copy link to message, this should look like https://discord.com/channels/${SERVER_ID}/${CHANNEL_ID}/${MESSAGE_ID}
  5. Extract SERVER_ID and CHANNEL_ID from the link

How to get token #

This one is a bit tricky, but here's how you can get it:

  1. Login to discord web app
  2. Open developer tools, head for Network tab
  3. Send a message to the channel you want to use or reload the page
  4. Click on a random request and go to request headers
  5. Find Authorization header and extract the value, it is your token

Examples #

This examples will instantiate a websocket connection to Discord Server and act as a Discord client sending messages to the channel specified by the CHANNEL_ID environment variable. The SERVER_ID environment variable is used to identify the server to which the channel belongs. The TOKEN environment variable is used to authenticate the client.

Imagine #

This example will trigger /imagine command on the Midjourney Bot and print the result.

dart run --define=SERVER_ID="" --define=CHANNEL_ID="" --define=TOKEN="" example/imagine.dart
import 'dart:async';
import 'dart:io';

import 'package:midjourney_client/midjourney_client.dart' as midjourney_client;

import 'env.dart';

Future<void> main(List<Object> arguments) async {
  final client = midjourney_client.Midjourney();

  await client.initialize(
    channelId: Env.channelId,
    serverId: Env.serverId,
    token: Env.token,
  );

  final imagine = client.imagine('Cat in a hat')..listen(print);

  final result = await imagine.last;

  print('Result: $result');
  exit(0);
}

Variation #

This example will trigger /imagine command on the Midjourney Bot, wait and trigger first variation.

dart run --define=SERVER_ID="" --define=CHANNEL_ID="" --define=TOKEN="" example/variations.dart
import 'dart:async';
import 'dart:io';

import 'package:midjourney_client/midjourney_client.dart' as midjourney_client;

import 'env.dart';

Future<void> main(List<Object> arguments) async {
  final client = midjourney_client.Midjourney();

  await client.initialize(
    channelId: Env.channelId,
    serverId: Env.serverId,
    token: Env.token,
  );

  final imagine = client.imagine('Cat with sword')..listen(print);

  final result = await imagine.last;

  final variation = client.variation(result, 1)..listen(print);

  final vResult = await variation.last;

  print(vResult);
  exit(0);
}

Upscale #

This example will trigger /imagine command on the Midjourney Bot, wait and trigger first upscale.

dart run --define=SERVER_ID="" --define=CHANNEL_ID="" --define=TOKEN="" example/upscale.dart
import 'dart:async';
import 'dart:io';

import 'package:midjourney_client/midjourney_client.dart' as midjourney_client;

import 'env.dart';

Future<void> main(List<Object> arguments) async {
  final client = midjourney_client.Midjourney();

  await client.initialize(
    channelId: Env.channelId,
    serverId: Env.serverId,
    token: Env.token,
  );

  final imagine = client.imagine('Cat with a sword')..listen(print);

  final result = await imagine.last;

  final upscaled = client.upscale(result, 1)..listen(print);

  final uResult = await upscaled.last;

  print('Result: $uResult');
  exit(0);
}
10
likes
0
points
72
downloads

Publisher

verified publisherlazebny.io

Weekly Downloads

Unofficial midjourney client that gives you possibility to generates images! Now, it utilizes the Discord API to communicate with the bot.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

http, meta, path, snowflaker, ws

More

Packages that depend on midjourney_client