()
| 1039 | } |
| 1040 | |
| 1041 | function makeImage() { |
| 1042 | if (typeof performance == "object" && performance.mark) { |
| 1043 | performance.mark("click-makeImage") |
| 1044 | } |
| 1045 | |
| 1046 | if (!SD.isServerAvailable()) { |
| 1047 | alert("The server is not available.") |
| 1048 | return |
| 1049 | } |
| 1050 | if (!randomSeedField.checked && seedField.value == "") { |
| 1051 | alert('The "Seed" field must not be empty.') |
| 1052 | seedField.classList.add("validation-failed") |
| 1053 | return |
| 1054 | } |
| 1055 | seedField.classList.remove("validation-failed") |
| 1056 | |
| 1057 | if (numInferenceStepsField.value == "") { |
| 1058 | alert('The "Inference Steps" field must not be empty.') |
| 1059 | numInferenceStepsField.classList.add("validation-failed") |
| 1060 | return |
| 1061 | } |
| 1062 | numInferenceStepsField.classList.remove("validation-failed") |
| 1063 | |
| 1064 | if (controlnetModelField.value === "" && IMAGE_REGEX.test(controlImagePreview.src)) { |
| 1065 | alert("Please choose a ControlNet model, to use the ControlNet image.") |
| 1066 | document.getElementById("controlnet_model").classList.add("validation-failed") |
| 1067 | return |
| 1068 | } |
| 1069 | document.getElementById("controlnet_model").classList.remove("validation-failed") |
| 1070 | |
| 1071 | if (numOutputsTotalField.value == "" || numOutputsTotalField.value == 0) { |
| 1072 | numOutputsTotalField.value = 1 |
| 1073 | } |
| 1074 | if (numOutputsParallelField.value == "" || numOutputsParallelField.value == 0) { |
| 1075 | numOutputsParallelField.value = 1 |
| 1076 | } |
| 1077 | if (guidanceScaleField.value == "") { |
| 1078 | guidanceScaleField.value = guidanceScaleSlider.value / 10 |
| 1079 | } |
| 1080 | if (distilledGuidanceScaleField.value == "") { |
| 1081 | distilledGuidanceScaleField.value = distilledGuidanceScaleSlider.value / 10 |
| 1082 | } |
| 1083 | if (hypernetworkStrengthField.value == "") { |
| 1084 | hypernetworkStrengthField.value = hypernetworkStrengthSlider.value / 100 |
| 1085 | } |
| 1086 | const taskTemplate = getCurrentUserRequest() |
| 1087 | seedField.value = taskTemplate.reqBody.seed; |
| 1088 | const newTaskRequests = getPrompts().map((prompt) => |
| 1089 | Object.assign({}, taskTemplate, { |
| 1090 | reqBody: Object.assign({ prompt: prompt }, taskTemplate.reqBody), |
| 1091 | }) |
| 1092 | ) |
| 1093 | newTaskRequests.forEach(setEmbeddings) |
| 1094 | newTaskRequests.forEach(createTask) |
| 1095 | |
| 1096 | updateInitialText() |
| 1097 | |
| 1098 | const countBeforeBanner = localStorage.getItem("countBeforeBanner") || 1 |
no test coverage detected