feat(settings): add base model, author, and first tag option to download path templates

refactor(constants): reorder preset tag suggestions for consistency
This commit is contained in:
Will Miao
2025-09-15 12:23:46 +08:00
parent 26891e12a4
commit 1147725fd7
12 changed files with 23 additions and 5 deletions

View File

@@ -240,6 +240,7 @@
"baseModelFirstTag": "Basis-Modell + Erster Tag", "baseModelFirstTag": "Basis-Modell + Erster Tag",
"baseModelAuthor": "Basis-Modell + Autor", "baseModelAuthor": "Basis-Modell + Autor",
"authorFirstTag": "Autor + Erster Tag", "authorFirstTag": "Autor + Erster Tag",
"baseModelAuthorFirstTag": "Basis-Modell + Autor + Erster Tag",
"customTemplate": "Benutzerdefinierte Vorlage" "customTemplate": "Benutzerdefinierte Vorlage"
}, },
"customTemplatePlaceholder": "Benutzerdefinierte Vorlage eingeben (z.B. {base_model}/{author}/{first_tag})", "customTemplatePlaceholder": "Benutzerdefinierte Vorlage eingeben (z.B. {base_model}/{author}/{first_tag})",

View File

@@ -240,6 +240,7 @@
"baseModelFirstTag": "Base Model + First Tag", "baseModelFirstTag": "Base Model + First Tag",
"baseModelAuthor": "Base Model + Author", "baseModelAuthor": "Base Model + Author",
"authorFirstTag": "Author + First Tag", "authorFirstTag": "Author + First Tag",
"baseModelAuthorFirstTag": "Base Model + Author + First Tag",
"customTemplate": "Custom Template" "customTemplate": "Custom Template"
}, },
"customTemplatePlaceholder": "Enter custom template (e.g., {base_model}/{author}/{first_tag})", "customTemplatePlaceholder": "Enter custom template (e.g., {base_model}/{author}/{first_tag})",

View File

@@ -240,6 +240,7 @@
"baseModelFirstTag": "Modelo base + primera etiqueta", "baseModelFirstTag": "Modelo base + primera etiqueta",
"baseModelAuthor": "Modelo base + autor", "baseModelAuthor": "Modelo base + autor",
"authorFirstTag": "Autor + primera etiqueta", "authorFirstTag": "Autor + primera etiqueta",
"baseModelAuthorFirstTag": "Modelo base + autor + primera etiqueta",
"customTemplate": "Plantilla personalizada" "customTemplate": "Plantilla personalizada"
}, },
"customTemplatePlaceholder": "Introduce plantilla personalizada (ej., {base_model}/{author}/{first_tag})", "customTemplatePlaceholder": "Introduce plantilla personalizada (ej., {base_model}/{author}/{first_tag})",

View File

@@ -240,6 +240,7 @@
"baseModelFirstTag": "Modèle de base + Premier tag", "baseModelFirstTag": "Modèle de base + Premier tag",
"baseModelAuthor": "Modèle de base + Auteur", "baseModelAuthor": "Modèle de base + Auteur",
"authorFirstTag": "Auteur + Premier tag", "authorFirstTag": "Auteur + Premier tag",
"baseModelAuthorFirstTag": "Modèle de base + Auteur + Premier tag",
"customTemplate": "Modèle personnalisé" "customTemplate": "Modèle personnalisé"
}, },
"customTemplatePlaceholder": "Entrez un modèle personnalisé (ex: {base_model}/{author}/{first_tag})", "customTemplatePlaceholder": "Entrez un modèle personnalisé (ex: {base_model}/{author}/{first_tag})",

View File

@@ -240,6 +240,7 @@
"baseModelFirstTag": "ベースモデル + 最初のタグ", "baseModelFirstTag": "ベースモデル + 最初のタグ",
"baseModelAuthor": "ベースモデル + 作成者", "baseModelAuthor": "ベースモデル + 作成者",
"authorFirstTag": "作成者 + 最初のタグ", "authorFirstTag": "作成者 + 最初のタグ",
"baseModelAuthorFirstTag": "ベースモデル + 作成者 + 最初のタグ",
"customTemplate": "カスタムテンプレート" "customTemplate": "カスタムテンプレート"
}, },
"customTemplatePlaceholder": "カスタムテンプレートを入力(例:{base_model}/{author}/{first_tag}", "customTemplatePlaceholder": "カスタムテンプレートを入力(例:{base_model}/{author}/{first_tag}",

View File

@@ -240,6 +240,7 @@
"baseModelFirstTag": "베이스 모델 + 첫 번째 태그", "baseModelFirstTag": "베이스 모델 + 첫 번째 태그",
"baseModelAuthor": "베이스 모델 + 제작자", "baseModelAuthor": "베이스 모델 + 제작자",
"authorFirstTag": "제작자 + 첫 번째 태그", "authorFirstTag": "제작자 + 첫 번째 태그",
"baseModelAuthorFirstTag": "베이스 모델 + 제작자 + 첫 번째 태그",
"customTemplate": "사용자 정의 템플릿" "customTemplate": "사용자 정의 템플릿"
}, },
"customTemplatePlaceholder": "사용자 정의 템플릿 입력 (예: {base_model}/{author}/{first_tag})", "customTemplatePlaceholder": "사용자 정의 템플릿 입력 (예: {base_model}/{author}/{first_tag})",

View File

@@ -240,6 +240,7 @@
"baseModelFirstTag": "Базовая модель + Первый тег", "baseModelFirstTag": "Базовая модель + Первый тег",
"baseModelAuthor": "Базовая модель + Автор", "baseModelAuthor": "Базовая модель + Автор",
"authorFirstTag": "Автор + Первый тег", "authorFirstTag": "Автор + Первый тег",
"baseModelAuthorFirstTag": "Базовая модель + Автор + Первый тег",
"customTemplate": "Пользовательский шаблон" "customTemplate": "Пользовательский шаблон"
}, },
"customTemplatePlaceholder": "Введите пользовательский шаблон (например, {base_model}/{author}/{first_tag})", "customTemplatePlaceholder": "Введите пользовательский шаблон (например, {base_model}/{author}/{first_tag})",

View File

@@ -240,6 +240,7 @@
"baseModelFirstTag": "基础模型 + 首标签", "baseModelFirstTag": "基础模型 + 首标签",
"baseModelAuthor": "基础模型 + 作者", "baseModelAuthor": "基础模型 + 作者",
"authorFirstTag": "作者 + 首标签", "authorFirstTag": "作者 + 首标签",
"baseModelAuthorFirstTag": "基础模型 + 作者 + 首标签",
"customTemplate": "自定义模板" "customTemplate": "自定义模板"
}, },
"customTemplatePlaceholder": "输入自定义模板(如:{base_model}/{author}/{first_tag}", "customTemplatePlaceholder": "输入自定义模板(如:{base_model}/{author}/{first_tag}",

View File

@@ -240,6 +240,7 @@
"baseModelFirstTag": "基礎模型 + 第一標籤", "baseModelFirstTag": "基礎模型 + 第一標籤",
"baseModelAuthor": "基礎模型 + 作者", "baseModelAuthor": "基礎模型 + 作者",
"authorFirstTag": "作者 + 第一標籤", "authorFirstTag": "作者 + 第一標籤",
"baseModelAuthorFirstTag": "基礎模型 + 作者 + 第一標籤",
"customTemplate": "自訂範本" "customTemplate": "自訂範本"
}, },
"customTemplatePlaceholder": "輸入自訂範本(例如:{base_model}/{author}/{first_tag}", "customTemplatePlaceholder": "輸入自訂範本(例如:{base_model}/{author}/{first_tag}",

View File

@@ -53,8 +53,8 @@ AUTO_ORGANIZE_BATCH_SIZE = 50 # Process models in batches to avoid overwhelming
# Civitai model tags in priority order for subfolder organization # Civitai model tags in priority order for subfolder organization
CIVITAI_MODEL_TAGS = [ CIVITAI_MODEL_TAGS = [
'character', 'style', 'concept', 'clothing', 'character', 'concept', 'clothing',
'realistic', 'anime', 'toon', 'furry', 'realistic', 'anime', 'toon', 'furry', 'style',
'poses', 'background', 'tool', 'vehicle', 'buildings', 'poses', 'background', 'tool', 'vehicle', 'buildings',
'objects', 'assets', 'animal', 'action' 'objects', 'assets', 'animal', 'action'
] ]

View File

@@ -92,6 +92,12 @@ export const DOWNLOAD_PATH_TEMPLATES = {
description: 'Organize by base model and author', description: 'Organize by base model and author',
example: 'Flux.1 D/authorname/model-name.safetensors' example: 'Flux.1 D/authorname/model-name.safetensors'
}, },
BASE_MODEL_AUTHOR_TAG: {
value: '{base_model}/{author}/{first_tag}',
label: 'Base Model + Author + First Tag',
description: 'Organize by base model, author, and primary tag',
example: 'Flux.1 D/authorname/style/model-name.safetensors'
},
AUTHOR_TAG: { AUTHOR_TAG: {
value: '{author}/{first_tag}', value: '{author}/{first_tag}',
label: 'Author + First Tag', label: 'Author + First Tag',
@@ -189,8 +195,8 @@ export const BASE_MODEL_CATEGORIES = {
// Preset tag suggestions // Preset tag suggestions
export const PRESET_TAGS = [ export const PRESET_TAGS = [
'character', 'style', 'concept', 'clothing', 'character', 'concept', 'clothing',
'realistic', 'anime', 'toon', 'furry', 'realistic', 'anime', 'toon', 'furry', 'style',
'poses', 'background', 'vehicle', 'buildings', 'poses', 'background', 'vehicle', 'buildings',
'objects', 'animal' 'objects', 'animal'
]; ];

View File

@@ -254,6 +254,7 @@
<option value="{base_model}/{first_tag}">{{ t('settings.downloadPathTemplates.templateOptions.baseModelFirstTag') }}</option> <option value="{base_model}/{first_tag}">{{ t('settings.downloadPathTemplates.templateOptions.baseModelFirstTag') }}</option>
<option value="{base_model}/{author}">{{ t('settings.downloadPathTemplates.templateOptions.baseModelAuthor') }}</option> <option value="{base_model}/{author}">{{ t('settings.downloadPathTemplates.templateOptions.baseModelAuthor') }}</option>
<option value="{author}/{first_tag}">{{ t('settings.downloadPathTemplates.templateOptions.authorFirstTag') }}</option> <option value="{author}/{first_tag}">{{ t('settings.downloadPathTemplates.templateOptions.authorFirstTag') }}</option>
<option value="{base_model}/{author}/{first_tag}">{{ t('settings.downloadPathTemplates.templateOptions.baseModelAuthorFirstTag') }}</option>
<option value="custom">{{ t('settings.downloadPathTemplates.templateOptions.customTemplate') }}</option> <option value="custom">{{ t('settings.downloadPathTemplates.templateOptions.customTemplate') }}</option>
</select> </select>
</div> </div>
@@ -280,6 +281,7 @@
<option value="{base_model}/{first_tag}">{{ t('settings.downloadPathTemplates.templateOptions.baseModelFirstTag') }}</option> <option value="{base_model}/{first_tag}">{{ t('settings.downloadPathTemplates.templateOptions.baseModelFirstTag') }}</option>
<option value="{base_model}/{author}">{{ t('settings.downloadPathTemplates.templateOptions.baseModelAuthor') }}</option> <option value="{base_model}/{author}">{{ t('settings.downloadPathTemplates.templateOptions.baseModelAuthor') }}</option>
<option value="{author}/{first_tag}">{{ t('settings.downloadPathTemplates.templateOptions.authorFirstTag') }}</option> <option value="{author}/{first_tag}">{{ t('settings.downloadPathTemplates.templateOptions.authorFirstTag') }}</option>
<option value="{base_model}/{author}/{first_tag}">{{ t('settings.downloadPathTemplates.templateOptions.baseModelAuthorFirstTag') }}</option>
<option value="custom">{{ t('settings.downloadPathTemplates.templateOptions.customTemplate') }}</option> <option value="custom">{{ t('settings.downloadPathTemplates.templateOptions.customTemplate') }}</option>
</select> </select>
</div> </div>
@@ -306,6 +308,7 @@
<option value="{base_model}/{first_tag}">{{ t('settings.downloadPathTemplates.templateOptions.baseModelFirstTag') }}</option> <option value="{base_model}/{first_tag}">{{ t('settings.downloadPathTemplates.templateOptions.baseModelFirstTag') }}</option>
<option value="{base_model}/{author}">{{ t('settings.downloadPathTemplates.templateOptions.baseModelAuthor') }}</option> <option value="{base_model}/{author}">{{ t('settings.downloadPathTemplates.templateOptions.baseModelAuthor') }}</option>
<option value="{author}/{first_tag}">{{ t('settings.downloadPathTemplates.templateOptions.authorFirstTag') }}</option> <option value="{author}/{first_tag}">{{ t('settings.downloadPathTemplates.templateOptions.authorFirstTag') }}</option>
<option value="{base_model}/{author}/{first_tag}">{{ t('settings.downloadPathTemplates.templateOptions.baseModelAuthorFirstTag') }}</option>
<option value="custom">{{ t('settings.downloadPathTemplates.templateOptions.customTemplate') }}</option> <option value="custom">{{ t('settings.downloadPathTemplates.templateOptions.customTemplate') }}</option>
</select> </select>
</div> </div>