Let Image v2 pick a LoRA or LoRA chain.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Towsty
2026-08-29 17:28:32 -05:00
co-authored by Cursor
parent 852b07bb97
commit cdc69d2bd6
8 changed files with 159 additions and 13 deletions
+6 -3
View File
@@ -3,7 +3,7 @@ import { ensureComfyReady } from '~/server/utils/comfyLifecycle'
import { assertImageScaleToTotalPixelsNode, getComfyHost, uploadImage, queuePrompt, purgeComfyArtifacts } from '~/server/utils/comfy'
import { withImageComfyHost, waitForImageEdit, downloadEditedImage } from '~/server/utils/imageComfy'
import { buildImageV2Workflow, IMAGE_V2_NODE_LABELS, resolveKreaGenerateAssets } from '~/server/utils/imageWorkflowV2'
import { ensureComfyLoraNames } from '~/server/utils/loras'
import { ensureComfyLoraNames, persistLoraFields } from '~/server/utils/loras'
import { imageDimensions } from '~/server/utils/resolution'
import { emitChainJob } from '~/server/utils/watch'
import { saveStill } from '~/server/utils/library'
@@ -33,6 +33,7 @@ export type EditV2RunParams = {
turbo?: boolean
sourceStillId?: string
referenceStillId?: string
loraStack?: import('~/utils/loras').LoraStackItem[]
}
export async function runEditV2(job: Job, params: EditV2RunParams) {
@@ -132,7 +133,8 @@ export async function runEditV2(job: Job, params: EditV2RunParams) {
kreaUnetName: krea?.unet,
kreaClipName: krea?.clip,
kreaVaeName: krea?.vae,
kreaConceptLora: krea?.conceptLora
kreaConceptLora: krea?.conceptLora,
loraStack: params.loraStack
})
const queued = await queuePrompt(built.graph, job.clientId)
job.promptId = queued.prompt_id
@@ -199,7 +201,8 @@ export async function runEditV2(job: Job, params: EditV2RunParams) {
height: params.mode === 'generate' ? params.height : undefined,
seed: params.seed,
sourceStillId: params.sourceStillId || library.stillId,
referenceStillId: params.referenceStillId
referenceStillId: params.referenceStillId,
...persistLoraFields(params.loraStack)
}
})
job.stillId = still?.id