feat: ✨ batch text to image if inputs are lists

this rely on fakingly declaring list[str] as STRING for now...
This commit is contained in:
Mel Massadian
2025-08-02 02:27:44 +02:00
parent fd00e12724
commit 499cd218aa
+12 -5
View File
@@ -299,7 +299,7 @@ by default it fallsback to a default font.
def text_to_image(
self,
text: str,
text: str | list[str],
font,
wrap,
trim,
@@ -341,7 +341,7 @@ by default it fallsback to a default font.
color = (255, 255, 255, 255)
background = (0, 0, 0, 255)
def render_text(text_to_render, alpha=None):
def render_text(text_to_render: str, alpha=None) -> Image.Image:
if trim:
text_to_render = text_to_render.strip()
if wrap:
@@ -426,9 +426,16 @@ by default it fallsback to a default font.
frame_tensors = [pil2tensor(frame) for frame in frames]
return (torch.cat(frame_tensors, dim=0),)
else:
text_img = render_text(text)
result = Image.alpha_composite(base_img, text_img)
return (pil2tensor(result),)
results = []
if not isinstance(text, list):
text = [text]
for t in text:
text_img = render_text(t)
result = Image.alpha_composite(base_img, text_img)
results.append(result)
return (pil2tensor(results),)
__nodes__ = [