diff --git a/src/art/genAI/agePromptPart.js b/src/art/genAI/agePromptPart.js
index 376ef513ac9ec3d2abde634e188d64237b0e6513..a955d11d4955d0858c49282d70a3afc117c5314e 100644
--- a/src/art/genAI/agePromptPart.js
+++ b/src/art/genAI/agePromptPart.js
@@ -4,7 +4,9 @@ App.Art.GenAI.AgePromptPart = class AgePromptPart extends App.Art.GenAI.PromptPa
 	 */
 	positive() {
 		let ageTags = ``;
-		if (this.slave.visualAge < 18) {
+		if (this.slave.visualAge < 13) {
+			ageTags = `child, `;
+		} else if (this.slave.visualAge < 18) {
 			ageTags = `teen, young, `;
 		} else if (this.slave.visualAge < 20) {
 			ageTags = `teen, `;
diff --git a/src/art/genAI/buildPrompt.js b/src/art/genAI/buildPrompt.js
index 77e5d7d3187bc3902d40c50aa7668406d9246e35..a1015ba089f28fc41db0ec24658195f1bcbc5957 100644
--- a/src/art/genAI/buildPrompt.js
+++ b/src/art/genAI/buildPrompt.js
@@ -6,10 +6,12 @@
 function buildPrompt(slave) {
 	let prompts = [
 		new App.Art.GenAI.StylePromptPart(slave),
-		new App.Art.GenAI.BeautyPromptPart(slave),
 		new App.Art.GenAI.SkinPromptPart(slave),
 		new App.Art.GenAI.RacePromptPart(slave),
+		new App.Art.GenAI.GenderPromptPart(slave),
 		new App.Art.GenAI.AgePromptPart(slave),
+		new App.Art.GenAI.PregPromptPart(slave),
+		new App.Art.GenAI.BeautyPromptPart(slave),
 		new App.Art.GenAI.PosturePromptPart(slave),
 		new App.Art.GenAI.ArousalPromptPart(slave),
 		new App.Art.GenAI.WeightPromptPart(slave),
diff --git a/src/art/genAI/genderPromptPart.js b/src/art/genAI/genderPromptPart.js
new file mode 100644
index 0000000000000000000000000000000000000000..747fd028ea6d9c3792959d1f4e4a85bd72e91329
--- /dev/null
+++ b/src/art/genAI/genderPromptPart.js
@@ -0,0 +1,31 @@
+App.Art.GenAI.GenderPromptPart = class GenderPromptPart extends App.Art.GenAI.PromptPart {
+	/**
+	 * @returns {string}
+	 */
+	positive() {
+		if (this.slave.genes === "XX") {
+			if (this.slave.visualAge > 20) {
+				return "woman";
+			} else {
+				return "girl";
+			}
+		} else {
+			if (this.slave.visualAge > 20) {
+				return "man";
+			} else {
+				return "boy";
+			}
+		}
+	}
+
+	/**
+	 * @returns {string}
+	 */
+	negative() {
+		if (this.slave.genes === "XX") {
+			return "boy, man";
+		} else {
+			return "woman, girl";
+		}
+	}
+};
diff --git a/src/art/genAI/pregPromptPart.js b/src/art/genAI/pregPromptPart.js
new file mode 100644
index 0000000000000000000000000000000000000000..add8979ef1a0182418a5751b960b6db9e5b891f4
--- /dev/null
+++ b/src/art/genAI/pregPromptPart.js
@@ -0,0 +1,21 @@
+App.Art.GenAI.PregPromptPart = class PregPromptPart extends App.Art.GenAI.PromptPart {
+	/**
+	 * @returns {string}
+	 */
+	positive() {
+		if (this.slave.preg > 30) {
+			return "pregnant, full term";
+		} else if (this.slave.preg > 20) {
+			return "pregnant";
+		} else if (this.slave.preg > 10) {
+			return "baby bump";
+		}
+	}
+
+	/**
+	 * @returns {string}
+	 */
+	negative() {
+		return undefined;
+	}
+};
diff --git a/src/art/genAI/racePromptPart.js b/src/art/genAI/racePromptPart.js
index dda8562160fdfa7260a1492aa6fb83cd77f2b696..5ff07196b4e3f62c3a752fda19db10285bfc53a5 100644
--- a/src/art/genAI/racePromptPart.js
+++ b/src/art/genAI/racePromptPart.js
@@ -3,6 +3,11 @@ App.Art.GenAI.RacePromptPart = class RacePromptPart extends App.Art.GenAI.Prompt
 	 * @returns {string}
 	 */
 	positive() {
+		if (this.slave.race === "white") {
+			return "caucasian";
+		} else if (this.slave.race === "black") {
+			return "african";
+		}
 		return this.slave.race;
 	}
 
diff --git a/src/art/genAI/skinPromptPart.js b/src/art/genAI/skinPromptPart.js
index 8bedb7ed7399b3471e7cbcfbcb318efdf314511e..15ef9bd58c7c2d35dca382869d4eea973a63cd7e 100644
--- a/src/art/genAI/skinPromptPart.js
+++ b/src/art/genAI/skinPromptPart.js
@@ -3,6 +3,9 @@ App.Art.GenAI.SkinPromptPart = class SkinPromptPart extends App.Art.GenAI.Prompt
 	 * @returns {string}
 	 */
 	positive() {
+		if (this.slave.geneticQuirks.albinism === 2) {
+			return "albino";
+		}
 		switch (this.slave.skin) {
 			case "pure white":
 			case "ivory":
diff --git a/src/art/genAI/stableDiffusion.js b/src/art/genAI/stableDiffusion.js
index 4d4bfcde4a19acf4138782dc85fc6335a45a80e5..20b23f2363301e059193fc0a42cbc10e4fa3c0f6 100644
--- a/src/art/genAI/stableDiffusion.js
+++ b/src/art/genAI/stableDiffusion.js
@@ -39,12 +39,12 @@ App.Art.GenAI.StableDiffusionSettings = class {
 	 */
 	constructor({
 		enable_hr = true,
-		denoising_strength = 0.6,
+		denoising_strength = 0.3,
 		firstphase_width = 400,
 		firstphase_height = 768,
 		hr_scale = 1.7,
-		hr_upscaler = "Latent",
-		hr_second_pass_steps = 12,
+		hr_upscaler = "SwinIR_4x",
+		hr_second_pass_steps = 10,
 		hr_resize_x = 0,
 		hr_resize_y = 0,
 		hr_sampler_name = "DPM++ 2M SDE Karras",
@@ -141,7 +141,7 @@ App.Art.GenAI.StableDiffusionClient = class {
 			body: JSON.stringify(settings),
 		};
 
-		const response = await fetchWithTimeout(`${this.apiUrl}/sdapi/v1/txt2img`, 30000, options);
+		const response = await fetchWithTimeout(`${this.apiUrl}/sdapi/v1/txt2img`, 60000, options);
 		if (!response.ok) {
 			console.error("Error fetching Stable Diffusion image", response);
 			throw new Error(`Error fetching Stable Diffusion image - status: ${response.status}`);