Jonwi0706 commited on
Commit
f2f365c
·
verified ·
1 Parent(s): 741cd2d

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +726 -19
index.html CHANGED
@@ -1,19 +1,726 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>ComfyUI Workflow</title>
7
+ <style>
8
+ * {
9
+ margin: 0;
10
+ padding: 0;
11
+ box-sizing: border-box;
12
+ }
13
+ body {
14
+ font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', system-ui, sans-serif;
15
+ background-color: #000000;
16
+ color: #f5f5f7;
17
+ line-height: 1.6;
18
+ padding: 20px;
19
+ min-height: 100vh;
20
+ }
21
+ .container {
22
+ max-width: 1200px;
23
+ margin: 0 auto;
24
+ }
25
+ .header {
26
+ text-align: center;
27
+ margin-bottom: 40px;
28
+ padding: 40px 20px;
29
+ }
30
+ .header h1 {
31
+ font-size: 48px;
32
+ font-weight: 600;
33
+ color: #ffffff;
34
+ margin-bottom: 12px;
35
+ letter-spacing: -0.02em;
36
+ }
37
+ .header p {
38
+ font-size: 18px;
39
+ color: #86868b;
40
+ font-weight: 400;
41
+ }
42
+ .controls {
43
+ display: flex;
44
+ gap: 12px;
45
+ margin-bottom: 24px;
46
+ justify-content: center;
47
+ }
48
+ .btn {
49
+ padding: 12px 24px;
50
+ border: none;
51
+ border-radius: 24px;
52
+ font-size: 14px;
53
+ font-weight: 500;
54
+ cursor: pointer;
55
+ transition: all 0.2s;
56
+ font-family: inherit;
57
+ }
58
+ .btn-primary {
59
+ background: #ffffff;
60
+ color: #000000;
61
+ }
62
+ .btn-primary:hover {
63
+ background: #f5f5f7;
64
+ transform: scale(0.98);
65
+ }
66
+ .btn-secondary {
67
+ background: #1d1d1f;
68
+ color: #f5f5f7;
69
+ border: 1px solid #424245;
70
+ }
71
+ .btn-secondary:hover {
72
+ background: #2d2d2f;
73
+ transform: scale(0.98);
74
+ }
75
+ .json-container {
76
+ background-color: #1d1d1f;
77
+ border-radius: 16px;
78
+ padding: 32px;
79
+ overflow-x: auto;
80
+ border: 1px solid #424245;
81
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
82
+ }
83
+ pre {
84
+ margin: 0;
85
+ font-family: 'SF Mono', 'Monaco', 'Menlo', 'Consolas', monospace;
86
+ font-size: 13px;
87
+ line-height: 1.6;
88
+ white-space: pre-wrap;
89
+ word-wrap: break-word;
90
+ }
91
+ .json-key {
92
+ color: #9cdcfe;
93
+ }
94
+ .json-string {
95
+ color: #ce9178;
96
+ }
97
+ .json-number {
98
+ color: #b5cea8;
99
+ }
100
+ .json-boolean {
101
+ color: #569cd6;
102
+ }
103
+ .json-null {
104
+ color: #569cd6;
105
+ }
106
+ .success {
107
+ color: #30d158;
108
+ }
109
+ @media (max-width: 768px) {
110
+ .header h1 {
111
+ font-size: 32px;
112
+ }
113
+ .controls {
114
+ flex-direction: column;
115
+ }
116
+ .json-container {
117
+ padding: 20px;
118
+ }
119
+ }
120
+ </style>
121
+ </head>
122
+ <body>
123
+ <div class="container">
124
+ <div class="header">
125
+ <h1>ComfyUI Workflow</h1>
126
+ <p>View and download your workflow JSON</p>
127
+ </div>
128
+
129
+ <div class="controls">
130
+ <button class="btn btn-primary" onclick="downloadJSON()">Download JSON</button>
131
+ <button class="btn btn-secondary" onclick="copyToClipboard()">Copy to Clipboard</button>
132
+ </div>
133
+
134
+ <div class="json-container">
135
+ <pre id="json-content">{
136
+ "last_node_id": 10,
137
+ "last_link_id": 14,
138
+ "nodes": [
139
+ {
140
+ "id": 1,
141
+ "type": "CheckpointLoaderSimple",
142
+ "pos": [
143
+ 100,
144
+ 100
145
+ ],
146
+ "size": [
147
+ 315,
148
+ 100
149
+ ],
150
+ "flags": {},
151
+ "order": 0,
152
+ "mode": 0,
153
+ "inputs": [],
154
+ "outputs": [
155
+ {
156
+ "name": "model",
157
+ "type": "MODEL",
158
+ "links": [
159
+ 1
160
+ ],
161
+ "slot_index": 0
162
+ },
163
+ {
164
+ "name": "clip",
165
+ "type": "CLIP",
166
+ "links": [
167
+ 3
168
+ ],
169
+ "slot_index": 1
170
+ },
171
+ {
172
+ "name": "vae",
173
+ "type": "VAE",
174
+ "links": [
175
+ 5
176
+ ],
177
+ "slot_index": 2
178
+ }
179
+ ],
180
+ "properties": {
181
+ "ckpt_name": "realisticVisionV51_v51VAE.safetensors"
182
+ }
183
+ },
184
+ {
185
+ "id": 2,
186
+ "type": "CLIPTextEncode",
187
+ "pos": [
188
+ 100,
189
+ 300
190
+ ],
191
+ "size": [
192
+ 315,
193
+ 82
194
+ ],
195
+ "flags": {},
196
+ "order": 1,
197
+ "mode": 0,
198
+ "inputs": [
199
+ {
200
+ "name": "clip",
201
+ "type": "CLIP",
202
+ "link": 3
203
+ }
204
+ ],
205
+ "outputs": [
206
+ {
207
+ "name": "conditioning",
208
+ "type": "CONDITIONING",
209
+ "links": [
210
+ 2
211
+ ],
212
+ "slot_index": 0
213
+ }
214
+ ],
215
+ "properties": {
216
+ "text": "photograph of a {{instrument_name}} musical instrument, detailed view, realistic, studio lighting",
217
+ "clip": null
218
+ }
219
+ },
220
+ {
221
+ "id": 3,
222
+ "type": "KSampler",
223
+ "pos": [
224
+ 520,
225
+ 200
226
+ ],
227
+ "size": [
228
+ 402,
229
+ 209
230
+ ],
231
+ "flags": {},
232
+ "order": 2,
233
+ "mode": 0,
234
+ "inputs": [
235
+ {
236
+ "name": "model",
237
+ "type": "MODEL",
238
+ "link": 1
239
+ },
240
+ {
241
+ "name": "positive",
242
+ "type": "CONDITIONING",
243
+ "link": 2
244
+ },
245
+ {
246
+ "name": "negative",
247
+ "type": "CONDITIONING",
248
+ "link": 4
249
+ },
250
+ {
251
+ "name": "latent_image",
252
+ "type": "LATENT",
253
+ "link": 6
254
+ },
255
+ {
256
+ "name": "denoise",
257
+ "type": "FLOAT",
258
+ "link": 7
259
+ },
260
+ {
261
+ "name": "seed",
262
+ "type": "INT",
263
+ "link": 8
264
+ },
265
+ {
266
+ "name": "steps",
267
+ "type": "INT",
268
+ "link": 9
269
+ },
270
+ {
271
+ "name": "cfg",
272
+ "type": "FLOAT",
273
+ "link": 10
274
+ },
275
+ {
276
+ "name": "sampler_name",
277
+ "type": "COMBO",
278
+ "link": 11
279
+ },
280
+ {
281
+ "name": "scheduler",
282
+ "type": "COMBO",
283
+ "link": 12
284
+ },
285
+ {
286
+ "name": "sigma_max",
287
+ "type": "FLOAT",
288
+ "link": 13
289
+ },
290
+ {
291
+ "name": "sigma_min",
292
+ "type": "FLOAT",
293
+ "link": 14
294
+ },
295
+ {
296
+ "name": "start_at_step",
297
+ "type": "INT",
298
+ "link": 0
299
+ },
300
+ {
301
+ "name": "end_at_step",
302
+ "type": "INT",
303
+ "link": 0
304
+ }
305
+ ],
306
+ "outputs": [
307
+ {
308
+ "name": "latent_image",
309
+ "type": "LATENT",
310
+ "links": [
311
+ 9
312
+ ],
313
+ "slot_index": 0
314
+ }
315
+ ],
316
+ "properties": {
317
+ "seed": 123456789,
318
+ "scheduler": "euler",
319
+ "sample_denoise": 1,
320
+ "start_at_step": 0,
321
+ "end_at_step": 0,
322
+ "return_with_leftover_noise": false
323
+ }
324
+ },
325
+ {
326
+ "id": 4,
327
+ "type": "CLIPTextEncode",
328
+ "pos": [
329
+ 100,
330
+ 400
331
+ ],
332
+ "size": [
333
+ 315,
334
+ 82
335
+ ],
336
+ "flags": {},
337
+ "order": 3,
338
+ "mode": 0,
339
+ "inputs": [
340
+ {
341
+ "name": "clip",
342
+ "type": "CLIP",
343
+ "link": 3
344
+ }
345
+ ],
346
+ "outputs": [
347
+ {
348
+ "name": "conditioning",
349
+ "type": "CONDITIONING",
350
+ "links": [
351
+ 4
352
+ ],
353
+ "slot_index": 0
354
+ }
355
+ ],
356
+ "properties": {
357
+ "text": "blurry, low quality, cartoon, painting, illustration",
358
+ "clip": null
359
+ }
360
+ },
361
+ {
362
+ "id": 5,
363
+ "type": "VAEDecode",
364
+ "pos": [
365
+ 940,
366
+ 200
367
+ ],
368
+ "size": [
369
+ 315,
370
+ 82
371
+ ],
372
+ "flags": {},
373
+ "order": 4,
374
+ "mode": 0,
375
+ "inputs": [
376
+ {
377
+ "name": "vae",
378
+ "type": "VAE",
379
+ "link": 5
380
+ },
381
+ {
382
+ "name": "latents",
383
+ "type": "LATENT",
384
+ "link": 9
385
+ }
386
+ ],
387
+ "outputs": [
388
+ {
389
+ "name": "image",
390
+ "type": "IMAGE",
391
+ "links": [
392
+ 10
393
+ ],
394
+ "slot_index": 0
395
+ }
396
+ ],
397
+ "properties": {}
398
+ },
399
+ {
400
+ "id": 6,
401
+ "type": "EmptyLatentImage",
402
+ "pos": [
403
+ 520,
404
+ 100
405
+ ],
406
+ "size": [
407
+ 315,
408
+ 82
409
+ ],
410
+ "flags": {},
411
+ "order": 5,
412
+ "mode": 0,
413
+ "inputs": [],
414
+ "outputs": [
415
+ {
416
+ "name": "latent_image",
417
+ "type": "LATENT",
418
+ "links": [
419
+ 6
420
+ ],
421
+ "slot_index": 0
422
+ }
423
+ ],
424
+ "properties": {
425
+ "width": 512,
426
+ "height": 512,
427
+ "batch_size": 1
428
+ }
429
+ },
430
+ {
431
+ "id": 7,
432
+ "type": "FloatSlider",
433
+ "pos": [
434
+ 520,
435
+ 300
436
+ ],
437
+ "size": [
438
+ 315,
439
+ 82
440
+ ],
441
+ "flags": {},
442
+ "order": 6,
443
+ "mode": 0,
444
+ "inputs": [],
445
+ "outputs": [
446
+ {
447
+ "name": "float",
448
+ "type": "FLOAT",
449
+ "links": [
450
+ 7
451
+ ],
452
+ "slot_index": 0
453
+ }
454
+ ],
455
+ "properties": {
456
+ "value": 1,
457
+ "min": 0,
458
+ "max": 1,
459
+ "step": 0.01
460
+ }
461
+ },
462
+ {
463
+ "id": 8,
464
+ "type": "IntSlider",
465
+ "pos": [
466
+ 520,
467
+ 400
468
+ ],
469
+ "size": [
470
+ 315,
471
+ 82
472
+ ],
473
+ "flags": {},
474
+ "order": 7,
475
+ "mode": 0,
476
+ "inputs": [],
477
+ "outputs": [
478
+ {
479
+ "name": "int",
480
+ "type": "INT",
481
+ "links": [
482
+ 8
483
+ ],
484
+ "slot_index": 0
485
+ }
486
+ ],
487
+ "properties": {
488
+ "value": 123456789,
489
+ "min": 0,
490
+ "max": 18446744073709551615,
491
+ "step": 1
492
+ }
493
+ },
494
+ {
495
+ "id": 9,
496
+ "type": "IntSlider",
497
+ "pos": [
498
+ 520,
499
+ 500
500
+ ],
501
+ "size": [
502
+ 315,
503
+ 82
504
+ ],
505
+ "flags": {},
506
+ "order": 8,
507
+ "mode": 0,
508
+ "inputs": [],
509
+ "outputs": [
510
+ {
511
+ "name": "int",
512
+ "type": "INT",
513
+ "links": [
514
+ 9
515
+ ],
516
+ "slot_index": 0
517
+ }
518
+ ],
519
+ "properties": {
520
+ "value": 20,
521
+ "min": 1,
522
+ "max": 100,
523
+ "step": 1
524
+ }
525
+ },
526
+ {
527
+ "id": 10,
528
+ "type": "FloatSlider",
529
+ "pos": [
530
+ 520,
531
+ 600
532
+ ],
533
+ "size": [
534
+ 315,
535
+ 82
536
+ ],
537
+ "flags": {},
538
+ "order": 9,
539
+ "mode": 0,
540
+ "inputs": [],
541
+ "outputs": [
542
+ {
543
+ "name": "float",
544
+ "type": "FLOAT",
545
+ "links": [
546
+ 10
547
+ ],
548
+ "slot_index": 0
549
+ }
550
+ ],
551
+ "properties": {
552
+ "value": 8,
553
+ "min": 1,
554
+ "max": 30,
555
+ "step": 0.5
556
+ }
557
+ }
558
+ ],
559
+ "links": [
560
+ {
561
+ "id": 1,
562
+ "origin_id": 1,
563
+ "origin_slot": 0,
564
+ "target_id": 3,
565
+ "target_slot": 0
566
+ },
567
+ {
568
+ "id": 2,
569
+ "origin_id": 2,
570
+ "origin_slot": 0,
571
+ "target_id": 3,
572
+ "target_slot": 1
573
+ },
574
+ {
575
+ "id": 3,
576
+ "origin_id": 1,
577
+ "origin_slot": 1,
578
+ "target_id": 2,
579
+ "target_slot": 0
580
+ },
581
+ {
582
+ "id": 4,
583
+ "origin_id": 1,
584
+ "origin_slot": 1,
585
+ "target_id": 4,
586
+ "target_slot": 0
587
+ },
588
+ {
589
+ "id": 5,
590
+ "origin_id": 1,
591
+ "origin_slot": 2,
592
+ "target_id": 5,
593
+ "target_slot": 0
594
+ },
595
+ {
596
+ "id": 6,
597
+ "origin_id": 4,
598
+ "origin_slot": 0,
599
+ "target_id": 3,
600
+ "target_slot": 2
601
+ },
602
+ {
603
+ "id": 7,
604
+ "origin_id": 6,
605
+ "origin_slot": 0,
606
+ "target_id": 3,
607
+ "target_slot": 3
608
+ },
609
+ {
610
+ "id": 8,
611
+ "origin_id": 7,
612
+ "origin_slot": 0,
613
+ "target_id": 3,
614
+ "target_slot": 5
615
+ },
616
+ {
617
+ "id": 9,
618
+ "origin_id": 8,
619
+ "origin_slot": 0,
620
+ "target_id": 3,
621
+ "target_slot": 6
622
+ },
623
+ {
624
+ "id": 10,
625
+ "origin_id": 9,
626
+ "origin_slot": 0,
627
+ "target_id": 3,
628
+ "target_slot": 7
629
+ },
630
+ {
631
+ "id": 11,
632
+ "origin_id": 10,
633
+ "origin_slot": 0,
634
+ "target_id": 3,
635
+ "target_slot": 8
636
+ },
637
+ {
638
+ "id": 12,
639
+ "origin_id": 3,
640
+ "origin_slot": 0,
641
+ "target_id": 5,
642
+ "target_slot": 1
643
+ },
644
+ {
645
+ "id": 13,
646
+ "origin_id": 3,
647
+ "origin_slot": 9,
648
+ "target_id": 3,
649
+ "target_slot": 9
650
+ },
651
+ {
652
+ "id": 14,
653
+ "origin_id": 3,
654
+ "origin_slot": 10,
655
+ "target_id": 3,
656
+ "target_slot": 10
657
+ }
658
+ ],
659
+ "groups": [],
660
+ "config": {},
661
+ "extra": {
662
+ "extensions": {}
663
+ }
664
+ }</pre>
665
+ </div>
666
+ </div>
667
+
668
+ <script>
669
+ function copyToClipboard() {
670
+ const jsonContent = document.getElementById('json-content').textContent;
671
+ navigator.clipboard.writeText(jsonContent).then(() => {
672
+ const btn = event.target;
673
+ const originalText = btn.textContent;
674
+ btn.textContent = 'Copied!';
675
+ btn.classList.add('success');
676
+ setTimeout(() => {
677
+ btn.textContent = originalText;
678
+ btn.classList.remove('success');
679
+ }, 2000);
680
+ }).catch(err => {
681
+ alert('Failed to copy to clipboard');
682
+ });
683
+ }
684
+
685
+ function downloadJSON() {
686
+ const jsonContent = document.getElementById('json-content').textContent;
687
+ const blob = new Blob([jsonContent], { type: 'application/json' });
688
+ const url = URL.createObjectURL(blob);
689
+ const a = document.createElement('a');
690
+ a.href = url;
691
+ a.download = 'comfyui_workflow.json';
692
+ document.body.appendChild(a);
693
+ a.click();
694
+ document.body.removeChild(a);
695
+ URL.revokeObjectURL(url);
696
+
697
+ const btn = event.target;
698
+ const originalText = btn.textContent;
699
+ btn.textContent = 'Downloaded!';
700
+ btn.classList.add('success');
701
+ setTimeout(() => {
702
+ btn.textContent = originalText;
703
+ btn.classList.remove('success');
704
+ }, 2000);
705
+ }
706
+
707
+ // Add syntax highlighting
708
+ function highlightJSON() {
709
+ const content = document.getElementById('json-content');
710
+ let html = content.innerHTML;
711
+
712
+ // Highlight different JSON elements
713
+ html = html.replace(/"([^"]+)":/g, '<span class="json-key">"$1":</span>');
714
+ html = html.replace(/: "([^"]*)"/g, ': <span class="json-string">"$1"</span>');
715
+ html = html.replace(/: (-?\d+\.?\d*)/g, ': <span class="json-number">$1</span>');
716
+ html = html.replace(/: (true|false)/g, ': <span class="json-boolean">$1</span>');
717
+ html = html.replace(/: null/g, ': <span class="json-null">null</span>');
718
+
719
+ content.innerHTML = html;
720
+ }
721
+
722
+ // Apply syntax highlighting after page load
723
+ window.addEventListener('load', highlightJSON);
724
+ </script>
725
+ </body>
726
+ </html>