Name outputs from the input, engine, and LoRA keys instead of aigen_0001. Image-edit presets now store prompts, and aspect fill pads stills without stretching.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -9,6 +9,7 @@ import {
|
||||
clampVideoCfg,
|
||||
normalizePresetName,
|
||||
parseGenerationPresetKind,
|
||||
PRESET_PROMPT_MAX,
|
||||
type GenerationPreset,
|
||||
type GenerationPresetKind,
|
||||
type ImagePresetSettings,
|
||||
@@ -105,14 +106,20 @@ function sanitizeVideoSettings(raw: unknown): VideoPresetSettings {
|
||||
}
|
||||
}
|
||||
|
||||
function sanitizePrompt(raw: unknown) {
|
||||
return typeof raw === 'string' ? raw.slice(0, PRESET_PROMPT_MAX) : undefined
|
||||
}
|
||||
|
||||
function sanitizeImageSettings(raw: unknown): ImagePresetSettings {
|
||||
const rec = raw && typeof raw === 'object' ? raw as Record<string, unknown> : {}
|
||||
return {
|
||||
prompt: sanitizePrompt(rec.prompt),
|
||||
steps: clampImageSteps(rec.steps),
|
||||
cfg: clampImageCfg(rec.cfg),
|
||||
negative: String(rec.negative || '').slice(0, 2000),
|
||||
scaleToTotalPixels: rec.scaleToTotalPixels === true,
|
||||
scaleMegapixels: clampImageScaleMegapixels(rec.scaleMegapixels)
|
||||
scaleMegapixels: clampImageScaleMegapixels(rec.scaleMegapixels),
|
||||
aspect: rec.aspect === '16:9' || rec.aspect === '9:16' || rec.aspect === '1:1' || rec.aspect === 'auto' ? rec.aspect : 'auto'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -125,6 +132,7 @@ function sanitizeImageV2Settings(raw: unknown): ImageV2PresetSettings {
|
||||
mode,
|
||||
engine,
|
||||
task: mode === 'compose' ? parseImageV2Task(rec.task, 'scene') : mode === 'refine' ? 'refine' : mode === 'generate' ? 't2i' : 'scene',
|
||||
prompt: sanitizePrompt(rec.prompt),
|
||||
negative: String(rec.negative || '').slice(0, 2000),
|
||||
snofsModel: isXaigenStudio() ? clampImageV2Strength(rec.snofsModel ?? rec.snofs_model, IMAGE_V2_SNOFS_MODEL) : 0,
|
||||
snofsClip: isXaigenStudio() ? clampImageV2Strength(rec.snofsClip ?? rec.snofs_clip, IMAGE_V2_SNOFS_CLIP) : 0,
|
||||
@@ -141,7 +149,8 @@ function sanitizeImageV2Settings(raw: unknown): ImageV2PresetSettings {
|
||||
mode === 'compose' ? IMAGE_V2_KREA_COMPOSE_DENOISE : mode === 'edit' ? IMAGE_V2_KREA_EDIT_DENOISE : IMAGE_V2_DENOISE_DEFAULT
|
||||
),
|
||||
width: mode === 'generate' ? clampImageV2Size(rec.width, rec.height, rec.aspect).width : undefined,
|
||||
height: mode === 'generate' ? clampImageV2Size(rec.width, rec.height, rec.aspect).height : undefined
|
||||
height: mode === 'generate' ? clampImageV2Size(rec.width, rec.height, rec.aspect).height : undefined,
|
||||
aspect: rec.aspect === '16:9' || rec.aspect === '9:16' || rec.aspect === '1:1' || rec.aspect === 'auto' ? String(rec.aspect) : (mode === 'generate' ? '1:1' : 'auto')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user