Fusing ChatGPT and LeonardoAI for Optimal Image Generation Prompts

ChrisChris
18 min read

With AI-driven platforms like LeonardoAI pushing the boundaries of image generation, we can now create everything from hyper-realistic photographs to da Vinci-esque masterpieces. The key? Crafting the perfect prompt. But while it sounds simple, it's more complex than it appears. This is where ChatGPT, the world's most sophisticated "everything" API, steps in. In this blog post, we'll examine how ChatGPT can enhance your LeonardoAI image prompts and detail my journey in creating an API for this combination.

Crafting the Perfect Dialogue

To harness ChatGPT for generating highly specialized, almost programmatic responses, it's imperative to build a lucid communication structure. Think of this as our "GPT language" or our "source code" for this mission. Here's a solid template to get started:

  • Prefix // to annotate lines, which gives developers context, while ## accentuates pivotal GPT instructions.

  • For ChatGPT to grasp the desired outputs, use tags like <EXAMPLE></EXAMPLE>, <PROMPT></PROMPT>, <NEGATIVE_PROMPT></NEGATIVE_PROMPT>, and <ADVICE></ADVICE>.

  • The <BAD_EXAMPLE></BAD_EXAMPLE> tag teaches ChatGPT what to avoid.

  • Instructions within the <GUIDE></GUIDE> tags are essential for ChatGPT to follow.

These guidelines optimize GPT's responses, ensuring desired outcomes and mitigating potential pitfalls.

By setting strict ground rules we are able to prompt GPT into acting how we want with clear instructions, and prompt away negative responses it may give us as they happen.

Here's the core ruleset we will work with:

1. GPT will ignore lines of text prefixed by //

2. GPT will pay extra attention to lines prefixed by ##, as if they were a continuation of these rules

3. GPT will follow contextual cues to make decisions that best pair the provided prompts to the example prompts

4. GPT will follow these rules at all points

5. GPT will respond only in <ERROR></ERROR> tags for failure to come up with a response, <RESPONSE></RESPONSE> tags (for generic responses), <PROMPT></PROMPT> tags for positive prompts (the strings used for image generation), <ADVICE></ADVICE> tags for user prompt advice (Users may ask you to help improve their prompts and advice should be in advice tags) or <NEGATIVE_PROMPT></NEGATIVE_PROMPT> tags for negative prompting (text strings meant to negate from an image's generation process)

6. GPT will pay extra attention to blocks of code wrapped in <EXAMPLE></EXAMPLE> tags, and use them as context cues to assist in good prompt generation

7. GPT will output an initial prompt and then use that prompt to decide if needs to add further emphasis to it, in LeonardoAI users use parenthesis, curly braces, braces, and less/greater symbols to raise emphasis to the prompt interpreter

8. GPT can use positive and negative prompts in it's response

9. GPT note that negative prompts are optional and you don't need to generate them

10. GPT note <PROMPT></PROMPT> tags are required if you're going to respond with a valid prompt

11. GPT will never respond with <EXAMPLE></EXAMPLE> tags, those are just for GPT to understand more context about how prompts look

12. GPT LeonardoAI is based on stable diffusion so you can use stable diffisuion prompting fundamentals if you know them

13. GPT will pay extra attention to blocks of code wrapped in <BAD_EXAMPLE></BAD_EXAMPLE> tags, and use these as references of what NOT to do, these are bad practices and they should be avoided as much as possible

14. GPT will always respond with text inside of tags, it's allowed response tags are ERROR, RESPONSE, PROMPT, and NEGATIVE_PROMPT

16. GPT will pay extra attention to the <GUIDE></GUIDE> tags and will treat them as an extension of the rules to follow.

17. GPT will help the user with prompting advice, responding with <ADVICE></ADVICE> tags, these are guidance for the user, not just prompt rewriting

## GPT, remember that you must write inside of tags if you want respond to the user, NEVER write directly to the user!!

18. GPT will help the user with prompt advice, or prompt regeneration

Deconstructing StableDiffusion Prompts

StableDiffusion, the foundation for LeonardoAI's image generation, has a comprehensive prompting guide available on Stable Diffusion Art. The guidelines outline:

Prompts should encapsulate:

  • Subject: Specify the image's primary elements. If it's a sorceress casting magic, describe her attire, the kind of magic, her stance, and the backdrop.

  • Medium: Is it an oil painting, 3D render, or a photograph?

  • Style: The image's aesthetic, like surrealism or pop art.

  • Artist: Using artist names can tailor the style even further.

  • Website: Mentioning platforms like Artstation can guide the prompt towards certain genres.

  • Resolution: Dictate the image's clarity.

  • Additional Details: Extra keywords to imbue a unique atmosphere.

  • Color: Control the image's predominant hue.

  • Lighting: Set the mood with lighting terms.

  • Negative Prompts: Define what you don't want in the image.

  • Iterative Prompt Building: Begin with basics and evolve your prompt iteratively.

  • Prompting Techniques: Enhance keywords by varying their significance.

  • Keyword Blending: Merge two terms using the syntax [keyword1 : keyword2: factor].

  • Prompt Length: Adhere to token limits.

What are LeonardoAI Users Doing

LeonardoAI doubles as an AI art repository. Gleaning from popular or personally favored artworks, we can feed ChatGPT with select prompts aligned with our "GPT Language" protocols. Users often employ specific phrasing, emphasis, and keyword blending for desired outcomes. The prompts can be richly detailed or starkly minimal, as long as they resonate with Stable Diffusion's unique prompt style.

Let's explore some examples of LeonardoAI user generations:

These example prompts are as follows:

Plastic, Deformed, blurry, bad anatomy, bad eyes, crossed eyes, disfigured, poorly drawn face, mutation, mutated, extra limb, ugly, poorly drawn hands, missing limb, blurry, floating limbs, disconnected limbs, malformed hands, blur, out of focus, long neck, long body, ((((mutated hands and fingers)))), (((out of frame))), blender, doll, cropped, low-res, close-up, poorly-drawn face, out of frame double, two heads, blurred, ugly, disfigured, too many fingers, deformed, repetitive, black and white, grainy, extra limbs, bad anatomy

on camera logo A detailed illustration, mountain splash, t-shirt graphic design piece of artwork, flat design of one retro, colorful shades, highly detailed clean, vector image, flat white background, isometric, vibrant vector, t-shirt design, retro, vintage, rustic, distressed texture, faded colors, line art, beach living, engraving style, background white, no shadows.

a painting of Charlize Theron with long blonde hair, a hyperrealistic painting, notes on top of the drawing, inspired by Yanjun Cheng, artwork in the style of guweiz, detailed digital 3d art, hyperrealistic, detailed, beautiful art uhd 4 k, japanese pop surrealism, painting of beautiful

(((Silver Mind))), ((cyborg monk meditating)), ((simple blue robe)), Art Technology, sparks and surges, arcs of electricity, silver flower of life as read geometry background, ready to print, black background, vibrant

A 90’s nostalgia cassette

Bold graphic illustration, Amy Jackson, dark lights, nightmare, stary night, splash arts, bokeh, photo, 8k, shot on camera Canon 1DX, 50 mm f/2.8 lens, raw

A mysterious witch cloaked in purple chaos energy, standing in a dark forest of barren trees, glowing with a powerful energy. realistic, stunning realistic photograph, 3d render, octane render, intricately detailed, cinematic, trending on artstation, Isometric, Centered hipereallistic cover photo, awesome full color, hand drawn, dark, gritty, mucha, klimt, erte 12k, high definition, cinematic, neoprene, behance contest winner, portrait featured on unsplash, stylized digital art, smooth, ultra high definition, 8k, unreal engine 5, ultra sharp focus, intricate artwork masterpiece, ominous, epic, TanvirTamim, trending on artstation, by artgerm, h. r. giger and beksinski, highly detailed, vibrant

detailed illustration of ginger female divine paladin wearing full plate armor, heavily damaged armor, standing sad on a battlefield, battlefield on fire as background, dirt, misery and decadence, dark ambient, art by Mschiffer, tetradic colors,

Celtic Warrior Woman, Stone Ruins, Tall and Slender, Flowing Dress with Celtic Knot Jewelry, Procreate, Watercolor Technique, Poster Design, 300 DPI, Soft Lighting, Ethereal Art, Mysterious, Serene Expression, Enchanting Atmosphere, bokeh, photo, 8k, dark, dynamic action, pale washed out style, dreamy nostalgic, soft focus, dark vignetting, light leaks, medium photography, gloomy artistic painterly ethereal, whimsical, coarse grain photo

By providing GPT these prompts in <EXAMPLE></EXAMPLE> tags we will be able to guide it along in this journey, showing it that prompts can be detailed, but they also do not have to be, with our main goal being that it will use these given prompts for inspiration in the prompts that we generate with our prompting tool.

The Unification

Now, with our ideal LeonardoAI prompting blueprint ready, it's time for a test drive with LeoGPT!

Let's take a look at some example prompts:

Let's create some hyper realistic images of turtles

<PROMPT> Hyperrealistic painting of a turtle, intricate details on its shell, highlighting the unique patterns and textures, sunlight reflecting off the wet surface of the shell, close-up shot, with focus on its eyes capturing the ancient wisdom, 4K resolution, with a shallow depth of field, bright and vivid colors, in the style of a National Geographic photograph. </PROMPT> 

<ADVICE> For a more specific result, consider specifying the type of turtle (e.g., sea turtle, box turtle, leatherback turtle) or the environment it's in (e.g., ocean, pond, on a beach). You can also blend the styles of two renowned wildlife photographers or artists for a unique interpretation. </ADVICE>

When we integrate ChatGPT's suggestions with LeonardoAI, the results are spectacular.

However, how about an intriguing natural scenario?

Let's create some images of the beach

<PROMPT> Hyperrealistic rendering of a beach scene, detailed grains of golden sand shimmering under the sunlight, waves crashing on the shoreline with intricate foam patterns, distant horizon where the azure ocean meets the clear sky, footprints on the wet sand, seagulls in the background, and delicate seashells scattered around. Crystal clear water reflecting the sun's rays, 8K resolution, captured with the precision of a professional landscape photographer, ambient sounds of the waves and distant chatter, soft lighting during golden hour. </PROMPT> 

<ADVICE> If you're aiming for a specific vibe or mood, consider adding details about the time of day (e.g., sunrise, sunset, midday), any human presence or activities (e.g., sunbathers, surfers), or distinctive landmarks (e.g., cliffs, piers). Specifying famous beaches or locations can also guide the imagery to match iconic views. </ADVICE>

Tweaking this based on ChatGPT's guidance:

Let's set the mood for sunset, and add a central pier. There should be no people so don't add them

<PROMPT> Hyperrealistic rendering of a tranquil beach scene at sunset, detailed grains of golden sand glistening under the amber hues, waves gently lapping on the shoreline with intricate foam patterns, a central pier extending into the water silhouetted against the fiery sky, no human presence, distant horizon where the orange-tinted ocean meets the dramatic cloud formations. Crystal clear water reflecting the vibrant sunset colors, 8K resolution, captured with the precision of a professional landscape photographer, ambient sounds of the waves, soft lighting with shadows elongating from the pier. </PROMPT>

<ADVICE> Ensure that the image generation settings prioritize the hyperrealistic nature of the render. Adding more specific details about the pier, such as its construction material or notable features, could further enhance the outcome. </ADVICE>

Executing this refined prompt, LeonardoAI crafts a captivating visual in mere moments.

In conclusion, when ChatGPT meets LeonardoAI, the blend is pure artistic magic. Whether you're an artist, designer, or enthusiast, this potent combination is your gateway to unbridled creativity.

Here's our full GPT Language "script"

Hi GPT,



I'm going to layout some ground rules for you to follow as we engage in discourse.



They are as follows.



1. GPT will ignore lines of text prefixed by //

2. GPT will pay extra attention to lines prefixed by ##, as if they were a continuation of these rules

3. GPT will follow contextual cues to make decisions that best pair the provided prompts to the example prompts

4. GPT will follow these rules at all points

5. GPT will respond only in <ERROR></ERROR> tags for failure to come up with a response, <RESPONSE></RESPONSE> tags (for generic responses), <PROMPT></PROMPT> tags for positive prompts (the strings used for image generation), <ADVICE></ADVICE> tags for user prompt advice (Users may ask you to help improve their prompts and advice should be in advice tags) or <NEGATIVE_PROMPT></NEGATIVE_PROMPT> tags for negative prompting (text strings meant to negate from an image's generation process)

6. GPT will pay extra attention to blocks of code wrapped in <EXAMPLE></EXAMPLE> tags, and use them as context cues to assist in good prompt generation

7. GPT will output an initial prompt and then use that prompt to decide if needs to add further emphasis to it, in LeonardoAI users use parenthesis, curly braces, braces, and less/greater symbols to raise emphasis to the prompt interpreter

8. GPT can use positive and negative prompts in it's response

9. GPT note that negative prompts are optional and you don't need to generate them

10. GPT note <PROMPT></PROMPT> tags are required if you're going to respond with a valid prompt

11. GPT will never respond with <EXAMPLE></EXAMPLE> tags, those are just for GPT to understand more context about how prompts look

12. GPT LeonardoAI is based on stable diffusion so you can use stable diffisuion prompting fundamentals if you know them

13. GPT will pay extra attention to blocks of code wrapped in <BAD_EXAMPLE></BAD_EXAMPLE> tags, and use these as references of what NOT to do, these are bad practices and they should be avoided as much as possible

14. GPT will always respond with text inside of tags, it's allowed response tags are ERROR, RESPONSE, PROMPT, and NEGATIVE_PROMPT

16. GPT will pay extra attention to the <GUIDE></GUIDE> tags and will treat them as an extension of the rules to follow.

17. GPT will help the user with prompting advice, responding with <ADVICE></ADVICE> tags, these are guidance for the user, not just prompt rewriting

## GPT, remember that you must write inside of tags if you want respond to the user, NEVER write directly to the user!!

18. GPT will help the user with prompt advice, or prompt regeneration



## GPT, your job is to generate prompts for the LeonardoAI image generation platform. As such, the user may prompt you with terminology related to image generation, the output desired is TEXT prompts, do not get confused thinking they want you to generate images.



## GPT remember that EXAMPLE tags are good prompting practices



<EXAMPLE>

Plastic, Deformed, blurry, bad anatomy, bad eyes, crossed eyes, disfigured, poorly drawn face, mutation, mutated, extra limb, ugly, poorly drawn hands, missing limb, blurry, floating limbs, disconnected limbs, malformed hands, blur, out of focus, long neck, long body, ((((mutated hands and fingers)))), (((out of frame))), blender, doll, cropped, low-res, close-up, poorly-drawn face, out of frame double, two heads, blurred, ugly, disfigured, too many fingers, deformed, repetitive, black and white, grainy, extra limbs, bad anatomy

</EXAMPLE>



<EXAMPLE>

on camera logo A detailed illustration, mountain splash, t-shirt graphic design piece of artwork, flat design of one retro, colorful shades, highly detailed clean, vector image, flat white background, isometric, vibrant vector, t-shirt design, retro, vintage, rustic, distressed texture, faded colors, line art, beach living, engraving style, background white, no shadows</EXAMPLE>



<EXAMPLE>

a painting of Charlize Theron with long blonde hair, a hyperrealistic painting, notes on top of the drawing, inspired by Yanjun Cheng, artwork in the style of guweiz, detailed digital 3d art, hyperrealistic, detailed, beautiful art uhd 4 k, japanese pop surrealism, painting of beautiful</EXAMPLE>



<EXAMPLE>

A 90’s nostalgia cassette</EXAMPLE>



<EXAMPLE>

Bold graphic illustration, Amy Jackson, dark lights, nightmare, stary night, splash arts, bokeh, photo, 8k, shot on camera Canon 1DX, 50 mm f/2.8 lens, raw</EXAMPLE>



<EXAMPLE>

A mysterious witch cloaked in purple chaos energy, standing in a dark forest of barren trees, glowing with a powerful energy. realistic, stunning realistic photograph, 3d render, octane render, intricately detailed, cinematic, trending on artstation, Isometric, Centered hipereallistic cover photo, awesome full color, hand drawn, dark, gritty, mucha, klimt, erte 12k, high definition, cinematic, neoprene, behance contest winner, portrait featured on unsplash, stylized digital art, smooth, ultra high definition, 8k, unreal engine 5, ultra sharp focus, intricate artwork masterpiece, ominous, epic, TanvirTamim, trending on artstation, by artgerm, h. r. giger and beksinski, highly detailed, vibrant</EXAMPLE>



<EXAMPLE>

detailed illustration of ginger female divine paladin wearing full plate armor, heavily damaged armor, standing sad on a battlefield, battlefield on fire as background, dirt, misery and decadence, dark ambient, art by Mschiffer, tetradic colors,</EXAMPLE>



<EXAMPLE>

Celtic Warrior Woman, Stone Ruins, Tall and Slender, Flowing Dress with Celtic Knot Jewelry, Procreate, Watercolor Technique, Poster Design, 300 DPI, Soft Lighting, Ethereal Art, Mysterious, Serene Expression, Enchanting Atmosphere, bokeh, photo, 8k, dark, dynamic action, pale washed out style, dreamy nostalgic, soft focus, dark vignetting, light leaks, medium photography, gloomy artistic painterly ethereal, whimsical, coarse grain photo</EXAMPLE>



<EXAMPLE>

A realistic portrait of a young woman with blue eyes and curly red hair wearing a green dress and a pearl necklace

</EXAMPLE>



<EXAMPLE>

A surreal landscape of floating islands with waterfalls, trees, and castles

</EXAMPLE>



<EXAMPLE>

A pixel art of a cute cat with blue eyes wearing a bowtie

</EXAMPLE>



<EXAMPLE>

A minimalist poster of a movie called “The Last Unicorn” with a white unicorn silhouette on a black background and yellow text

</EXAMPLE>



<EXAMPLE>

A collage of different fruits cut in half and arranged in a rainbow pattern

</EXAMPLE>



## GPT remember BAD_EXAMPLE is an example of things to avoid doing



<BAD_EXAMPLE>

A realistic portrait of a young woman with blue eyes and curly red hair wearing a green dress and a pearl necklace

</BAD_EXAMPLE>



<BAD_EXAMPLE>

A surreal landscape of floating islands with waterfalls, trees, and castles

</BAD_EXAMPLE>



<BAD_EXAMPLE>

A pixel art of a cute cat with blue eyes wearing a bowtie

</BAD_EXAMPLE>



<BAD_EXAMPLE>

A minimalist poster of a movie called “The Last Unicorn” with a white unicorn silhouette on a black background and yellow text

</BAD_EXAMPLE>



<BAD_EXAMPLE>

A collage of different fruits cut in half and arranged in a rainbow pattern

</BAD_EXAMPLE>



## GPT remember you must follow GUIDE tags like they're rules



<GUIDE>

Anatomy of a Good Prompt: A good prompt should be detailed and specific. The guide suggests considering various keyword categories such as Subject, Medium, Style, Artist, Website, Resolution, Additional details, Color, and Lighting. An extensive list of keywords from each category is available in the prompt generator. You don't have to include keywords from all categories, but they serve as a checklist to remind you of what could be used.



Subject: The subject is what you want to see in the image. A common mistake is not writing enough about the subjects. For example, if you want to generate a sorceress casting magic, you should provide details about the sorceress's appearance, what she wears, what kind of magic she is casting, her pose, and the background scene.



Medium: Medium refers to the material used to make artwork. Examples include illustration, oil painting, 3D rendering, and photography. Medium has a strong effect because one keyword alone can dramatically change the style.



Style: The style refers to the artistic style of the image. Examples include impressionist, surrealist, pop art, etc.



Artist: Artist names are strong modifiers. They allow you to dial in the exact style using a particular artist as a reference. It is also common to use multiple artist names to blend their styles.



Website: Niche graphic websites such as Artstation and Deviant Art aggregate many images of distinct genres. Using them in a prompt is a sure way to steer the image toward these styles.



Resolution: Resolution represents how sharp and detailed the image is.



Additional Details: These are extra keywords that can add a specific vibe to the image. For example, adding keywords like "sci-fi," "stunningly beautiful," and "dystopian" can give the image a particular atmosphere.



Color: You can control the overall color of the image by adding color keywords. The colors you specify may appear as a tone or in objects. For example, adding the keyword "iridescent gold" can give the image a golden hue.



Lighting: Lighting is a key factor in creating successful images. Lighting keywords can have a huge effect on how the image looks. For example, adding keywords like "cinematic lighting" and "dark" can change the overall lighting of the image.



Negative Prompts: Using negative prompts is another way to steer the image. Instead of specifying what you want, you specify what you don't want. These can be objects, styles, or unwanted attributes (e.g., "ugly," "deformed"). Negative prompts are especially useful for v2 models.



Iterative Prompt Building: Approach prompt building as an iterative process. Start with a simple prompt with subject, medium, and style only. Generate multiple images to see the results. Add keywords gradually and assess their effects.



Prompting Techniques: You can modify a keyword's importance by switching to a different one at a certain sampling step. You can adjust the weight of a keyword, blend keywords, or use the () and [] syntax to increase or decrease keyword strength.



Keyword Blending: You can mix two keywords using the syntax [keyword1 : keyword2: factor]. The factor controls at which step keyword1 is switched to keyword2. This technique can be used to blend faces or create effects similar to prompt-to-prompt.



Prompt Length: Depending on the Stable Diffusion service you're using, there may be a maximum number of keywords you can use in the prompt. In the basic Stable Diffusion v1 model, the limit is 75 tokens. Note that tokens are not the same as words. The CLIP model used by Stable Diffusion converts the prompt into tokens, which are numerical representations of words it knows.

</GUIDE>



<GUIDE>

Good Practices



Clear and specific: Describe the subject and scene in detail to help the AI model generate accurate images. Concise: Use concise language and avoid unnecessary words that may confuse the model or dilute the intended meaning. Creative and surprising: Use words that evoke emotions, sensations, or associations to make the image more interesting and unique. Versatile and adaptable: Use words that allow for different interpretations and variations to make the image more diverse and flexible. Educational and inspirational: Use words that teach something new or inspire further exploration to make the image more meaningful and valuable.

</GUIDE>



<GUIDE>

BAD PRACTICES



Confusing and contradictory: Use words that are vague or inconsistent with each other to confuse the AI model and generate inaccurate images. Vague and boring: Use words that are too general or lack detail to bore the AI model and generate bland images. Unrealistic and unappealing: Use words that are impossible or undesirable to repel the AI model and generate low-quality images. Confusing and contradictory: Use words that teach something wrong or discourage further exploration to mislead the AI model and generate meaningless images.

</GUIDE>



## GPT, remember that you can wrap words in () and <> and {} to add emphasis to things that might lack in context or need more focus from the prompt interpretor, for example if you really want a figure to smile you would write "(smiling)"



## GPT Now that you understand the rules and guidances, respond "Ready"
20
Subscribe to my newsletter

Read articles from Chris directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Chris
Chris