DJ Fresh presents FastQL - prototype & publish a GraphQL API

By Michał Tyszkiewicz

If you’re into Drum and Bass or UK Dance music there's a pretty good chance that you’ve heard of Dj Fresh or that you’ve heard some of his hits on youtube (where he has almost 240 million views and almost 400k subscribers) on the radio or in the clubs. If you're wondering why I'm writing about that here (as this isn't really a blog about music) you should check out what the author of the hit single Gold Dust has been working on lately.

2022 was a pretty big year for artificial intelligence with AI-generated images from MidJourney or Dall-E mini being all the craze for quite a while. With their simple text-to-image interface, it was easy enough to play around with for basically everyone. While it was admittedly fun to play around with generating images of the pope riding a dinosaur or whatever, the bigger implications are for using them professionally. For a simple use case as a copywriter I often need images either for blog posts or website content and usually, I simply have to wait for a graphic designer to create them. Well, I had to before to be exact as that’s where things like FastQL come in.

FastQL

With FastQL you can quickly prototype and publish a GraphQL API around models like the AI-generated image models from Midjourney, Stable Diffusion or RunwayML (or something less controversial like Huggingface's Mitsua Diffusion which is trained only on public and copyright-free data). While this already sounds cool for a non-coder like myself the key focus here, as the name implies, is on being fast. That's why the key here is using strongly-typed languages to speed up performance:

  • GraphQL: enables data fetching with a single API call, eliminates over-fetching and provides type-safety.
  • Rust: is a performance-focused low-level programming language. That's why under the hood, FastQL uses the powerful and extremely fast ActiX Rust web server, enabling 20ms response time

Usage example

The more impressive part is how it actually works, a single line of code describing your graphql schema leads to a powerful rust API being autogenerated where you can query it via the friendly GraphQL Playground API or with a straight GraphQL query without having to write any API code. Then all you have to do is call the API with a simple query containing the description of what you want to receive.

{
  Model(prompt: "blog post header image with a DJ") {
    images
  }
}

After that, you'll get a response with a link to the generated image, which you can use for (in this example a blogpost header) Obviously the code is secondary here as you could just as easily implement this API into a cms of your choice (like say a markdown editor) and enable its users to get AI-generated images on the fly.

Fine-tuning

Random AI-generated images are fun in a lot of cases, but you can also personalize them with FastQL by using DreamBooth. This way you can get an image of yourself in front of the Taj Mahal, on top of Mount Everest or anything you can come up with really. While that sounds complicated the process is actually really simple. First, upload 10-12 images (of for example yourself) to a Google Drive folder. Set it to share content with everyone with the link and then prep the tool by giving it that link so that it can analyze the images by using a simple query:

{
  Model(
    fine_tune_photo_description: "photos of michal"
    gdrive_folder_of_images_link: "https://drive.google.com/drive/folders/example"
  ) {
    images
  }
}

After approximately five minutes the tool is ready to provide you personalized images using the same type of prompt description as before:

{
  Model(prompt: "michal on top of Mount Everest") {
    images
  }
}

As you can see FastQL is a great tool to make it easy to create APIs around AI models. It can be connected with some application or cms, letting you use them wherever you need, and in a fast and efficient way (without requiring any knowledge of programming). Going back to the author, it's safe to say DJ Fresh is still putting out hits in 2023, although of a different variety, so give him a follow on GitHub as well as on Youtube.

Check out the repo on GitHub or read about it in Dan's piece on medium.

Michał Tyszkiewicz

Michał Tyszkiewicz

Content Ninja

When his head is not between the hoops, he's busy creating content & planning the next marketing automation.

Could use some help with GraphQL?

Michał Tyszkiewicz

Michał Tyszkiewicz

Content Ninja

When his head is not between the hoops, he's busy creating content & planning the next marketing automation.

Could use some help with GraphQL?

Next Article

DevTranslate a new online json translator app for developers

Read article
Next Article

DevTranslate a new online json translator app for developers

Read article
Share
Fast Landing Pages
Plugins
Let's start working together!
What we can do
Let's start working together!