MarcRyan commited on
Commit
3dd8c5c
·
verified ·
1 Parent(s): c00b2da

Add 2 files

Browse files
Files changed (2) hide show
  1. index.html +104 -43
  2. prompts.txt +2 -1
index.html CHANGED
@@ -3,7 +3,7 @@
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Video Re-Generator | AI Video Enhancement</title>
7
  <script src="https://cdn.tailwindcss.com"></script>
8
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
  <style>
@@ -62,6 +62,9 @@
62
  background: rgba(59, 130, 246, 0.2);
63
  border-color: #93c5fd;
64
  }
 
 
 
65
  </style>
66
  </head>
67
  <body class="gradient-bg min-h-screen text-white">
@@ -71,7 +74,7 @@
71
  <div class="text-center mb-6">
72
  <i class="fas fa-video text-4xl text-blue-500 mb-4"></i>
73
  <h2 class="text-2xl font-bold mb-2">Welcome to Video Re-Generator</h2>
74
- <p class="text-gray-300">Enhance and transform your videos with AI-powered regeneration.</p>
75
  </div>
76
  <div class="flex flex-col space-y-4">
77
  <button id="confirmAge" class="bg-blue-600 hover:bg-blue-700 text-white py-3 px-6 rounded-lg font-medium transition">
@@ -88,11 +91,16 @@
88
  <div id="mainContent" class="hidden container mx-auto px-4 py-8">
89
  <!-- Header -->
90
  <header class="mb-10 text-center">
 
 
 
 
 
91
  <h1 class="text-4xl md:text-5xl font-bold mb-4 bg-clip-text text-transparent bg-gradient-to-r from-blue-400 to-cyan-500">
92
  Video Re-Generator
93
  </h1>
94
  <p class="text-lg text-blue-200 max-w-3xl mx-auto">
95
- Transform your MP4 videos with AI-powered enhancement, style transfer, and quality improvement.
96
  </p>
97
  </header>
98
 
@@ -100,7 +108,7 @@
100
  <!-- Left Panel - Controls -->
101
  <div class="lg:col-span-1 bg-gray-900/50 p-6 rounded-xl">
102
  <h2 class="text-xl font-semibold mb-6 flex items-center">
103
- <i class="fas fa-sliders-h mr-2 text-blue-400"></i> Video Settings
104
  </h2>
105
 
106
  <!-- Video Upload Section -->
@@ -119,6 +127,19 @@
119
  </div>
120
  </div>
121
 
 
 
 
 
 
 
 
 
 
 
 
 
 
122
  <!-- Style Selection -->
123
  <div class="mb-6">
124
  <label class="block text-sm font-medium mb-2">
@@ -145,40 +166,40 @@
145
  <div class="grid grid-cols-2 gap-2">
146
  <div>
147
  <label class="block text-xs mb-1">Resolution</label>
148
- <select class="w-full bg-gray-800 border border-gray-700 rounded-lg p-1 text-xs">
149
- <option>Original</option>
150
- <option>480p</option>
151
- <option>720p</option>
152
- <option>1080p</option>
153
- <option>4K</option>
154
  </select>
155
  </div>
156
  <div>
157
  <label class="block text-xs mb-1">Frame Rate</label>
158
- <select class="w-full bg-gray-800 border border-gray-700 rounded-lg p-1 text-xs">
159
- <option>Original</option>
160
- <option>24 fps</option>
161
- <option>30 fps</option>
162
- <option>60 fps</option>
163
  </select>
164
  </div>
165
  <div>
166
  <label class="block text-xs mb-1">Stabilization</label>
167
- <select class="w-full bg-gray-800 border border-gray-700 rounded-lg p-1 text-xs">
168
- <option>None</option>
169
- <option>Light</option>
170
- <option>Moderate</option>
171
- <option>Strong</option>
172
  </select>
173
  </div>
174
  <div>
175
  <label class="block text-xs mb-1">Color Grade</label>
176
- <select class="w-full bg-gray-800 border border-gray-700 rounded-lg p-1 text-xs">
177
- <option>None</option>
178
- <option>Vibrant</option>
179
- <option>Warm</option>
180
- <option>Cool</option>
181
- <option>Cinematic</option>
182
  </select>
183
  </div>
184
  </div>
@@ -188,34 +209,39 @@
188
  <div class="mb-6">
189
  <div class="flex items-center justify-between mb-2 cursor-pointer" onclick="toggleAdvanced()">
190
  <label class="text-sm font-medium">
191
- <i class="fas fa-cog mr-1 text-blue-300"></i> Advanced Options
192
  </label>
193
  <i id="advancedArrow" class="fas fa-chevron-down text-blue-300 transition-transform"></i>
194
  </div>
195
  <div id="advancedOptions" class="hidden space-y-4 pt-2">
196
  <div>
197
  <label class="block text-xs mb-1">Style Strength</label>
198
- <input type="range" min="0" max="100" value="50" class="w-full slider-thumb">
199
  </div>
200
  <div>
201
- <label class="block text-xs mb-1">Noise Reduction</label>
202
- <input type="range" min="0" max="100" value="30" class="w-full slider-thumb">
203
  </div>
204
  <div>
205
- <label class="block text-xs mb-1">Detail Enhancement</label>
206
- <input type="range" min="0" max="100" value="50" class="w-full slider-thumb">
207
  </div>
208
  <div>
209
- <label class="block text-xs mb-1">Temporal Smoothing</label>
210
- <input type="range" min="0" max="100" value="40" class="w-full slider-thumb">
211
  </div>
212
  </div>
213
  </div>
214
 
215
  <!-- Generate Button -->
216
  <button id="generateBtn" class="w-full bg-gradient-to-r from-blue-600 to-cyan-600 hover:from-blue-700 hover:to-cyan-700 text-white py-3 px-4 rounded-lg font-medium flex items-center justify-center transition">
217
- <i class="fas fa-sync-alt mr-2"></i> Re-Generate Video
218
  </button>
 
 
 
 
 
219
  </div>
220
 
221
  <!-- Right Panel - Results -->
@@ -223,7 +249,7 @@
223
  <div class="video-container rounded-xl flex items-center justify-center mb-6 relative overflow-hidden">
224
  <div id="videoPlaceholder" class="text-center p-8">
225
  <i class="fas fa-video text-5xl text-blue-400 mb-4 opacity-50"></i>
226
- <p class="text-blue-300">Your original and regenerated videos will appear here</p>
227
  </div>
228
  <div id="videoDisplay" class="hidden w-full h-full">
229
  <div class="grid grid-cols-1 md:grid-cols-2 gap-4 p-4">
@@ -232,20 +258,29 @@
232
  <video id="originalVideo" controls class="w-full h-auto max-h-80 rounded-lg"></video>
233
  </div>
234
  <div>
235
- <h3 class="text-sm font-medium mb-2 text-center">Regenerated Video</h3>
236
  <video id="regeneratedVideo" controls class="w-full h-auto max-h-80 rounded-lg"></video>
 
 
 
 
 
 
237
  </div>
238
  </div>
239
  </div>
240
  <div id="loadingIndicator" class="hidden absolute inset-0 flex items-center justify-center bg-black/50">
241
  <div class="text-center">
242
  <div class="animate-spin rounded-full h-12 w-12 border-b-2 border-blue-500 mx-auto mb-4"></div>
243
- <p>Processing your video...</p>
244
  <p class="text-xs text-blue-300 mt-2">This may take several minutes depending on length</p>
245
  <div class="w-full bg-gray-700 rounded-full h-2.5 mt-4 max-w-md mx-auto">
246
  <div id="progressBar" class="bg-blue-600 h-2.5 rounded-full" style="width: 0%"></div>
247
  </div>
248
  <p id="progressText" class="text-xs mt-2">0% completed</p>
 
 
 
249
  </div>
250
  </div>
251
  </div>
@@ -253,7 +288,7 @@
253
  <!-- Style Gallery -->
254
  <div class="bg-gray-900/50 p-6 rounded-xl">
255
  <h2 class="text-xl font-semibold mb-4 flex items-center">
256
- <i class="fas fa-gem mr-2 text-blue-400"></i> Style Gallery
257
  </h2>
258
  <p class="text-sm text-blue-200 mb-4">Select a style to preview or click to apply</p>
259
 
@@ -322,7 +357,7 @@
322
  <a href="#" class="hover:text-blue-200"><i class="fab fa-github"></i></a>
323
  <a href="#" class="hover:text-blue-200"><i class="fas fa-envelope"></i></a>
324
  </div>
325
- <p>© 2023 Video Re-Generator. All rights reserved.</p>
326
  <p class="mt-2 text-xs opacity-70">Supports MP4 files up to 5 minutes in length</p>
327
  </footer>
328
  </div>
@@ -434,18 +469,25 @@
434
  else return (bytes / 1048576).toFixed(1) + ' MB';
435
  }
436
 
437
- // Generate button functionality
438
  document.getElementById('generateBtn').addEventListener('click', function() {
439
  if(!fileInput.files.length) {
440
  alert('Please upload a video file first');
441
  return;
442
  }
443
 
 
 
 
 
 
444
  // Show loading state
445
  document.getElementById('loadingIndicator').classList.remove('hidden');
446
 
447
- // Simulate processing (in a real app, this would be an API call)
448
  let progress = 0;
 
 
449
  const progressInterval = setInterval(() => {
450
  progress += Math.random() * 5;
451
  if(progress > 100) progress = 100;
@@ -455,6 +497,9 @@
455
 
456
  if(progress === 100) {
457
  clearInterval(progressInterval);
 
 
 
458
  setTimeout(finishProcessing, 1000);
459
  }
460
  }, 500);
@@ -467,7 +512,23 @@
467
  document.getElementById('regeneratedVideo').src = originalSrc;
468
 
469
  // Show a success message
470
- alert('Video regeneration completed successfully!');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
471
  }
472
  });
473
  </script>
 
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Video Re-Generator with Google Veo2 AI</title>
7
  <script src="https://cdn.tailwindcss.com"></script>
8
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
  <style>
 
62
  background: rgba(59, 130, 246, 0.2);
63
  border-color: #93c5fd;
64
  }
65
+ .veo-badge {
66
+ background: linear-gradient(135deg, #4285F4 0%, #34A853 50%, #FBBC05 100%);
67
+ }
68
  </style>
69
  </head>
70
  <body class="gradient-bg min-h-screen text-white">
 
74
  <div class="text-center mb-6">
75
  <i class="fas fa-video text-4xl text-blue-500 mb-4"></i>
76
  <h2 class="text-2xl font-bold mb-2">Welcome to Video Re-Generator</h2>
77
+ <p class="text-gray-300">Powered by Google Veo2 AI for advanced video generation</p>
78
  </div>
79
  <div class="flex flex-col space-y-4">
80
  <button id="confirmAge" class="bg-blue-600 hover:bg-blue-700 text-white py-3 px-6 rounded-lg font-medium transition">
 
91
  <div id="mainContent" class="hidden container mx-auto px-4 py-8">
92
  <!-- Header -->
93
  <header class="mb-10 text-center">
94
+ <div class="flex items-center justify-center mb-2">
95
+ <span class="veo-badge text-xs font-bold px-3 py-1 rounded-full inline-flex items-center">
96
+ <i class="fab fa-google mr-1"></i> Powered by Veo2 AI
97
+ </span>
98
+ </div>
99
  <h1 class="text-4xl md:text-5xl font-bold mb-4 bg-clip-text text-transparent bg-gradient-to-r from-blue-400 to-cyan-500">
100
  Video Re-Generator
101
  </h1>
102
  <p class="text-lg text-blue-200 max-w-3xl mx-auto">
103
+ Transform your MP4 videos with Google's Veo2 AI for high-quality video generation and enhancement.
104
  </p>
105
  </header>
106
 
 
108
  <!-- Left Panel - Controls -->
109
  <div class="lg:col-span-1 bg-gray-900/50 p-6 rounded-xl">
110
  <h2 class="text-xl font-semibold mb-6 flex items-center">
111
+ <i class="fas fa-sliders-h mr-2 text-blue-400"></i> Veo2 AI Settings
112
  </h2>
113
 
114
  <!-- Video Upload Section -->
 
127
  </div>
128
  </div>
129
 
130
+ <!-- Veo2 AI Model Selection -->
131
+ <div class="mb-6">
132
+ <label class="block text-sm font-medium mb-2">
133
+ <i class="fas fa-robot mr-1 text-blue-300"></i> Veo2 Model
134
+ </label>
135
+ <select id="veoModel" class="w-full bg-gray-800 border border-gray-700 rounded-lg p-2 text-sm focus:ring-2 focus:ring-blue-500 focus:border-transparent">
136
+ <option value="veo2-standard">Veo2 Standard</option>
137
+ <option value="veo2-creative">Veo2 Creative</option>
138
+ <option value="veo2-premium">Veo2 Premium (4K)</option>
139
+ </select>
140
+ <p class="text-xs text-blue-300 mt-1">Premium models require API credits</p>
141
+ </div>
142
+
143
  <!-- Style Selection -->
144
  <div class="mb-6">
145
  <label class="block text-sm font-medium mb-2">
 
166
  <div class="grid grid-cols-2 gap-2">
167
  <div>
168
  <label class="block text-xs mb-1">Resolution</label>
169
+ <select id="resolution" class="w-full bg-gray-800 border border-gray-700 rounded-lg p-1 text-xs">
170
+ <option value="original">Original</option>
171
+ <option value="480p">480p</option>
172
+ <option value="720p">720p</option>
173
+ <option value="1080p">1080p</option>
174
+ <option value="4k">4K (Premium only)</option>
175
  </select>
176
  </div>
177
  <div>
178
  <label class="block text-xs mb-1">Frame Rate</label>
179
+ <select id="framerate" class="w-full bg-gray-800 border border-gray-700 rounded-lg p-1 text-xs">
180
+ <option value="original">Original</option>
181
+ <option value="24">24 fps</option>
182
+ <option value="30">30 fps</option>
183
+ <option value="60">60 fps</option>
184
  </select>
185
  </div>
186
  <div>
187
  <label class="block text-xs mb-1">Stabilization</label>
188
+ <select id="stabilization" class="w-full bg-gray-800 border border-gray-700 rounded-lg p-1 text-xs">
189
+ <option value="none">None</option>
190
+ <option value="light">Light</option>
191
+ <option value="moderate">Moderate</option>
192
+ <option value="strong">Strong</option>
193
  </select>
194
  </div>
195
  <div>
196
  <label class="block text-xs mb-1">Color Grade</label>
197
+ <select id="colorgrade" class="w-full bg-gray-800 border border-gray-700 rounded-lg p-1 text-xs">
198
+ <option value="none">None</option>
199
+ <option value="vibrant">Vibrant</option>
200
+ <option value="warm">Warm</option>
201
+ <option value="cool">Cool</option>
202
+ <option value="cinematic">Cinematic</option>
203
  </select>
204
  </div>
205
  </div>
 
209
  <div class="mb-6">
210
  <div class="flex items-center justify-between mb-2 cursor-pointer" onclick="toggleAdvanced()">
211
  <label class="text-sm font-medium">
212
+ <i class="fas fa-cog mr-1 text-blue-300"></i> Veo2 Advanced Options
213
  </label>
214
  <i id="advancedArrow" class="fas fa-chevron-down text-blue-300 transition-transform"></i>
215
  </div>
216
  <div id="advancedOptions" class="hidden space-y-4 pt-2">
217
  <div>
218
  <label class="block text-xs mb-1">Style Strength</label>
219
+ <input type="range" min="0" max="100" value="70" class="w-full slider-thumb" id="styleStrength">
220
  </div>
221
  <div>
222
+ <label class="block text-xs mb-1">Creativity Level</label>
223
+ <input type="range" min="0" max="100" value="50" class="w-full slider-thumb" id="creativity">
224
  </div>
225
  <div>
226
+ <label class="block text-xs mb-1">Temporal Consistency</label>
227
+ <input type="range" min="0" max="100" value="80" class="w-full slider-thumb" id="temporalConsistency">
228
  </div>
229
  <div>
230
+ <label class="block text-xs mb-1">Text Prompt (Optional)</label>
231
+ <input type="text" placeholder="Describe desired changes..." class="w-full bg-gray-800 border border-gray-700 rounded-lg p-1 text-xs">
232
  </div>
233
  </div>
234
  </div>
235
 
236
  <!-- Generate Button -->
237
  <button id="generateBtn" class="w-full bg-gradient-to-r from-blue-600 to-cyan-600 hover:from-blue-700 hover:to-cyan-700 text-white py-3 px-4 rounded-lg font-medium flex items-center justify-center transition">
238
+ <i class="fab fa-google mr-2"></i> Generate with Veo2 AI
239
  </button>
240
+
241
+ <div class="mt-4 text-xs text-blue-300 flex items-center">
242
+ <i class="fas fa-info-circle mr-1"></i>
243
+ <span>Each generation uses 1 API credit</span>
244
+ </div>
245
  </div>
246
 
247
  <!-- Right Panel - Results -->
 
249
  <div class="video-container rounded-xl flex items-center justify-center mb-6 relative overflow-hidden">
250
  <div id="videoPlaceholder" class="text-center p-8">
251
  <i class="fas fa-video text-5xl text-blue-400 mb-4 opacity-50"></i>
252
+ <p class="text-blue-300">Your original and Veo2 generated videos will appear here</p>
253
  </div>
254
  <div id="videoDisplay" class="hidden w-full h-full">
255
  <div class="grid grid-cols-1 md:grid-cols-2 gap-4 p-4">
 
258
  <video id="originalVideo" controls class="w-full h-auto max-h-80 rounded-lg"></video>
259
  </div>
260
  <div>
261
+ <h3 class="text-sm font-medium mb-2 text-center">Veo2 Generated</h3>
262
  <video id="regeneratedVideo" controls class="w-full h-auto max-h-80 rounded-lg"></video>
263
+ <div class="mt-2 flex justify-between items-center text-xs">
264
+ <span class="text-blue-300">Generation time: <span id="genTime">0</span>s</span>
265
+ <button class="text-blue-400 hover:text-blue-300 flex items-center">
266
+ <i class="fas fa-download mr-1"></i> Download
267
+ </button>
268
+ </div>
269
  </div>
270
  </div>
271
  </div>
272
  <div id="loadingIndicator" class="hidden absolute inset-0 flex items-center justify-center bg-black/50">
273
  <div class="text-center">
274
  <div class="animate-spin rounded-full h-12 w-12 border-b-2 border-blue-500 mx-auto mb-4"></div>
275
+ <p>Processing with Veo2 AI...</p>
276
  <p class="text-xs text-blue-300 mt-2">This may take several minutes depending on length</p>
277
  <div class="w-full bg-gray-700 rounded-full h-2.5 mt-4 max-w-md mx-auto">
278
  <div id="progressBar" class="bg-blue-600 h-2.5 rounded-full" style="width: 0%"></div>
279
  </div>
280
  <p id="progressText" class="text-xs mt-2">0% completed</p>
281
+ <p class="text-xs text-blue-300 mt-4">
282
+ <i class="fab fa-google mr-1"></i> Using Veo2 <span id="currentModel">Standard</span> model
283
+ </p>
284
  </div>
285
  </div>
286
  </div>
 
288
  <!-- Style Gallery -->
289
  <div class="bg-gray-900/50 p-6 rounded-xl">
290
  <h2 class="text-xl font-semibold mb-4 flex items-center">
291
+ <i class="fas fa-gem mr-2 text-blue-400"></i> Veo2 Style Gallery
292
  </h2>
293
  <p class="text-sm text-blue-200 mb-4">Select a style to preview or click to apply</p>
294
 
 
357
  <a href="#" class="hover:text-blue-200"><i class="fab fa-github"></i></a>
358
  <a href="#" class="hover:text-blue-200"><i class="fas fa-envelope"></i></a>
359
  </div>
360
+ <p>© 2023 Video Re-Generator with Google Veo2 AI. All rights reserved.</p>
361
  <p class="mt-2 text-xs opacity-70">Supports MP4 files up to 5 minutes in length</p>
362
  </footer>
363
  </div>
 
469
  else return (bytes / 1048576).toFixed(1) + ' MB';
470
  }
471
 
472
+ // Generate button functionality with Veo2 AI simulation
473
  document.getElementById('generateBtn').addEventListener('click', function() {
474
  if(!fileInput.files.length) {
475
  alert('Please upload a video file first');
476
  return;
477
  }
478
 
479
+ // Get selected model
480
+ const modelSelect = document.getElementById('veoModel');
481
+ const selectedModel = modelSelect.options[modelSelect.selectedIndex].text;
482
+ document.getElementById('currentModel').textContent = selectedModel;
483
+
484
  // Show loading state
485
  document.getElementById('loadingIndicator').classList.remove('hidden');
486
 
487
+ // Simulate Veo2 AI processing
488
  let progress = 0;
489
+ const startTime = new Date().getTime();
490
+
491
  const progressInterval = setInterval(() => {
492
  progress += Math.random() * 5;
493
  if(progress > 100) progress = 100;
 
497
 
498
  if(progress === 100) {
499
  clearInterval(progressInterval);
500
+ const endTime = new Date().getTime();
501
+ const duration = Math.round((endTime - startTime) / 1000);
502
+ document.getElementById('genTime').textContent = duration;
503
  setTimeout(finishProcessing, 1000);
504
  }
505
  }, 500);
 
512
  document.getElementById('regeneratedVideo').src = originalSrc;
513
 
514
  // Show a success message
515
+ alert('Veo2 AI video generation completed successfully!');
516
+ }
517
+ });
518
+
519
+ // Update resolution options based on selected model
520
+ document.getElementById('veoModel').addEventListener('change', function() {
521
+ const resolutionSelect = document.getElementById('resolution');
522
+ const selectedModel = this.value;
523
+
524
+ // Disable 4K option unless premium model is selected
525
+ for(let i = 0; i < resolutionSelect.options.length; i++) {
526
+ if(resolutionSelect.options[i].value === '4k') {
527
+ resolutionSelect.options[i].disabled = selectedModel !== 'veo2-premium';
528
+ if(resolutionSelect.options[i].selected && resolutionSelect.options[i].disabled) {
529
+ resolutionSelect.value = 'original';
530
+ }
531
+ }
532
  }
533
  });
534
  </script>
prompts.txt CHANGED
@@ -1,3 +1,4 @@
1
  make this website - https://huggingface.co/spaces/Heartsync/NSFW-Uncensored-video?not-for-all-audiences=true - with more illstration options
2
  change NSFW to SFW
3
- gENERATION SETTINGS SHOULD BE DESIGNED FOR VIDEO "RE-GENERATION" FROM AN MP4
 
 
1
  make this website - https://huggingface.co/spaces/Heartsync/NSFW-Uncensored-video?not-for-all-audiences=true - with more illstration options
2
  change NSFW to SFW
3
+ gENERATION SETTINGS SHOULD BE DESIGNED FOR VIDEO "RE-GENERATION" FROM AN MP4
4
+ ensure its oging to use google ai Veo2 for video generation