Gertie01 commited on
Commit
d6aea9a
·
verified ·
1 Parent(s): 21039fd

Upload index.html with huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +359 -19
index.html CHANGED
@@ -1,19 +1,359 @@
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
+ body {
9
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
10
+ background-color: #1e1e1e;
11
+ color: #d4d4d4;
12
+ margin: 0;
13
+ padding: 20px;
14
+ line-height: 1.4;
15
+ }
16
+ .header {
17
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
18
+ color: white;
19
+ padding: 20px;
20
+ border-radius: 10px;
21
+ margin-bottom: 20px;
22
+ text-align: center;
23
+ }
24
+ .header h1 {
25
+ margin: 0;
26
+ font-size: 2em;
27
+ }
28
+ .header a {
29
+ color: #ffffff;
30
+ text-decoration: none;
31
+ font-weight: bold;
32
+ opacity: 0.9;
33
+ }
34
+ .header a:hover {
35
+ opacity: 1;
36
+ text-decoration: underline;
37
+ }
38
+ .json-container {
39
+ background-color: #2d2d30;
40
+ border-radius: 8px;
41
+ padding: 20px;
42
+ overflow-x: auto;
43
+ border: 1px solid #3e3e42;
44
+ }
45
+ pre {
46
+ margin: 0;
47
+ white-space: pre-wrap;
48
+ word-wrap: break-word;
49
+ }
50
+ .json-key {
51
+ color: #9cdcfe;
52
+ }
53
+ .json-string {
54
+ color: #ce9178;
55
+ }
56
+ .json-number {
57
+ color: #b5cea8;
58
+ }
59
+ .json-boolean {
60
+ color: #569cd6;
61
+ }
62
+ .json-null {
63
+ color: #569cd6;
64
+ }
65
+ .copy-btn {
66
+ background: #007acc;
67
+ color: white;
68
+ border: none;
69
+ padding: 10px 20px;
70
+ border-radius: 5px;
71
+ cursor: pointer;
72
+ margin-bottom: 10px;
73
+ font-family: inherit;
74
+ }
75
+ .copy-btn:hover {
76
+ background: #005a9e;
77
+ }
78
+ .download-btn {
79
+ background: #28a745;
80
+ color: white;
81
+ border: none;
82
+ padding: 10px 20px;
83
+ border-radius: 5px;
84
+ cursor: pointer;
85
+ margin-bottom: 10px;
86
+ margin-left: 10px;
87
+ font-family: inherit;
88
+ }
89
+ .download-btn:hover {
90
+ background: #218838;
91
+ }
92
+ </style>
93
+ </head>
94
+ <body>
95
+ <div class="header">
96
+ <h1>ComfyUI Workflow</h1>
97
+ <p>Built with <a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank">anycoder</a></p>
98
+ </div>
99
+
100
+ <button class="copy-btn" onclick="copyToClipboard()">📋 Copy JSON</button>
101
+ <button class="download-btn" onclick="downloadJSON()">💾 Download JSON</button>
102
+
103
+ <div class="json-container">
104
+ <pre id="json-content">{
105
+ "last_node_id": 6,
106
+ "last_link_id": 6,
107
+ "nodes": [
108
+ {
109
+ "id": 1,
110
+ "type": "LoadImage",
111
+ "pos": [
112
+ -920,
113
+ 340
114
+ ],
115
+ "size": {
116
+ "0": 315,
117
+ "1": 346
118
+ },
119
+ "flags": {},
120
+ "widgets_values": [
121
+ "Sora_input_image.png"
122
+ ],
123
+ "meta": {
124
+ "title": "Reference Image (Image-to-Video Input)"
125
+ }
126
+ },
127
+ {
128
+ "id": 2,
129
+ "type": "PrimitiveNode",
130
+ "pos": [
131
+ -920,
132
+ 40
133
+ ],
134
+ "size": {
135
+ "0": 315,
136
+ "1": 42
137
+ },
138
+ "flags": {},
139
+ "widgets_values": [
140
+ "A cinematic shot of a majestic lion walking across a futuristic cityscape at sunset, highly detailed, film grain, 8K."
141
+ ],
142
+ "meta": {
143
+ "title": "Positive Prompt (Text)"
144
+ }
145
+ },
146
+ {
147
+ "id": 3,
148
+ "type": "PrimitiveNode",
149
+ "pos": [
150
+ -920,
151
+ 170
152
+ ],
153
+ "size": {
154
+ "0": 315,
155
+ "1": 42
156
+ },
157
+ "flags": {},
158
+ "widgets_values": [
159
+ "ugly, watermark, low quality, static, blurry, monochrome"
160
+ ],
161
+ "meta": {
162
+ "title": "Negative Prompt (Text)"
163
+ }
164
+ },
165
+ {
166
+ "id": 4,
167
+ "type": "Kling Camera Controls",
168
+ "pos": [
169
+ -570,
170
+ 180
171
+ ],
172
+ "size": {
173
+ "0": 250,
174
+ "1": 138
175
+ },
176
+ "flags": {},
177
+ "widgets_values": [
178
+ "Zoom In",
179
+ 200
180
+ ],
181
+ "meta": {
182
+ "title": "Kling Camera Controls"
183
+ }
184
+ },
185
+ {
186
+ "id": 5,
187
+ "type": "Kling Image to Video",
188
+ "pos": [
189
+ -280,
190
+ -10
191
+ ],
192
+ "size": {
193
+ "0": 370,
194
+ "1": 350
195
+ },
196
+ "flags": {},
197
+ "widgets_values": [
198
+ 0,
199
+ "mp4",
200
+ 15,
201
+ 1280,
202
+ 720,
203
+ 10,
204
+ "dynamic",
205
+ "aesthetic",
206
+ 1,
207
+ 0,
208
+ 1
209
+ ],
210
+ "meta": {
211
+ "title": "Kling Image to Video (Sora 2 Replacement)"
212
+ }
213
+ },
214
+ {
215
+ "id": 6,
216
+ "type": "SaveVideo",
217
+ "pos": [
218
+ 120,
219
+ 140
220
+ ],
221
+ "size": {
222
+ "0": 200,
223
+ "1": 154
224
+ },
225
+ "flags": {},
226
+ "widgets_values": [
227
+ "Kling_Sora_Output_",
228
+ "image/video",
229
+ 24,
230
+ "h264-mp4"
231
+ ],
232
+ "meta": {
233
+ "title": "Save Video"
234
+ }
235
+ }
236
+ ],
237
+ "links": [
238
+ {
239
+ "id": 1,
240
+ "origin_id": 2,
241
+ "origin_slot": 0,
242
+ "target_id": 5,
243
+ "target_slot": 0
244
+ },
245
+ {
246
+ "id": 2,
247
+ "origin_id": 3,
248
+ "origin_slot": 0,
249
+ "target_id": 5,
250
+ "target_slot": 1
251
+ },
252
+ {
253
+ "id": 3,
254
+ "origin_id": 1,
255
+ "origin_slot": 0,
256
+ "target_id": 5,
257
+ "target_slot": 2
258
+ },
259
+ {
260
+ "id": 4,
261
+ "origin_id": 4,
262
+ "origin_slot": 0,
263
+ "target_id": 5,
264
+ "target_slot": 3
265
+ },
266
+ {
267
+ "id": 6,
268
+ "origin_id": 5,
269
+ "origin_slot": 0,
270
+ "target_id": 6,
271
+ "target_slot": 0
272
+ }
273
+ ],
274
+ "groups": [
275
+ {
276
+ "title": "Sora 2 (Kling API Implementation)",
277
+ "color": "#a1d798",
278
+ "bounding": [
279
+ -940,
280
+ -30,
281
+ 400,
282
+ 700
283
+ ]
284
+ },
285
+ {
286
+ "title": "Inputs",
287
+ "color": "#336699",
288
+ "bounding": [
289
+ -930,
290
+ 30,
291
+ -550,
292
+ 690
293
+ ]
294
+ },
295
+ {
296
+ "title": "Output",
297
+ "color": "#66a3ff",
298
+ "bounding": [
299
+ 110,
300
+ 130,
301
+ 330,
302
+ 310
303
+ ]
304
+ }
305
+ ],
306
+ "config": {},
307
+ "extra": {
308
+ "workflow_api": 0.4,
309
+ "__comment": "Built with anycoder https://huggingface.co/spaces/akhaliq/anycoder"
310
+ }
311
+ }</pre>
312
+ </div>
313
+
314
+ <script>
315
+ function copyToClipboard() {
316
+ const jsonContent = document.getElementById('json-content').textContent;
317
+ navigator.clipboard.writeText(jsonContent).then(() => {
318
+ const btn = document.querySelector('.copy-btn');
319
+ const originalText = btn.textContent;
320
+ btn.textContent = '✅ Copied!';
321
+ setTimeout(() => {
322
+ btn.textContent = originalText;
323
+ }, 2000);
324
+ });
325
+ }
326
+
327
+ function downloadJSON() {
328
+ const jsonContent = document.getElementById('json-content').textContent;
329
+ const blob = new Blob([jsonContent], { type: 'application/json' });
330
+ const url = URL.createObjectURL(blob);
331
+ const a = document.createElement('a');
332
+ a.href = url;
333
+ a.download = 'comfyui_workflow.json';
334
+ document.body.appendChild(a);
335
+ a.click();
336
+ document.body.removeChild(a);
337
+ URL.revokeObjectURL(url);
338
+ }
339
+
340
+ // Add syntax highlighting
341
+ function highlightJSON() {
342
+ const content = document.getElementById('json-content');
343
+ let html = content.innerHTML;
344
+
345
+ // Highlight different JSON elements
346
+ html = html.replace(/"([^"]+)":/g, '<span class="json-key">"$1":</span>');
347
+ html = html.replace(/: "([^"]*)"/g, ': <span class="json-string">"$1"</span>');
348
+ html = html.replace(/: (-?\d+\.?\d*)/g, ': <span class="json-number">$1</span>');
349
+ html = html.replace(/: (true|false)/g, ': <span class="json-boolean">$1</span>');
350
+ html = html.replace(/: null/g, ': <span class="json-null">null</span>');
351
+
352
+ content.innerHTML = html;
353
+ }
354
+
355
+ // Apply syntax highlighting after page load
356
+ window.addEventListener('load', highlightJSON);
357
+ </script>
358
+ </body>
359
+ </html>