Add extension-frame refine and lossless anchor options.
Prefer clip anchor PNGs for handoffs, optionally run Bilateral+Flux cleanup before I2V, and save decoded last-frame anchors so sequential extensions accumulate less compression damage. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -6,9 +6,26 @@ import { clipPartDuration, clampVideoDuration } from '~/utils/videoDuration'
|
||||
import { defaultVideoSteps, isLtxWorkflow, LTX_DISABLED_MESSAGE, ltxWorkflowEnabled, parseVideoWorkflow } from '~/utils/videoModels'
|
||||
import { composePromptParts } from '~/utils/promptParts'
|
||||
import { nextFamilyPartName } from '~/server/utils/library'
|
||||
import {
|
||||
clampRefinementDenoise,
|
||||
parseRefineExtensionFrame,
|
||||
parseSaveLosslessAnchor,
|
||||
REFINEMENT_DENOISE_DEFAULT
|
||||
} from '~/utils/extensionFrame'
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
const body = await readBody<{ clipId?: string; prompt?: string; promptPre?: string; promptPost?: string; duration?: number; lora?: unknown; loraStack?: unknown }>(event).catch(() => ({}))
|
||||
const body = await readBody<{
|
||||
clipId?: string
|
||||
prompt?: string
|
||||
promptPre?: string
|
||||
promptPost?: string
|
||||
duration?: number
|
||||
lora?: unknown
|
||||
loraStack?: unknown
|
||||
refineExtensionFrame?: boolean | string
|
||||
saveLosslessAnchor?: boolean | string
|
||||
refinementDenoise?: number | string
|
||||
}>(event).catch(() => ({}))
|
||||
const clipId = String(body?.clipId || '').trim()
|
||||
const prompt = String(body?.prompt || '').trim()
|
||||
if (!clipId) {
|
||||
@@ -87,6 +104,9 @@ export default defineEventHandler(async (event) => {
|
||||
extensions: [],
|
||||
queueAutoRun: false,
|
||||
extendFromClipId: clipId,
|
||||
refineExtensionFrame: parseRefineExtensionFrame(body?.refineExtensionFrame, true),
|
||||
saveLosslessAnchor: parseSaveLosslessAnchor(body?.saveLosslessAnchor, false),
|
||||
refinementDenoise: clampRefinementDenoise(body?.refinementDenoise, REFINEMENT_DENOISE_DEFAULT),
|
||||
globalLocks: source.globalLocks,
|
||||
permanenceRefs: source.permanenceRefs,
|
||||
...persistLoraFields(loraStack)
|
||||
|
||||
Reference in New Issue
Block a user