Show Flux and Krea as Image v2 engine cards, and run Krea on edit, compose, and refine.
Krea image-to-image uses encode plus denoise graphs, not Klein reference latents, and still fails closed if the Krea models are missing. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+8
-1
@@ -56,6 +56,8 @@ export const IMAGE_V2_GENERATE_SNOFS = { snofsModel: 0.65, snofsClip: 0.35 }
|
||||
|
||||
export const IMAGE_V2_KREA_STEPS = 8
|
||||
export const IMAGE_V2_KREA_CFG = 1
|
||||
export const IMAGE_V2_KREA_EDIT_DENOISE = 0.75
|
||||
export const IMAGE_V2_KREA_COMPOSE_DENOISE = 0.7
|
||||
export const IMAGE_V2_KREA_CLIP = 'qwen3vl_4b_fp8_scaled.safetensors'
|
||||
export const IMAGE_V2_KREA_CLIP_TYPE = 'krea2'
|
||||
export const IMAGE_V2_KREA_VAE = 'qwen_image_vae.safetensors'
|
||||
@@ -88,7 +90,12 @@ export function parseImageV2Engine(raw: unknown, fallback: ImageV2Engine = 'flux
|
||||
}
|
||||
|
||||
export function imageV2WorkflowFile(mode: ImageV2Mode, engine: ImageV2Engine = 'flux') {
|
||||
if (mode === 'generate' && engine === 'krea') return 'krea_v2_generate.json'
|
||||
if (engine === 'krea') {
|
||||
if (mode === 'generate') return 'krea_v2_generate.json'
|
||||
if (mode === 'refine') return 'krea_v2_refine.json'
|
||||
if (mode === 'compose') return 'krea_v2_compose.json'
|
||||
return 'krea_v2_edit.json'
|
||||
}
|
||||
if (mode === 'generate') return 'klein_v2_generate.json'
|
||||
if (mode === 'refine') return 'klein_v2_refine.json'
|
||||
if (mode === 'compose') return 'klein_v2_compose.json'
|
||||
|
||||
@@ -130,8 +130,8 @@ export function stillModeLabel(still: { filename?: string; settings?: StillGener
|
||||
? 'Refine'
|
||||
: 'Edit'
|
||||
const task = settings.mode === 'compose' ? composeTaskLabel(settings.task) : ''
|
||||
const engine = settings.mode === 'generate' && settings.engine === 'krea' ? 'Krea' : ''
|
||||
return [mode === 'Generate' && engine ? `Image v2 · ${mode} · ${engine}` : `Image v2 · ${mode}`, task].filter(Boolean).join(' · ')
|
||||
const engine = settings.engine === 'krea' ? 'Krea' : settings.engine === 'flux' ? 'Flux' : ''
|
||||
return [engine ? `Image v2 · ${mode} · ${engine}` : `Image v2 · ${mode}`, task].filter(Boolean).join(' · ')
|
||||
}
|
||||
if (settings?.kind === 'image') return 'Image edit'
|
||||
if (/aigen_v2_/i.test(String(still.filename || ''))) return 'Image v2'
|
||||
@@ -151,7 +151,7 @@ export function stillSettingsRows(still: { width?: number; height?: number; sett
|
||||
} else if (still.width && still.height) {
|
||||
rows.push({ label: 'Output', value: `${still.width}×${still.height}` })
|
||||
}
|
||||
if (settings.mode === 'generate' && settings.engine) {
|
||||
if (settings.engine) {
|
||||
rows.push({ label: 'Engine', value: settings.engine === 'krea' ? 'Krea' : 'Flux' })
|
||||
}
|
||||
if (isXaigenStudio() && (settings.snofsModel != null || settings.snofsClip != null)) {
|
||||
|
||||
Reference in New Issue
Block a user