Update index.html
Browse files- index.html +27 -7
index.html
CHANGED
|
@@ -19,7 +19,7 @@
|
|
| 19 |
|
| 20 |
<div class="container-fluid">
|
| 21 |
<h2 class="text-center mb-4 text-primary">LTX 2.3 10Eros - تبدیل تصویر به ویدیو</h2>
|
| 22 |
-
<p class="text-center text-muted">اتصال مستقیم و پایدار (
|
| 23 |
|
| 24 |
<div class="row">
|
| 25 |
<!-- ستون تنظیمات -->
|
|
@@ -63,7 +63,7 @@
|
|
| 63 |
</div>
|
| 64 |
</div>
|
| 65 |
|
| 66 |
-
<!-- ستون خروجی -->
|
| 67 |
<div class="col-lg-5">
|
| 68 |
<div class="card p-4 text-center sticky-top" style="top: 20px;">
|
| 69 |
<h5 class="mb-3">تولید ویدیو</h5>
|
|
@@ -72,7 +72,7 @@
|
|
| 72 |
<div class="d-flex justify-content-center"><div id="loader" class="loader"></div></div>
|
| 73 |
<div id="statusText" class="text-secondary small fw-bold mb-2">آماده دریافت فرمان...</div>
|
| 74 |
|
| 75 |
-
<!-- باکس نمایش خطای سرور -->
|
| 76 |
<div id="errorBox" class="alert p-3"></div>
|
| 77 |
|
| 78 |
<!-- ویدیوی خروجی -->
|
|
@@ -340,20 +340,40 @@
|
|
| 340 |
const result = await client.predict("/generate", params);
|
| 341 |
|
| 342 |
const data = result.data;
|
| 343 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 344 |
// موفقیتآمیز
|
| 345 |
-
videoRes.src =
|
| 346 |
videoRes.style.display = "block";
|
| 347 |
statusText.innerText = "تولید با موفقیت به پایان رسید!";
|
| 348 |
seedRes.innerText = "Seed استفاده شده: " + data[2];
|
| 349 |
} else {
|
| 350 |
-
// ا
|
| 351 |
statusText.style.display = "none";
|
| 352 |
errorBox.style.display = "block";
|
| 353 |
if (data && data[1]) {
|
| 354 |
errorBox.innerHTML = `<strong>خطای داخلی سرور (ComfyUI Exception):</strong><br><br>${data[1].replace(/\n/g, '<br>')}`;
|
| 355 |
} else {
|
| 356 |
-
errorBox.innerText = "خطا: ارتباط موفق بود اما سرور ویدیویی تولید نکرد.
|
| 357 |
}
|
| 358 |
}
|
| 359 |
|
|
|
|
| 19 |
|
| 20 |
<div class="container-fluid">
|
| 21 |
<h2 class="text-center mb-4 text-primary">LTX 2.3 10Eros - تبدیل تصویر به ویدیو</h2>
|
| 22 |
+
<p class="text-center text-muted">اتصال مستقیم و پایدار (سیستم هوشمند آدرسدهی ویدیو)</p>
|
| 23 |
|
| 24 |
<div class="row">
|
| 25 |
<!-- ستون تنظیمات -->
|
|
|
|
| 63 |
</div>
|
| 64 |
</div>
|
| 65 |
|
| 66 |
+
<!-- ستون خروجی و لاگ -->
|
| 67 |
<div class="col-lg-5">
|
| 68 |
<div class="card p-4 text-center sticky-top" style="top: 20px;">
|
| 69 |
<h5 class="mb-3">تولید ویدیو</h5>
|
|
|
|
| 72 |
<div class="d-flex justify-content-center"><div id="loader" class="loader"></div></div>
|
| 73 |
<div id="statusText" class="text-secondary small fw-bold mb-2">آماده دریافت فرمان...</div>
|
| 74 |
|
| 75 |
+
<!-- باکس نمایش خطای واقعی سرور -->
|
| 76 |
<div id="errorBox" class="alert p-3"></div>
|
| 77 |
|
| 78 |
<!-- ویدیوی خروجی -->
|
|
|
|
| 340 |
const result = await client.predict("/generate", params);
|
| 341 |
|
| 342 |
const data = result.data;
|
| 343 |
+
let videoUrl = "";
|
| 344 |
+
|
| 345 |
+
// آنالیز هوشمند برای تشخیص نوع آدرس بازگشتی ویدیو
|
| 346 |
+
if (data && data[0]) {
|
| 347 |
+
if (typeof data[0] === "string") {
|
| 348 |
+
if (data[0].startsWith("http") || data[0].startsWith("blob:") || data[0].startsWith("data:")) {
|
| 349 |
+
videoUrl = data[0];
|
| 350 |
+
} else {
|
| 351 |
+
// اگر آدرس محلی سرور مثل /tmp/ یا /ComfyUI/ بود، به آدرس پروکسی هافینگفیس تبدیل کن
|
| 352 |
+
videoUrl = `https://fighterdan-ltx-2-3-10eros-i2v.hf.space/file=${data[0]}`;
|
| 353 |
+
}
|
| 354 |
+
} else if (typeof data[0] === "object") {
|
| 355 |
+
if (data[0].url) {
|
| 356 |
+
videoUrl = data[0].url;
|
| 357 |
+
} else if (data[0].path) {
|
| 358 |
+
videoUrl = `https://fighterdan-ltx-2-3-10eros-i2v.hf.space/file=${data[0].path}`;
|
| 359 |
+
}
|
| 360 |
+
}
|
| 361 |
+
}
|
| 362 |
+
|
| 363 |
+
if (videoUrl) {
|
| 364 |
// موفقیتآمیز
|
| 365 |
+
videoRes.src = videoUrl;
|
| 366 |
videoRes.style.display = "block";
|
| 367 |
statusText.innerText = "تولید با موفقیت به پایان رسید!";
|
| 368 |
seedRes.innerText = "Seed استفاده شده: " + data[2];
|
| 369 |
} else {
|
| 370 |
+
// نمایش خطای پایتون در صورت وجود خطا
|
| 371 |
statusText.style.display = "none";
|
| 372 |
errorBox.style.display = "block";
|
| 373 |
if (data && data[1]) {
|
| 374 |
errorBox.innerHTML = `<strong>خطای داخلی سرور (ComfyUI Exception):</strong><br><br>${data[1].replace(/\n/g, '<br>')}`;
|
| 375 |
} else {
|
| 376 |
+
errorBox.innerText = "خطا: ارتباط موفق بود اما سرور ویدیویی تولید نکرد. احتمالاً حافظه گرافیکی سرور در آن لحظه پر بوده است.";
|
| 377 |
}
|
| 378 |
}
|
| 379 |
|