Keep the Klein Concept LoRA on xAIGen only.

AIGen hides the sliders, ignores snofs strengths, and strips the SNOFS node so that file cannot be queued from the public studio.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Towsty
2026-08-29 07:08:33 -05:00
co-authored by Cursor
parent f6663444f5
commit ab5477c999
8 changed files with 108 additions and 68 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
import { loraDisplayName, normalizeLoraStack, type LoraStackItem } from '~/utils/loras'
import type { ImageV2Engine, ImageV2Mode, ImageV2Task } from '~/utils/imageV2'
import type { VideoWorkflowId } from '~/utils/videoModels'
import { isXaigenStudio, type VideoWorkflowId } from '~/utils/videoModels'
export type StillGenerationKind = 'image' | 'imagev2'
@@ -154,7 +154,7 @@ export function stillSettingsRows(still: { width?: number; height?: number; sett
if (settings.mode === 'generate' && settings.engine) {
rows.push({ label: 'Engine', value: settings.engine === 'krea' ? 'Krea' : 'Flux' })
}
if (settings.snofsModel != null || settings.snofsClip != null) {
if (isXaigenStudio() && (settings.snofsModel != null || settings.snofsClip != null)) {
rows.push({ label: 'Concept LoRA', value: formatPair(settings.snofsModel, settings.snofsClip) })
}
if (settings.mode !== 'generate' && (settings.consistencyModel != null || settings.consistencyClip != null)) {
+2 -1
View File
@@ -30,7 +30,8 @@ export function loraIdentityKey(name: string) {
}
export function isXaigenOnlyLora(name: string) {
return /^xaigen/i.test(loraBasename(name))
const base = loraBasename(name)
return /^xaigen/i.test(base) || /klein_snofs/i.test(base)
}
/** Pick the real Comfy filename: exact path, then same basename ignoring `xaigen-`, then suffix/contains. */