|
|
@@ -66,14 +66,15 @@ ServerConfig parseArguments(int argc, char* argv[]) {
|
|
|
ServerConfig config;
|
|
|
|
|
|
// Track which parameters were explicitly set
|
|
|
- bool modelsDirSet = false;
|
|
|
- bool checkpointsSet = false;
|
|
|
- bool controlnetSet = false;
|
|
|
- bool embeddingsSet = false;
|
|
|
- bool esrganSet = false;
|
|
|
- bool loraSet = false;
|
|
|
- bool taesdSet = false;
|
|
|
- bool vaeSet = false;
|
|
|
+ bool modelsDirSet = false;
|
|
|
+ bool checkpointsSet = false;
|
|
|
+ bool controlnetSet = false;
|
|
|
+ bool embeddingsSet = false;
|
|
|
+ bool esrganSet = false;
|
|
|
+ bool loraSet = false;
|
|
|
+ bool taesdSet = false;
|
|
|
+ bool vaeSet = false;
|
|
|
+ bool diffusionModelsSet = false;
|
|
|
|
|
|
for (int i = 1; i < argc; i++) {
|
|
|
std::string arg = argv[i];
|
|
|
@@ -106,6 +107,9 @@ ServerConfig parseArguments(int argc, char* argv[]) {
|
|
|
} else if (arg == "--vae-dir" && i + 1 < argc) {
|
|
|
config.vaeDir = argv[++i];
|
|
|
vaeSet = true;
|
|
|
+ } else if (arg == "--diffusion-models-dir" && i + 1 < argc) {
|
|
|
+ config.diffusionModelsDir = argv[++i];
|
|
|
+ diffusionModelsSet = true;
|
|
|
} else if (arg == "--max-concurrent" && i + 1 < argc) {
|
|
|
config.maxConcurrentGenerations = std::stoi(argv[++i]);
|
|
|
} else if (arg == "--queue-dir" && i + 1 < argc) {
|
|
|
@@ -201,6 +205,7 @@ ServerConfig parseArguments(int argc, char* argv[]) {
|
|
|
<< " --lora-dir <dir> LoRA models directory (default: loras)\n"
|
|
|
<< " --taesd-dir <dir> TAESD models directory (default: TAESD)\n"
|
|
|
<< " --vae-dir <dir> VAE models directory (default: vae)\n"
|
|
|
+ << " --diffusion-models-dir <dir> Diffusion models directory (default: diffusion_models)\n"
|
|
|
<< "\n"
|
|
|
<< "Other Options:\n"
|
|
|
<< " --help, -h Show this help message\n"
|
|
|
@@ -257,15 +262,19 @@ ServerConfig parseArguments(int argc, char* argv[]) {
|
|
|
if (!vaeSet) {
|
|
|
config.vaeDir = "vae";
|
|
|
}
|
|
|
+ if (!diffusionModelsSet) {
|
|
|
+ config.diffusionModelsDir = "diffusion_models";
|
|
|
+ }
|
|
|
|
|
|
// Resolve all directory paths (absolute paths used as-is, relative resolved from models-dir)
|
|
|
- config.checkpoints = resolveDirectoryPath(config.checkpoints, config.modelsDir);
|
|
|
- config.controlnetDir = resolveDirectoryPath(config.controlnetDir, config.modelsDir);
|
|
|
- config.embeddingsDir = resolveDirectoryPath(config.embeddingsDir, config.modelsDir);
|
|
|
- config.esrganDir = resolveDirectoryPath(config.esrganDir, config.modelsDir);
|
|
|
- config.loraDir = resolveDirectoryPath(config.loraDir, config.modelsDir);
|
|
|
- config.taesdDir = resolveDirectoryPath(config.taesdDir, config.modelsDir);
|
|
|
- config.vaeDir = resolveDirectoryPath(config.vaeDir, config.modelsDir);
|
|
|
+ config.checkpoints = resolveDirectoryPath(config.checkpoints, config.modelsDir);
|
|
|
+ config.controlnetDir = resolveDirectoryPath(config.controlnetDir, config.modelsDir);
|
|
|
+ config.embeddingsDir = resolveDirectoryPath(config.embeddingsDir, config.modelsDir);
|
|
|
+ config.esrganDir = resolveDirectoryPath(config.esrganDir, config.modelsDir);
|
|
|
+ config.loraDir = resolveDirectoryPath(config.loraDir, config.modelsDir);
|
|
|
+ config.taesdDir = resolveDirectoryPath(config.taesdDir, config.modelsDir);
|
|
|
+ config.vaeDir = resolveDirectoryPath(config.vaeDir, config.modelsDir);
|
|
|
+ config.diffusionModelsDir = resolveDirectoryPath(config.diffusionModelsDir, config.modelsDir);
|
|
|
|
|
|
return config;
|
|
|
}
|
|
|
@@ -318,6 +327,7 @@ int main(int argc, char* argv[]) {
|
|
|
std::cout << " LoRA: " << config.loraDir << std::endl;
|
|
|
std::cout << " TAESD: " << config.taesdDir << std::endl;
|
|
|
std::cout << " VAE: " << config.vaeDir << std::endl;
|
|
|
+ std::cout << " Diffusion: " << config.diffusionModelsDir << std::endl;
|
|
|
std::cout << std::endl;
|
|
|
}
|
|
|
|
|
|
@@ -366,6 +376,7 @@ int main(int argc, char* argv[]) {
|
|
|
validateDirectory(config.loraDir, "LoRA", false);
|
|
|
validateDirectory(config.taesdDir, "TAESD", false);
|
|
|
validateDirectory(config.vaeDir, "VAE", false);
|
|
|
+ validateDirectory(config.diffusionModelsDir, "Diffusion Models", false);
|
|
|
|
|
|
// Validate UI directory if specified
|
|
|
if (!config.uiDir.empty()) {
|
|
|
@@ -519,4 +530,4 @@ int main(int argc, char* argv[]) {
|
|
|
}
|
|
|
|
|
|
return 0;
|
|
|
-}
|
|
|
+}
|