Stable Diffusion Aesthetic Gradients: A Complete Guide
Tags: ai, node
Published: 2023-04-29 17:05:49

Have you ever wished you could bring your imagination to life with the help of AI-generated images? Well, now you can! In this blog post, I'll introduce you to an AI model that can generate mesmerizing images from your text prompts. This guide will walk you through using the Stable Diffusion Aesthetic Gradients model, ranked 409th on [Replicate Codex](https://replicatecodex.com/?ref=notes.replicatecodex.com). We'll also see how we can use Replicate Codex to find similar models and decide which one we like. Let's begin.

## About the Stable Diffusion Aesthetic Gradients Model

This AI model, called Stable Diffusion Aesthetic Gradients, is created by [cjwbw](https://replicatecodex.com/creators/cjwbw?ref=notes.replicatecodex.com) and is designed to generate captivating images from your text prompts. You can find the model's details on its [detail page](https://www.replicatecodex.com/models/211?ref=notes.replicatecodex.com). The model offers a wide range of customization options to help you create the perfect image for your creative project.

### What are aesthetic gradient embeddings?

Aesthetic gradient embeddings are a fascinating aspect of AI models that involve the use of textual inversion. But first, let's understand what an embedding is.

An embedding is the outcome of textual inversion, which is a method used to define new keywords in a model without modifying it. This approach has gained popularity because it can introduce new styles or objects to a model using as few as 3-5 sample images.

### What is textual inversion?

Textual inversion works in a unique way. Its most impressive feature is not the ability to add new styles or objects, as other fine-tuning methods can do that too, but the fact that it can achieve this without changing the model. The process involves defining a new keyword that's not in the model for the new object or style. This new keyword gets tokenized (represented by a number) like any other keywords in the prompt. Each token is then converted into a unique embedding vector used by the model for image generation. Textual inversion finds the embedding vector of the new keyword that best represents the new style or object, without modifying any part of the model. Essentially, it's like finding a way within the language model to describe the new concept.

### How can you use embeddings?

Embeddings can be used for new objects, such as injecting a toy cat into an image. The new concept (toy cat) can be combined with other existing concepts (boat, backpack, etc.) in the model. Embeddings can also represent a new style, allowing the transfer of that style to different contexts.

If you're looking for a repository of custom embeddings, Hugging Face hosts the Stable Diffusion Concept Library, which contains a large number of them.

## Understanding the Inputs and Outputs of the Stable Diffusion Aesthetic Gradients Model

Before diving into the step-by-step guide, let's first understand the inputs and outputs of this model.

### Inputs

* **prompt** (string): The text prompt to render. Default value: "a painting of a rvirus monster playing guita"
    
* **n\_samples** (integer): How many samples to produce for each given prompt. A.k.a. batch size. Allowed values: 1, 4. Default value: 1
    
* **width** (integer): Width of the output image. Scale down if run out of memory. Allowed values: 128, 256, 512, 768, 1024. Default value: 512
    
* **height** (integer): Height of the output image. Scale down if run out of memory. Allowed values: 128, 256, 512, 768, 1024. Default value: 512
    
* **scale** (number): Unconditional guidance scale: eps = eps(x, empty) + scale \* (eps(x, cond) - eps(x, empty)). Default value: 7.5
    
* **ddim\_steps** (integer): Number of ddim sampling steps. Default value: 50
    
* **plms** (boolean): Set to true to use plms sampling. Default value: false
    
* **aesthetic\_embedding** (string): Aesthetic embedding file. Allowed values: gloomcore, flower\_plant, sac\_8plus, cloudcore, aivazovsky, glowwave, fantasy, laion\_7plus. Default value: sac\_8plus
    
* **aesthetic\_steps** (integer): Number of steps for the aesthetic personalization. Default value: 10
    
* **seed** (integer): The seed (for reproducible sampling).
    

### Outputs

The output of the model is an array of URI strings, each representing an image generated based on the input parameters provided.

Now that we understand the inputs and outputs, let's move on to the step-by-step guide for using the model.

## A Step-by-Step Guide to Using the Stable Diffusion Aesthetic Gradients Model

If you're not up for coding, you can interact directly with this model's "demo" on Replicate via their UI. You can use [this link](https://replicate.com/cjwbw/stable-diffusion-aesthetic-gradients/examples?ref=notes.replicatecodex.com) to interact directly with the interface and try it out! This is a nice way to play with the model's parameters and get some quick feedback and validation. If you do want to use coding, this guide will walk you through how to interact with the model's Replicate API.

### Step 1: Install the Node.js client

First, install the Node.js client by running the following command:

```bash
npm install replicate
```

### Step 2: Set up your API token

Next, copy your API token and authenticate by setting it as an environment variable:

```bash
export REPLICATE_API_TOKEN=[token]
```

### Step 3: Run the model

Now, you can run the model with the following code:

```javascript
import Replicate from "replicate";

const replicate = new Replicate({
  auth: process.env.REPLICATE_API_TOKEN,
});

const output = await replicate.run(
  "cjwbw/stable-diffusion-aesthetic-gradients:e2589736f21fd0479499a6cd55002f75085f791c0780c987dc0925f8e2bcb070",
  {
    input: {
      prompt: "Roman city on top of a ridge, sci-fi illustration by Greg Rutkowski #sci-fi detailed vivid colors gothic concept illustration by James Gurney and Zdzislaw Beksiński vivid vivid colorsg concept illustration colorful interior
"
    }
  }
);
```

![Example output](https://notes.replicatecodex.com/content/images/2023/04/out-2.png align="left")

*Output image from the sample input.*

You can also specify a webhook URL to be called when the prediction is complete. Take a look at the webhook docs for details on setting that up. For example:

```javascript
const prediction = await replicate.predictions.create({
  version: "e2589736f21fd0479499a6cd55002f75085f791c0780c987dc0925f8e2bcb070",
  input: {
    prompt: "a painting of a rvirus monster playing guita"
  },
  webhook: "https://example.com/your-webhook",
  webhook_events_filter: ["completed"]
});
```

To learn more, take a look at the Node.js library documentation.

##   
Taking it Further - Finding Other Text-to-Image Models with Replicate Codex

Replicate Codex is a fantastic resource for discovering AI models that cater to various creative needs, including image generation, image-to-image conversion, and much more. It's a fully searchable, filterable, tagged database of all the models on Replicate, and also allows you to compare models and sort by price or explore by the creator. It's free, and it also has a digest email that will alert you when new models come out so you can try them.

If you're interested in finding similar models to Stable Diffusion Aesthetic Gradients...

### Step 1: Visit Replicate Codex

Head over to [Replicate Codex](https://replicatecodex.com/?ref=notes.replicatecodex.com) to begin your search for similar models.

### Step 2: Use the Search Bar

Use the search bar at the top of the page to search for models with specific keywords, such as "anime style" or "selfie." This will show you a list of models related to your search query.

### Step 3: Filter the Results

On the left side of the search results page, you'll find several filters that can help you narrow down the list of models. You can filter and sort by models by type (Image-to-Image, Text-to-Image, etc.), cost, popularity, or even specific creators.

By applying these filters, you can find the models that best suit your specific needs and preferences. For example, if you're looking for an [image restoration model](https://notes.replicatecodex.com/breathe-new-life-into-old-photos-with-ai-a-beginners-guide-to-gfpgan/) that's the cheapest or most popular, you can search and then sort by the relevant metric.

## Conclusion

In this guide, we walked through the process of using the Stable Diffusion Aesthetic Gradients model to generate captivating images from text prompts. We also discussed how to leverage the search and filter features in Replicate Codex to find similar models and compare their outputs, allowing us to broaden our horizons in the world of AI-powered image generation.

I hope this guide has inspired you to explore the creative possibilities of AI and bring your imagination to life. Don't forget to subscribe for more tutorials, updates on new and improved AI models, and a wealth of inspiration for your next creative project. Happy image enhancing and exploring the world of AI with [Replicate Codex](https://replicatecodex.com/?ref=notes.replicatecodex.com), check out additional guides and resources at [Notes by Replicate](https://notes.replicatecodex.com/), and follow me on [Twitter](https://twitter.com/mikeyoung44?ref=notes.replicatecodex.com) for more updates and insights.