anycoder-5f7ca8d1 / index.html
Rubentnoda's picture
Upload folder using huggingface_hub
3816c0b verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ComfyUI Workflow</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', system-ui, sans-serif;
background-color: #000000;
color: #f5f5f7;
line-height: 1.6;
padding: 20px;
min-height: 100vh;
}
.container {
max-width: 1200px;
margin: 0 auto;
}
.header {
text-align: center;
margin-bottom: 40px;
padding: 40px 20px;
}
.header h1 {
font-size: 48px;
font-weight: 600;
color: #ffffff;
margin-bottom: 12px;
letter-spacing: -0.02em;
}
.header p {
font-size: 18px;
color: #86868b;
font-weight: 400;
}
.controls {
display: flex;
gap: 12px;
margin-bottom: 24px;
justify-content: center;
}
.btn {
padding: 12px 24px;
border: none;
border-radius: 24px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s;
font-family: inherit;
}
.btn-primary {
background: #ffffff;
color: #000000;
}
.btn-primary:hover {
background: #f5f5f7;
transform: scale(0.98);
}
.btn-secondary {
background: #1d1d1f;
color: #f5f5f7;
border: 1px solid #424245;
}
.btn-secondary:hover {
background: #2d2d2f;
transform: scale(0.98);
}
.json-container {
background-color: #1d1d1f;
border-radius: 16px;
padding: 32px;
overflow-x: auto;
border: 1px solid #424245;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
}
pre {
margin: 0;
font-family: 'SF Mono', 'Monaco', 'Menlo', 'Consolas', monospace;
font-size: 13px;
line-height: 1.6;
white-space: pre-wrap;
word-wrap: break-word;
}
.json-key {
color: #9cdcfe;
}
.json-string {
color: #ce9178;
}
.json-number {
color: #b5cea8;
}
.json-boolean {
color: #569cd6;
}
.json-null {
color: #569cd6;
}
.success {
color: #30d158;
}
@media (max-width: 768px) {
.header h1 {
font-size: 32px;
}
.controls {
flex-direction: column;
}
.json-container {
padding: 20px;
}
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<h1>ComfyUI Workflow</h1>
<p>View and download your workflow JSON</p>
</div>
<div class="controls">
<button class="btn btn-primary" onclick="downloadJSON()">Download JSON</button>
<button class="btn btn-secondary" onclick="copyToClipboard()">Copy to Clipboard</button>
</div>
<div class="json-container">
<pre id="json-content">{
"last_node_id": 15,
"last_link_id": 20,
"nodes": [
{
"id": 1,
"type": "CheckpointLoaderSimple",
"pos": [
50,
50
],
"size": {
"0": 350,
"1": 98
},
"flags": {},
"order": 0,
"mode": 0,
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
2
],
"shape": 3,
"slot_index": 0
},
{
"name": "CLIP",
"type": "CLIP",
"links": [
2,
3
],
"shape": 3,
"slot_index": 1
},
{
"name": "VAE",
"type": "VAE",
"links": [
4
],
"shape": 3,
"slot_index": 2
}
],
"properties": {
"Node name for S&R": "CheckpointLoaderSimple"
},
"widgets_values": [
"sd_xl_base_1.0.safetensors"
]
},
{
"id": 2,
"type": "CLIPTextEncode",
"pos": [
450,
50
],
"size": {
"0": 400,
"1": 200
},
"flags": {},
"order": 1,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 2
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
5
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
"promoción de restaurante elegante, clientes disfrutando comida, ambiente acogedor, iluminación cálida, alta calidad, 4K, video publicitario profesional"
]
},
{
"id": 3,
"type": "CLIPTextEncode",
"pos": [
450,
300
],
"size": {
"0": 400,
"1": 180
},
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 3
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
6
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
"texto, marcas de agua, baja calidad, pixelado, borroso, distorsionado, mala iluminación"
]
},
{
"id": 4,
"type": "EmptySD3LatentImage",
"pos": [
450,
520
],
"size": {
"0": 315,
"1": 106
},
"flags": {},
"order": 3,
"mode": 0,
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
7
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "EmptySD3LatentImage"
},
"widgets_values": [
1920,
1080,
1
]
},
{
"id": 5,
"type": "KSampler",
"pos": [
950,
250
],
"size": {
"0": 300,
"1": 262
},
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 1
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 5
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 6
},
{
"name": "latent_image",
"type": "LATENT",
"link": 7
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
8
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "KSampler"
},
"widgets_values": [
42,
"randomize",
20,
8,
"dpmpp_2m",
"karras",
1
]
},
{
"id": 6,
"type": "VAEDecode",
"pos": [
1300,
250
],
"size": {
"0": 210,
"1": 46
},
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 8
},
{
"name": "vae",
"type": "VAE",
"link": 4
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
9,
10
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "VAEDecode"
}
},
{
"id": 7,
"type": "ImageResize+",
"pos": [
1550,
200
],
"size": {
"0": 315,
"1": 130
},
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 9
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
11
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "ImageResize+"
},
"widgets_values": [
"lanczos",
1920,
1080,
"disabled",
"disabled"
]
},
{
"id": 8,
"type": "SaveImage",
"pos": [
1900,
200
],
"size": {
"0": 315,
"1": 270
},
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 11
}
],
"properties": {
"Node name for S&R": "SaveImage"
},
"widgets_values": [
"ComfyUI/output/hosteleria_promo"
]
},
{
"id": 9,
"type": "PreviewImage",
"pos": [
1550,
380
],
"size": {
"0": 300,
"1": 290
},
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 10
}
],
"properties": {
"Node name for S&R": "PreviewImage"
}
},
{
"id": 10,
"type": "LoadImage",
"pos": [
50,
200
],
"size": {
"0": 315,
"1": 314
},
"flags": {},
"order": 9,
"mode": 0,
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
12
],
"shape": 3,
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": null,
"shape": 3,
"slot_index": 1
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"logo_restaurante.png"
]
},
{
"id": 11,
"type": "ImageCompositeMasked",
"pos": [
950,
550
],
"size": {
"0": 210,
"1": 126
},
"flags": {},
"order": 10,
"mode": 0,
"inputs": [
{
"name": "destination",
"type": "IMAGE",
"link": 13
},
{
"name": "source",
"type": "IMAGE",
"link": 12
},
{
"name": "mask",
"type": "MASK",
"link": null
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
14
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "ImageCompositeMasked"
},
"widgets_values": [
50,
50,
0,
0
]
},
{
"id": 12,
"type": "VAEEncode",
"pos": [
1200,
550
],
"size": {
"0": 210,
"1": 46
},
"flags": {},
"order": 11,
"mode": 0,
"inputs": [
{
"name": "pixels",
"type": "IMAGE",
"link": 14
},
{
"name": "vae",
"type": "VAE",
"link": 15
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
16
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "VAEEncode"
}
},
{
"id": 13,
"type": "VideoLinearCFGGuidance",
"pos": [
950,
350
],
"size": {
"0": 300,
"1": 130
},
"flags": {},
"order": 12,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 17
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
18
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "VideoLinearCFGGuidance"
},
"widgets_values": [
30
]
},
{
"id": 14,
"type": "AnimateDiff Loader",
"pos": [
50,
350
],
"size": {
"0": 315,
"1": 106
},
"flags": {},
"order": 13,
"mode": 0,
"outputs": [
{
"name": "MOTION_MODEL",
"type": "MOTION_MODEL",
"links": [
19
],
"shape": 3,
"slot_index": 0
},
{
"name": "CLIP_VISION",
"type": "CLIP_VISION",
"links": null,
"shape": 3,
"slot_index": 1
}
],
"properties": {
"Node name for S&R": "AnimateDiff Loader"
},
"widgets_values": [
"mm_sd_v15_v2.ckpt",
"v2",
false
]
},
{
"id": 15,
"type": "AnimateDiff Evolved",
"pos": [
450,
700
],
"size": {
"0": 400,
"1": 290
},
"flags": {},
"order": 14,
"mode": 0,
"inputs": [
{
"name": "motion_model",
"type": "MOTION_MODEL",
"link": 19
},
{
"name": "latent",
"type": "LATENT",
"link": 16
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
20
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "AnimateDiff Evolved"
},
"widgets_values": [
30,
true,
1,
"uniform",
1,
"percent",
10000,
"enable",
"disable",
10000,
"percent",
"enable",
"disable",
false,
"enable",
"disable"
]
}
],
"links": [
[
1,
1,
0,
5,
0,
"MODEL"
],
[
2,
1,
1,
2,
0,
"CLIP"
],
[
2,
1,
1,
3,
0,
"CLIP"
],
[
3,
1,
2,
6,
1,
"VAE"
],
[
4,
1,
2,
12,
1,
"VAE"
],
[
5,
2,
0,
5,
1,
"CONDITIONING"
],
[
6,
3,
0,
5,
2,
"CONDITIONING"
],
[
7,
4,
0,
5,
3,
"LATENT"
],
[
8,
5,
0,
6,
0,
"LATENT"
],
[
9,
6,
0,
7,
0,
"IMAGE"
],
[
10,
6,
0,
9,
0,
"IMAGE"
],
[
11,
7,
0,
8,
0,
"IMAGE"
],
[
12,
10,
0,
11,
1,
"IMAGE"
],
[
13,
6,
0,
11,
0,
"IMAGE"
],
[
14,
11,
0,
12,
0,
"IMAGE"
],
[
15,
1,
0,
13,
0,
"MODEL"
],
[
16,
12,
0,
15,
1,
"LATENT"
],
[
17,
13,
0,
5,
0,
"MODEL"
],
[
18,
14,
0,
15,
0,
"MOTION_MODEL"
],
[
19,
15,
0,
6,
0,
"LATENT"
],
[
20,
1,
0,
5,
0,
"MODEL"
]
],
"groups": [
{
"title": "GENERADOR DE CONTENIDO PARA SMARTTVS",
"bounding": [
30,
30,
2200,
1000
],
"color": "#3f789e",
"font_size": 24
}
],
"config": {},
"extra": {
"ds": {
"scale": 0.7,
"offset": [
0,
0
]
}
},
"version": 0.4
}</pre>
</div>
</div>
<script>
function copyToClipboard() {
const jsonContent = document.getElementById('json-content').textContent;
navigator.clipboard.writeText(jsonContent).then(() => {
const btn = event.target;
const originalText = btn.textContent;
btn.textContent = 'Copied!';
btn.classList.add('success');
setTimeout(() => {
btn.textContent = originalText;
btn.classList.remove('success');
}, 2000);
}).catch(err => {
alert('Failed to copy to clipboard');
});
}
function downloadJSON() {
const jsonContent = document.getElementById('json-content').textContent;
const blob = new Blob([jsonContent], { type: 'application/json' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'comfyui_workflow.json';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
const btn = event.target;
const originalText = btn.textContent;
btn.textContent = 'Downloaded!';
btn.classList.add('success');
setTimeout(() => {
btn.textContent = originalText;
btn.classList.remove('success');
}, 2000);
}
// Add syntax highlighting
function highlightJSON() {
const content = document.getElementById('json-content');
let html = content.innerHTML;
// Highlight different JSON elements
html = html.replace(/"([^"]+)":/g, '<span class="json-key">"$1":</span>');
html = html.replace(/: "([^"]*)"/g, ': <span class="json-string">"$1"</span>');
html = html.replace(/: (-?\d+\.?\d*)/g, ': <span class="json-number">$1</span>');
html = html.replace(/: (true|false)/g, ': <span class="json-boolean">$1</span>');
html = html.replace(/: null/g, ': <span class="json-null">null</span>');
content.innerHTML = html;
}
// Apply syntax highlighting after page load
window.addEventListener('load', highlightJSON);
</script>
</body>
</html>