diff --git a/src/art/genAI/agePromptPart.js b/src/art/genAI/agePromptPart.js
index a955d11d4955d0858c49282d70a3afc117c5314e..85c36f22dae705b99d4e985adc5801019ce406d8 100644
--- a/src/art/genAI/agePromptPart.js
+++ b/src/art/genAI/agePromptPart.js
@@ -4,15 +4,23 @@ App.Art.GenAI.AgePromptPart = class AgePromptPart extends App.Art.GenAI.PromptPa
 	 */
 	positive() {
 		let ageTags = ``;
-		if (this.slave.visualAge < 13) {
-			ageTags = `child, `;
+		if (this.slave.visualAge < 10) {
+			ageTags = `child`;
+		} else if (this.slave.visualAge < 13) {
+			ageTags = `pre-teen`;
 		} else if (this.slave.visualAge < 18) {
-			ageTags = `teen, young, `;
-		} else if (this.slave.visualAge < 20) {
-			ageTags = `teen, `;
+			ageTags = `teen, teenager`;
+		} else if (this.slave.visualAge < 25) {
+			ageTags = `youthful adult, college age`;
+		} else if (this.slave.visualAge < 40) {
+			ageTags = `adult`;
+		} else if (this.slave.visualAge < 60) {
+			ageTags = `middle age`;
+		} else {
+			ageTags = `elderly`;
 		}
 
-		return `${ageTags}${this.slave.visualAge} year old`;
+		return `${ageTags}, ${this.slave.visualAge} year old`;
 	}
 
 	/**
@@ -20,11 +28,13 @@ App.Art.GenAI.AgePromptPart = class AgePromptPart extends App.Art.GenAI.PromptPa
 	 */
 	negative() {
 		if (this.slave.visualAge < 20) {
-			return `old, 30 year old, 40 year old`;
-		} else if (this.slave.visualAge < 30) { /* empty */ } else if (this.slave.visualAge < 40) {
-			return `young, teen`;
+			return `elderly, adult, 30 year old, 40 year old`;
+		} else if (this.slave.visualAge < 30) {
+			/* empty */
+		} else if (this.slave.visualAge < 40) {
+			return `child, teen`;
 		} else {
-			return `young, teen, 20 year old`;
+			return `child, young, teen, college age`;
 		}
 	}
 };
diff --git a/src/art/genAI/arousalPromptPart.js b/src/art/genAI/arousalPromptPart.js
index 12dd75dc6d7197c74c963eb470785c46eda9aa94..866358a62bc9e84b4348c1800091650ac49f4c62 100644
--- a/src/art/genAI/arousalPromptPart.js
+++ b/src/art/genAI/arousalPromptPart.js
@@ -4,15 +4,18 @@ App.Art.GenAI.ArousalPromptPart = class ArousalPromptPart extends App.Art.GenAI.
 	 */
 	positive() {
 		let prompt = {terms: [], weight: 1};
-		if (this.slave.vaginaLube === 2) {
+		if (this.slave.vagina >= 0 && this.slave.vaginaLube === 2) {
 			prompt.terms.push("pussy juice");
 		}
 		if (this.slave.energy > 60) {
 			prompt.terms.push("blush");
+			if (this.slave.dick > 0) {
+				prompt.terms.push("erection");
+			}
 		}
 		if (this.slave.energy > 80) {
 			prompt.terms.push("sweat", "heavy breathing");
-			if (this.slave.vaginaLube === 1) {
+			if (this.slave.vagina >= 0 && this.slave.vaginaLube === 1) {
 				prompt.terms.push("pussy juice");
 			}
 		}
@@ -32,9 +35,6 @@ App.Art.GenAI.ArousalPromptPart = class ArousalPromptPart extends App.Art.GenAI.
 	 * @returns {string}
 	 */
 	negative() {
-		if (this.slave.vaginaLube == 0) {
-			return "pussy juice";
-		}
 		return undefined;
 	}
 };
diff --git a/src/art/genAI/clothesPromptPart.js b/src/art/genAI/clothesPromptPart.js
index cc8c33ccc7a58e97fdaebf52d6500386ca45f632..9308304dbd10b7b7bbb58f7a01c1e21362859e7b 100644
--- a/src/art/genAI/clothesPromptPart.js
+++ b/src/art/genAI/clothesPromptPart.js
@@ -68,7 +68,7 @@ const clothesPrompts = {
 		"negative": "clothes, jeans, pants",
 	},
 	"kitty lingerie": {  // Broken for photorealistic models, probably works for anime models
-		"positive": "cat lingerie, cat cutout, cat ear panties, bra, panties",
+		"positive": "kitty lingerie, cat lingerie, kawaii lingerie",
 		"negative": "cat ears, jeans, nude, pussy, nipples",
 	},
 	"a maternity dress": {
diff --git a/src/art/genAI/expressionPromptPart.js b/src/art/genAI/expressionPromptPart.js
index 56abc5cc624ee62286da104f574d09c0e70241e7..5643eaaeee2cdde7565c6e1875323bbcd6f19655 100644
--- a/src/art/genAI/expressionPromptPart.js
+++ b/src/art/genAI/expressionPromptPart.js
@@ -13,7 +13,7 @@ App.Art.GenAI.ExpressionPromptPart = class ExpressionPromptPart extends App.Art.
 		} else if (this.slave.devotion < 95) {
 			devotionPart = `smile`;
 		} else {
-			devotionPart = `smile, grin, teeth, loving expression`;
+			devotionPart = `smile, grin, loving expression`;
 		}
 
 		let trustPart;
@@ -26,6 +26,9 @@ App.Art.GenAI.ExpressionPromptPart = class ExpressionPromptPart extends App.Art.
 			trustPart = `scared expression, looking down`;
 		} else if (this.slave.trust < 51) {
 			trustPart = `looking at viewer`;
+			if (!devotionPart) {
+				trustPart += `, neutral expression`;
+			}
 		} else if (this.slave.trust < 95) {
 			trustPart = `looking at viewer, confident`;
 		} else {
@@ -33,11 +36,11 @@ App.Art.GenAI.ExpressionPromptPart = class ExpressionPromptPart extends App.Art.
 		}
 
 		if (devotionPart && trustPart) {
-			return `(${devotionPart}, ${trustPart}:1.1)`;
+			return `(${devotionPart}, ${trustPart})`;
 		} else if (devotionPart) {
-			return `(${devotionPart}:1.1)`;
+			return `(${devotionPart})`;
 		} else if (trustPart) {
-			return `(${trustPart}:1.1)`;
+			return `(${trustPart})`;
 		}
 	}
 
diff --git a/src/art/genAI/stylePromptPart.js b/src/art/genAI/stylePromptPart.js
index 61756c659f25d4cf1f0122f85e7266ea6e2f7a47..dcf1fbc3dfa985fc9bcab6ab09f4b37e1cd26f53 100644
--- a/src/art/genAI/stylePromptPart.js
+++ b/src/art/genAI/stylePromptPart.js
@@ -21,9 +21,9 @@ App.Art.GenAI.StylePromptPart = class StylePromptPart extends App.Art.GenAI.Prom
 			case 0: // custom
 				return V.aiCustomStyleNeg;
 			case 1: // photorealistic
-				return "greyscale, monochrome, cg, render, unreal engine";
+				return "greyscale, monochrome, cg, render, unreal engine, closeup, medium shot";
 			case 2: // anime/hentai
-				return "greyscale, monochrome, photography, 3d render, text, speech bubble";
+				return "greyscale, monochrome, photography, 3d render, text, speech bubble, closeup, medium shot";
 		}
 	}
 };