Compare commits

...
Author SHA1 Message Date
israelweiss90 1781beff09 temp file to buffer to avoid OS dependency 2025-02-02 10:56:04 +00:00
BriaOr 502206f518 Merge pull request #13 from Bria-AI/DvirYBria-gen-fill-seed
Added seed go gen fill
2025-02-02 11:45:15 +02:00
DvirYBria da8adda281 Added seed go gen fill 2025-02-02 11:35:57 +02:00
BriaOr 1c02dea96b Update Readme.md 2025-01-30 17:08:42 +02:00
or 5b77fd90a8 updated genfill workflow 2025-01-30 16:52:21 +02:00
BriaOr 246e05ac3e Update Readme.md 2025-01-30 15:29:41 +02:00
or b6f2f8b297 Updated background workflow 2025-01-30 15:24:53 +02:00
BriaOr 5052a7bf94 Update Readme.md 2025-01-30 15:13:40 +02:00
BriaOr afc9599c63 Update Readme.md 2025-01-30 15:03:42 +02:00
BriaOr 13a3dfb2bb Update Readme.md 2025-01-30 15:02:07 +02:00
BriaOr 6573f2e43d Rename Product shot generation_workflow.json to product shot generation_workflow.json 2025-01-30 14:52:06 +02:00
or ac7e97c348 Updated workflows 2025-01-30 14:51:39 +02:00
BriaOr c6fe701115 Merge pull request #10 from Bria-AI/feature/new-comfyui-nodes
4 new nodes- rmbg, replace bg, expand, remove fg
2025-01-30 14:21:15 +02:00
BriaOr 3b5cca2dc8 Update Readme.md 2025-01-29 16:07:42 +02:00
BriaOr aaf0729f78 Update Readme.md 2025-01-28 17:57:17 +02:00
BriaOr 1a37414fe4 Update Readme.md 2025-01-28 17:51:10 +02:00
BriaOr 2fbbce0d1b Update Readme.md 2025-01-28 17:47:33 +02:00
BriaOr 23f9e46eff Update Readme.md 2025-01-28 17:39:26 +02:00
12 changed files with 42 additions and 1203 deletions
+24 -23
View File
@@ -19,43 +19,44 @@ To load a workflow, import the compatible workflow.json files from this [folder]
<!-- <img src="./images/bria_api_nodes_workflow_diagram.png" alt="all workflows example" width="400"/> <img src="./images/bria_api_nodes_workflow_diagram_2.png" alt="all workflows example" width="400"/> -->
# Coming soon
- [ ] Video Editing
# Available Nodes
## Image Generation Nodes
These nodes create high-quality images from text or image prompts, generating photorealistic or artistic results with support for various aspect ratios. [[API docs](https://bria-ai-api-docs.redoc.ly/tag/Image-Generation)].
### **Text2Image Base Node**
This node generates images from text prompts, serving as the foundation for creating visuals based on descriptive input. [[🤗model card](https://huggingface.co/briaai/BRIA-2.3)]
| Node | Description |
|------------------------|--------------------------------------------------------------------|
| **Text2Image Base** | Generates images from text prompts, serving as the foundation for text-based image creation. |
| **Text2Image Fast** | Optimized for speed, this node generates images from text prompts with faster results while maintaining quality. |
| **Text2Image HD** | Optimized for high-resolution outputs, this node generates detailed and sharp visuals from text prompts. |
## Tailored Generation Nodes
These nodes use pre-trained tailored models to generate images that faithfully reproduce specific visual IP elements or guidelines. [[API docs](https://bria-ai-api-docs.redoc.ly/tag/Tailored-Generation)].
### **Tailored Gen**
This node generates images using a trained tailored model, faithfully reproducing specific visual IP elements or guidelines established during model training.
### **Tailored Model Info**
This node retrieves the **default settings** and **prompt prefix** of a **trained tailored model**. It provides the necessary information to configure and run the model in the **Tailored Gen node**, ensuring consistency with the model's intended behavior.
| Node | Description |
|------------------------|--------------------------------------------------------------------|
| **Tailored Gen** | Generates images using a trained tailored model, reproducing specific visual IP elements or guidelines. Use the Tailored Model Info node to load the model's default settings. |
| **Tailored Model Info** | Retrieves the default settings and prompt prefix of a trained tailored model, which can be used to configure the Tailored Gen node. |
## Image Editing Nodes
These nodes modify specific parts of images, enabling adjustments, while maintaining the integrity of the rest of the image.[[API docs](https://bria-ai-api-docs.redoc.ly/tag/Image-Editing)]
These nodes modify specific parts of images, enabling adjustments while maintaining the integrity of the rest of the image. [[API docs](https://bria-ai-api-docs.redoc.ly/tag/Image-Editing)].
### **Eraser**
This node is used to remove specific objects or areas from an image by providing a mask. Powered by BRIA's ControlNet inpainting [[🤗model card](https://huggingface.co/briaai/BRIA-2.3-ControlNet-Inpainting)] [[🤗HF demo](https://huggingface.co/spaces/briaai/BRIA-Eraser-API)].
### **GenFill**
This node is used to generate objects by prompt in a specific region of an image. This functionality is powered by BRIA's ControlNet Generative Fill. [[🤗model card](https://huggingface.co/briaai/BRIA-2.3-ControlNet-Generative-Fill)] [[🤗HF demo](https://huggingface.co/spaces/briaai/BRIA-Generative-Fill-API)]
| Node | Description |
|------------------------|--------------------------------------------------------------------|
| **RMBG 2.0 (Remove Background)** | Removes the background from an image, isolating the foreground subject. |
| **Replace Background** | Replaces an image’s background with a new one, guided by either a reference image or a prompt. |
| **Expand Image** | Expands the dimensions of an image, generating new content to fill the extended areas. |
| **Eraser** | Removes specific objects or areas from an image by providing a mask. |
| **GenFill** | Generates objects by prompt in a specific region of an image. |
| **Erase Foreground** | Removes the foreground from an image, isolating the background. |
## Product Shot Generation Nodes
These nodes create high-quality product images for eCommerce workflows. [[API docs](https://bria-ai-api-docs.redoc.ly/tag/Product-Shots-Generation)]
These nodes create high-quality product images for eCommerce workflows. [[API docs](https://bria-ai-api-docs.redoc.ly/tag/Product-Shots-Generation)].
### **ShotByText**
This node is used to modify the background in an image by providing a prompt, This functionality is powered by BRIA's ControlNet Background-Generation.[[🤗ContrlNet model card](https://huggingface.co/briaai/BRIA-2.3-ControlNet-BG-Gen)] [[🤗HF demo](https://huggingface.co/spaces/briaai/Product-Shot-Generation)].
### **ShotByImage**
This node is used to modify the background in an image by providing a reference image. This functionality is powered by BRIA's ControlNet Background-Generation and BRIA's Image-Prompt. [[🤗ContrlNet model card](https://huggingface.co/briaai/BRIA-2.3-ControlNet-Inpainting)] [[🤗IP-Adapter model card](https://huggingface.co/briaai/Image-Prompt)] [[🤗HF demo](https://huggingface.co/spaces/briaai/Product-Shot-Generation)].
| Node | Description |
|------------------------|--------------------------------------------------------------------|
| **ShotByText** | Modifies an image's background by providing a text prompt. Powered by BRIA's ControlNet Background-Generation. |
| **ShotByImage** | Modifies an image's background by providing a reference image. Uses BRIA's ControlNet Background-Generation and Image-Prompt. |
# Installation
There are two methods to install the BRIA ComfyUI API nodes:
+6 -2
View File
@@ -17,6 +17,9 @@ class GenFillNode():
"prompt": ("STRING",),
"api_key": ("STRING", {"default": "BRIA_API_TOKEN"}), # API Key input with a default value
},
"optional": {
"seed": ("INT", {"default": 123456})
}
}
RETURN_TYPES = ("IMAGE",)
@@ -28,7 +31,7 @@ class GenFillNode():
self.api_url = "https://engine.prod.bria-api.com/v1/gen_fill" # Eraser API URL
# Define the execute method as expected by ComfyUI
def execute(self, image, mask, prompt, api_key):
def execute(self, image, mask, prompt, api_key, seed):
if api_key.strip() == "" or api_key.strip() == "BRIA_API_TOKEN":
raise Exception("Please insert a valid API key.")
@@ -48,7 +51,8 @@ class GenFillNode():
"mask_file": f"{mask_base64}",
"prompt": prompt,
"negative_prompt": "blurry",
"sync": True
"sync": True,
"seed": seed,
}
headers = {
+9 -6
View File
@@ -5,7 +5,7 @@ import io
import torch
from .common import preprocess_image
from io import BytesIO
class RmbgNode():
@classmethod
@@ -35,11 +35,14 @@ class RmbgNode():
image = preprocess_image(image)
# Prepare the API request payload
# temporary save the image to /tmp
temp_img_path = "/tmp/temp_img.jpeg"
image.save(temp_img_path, format="JPEG")
files=[('file',('temp_img.jpeg', open(temp_img_path, 'rb'),'image/jpeg'))
]
image_buffer = BytesIO()
image.save(image_buffer, format="JPEG")
# Get binary data from buffer
image_buffer.seek(0) # Move cursor to the start of the buffer
binary_data = image_buffer.read()
files=[('file',('temp_img.jpeg', BytesIO(binary_data),'image/jpeg'))]
try:
response = requests.post(self.api_url, data={}, headers={"api_token": api_key}, files=files)
@@ -0,0 +1 @@
{"last_node_id":39,"last_link_id":65,"nodes":[{"id":34,"type":"LoadImage","pos":[19.94045066833496,1075.806640625],"size":[315,314],"flags":{},"order":0,"mode":0,"inputs":[],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[61],"slot_index":0,"localized_name":"IMAGE"},{"name":"MASK","type":"MASK","links":null,"localized_name":"MASK"}],"properties":{"Node name for S&R":"LoadImage"},"widgets_values":["quirky-red-brick-brick-wallpaper.jpg","image"]},{"id":36,"type":"PreviewImage","pos":[468.7108154296875,1210.288818359375],"size":[210,246],"flags":{},"order":5,"mode":0,"inputs":[{"name":"images","type":"IMAGE","link":63,"localized_name":"images"}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":33,"type":"PreviewImage","pos":[1317.4083251953125,1118.4864501953125],"size":[210,246],"flags":{},"order":8,"mode":0,"inputs":[{"name":"images","type":"IMAGE","link":59,"localized_name":"images"}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":31,"type":"PreviewImage","pos":[1668.734619140625,796.7755737304688],"size":[210,246],"flags":{},"order":10,"mode":0,"inputs":[{"name":"images","type":"IMAGE","link":57,"localized_name":"images"}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":29,"type":"PreviewImage","pos":[872.8858032226562,679.9429321289062],"size":[210,246],"flags":{},"order":6,"mode":0,"inputs":[{"name":"images","type":"IMAGE","link":55,"localized_name":"images"}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":28,"type":"LoadImage","pos":[29.629886627197266,676.8370361328125],"size":[315,314],"flags":{},"order":1,"mode":0,"inputs":[],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[54],"slot_index":0,"localized_name":"IMAGE"},{"name":"MASK","type":"MASK","links":null,"localized_name":"MASK"}],"properties":{"Node name for S&R":"LoadImage"},"widgets_values":["pexels-photo-1808399.jpeg","image"]},{"id":35,"type":"RemoveForegroundNode","pos":[414.2638854980469,1079.1705322265625],"size":[315,58],"flags":{},"order":3,"mode":0,"inputs":[{"name":"image","type":"IMAGE","link":61,"localized_name":"image"}],"outputs":[{"name":"output_image","type":"IMAGE","links":[62,63],"slot_index":0,"localized_name":"output_image"}],"properties":{"Node name for S&R":"RemoveForegroundNode"},"widgets_values":["BRIA_API_TOKEN"]},{"id":32,"type":"ReplaceBgNode","pos":[834.6115112304688,1063.0406494140625],"size":[315,294],"flags":{},"order":7,"mode":0,"inputs":[{"name":"image","type":"IMAGE","link":65,"localized_name":"image"},{"name":"ref_image","type":"IMAGE","link":62,"shape":7,"localized_name":"ref_image"}],"outputs":[{"name":"output_image","type":"IMAGE","links":[59,64],"slot_index":0,"localized_name":"output_image"}],"properties":{"Node name for S&R":"ReplaceBgNode"},"widgets_values":["BRIA_API_TOKEN",false,"",true,true,true,false,"",1978,"randomize"]},{"id":30,"type":"ImageExpansionNode","pos":[1265.001220703125,798.8323974609375],"size":[315,226],"flags":{},"order":9,"mode":0,"inputs":[{"name":"image","type":"IMAGE","link":64,"localized_name":"image"}],"outputs":[{"name":"output_image","type":"IMAGE","links":[57],"slot_index":0,"localized_name":"output_image"}],"properties":{"Node name for S&R":"ImageExpansionNode"},"widgets_values":["600,760","200, 0","BRIA_API_TOKEN","1200, 800","",1729,"randomize","Ugly, mutated"]},{"id":38,"type":"Note","pos":[436.7110900878906,566.2047119140625],"size":[306.28387451171875,58],"flags":{},"order":2,"mode":0,"inputs":[],"outputs":[],"properties":{},"widgets_values":["You can get your BRIA API token at:\nhttps://bria.ai/api/"],"color":"#432","bgcolor":"#653"},{"id":27,"type":"RmbgNode","pos":[430.8815002441406,678.7727661132812],"size":[315,58],"flags":{},"order":4,"mode":0,"inputs":[{"name":"image","type":"IMAGE","link":54,"localized_name":"image"}],"outputs":[{"name":"output_image","type":"IMAGE","links":[55,65],"slot_index":0,"localized_name":"output_image"}],"properties":{"Node name for S&R":"RmbgNode"},"widgets_values":["BRIA_API_TOKEN"]}],"links":[[51,5,0,15,2,"STRING"],[54,28,0,27,0,"IMAGE"],[55,27,0,29,0,"IMAGE"],[57,30,0,31,0,"IMAGE"],[59,32,0,33,0,"IMAGE"],[61,34,0,35,0,"IMAGE"],[62,35,0,32,1,"IMAGE"],[63,35,0,36,0,"IMAGE"],[64,32,0,30,0,"IMAGE"],[65,27,0,32,0,"IMAGE"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.8140274938684037,"offset":[101.53311990208498,-477.0342684311694]},"node_versions":{"comfyui-bria-api":"c72754d15b53a13ee0c0419d70401232c56b7fdb","comfy-core":"v0.3.8-1-gc441048","ComfyUI-Jjk-Nodes":"b3c99bb78a99551776b5eab1a820e1cd58f84f31"}},"version":0.4}
+1
View File
@@ -0,0 +1 @@
{"last_node_id":41,"last_link_id":62,"nodes":[{"id":14,"type":"Note","pos":[478,444],"size":[396.80859375,61.8046875],"flags":{},"order":0,"mode":0,"inputs":[],"outputs":[],"properties":{},"widgets_values":["Right click, and choose \"Open in Mask Editor\" to draw a mask of areas you want to erase."],"color":"#432","bgcolor":"#653"},{"id":15,"type":"Note","pos":[1080.3062744140625,445.9654541015625],"size":[306.28387451171875,58],"flags":{},"order":1,"mode":0,"inputs":[],"outputs":[],"properties":{},"widgets_values":["You can get your BRIA API token at:\nhttps://bria.ai/api/"],"color":"#432","bgcolor":"#653"},{"id":30,"type":"LoadImage","pos":[479,572],"size":[395.7845153808594,352.8512268066406],"flags":{},"order":2,"mode":0,"inputs":[],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[56],"slot_index":0,"shape":3,"localized_name":"IMAGE"},{"name":"MASK","type":"MASK","links":[57],"slot_index":1,"shape":3,"localized_name":"MASK"}],"properties":{"Node name for S&R":"LoadImage"},"widgets_values":["clipspace/clipspace-mask-4068974.800000012.png [input]","image"]},{"id":37,"type":"PreviewImage","pos":[1504.4755859375,568.9967651367188],"size":[438.50262451171875,376.8338317871094],"flags":{},"order":6,"mode":0,"inputs":[{"name":"images","type":"IMAGE","link":58,"localized_name":"images"}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":33,"type":"PreviewImage","pos":[1502.785888671875,1078.3564453125],"size":[433.29193115234375,357.1255187988281],"flags":{},"order":7,"mode":0,"inputs":[{"name":"images","type":"IMAGE","link":54,"localized_name":"images"}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":40,"type":"LoadImage","pos":[541.1226806640625,1079.39697265625],"size":[315,314],"flags":{},"order":3,"mode":0,"inputs":[],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[61],"slot_index":0,"localized_name":"IMAGE"},{"name":"MASK","type":"MASK","links":[62],"slot_index":1,"localized_name":"MASK"}],"properties":{"Node name for S&R":"LoadImage"},"widgets_values":["clipspace/clipspace-mask-4411367.100000024.png [input]","image"]},{"id":34,"type":"BriaGenFill","pos":[1032.416748046875,1073.984619140625],"size":[315,102],"flags":{},"order":5,"mode":0,"inputs":[{"name":"image","type":"IMAGE","link":61,"localized_name":"image"},{"name":"mask","type":"MASK","link":62,"localized_name":"mask"}],"outputs":[{"name":"output_image","type":"IMAGE","links":[54],"slot_index":0,"shape":3,"localized_name":"output_image"}],"properties":{"Node name for S&R":"BriaGenFill"},"widgets_values":["a blue coffee mug","BRIA_API_TOKEN"]},{"id":36,"type":"BriaEraser","pos":[1068.6063232421875,574.6080322265625],"size":[315,78],"flags":{},"order":4,"mode":0,"inputs":[{"name":"image","type":"IMAGE","link":56,"localized_name":"image"},{"name":"mask","type":"MASK","link":57,"localized_name":"mask"}],"outputs":[{"name":"output_image","type":"IMAGE","links":[58],"slot_index":0,"localized_name":"output_image"}],"properties":{"Node name for S&R":"BriaEraser"},"widgets_values":["BRIA_API_TOKEN"]}],"links":[[54,34,0,33,0,"IMAGE"],[56,30,0,36,0,"IMAGE"],[57,30,1,36,1,"MASK"],[58,36,0,37,0,"IMAGE"],[61,40,0,34,0,"IMAGE"],[62,40,1,34,1,"MASK"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.6727499949325677,"offset":[131.53042816003972,-419.53430403204317]}},"version":0.4}
-203
View File
@@ -1,203 +0,0 @@
{
"last_node_id": 28,
"last_link_id": 42,
"nodes": [
{
"id": 15,
"type": "Note",
"pos": {
"0": 1021,
"1": 280
},
"size": {
"0": 311.8914794921875,
"1": 153.69827270507812
},
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": [
"The default BRIA API key for ComfyUI (BRIA_ComfyUI_Key) offers 10,000 API calls for the entire community. \n\nGet your own token at:\nhttps://bria.ai/api/"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 13,
"type": "PreviewImage",
"pos": {
"0": 1410,
"1": 160
},
"size": {
"0": 474.7605895996094,
"1": 303.117919921875
},
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 42
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewImage"
}
},
{
"id": 21,
"type": "LoadImage",
"pos": {
"0": 477,
"1": 156
},
"size": {
"0": 408.4602355957031,
"1": 333.19830322265625
},
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
40
],
"slot_index": 0,
"shape": 3
},
{
"name": "MASK",
"type": "MASK",
"links": [
41
],
"slot_index": 1,
"shape": 3
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"clipspace/clipspace-mask-82245.69999998808.png [input]",
"image"
]
},
{
"id": 28,
"type": "BriaEraser",
"pos": {
"0": 1022,
"1": 159
},
"size": {
"0": 315,
"1": 78
},
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 40
},
{
"name": "mask",
"type": "MASK",
"link": 41
}
],
"outputs": [
{
"name": "output_image",
"type": "IMAGE",
"links": [
42
],
"slot_index": 0,
"shape": 3
}
],
"properties": {
"Node name for S&R": "BriaEraser"
},
"widgets_values": [
"BRIA_ComfyUI_Key"
]
},
{
"id": 14,
"type": "Note",
"pos": {
"0": 483,
"1": 39
},
"size": [
396.80859375,
61.8046875
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": [
"Right click, and choose \"Open in Mask Editor\" to draw a mask of areas you want animated more. "
],
"color": "#432",
"bgcolor": "#653"
}
],
"links": [
[
40,
21,
0,
28,
0,
"IMAGE"
],
[
41,
21,
1,
28,
1,
"MASK"
],
[
42,
28,
0,
13,
0,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 1,
"offset": [
-293.75,
167.65625
]
}
},
"version": 0.4
}
-204
View File
@@ -1,204 +0,0 @@
{
"last_node_id": 35,
"last_link_id": 55,
"nodes": [
{
"id": 33,
"type": "PreviewImage",
"pos": {
"0": 1420,
"1": 574
},
"size": {
"0": 433.29193115234375,
"1": 357.1255187988281
},
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 54
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewImage"
}
},
{
"id": 30,
"type": "LoadImage",
"pos": {
"0": 479,
"1": 572
},
"size": {
"0": 395.7845153808594,
"1": 352.8512268066406
},
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
53
],
"slot_index": 0,
"shape": 3
},
{
"name": "MASK",
"type": "MASK",
"links": [
55
],
"slot_index": 1,
"shape": 3
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"clipspace/clipspace-mask-1438488.400000006.png [input]",
"image"
]
},
{
"id": 14,
"type": "Note",
"pos": {
"0": 478,
"1": 444
},
"size": {
"0": 396.80859375,
"1": 61.8046875
},
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": [
"Right click, and choose \"Open in Mask Editor\" to draw a mask of areas you want to erase."
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 15,
"type": "Note",
"pos": {
"0": 983,
"1": 440
},
"size": {
"0": 306.28387451171875,
"1": 58
},
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": [
"You can get your BRIA API token at:\nhttps://bria.ai/api/"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 34,
"type": "BriaGenFill",
"pos": {
"0": 992,
"1": 572
},
"size": {
"0": 315,
"1": 102
},
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 53
},
{
"name": "mask",
"type": "MASK",
"link": 55
}
],
"outputs": [
{
"name": "output_image",
"type": "IMAGE",
"links": [
54
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "BriaGenFill"
},
"widgets_values": [
"a beautiful paint brush",
"BRIA_API_TOKEN"
]
}
],
"links": [
[
53,
30,
0,
34,
0,
"IMAGE"
],
[
54,
34,
0,
33,
0,
"IMAGE"
],
[
55,
30,
1,
34,
1,
"MASK"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.8264462809917364,
"offset": [
-266.96526103236687,
114.47857424738714
]
}
},
"version": 0.4
}
-203
View File
@@ -1,203 +0,0 @@
{
"last_node_id": 35,
"last_link_id": 55,
"nodes": [
{
"id": 33,
"type": "PreviewImage",
"pos": {
"0": 1420,
"1": 574
},
"size": {
"0": 433.29193115234375,
"1": 357.1255187988281
},
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 54
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewImage"
}
},
{
"id": 30,
"type": "LoadImage",
"pos": {
"0": 479,
"1": 572
},
"size": {
"0": 395.7845153808594,
"1": 352.8512268066406
},
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
53
],
"slot_index": 0,
"shape": 3
},
{
"name": "MASK",
"type": "MASK",
"links": [
55
],
"slot_index": 1,
"shape": 3
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"clipspace/clipspace-mask-1438488.400000006.png [input]",
"image"
]
},
{
"id": 14,
"type": "Note",
"pos": {
"0": 478,
"1": 444
},
"size": {
"0": 396.80859375,
"1": 61.8046875
},
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": [
"Right click, and choose \"Open in Mask Editor\" to draw a mask of areas you want to erase."
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 15,
"type": "Note",
"pos": {
"0": 983,
"1": 440
},
"size": {
"0": 306.28387451171875,
"1": 58
},
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": [
"You can get your BRIA API token at:\nhttps://bria.ai/api/"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 34,
"type": "ImageExpansionNode",
"pos": {
"0": 992,
"1": 572
},
"size": {
"0": 315,
"1": 102
},
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 53
},
{
"name": "mask",
"type": "MASK",
"link": 55
}
],
"outputs": [
{
"name": "output_image",
"type": "IMAGE",
"links": [
54
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "ImageExpansionNode"
},
"widgets_values": [
"BRIA_API_TOKEN"
]
}
],
"links": [
[
53,
30,
0,
34,
0,
"IMAGE"
],
[
54,
34,
0,
33,
0,
"IMAGE"
],
[
55,
30,
1,
34,
1,
"MASK"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.8264462809917364,
"offset": [
-266.96526103236687,
114.47857424738714
]
}
},
"version": 0.4
}
@@ -293,4 +293,4 @@
}
},
"version": 0.4
}
}
-179
View File
@@ -1,179 +0,0 @@
{
"last_node_id": 36,
"last_link_id": 58,
"nodes": [
{
"id": 15,
"type": "Note",
"pos": [
983,
440
],
"size": [
306.28387451171875,
58
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": [
"You can get your BRIA API token at:\nhttps://bria.ai/api/"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 33,
"type": "PreviewImage",
"pos": [
1420,
574
],
"size": [
433.29193115234375,
357.1255187988281
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 58
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 30,
"type": "LoadImage",
"pos": [
479,
572
],
"size": [
395.7845153808594,
352.8512268066406
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
57
],
"slot_index": 0,
"shape": 3
},
{
"name": "MASK",
"type": "MASK",
"links": [
55
],
"slot_index": 1,
"shape": 3
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"9f80551c-dd4f-11ef-a692-e2f8583797ff (1).png",
"image"
]
},
{
"id": 36,
"type": "RemoveForegroundNode",
"pos": [
985.8506469726562,
572.9254150390625
],
"size": [
315,
58
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 57
}
],
"outputs": [
{
"name": "output_image",
"type": "IMAGE",
"links": [
58
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "RemoveForegroundNode"
},
"widgets_values": [
"BRIA_API_TOKEN"
]
}
],
"links": [
[
55,
30,
1,
34,
1,
"MASK"
],
[
57,
30,
0,
36,
0,
"IMAGE"
],
[
58,
36,
0,
33,
0,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.4594972986357223,
"offset": [
910.1666624806405,
289.9288421609929
]
},
"node_versions": {
"comfy-core": "0.3.12",
"ComfyUI-BRIA-API": ""
}
},
"version": 0.4
}
-203
View File
@@ -1,203 +0,0 @@
{
"last_node_id": 35,
"last_link_id": 55,
"nodes": [
{
"id": 33,
"type": "PreviewImage",
"pos": {
"0": 1420,
"1": 574
},
"size": {
"0": 433.29193115234375,
"1": 357.1255187988281
},
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 54
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewImage"
}
},
{
"id": 30,
"type": "LoadImage",
"pos": {
"0": 479,
"1": 572
},
"size": {
"0": 395.7845153808594,
"1": 352.8512268066406
},
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
53
],
"slot_index": 0,
"shape": 3
},
{
"name": "MASK",
"type": "MASK",
"links": [
55
],
"slot_index": 1,
"shape": 3
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"clipspace/clipspace-mask-1438488.400000006.png [input]",
"image"
]
},
{
"id": 14,
"type": "Note",
"pos": {
"0": 478,
"1": 444
},
"size": {
"0": 396.80859375,
"1": 61.8046875
},
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": [
"Right click, and choose \"Open in Mask Editor\" to draw a mask of areas you want to erase."
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 15,
"type": "Note",
"pos": {
"0": 983,
"1": 440
},
"size": {
"0": 306.28387451171875,
"1": 58
},
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": [
"You can get your BRIA API token at:\nhttps://bria.ai/api/"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 34,
"type": "ReplaceBgNode",
"pos": {
"0": 992,
"1": 572
},
"size": {
"0": 315,
"1": 102
},
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 53
},
{
"name": "mask",
"type": "MASK",
"link": 55
}
],
"outputs": [
{
"name": "output_image",
"type": "IMAGE",
"links": [
54
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "ReplaceBgNode"
},
"widgets_values": [
"BRIA_API_TOKEN"
]
}
],
"links": [
[
53,
30,
0,
34,
0,
"IMAGE"
],
[
54,
34,
0,
33,
0,
"IMAGE"
],
[
55,
30,
1,
34,
1,
"MASK"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.8264462809917364,
"offset": [
-266.96526103236687,
114.47857424738714
]
}
},
"version": 0.4
}
-179
View File
@@ -1,179 +0,0 @@
{
"last_node_id": 36,
"last_link_id": 58,
"nodes": [
{
"id": 15,
"type": "Note",
"pos": [
983,
440
],
"size": [
306.28387451171875,
58
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": [
"You can get your BRIA API token at:\nhttps://bria.ai/api/"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 33,
"type": "PreviewImage",
"pos": [
1420,
574
],
"size": [
433.29193115234375,
357.1255187988281
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 58
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 30,
"type": "LoadImage",
"pos": [
479,
572
],
"size": [
395.7845153808594,
352.8512268066406
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
57
],
"slot_index": 0,
"shape": 3
},
{
"name": "MASK",
"type": "MASK",
"links": [
55
],
"slot_index": 1,
"shape": 3
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"9f80551c-dd4f-11ef-a692-e2f8583797ff (1).png",
"image"
]
},
{
"id": 36,
"type": "RmbgNode",
"pos": [
985.8506469726562,
572.9254150390625
],
"size": [
315,
58
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 57
}
],
"outputs": [
{
"name": "output_image",
"type": "IMAGE",
"links": [
58
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "RmbgNode"
},
"widgets_values": [
"BRIA_API_TOKEN"
]
}
],
"links": [
[
55,
30,
1,
34,
1,
"MASK"
],
[
57,
30,
0,
36,
0,
"IMAGE"
],
[
58,
36,
0,
33,
0,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.4594972986357223,
"offset": [
910.1666624806405,
289.9288421609929
]
},
"node_versions": {
"comfy-core": "0.3.12",
"ComfyUI-BRIA-API": ""
}
},
"version": 0.4
}