diff --git a/comfy/ldm/trellis2/model.py b/comfy/ldm/trellis2/model.py index 3081d5919..1c5d6c3ec 100644 --- a/comfy/ldm/trellis2/model.py +++ b/comfy/ldm/trellis2/model.py @@ -862,12 +862,13 @@ class Trellis2(nn.Module): out = self.shape2txt(x_st, t_eval, c_eval) else: # structure orig_bsz = x.shape[0] - if shape_rule: - x = x[1].unsqueeze(0) - timestep = timestep[1].unsqueeze(0) - out = self.structure_model(x, timestep, context if not shape_rule else cond) - if shape_rule: - out = out.repeat(orig_bsz, 1, 1, 1, 1) + if shape_rule and orig_bsz > 1: + half = orig_bsz // 2 + x = x[half:] + timestep = timestep[half:] if timestep.shape[0] > 1 else timestep + out = self.structure_model(x, timestep, cond if shape_rule and orig_bsz > 1 else context) + if shape_rule and orig_bsz > 1: + out = out.repeat(2, 1, 1, 1, 1) if not_struct_mode: out = out.feats