Add per-image iteration settings and steps/CFG sweeps
This commit is contained in:
+5
-4
@@ -14,7 +14,7 @@ export const LOAD_GENERATION_PAYLOAD_KEY = 'aigen-load-generation-payload'
|
||||
export type QueuedInspectKind = 'video' | 'edit' | 'music'
|
||||
export type QueuedInspectSource = 'studio' | 'live'
|
||||
|
||||
export type QueuedShotDraft = {
|
||||
export type QueuedShotDraft = import('~/utils/imageIterations').ImageIteration & {
|
||||
prompt: string
|
||||
duration: number
|
||||
loraName?: string
|
||||
@@ -48,7 +48,8 @@ export type QueuedInspectPayload = {
|
||||
loraName?: string
|
||||
loraStack?: LoraStackItem[]
|
||||
negative?: string
|
||||
passes?: { prompt: string }[]
|
||||
passes?: import('~/utils/imageIterations').ImageIteration[]
|
||||
passMode?: 'batch' | 'chain'
|
||||
imagePipeline?: 'v1' | 'v2'
|
||||
v2Mode?: string
|
||||
v2Task?: string
|
||||
@@ -99,7 +100,7 @@ export function queuedJobEditable(job: { source?: string; status?: string }) {
|
||||
export function queuedJobShots(payload: QueuedInspectPayload, kind: string): QueuedShotDraft[] {
|
||||
if (kind === 'edit') {
|
||||
const first = { prompt: payload.prompt || '', duration: 0 }
|
||||
const rest = (payload.passes || []).map(item => ({ prompt: item.prompt || '', duration: 0 }))
|
||||
const rest = (payload.passes || []).map(item => ({ ...item, prompt: item.prompt || '', duration: 0 }))
|
||||
return rest.length ? [first, ...rest] : [first]
|
||||
}
|
||||
if (kind === 'music') return []
|
||||
@@ -126,7 +127,7 @@ export function applyQueuedShots(kind: string, shots: QueuedShotDraft[], payload
|
||||
}
|
||||
if (kind === 'edit') {
|
||||
next.prompt = shots[0]?.prompt || ''
|
||||
next.passes = shots.slice(1).map(item => ({ prompt: item.prompt || '' }))
|
||||
next.passes = shots.slice(1).map(({ duration, ...item }) => ({ ...item, prompt: item.prompt || '' }))
|
||||
return next
|
||||
}
|
||||
next.prompt = shots[0]?.prompt || ''
|
||||
|
||||
Reference in New Issue
Block a user