Nodes Browser
ComfyDeploy: How ComfyUI_Seamless_Patten works in ComfyUI?
What is ComfyUI_Seamless_Patten?
It make any text2image create seamless patten
How to install it in ComfyDeploy?
Head over to the machine page
- Click on the "Create a new machine" button
- Select the
Edit
build steps - Add a new step -> Custom Node
- Search for
ComfyUI_Seamless_Patten
and select it - Close the build step dialig and then click on the "Save" button to rebuild the machine
It change UNetModel and VAE Conv2d Layer into circular padding mode that make any text2image process generate seamless patten
2024-6-19 Update:
SeamlessVae Node:
patcher = vae.patcher.clone()
for layer in patcher.model.modules():
if (isinstance(layer, nn.Conv2d)):
pre_hook = layer.register_forward_pre_hook(vae_circular_hook_pre)
hook = layer.register_forward_hook(vae_circular_hook)
setattr(layer, 'circular_pre_hook', pre_hook)
setattr(layer, 'circular_hook', hook)
vae.patcher = patcher
vae.first_stage_model = patcher.model
SeamlessKSampler Node:
padding_mode_list = []
for layer in model.model.diffusion_model.modules():
if (isinstance(layer, nn.Conv2d)):
padding_mode_list.append(layer.padding_mode)
layer.padding_mode = 'circular'
ret = common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise)
ind = 0
for layer in model.model.diffusion_model.modules():
if (isinstance(layer, nn.Conv2d)):
padding_mode_list.append(layer.padding_mode)
layer.padding_mode = padding_mode_list[ind]
ind += 1
<div class="image-container">
<img src="./example/workflow.png" alt="workflow example">
<img src="./example/seamless.jpg" alt="Image semless">
<img src="./example/seamless_tile.jpg" alt="Image seamless tile">
</div>
<!-- <!DOCTYPE html>
<html>
<head>
<style>
.image-container {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
margin: 0px;
}
.image-container img {
flex: 1;
width: calc(33.333% - 20px);
border: none;
object-fit: cover;
}
</style>
</head>
<body>
<div class="image-container">
<img src="./example/seamless2.png" alt="Image 1">
<img src="./example/seamless2.png" alt="Image 2">
</div>
<div class="image-container">
<img src="./example/seamless2.png" alt="Image 3">
<img src="./example/seamless2.png" alt="Image 4">
</div>
</body>
</html> -->