You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.6 KiB
46 lines
1.6 KiB
using StabilityMatrix.Core.Models.Api.Comfy.NodeTypes; |
|
|
|
namespace StabilityMatrix.Core.Models.Inference; |
|
|
|
public class ModuleApplyStepTemporaryArgs |
|
{ |
|
/// <summary> |
|
/// Temporary Primary apply step, used by ControlNet ReferenceOnly which changes the latent. |
|
/// </summary> |
|
public PrimaryNodeConnection? Primary { get; set; } |
|
|
|
public VAENodeConnection? PrimaryVAE { get; set; } |
|
|
|
/// <summary> |
|
/// Used by Reference-Only ControlNet to indicate that <see cref="Primary"/> has been batched. |
|
/// </summary> |
|
public bool IsPrimaryTempBatched { get; set; } |
|
|
|
/// <summary> |
|
/// When <see cref="IsPrimaryTempBatched"/> is true, this is the index of the temp batch to pick after sampling. |
|
/// </summary> |
|
public int PrimaryTempBatchPickIndex { get; set; } |
|
|
|
public Dictionary<string, ModelConnections> Models { get; set; } = |
|
new() { ["Base"] = new ModelConnections("Base"), ["Refiner"] = new ModelConnections("Refiner") }; |
|
|
|
public ModelConnections Base => Models["Base"]; |
|
public ModelConnections Refiner => Models["Refiner"]; |
|
|
|
public ConditioningConnections GetRefinerOrBaseConditioning() |
|
{ |
|
return Refiner.Conditioning |
|
?? Base.Conditioning |
|
?? throw new NullReferenceException("No Refiner or Base Conditioning"); |
|
} |
|
|
|
public ModelNodeConnection GetRefinerOrBaseModel() |
|
{ |
|
return Refiner.Model ?? Base.Model ?? throw new NullReferenceException("No Refiner or Base Model"); |
|
} |
|
|
|
public VAENodeConnection GetDefaultVAE() |
|
{ |
|
return PrimaryVAE ?? Refiner.VAE ?? Base.VAE ?? throw new NullReferenceException("No VAE"); |
|
} |
|
}
|
|
|