Skip to content

Instantly share code, notes, and snippets.

@josephrocca
Last active March 9, 2024 12:40
Show Gist options
  • Save josephrocca/fbcc98c9b3ba0cd37d38215b116b5141 to your computer and use it in GitHub Desktop.
Save josephrocca/fbcc98c9b3ba0cd37d38215b116b5141 to your computer and use it in GitHub Desktop.
TripoSR Docker (with ComfyUI) - workflow from https://twitter.com/ilumine_ai/status/1765987960858853740
# on local machine
git clone https://github.com/comfyanonymous/ComfyUI
cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
cd ../
# start docker
docker run --name comfyui -p 8188:8188 -it --rm --gpus all -v $PWD:/workspace pytorch/pytorch:2.2.1-cuda12.1-cudnn8-devel bash
apt-get update
apt-get install wget git libgl1 libglib2.0-0 -y
pip install -r requirements.txt
python main.py --listen 0.0.0.0
# then load the workflow file and then click "manager" and "install missing custom nodes", and then restart
{
"last_node_id": 284,
"last_link_id": 522,
"nodes": [
{
"id": 281,
"type": "PreviewImage",
"pos": [
2060,
1150
],
"size": {
"0": 310,
"1": 350
},
"flags": {},
"order": 19,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 495
}
],
"properties": {
"Node name for S&R": "PreviewImage"
}
},
{
"id": 280,
"type": "ETN_ApplyMaskToImage",
"pos": [
2060,
1060
],
"size": {
"0": 310,
"1": 50
},
"flags": {},
"order": 17,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 508
},
{
"name": "mask",
"type": "MASK",
"link": 496
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
495
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "ETN_ApplyMaskToImage"
}
},
{
"id": 274,
"type": "TripoSRSampler",
"pos": [
2680,
800
],
"size": {
"0": 250,
"1": 122
},
"flags": {},
"order": 16,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "TRIPOSR_MODEL",
"link": 473
},
{
"name": "reference_image",
"type": "IMAGE",
"link": 503
},
{
"name": "reference_mask",
"type": "MASK",
"link": 480
}
],
"outputs": [
{
"name": "MESH",
"type": "MESH",
"links": [
476
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "TripoSRSampler"
},
"widgets_values": [
256,
25
]
},
{
"id": 269,
"type": "Reroute",
"pos": [
1890,
960
],
"size": [
75,
26
],
"flags": {},
"order": 12,
"mode": 0,
"inputs": [
{
"name": "",
"type": "*",
"link": 519
}
],
"outputs": [
{
"name": "",
"type": "IMAGE",
"links": [
465,
503,
508
],
"slot_index": 0
}
],
"properties": {
"showOutputText": false,
"horizontal": false
}
},
{
"id": 202,
"type": "Image Rembg (Remove Background)",
"pos": [
2060,
570
],
"size": {
"0": 320,
"1": 350
},
"flags": {},
"order": 13,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 465,
"slot_index": 0
}
],
"outputs": [
{
"name": "images",
"type": "IMAGE",
"links": [
331,
343
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "Image Rembg (Remove Background)"
},
"widgets_values": [
true,
"u2net",
false,
true,
false,
240,
10,
10,
"none"
]
},
{
"id": 201,
"type": "PreviewImage",
"pos": [
2390,
670
],
"size": {
"0": 210,
"1": 250
},
"flags": {},
"order": 14,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 331
}
],
"properties": {
"Node name for S&R": "PreviewImage"
}
},
{
"id": 217,
"type": "Image To Mask",
"pos": [
2390,
570
],
"size": {
"0": 210,
"1": 60
},
"flags": {},
"order": 15,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 343
}
],
"outputs": [
{
"name": "MASK",
"type": "MASK",
"links": [
480,
496
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "Image To Mask"
},
"widgets_values": [
"intensity"
]
},
{
"id": 234,
"type": "CLIPTextEncode",
"pos": [
1150,
870
],
"size": {
"0": 250,
"1": 76
},
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 522
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
514
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
""
],
"color": "#322",
"bgcolor": "#533"
},
{
"id": 241,
"type": "PreviewImage",
"pos": [
1420,
810
],
"size": {
"0": 260,
"1": 290
},
"flags": {},
"order": 11,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 438
}
],
"properties": {
"Node name for S&R": "PreviewImage"
}
},
{
"id": 237,
"type": "EmptyLatentImage",
"pos": [
1150,
990
],
"size": {
"0": 250,
"1": 110
},
"flags": {},
"order": 0,
"mode": 0,
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
392
],
"shape": 3
}
],
"properties": {
"Node name for S&R": "EmptyLatentImage"
},
"widgets_values": [
512,
512,
1
]
},
{
"id": 238,
"type": "VAEDecode",
"pos": [
1420,
720
],
"size": {
"0": 260,
"1": 50
},
"flags": {},
"order": 9,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 393
},
{
"name": "vae",
"type": "VAE",
"link": 437,
"slot_index": 1
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
418,
438
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "VAEDecode"
}
},
{
"id": 211,
"type": "LoadImage",
"pos": [
1420,
1210
],
"size": {
"0": 260,
"1": 360
},
"flags": {
"collapsed": false
},
"order": 1,
"mode": 0,
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
517
],
"shape": 3,
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": [],
"shape": 3,
"slot_index": 1
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"00046-1127741831 (4).png",
"image"
]
},
{
"id": 270,
"type": "Reroute",
"pos": [
1770,
1000
],
"size": [
75,
26
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "",
"type": "*",
"link": 517
}
],
"outputs": [
{
"name": "",
"type": "IMAGE",
"links": [],
"slot_index": 0
}
],
"properties": {
"showOutputText": false,
"horizontal": false
}
},
{
"id": 252,
"type": "Reroute",
"pos": [
1770,
930
],
"size": [
75,
26
],
"flags": {},
"order": 10,
"mode": 0,
"inputs": [
{
"name": "",
"type": "*",
"link": 418
}
],
"outputs": [
{
"name": "",
"type": "IMAGE",
"links": [
519
],
"slot_index": 0
}
],
"properties": {
"showOutputText": false,
"horizontal": false
}
},
{
"id": 257,
"type": "TripoSRViewer",
"pos": [
2390,
1070
],
"size": [
600,
500
],
"flags": {},
"order": 18,
"mode": 0,
"inputs": [
{
"name": "mesh",
"type": "MESH",
"link": 476
}
],
"properties": {
"Node name for S&R": "TripoSRViewer"
},
"widgets_values": [
null
]
},
{
"id": 230,
"type": "Note",
"pos": [
1770,
840
],
"size": {
"0": 210,
"1": 80
},
"flags": {},
"order": 2,
"mode": 0,
"properties": {
"text": ""
},
"widgets_values": [
"Generate a new image or load an existing one"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 232,
"type": "CheckpointLoaderSimple",
"pos": [
1153,
425
],
"size": {
"0": 250,
"1": 100
},
"flags": {},
"order": 3,
"mode": 0,
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
520
],
"shape": 3,
"slot_index": 0
},
{
"name": "CLIP",
"type": "CLIP",
"links": [
521,
522
],
"shape": 3,
"slot_index": 1
},
{
"name": "VAE",
"type": "VAE",
"links": [
437
],
"shape": 3,
"slot_index": 2
}
],
"properties": {
"Node name for S&R": "CheckpointLoaderSimple"
},
"widgets_values": [
"juggernautXL_v8Rundiffusion.safetensors"
]
},
{
"id": 255,
"type": "TripoSRModelLoader",
"pos": [
2680,
680
],
"size": {
"0": 250,
"1": 82
},
"flags": {},
"order": 4,
"mode": 0,
"outputs": [
{
"name": "TRIPOSR_MODEL",
"type": "TRIPOSR_MODEL",
"links": [
473
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "TripoSRModelLoader"
},
"widgets_values": [
"tripoSR.ckpt",
8192
]
},
{
"id": 235,
"type": "CLIPTextEncode",
"pos": [
1150,
730
],
"size": {
"0": 250,
"1": 100
},
"flags": {
"collapsed": false
},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 521
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
513
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
"teddy bear, realistic, white background"
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 236,
"type": "KSampler",
"pos": [
1420,
420
],
"size": {
"0": 260,
"1": 262
},
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 520
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 513
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 514
},
{
"name": "latent_image",
"type": "LATENT",
"link": 392,
"slot_index": 3
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
393
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "KSampler"
},
"widgets_values": [
1068625326961974,
"randomize",
25,
7,
"euler",
"normal",
1
]
}
],
"links": [
[
331,
202,
0,
201,
0,
"IMAGE"
],
[
343,
202,
0,
217,
0,
"IMAGE"
],
[
392,
237,
0,
236,
3,
"LATENT"
],
[
393,
236,
0,
238,
0,
"LATENT"
],
[
418,
238,
0,
252,
0,
"*"
],
[
437,
232,
2,
238,
1,
"VAE"
],
[
438,
238,
0,
241,
0,
"IMAGE"
],
[
465,
269,
0,
202,
0,
"IMAGE"
],
[
473,
255,
0,
274,
0,
"TRIPOSR_MODEL"
],
[
476,
274,
0,
257,
0,
"MESH"
],
[
480,
217,
0,
274,
2,
"MASK"
],
[
495,
280,
0,
281,
0,
"IMAGE"
],
[
496,
217,
0,
280,
1,
"MASK"
],
[
503,
269,
0,
274,
1,
"IMAGE"
],
[
508,
269,
0,
280,
0,
"IMAGE"
],
[
513,
235,
0,
236,
1,
"CONDITIONING"
],
[
514,
234,
0,
236,
2,
"CONDITIONING"
],
[
517,
211,
0,
270,
0,
"*"
],
[
519,
252,
0,
269,
0,
"*"
],
[
520,
232,
0,
236,
0,
"MODEL"
],
[
521,
232,
1,
235,
0,
"CLIP"
],
[
522,
232,
1,
234,
0,
"CLIP"
]
],
"groups": [
{
"title": "Remove Background",
"bounding": [
2050,
496,
560,
434
],
"color": "#3f789e",
"font_size": 24
},
{
"title": "Image Generator",
"bounding": [
1140,
346,
550,
764
],
"color": "#3f789e",
"font_size": 24
},
{
"title": "Pre-Load mage",
"bounding": [
1410,
1136,
280,
444
],
"color": "#3f789e",
"font_size": 24
},
{
"title": "Results",
"bounding": [
2050,
986,
950,
594
],
"color": "#3f789e",
"font_size": 24
},
{
"title": "3D Processor",
"bounding": [
2670,
606,
270,
326
],
"color": "#3f789e",
"font_size": 24
}
],
"config": {},
"extra": {},
"version": 0.4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment