feat(batch): sync dedicated image tools
This commit is contained in:
parent
4a6afb753d
commit
d65ebc253b
@ -8,6 +8,7 @@ import {
|
|||||||
Image as ImageIcon,
|
Image as ImageIcon,
|
||||||
Layers,
|
Layers,
|
||||||
Loader2,
|
Loader2,
|
||||||
|
Maximize2,
|
||||||
Plus,
|
Plus,
|
||||||
RefreshCw,
|
RefreshCw,
|
||||||
Sparkles,
|
Sparkles,
|
||||||
@ -97,6 +98,7 @@ type BatchMode =
|
|||||||
| "random-bg"
|
| "random-bg"
|
||||||
| "rmbg"
|
| "rmbg"
|
||||||
| "enhance"
|
| "enhance"
|
||||||
|
| "extend"
|
||||||
| "watermark";
|
| "watermark";
|
||||||
type ItemStatus = "pending" | "processing" | "completed" | "failed";
|
type ItemStatus = "pending" | "processing" | "completed" | "failed";
|
||||||
|
|
||||||
@ -337,6 +339,12 @@ const modeOptions: Array<{
|
|||||||
description: "多图同步增强画质",
|
description: "多图同步增强画质",
|
||||||
icon: Sparkles,
|
icon: Sparkles,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: "extend",
|
||||||
|
label: "批量图像拓展",
|
||||||
|
description: "多图同步扩展画面",
|
||||||
|
icon: Maximize2,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "watermark",
|
id: "watermark",
|
||||||
label: "批量去水印",
|
label: "批量去水印",
|
||||||
@ -357,6 +365,8 @@ function getModeActionLabel(mode: BatchMode, count: number) {
|
|||||||
return `批量抠图 (${count} 张)`;
|
return `批量抠图 (${count} 张)`;
|
||||||
case "enhance":
|
case "enhance":
|
||||||
return `批量变清晰 (${count} 张)`;
|
return `批量变清晰 (${count} 张)`;
|
||||||
|
case "extend":
|
||||||
|
return `批量图像拓展 (${count} 张)`;
|
||||||
case "watermark":
|
case "watermark":
|
||||||
return `批量去水印 (${count} 张)`;
|
return `批量去水印 (${count} 张)`;
|
||||||
}
|
}
|
||||||
@ -368,6 +378,8 @@ function getModePrompt(mode: BatchMode) {
|
|||||||
return "批量处理-抠图";
|
return "批量处理-抠图";
|
||||||
case "enhance":
|
case "enhance":
|
||||||
return "批量处理-变清晰";
|
return "批量处理-变清晰";
|
||||||
|
case "extend":
|
||||||
|
return "批量处理-图像拓展";
|
||||||
case "watermark":
|
case "watermark":
|
||||||
return "批量处理-去水印";
|
return "批量处理-去水印";
|
||||||
default:
|
default:
|
||||||
@ -1772,6 +1784,25 @@ export function SceneFusionView({
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mode === "extend") {
|
||||||
|
const payload = await requestLongTaskResult({
|
||||||
|
endpoint: "/api/extend",
|
||||||
|
payload: {
|
||||||
|
image_url: item.image,
|
||||||
|
prompt: getModePrompt(mode),
|
||||||
|
includeBase64: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
if (!payload?.success) {
|
||||||
|
throw new Error(payload?.error || payload?.detail || "图像拓展失败");
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
result: payload.thumbnail_url || payload.original_url || item.image,
|
||||||
|
originalUrl:
|
||||||
|
payload.original_url || payload.thumbnail_url || item.image,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
if (mode === "watermark") {
|
if (mode === "watermark") {
|
||||||
const payload = await requestLongTaskResult({
|
const payload = await requestLongTaskResult({
|
||||||
endpoint: "/api/watermark-remove",
|
endpoint: "/api/watermark-remove",
|
||||||
@ -2799,6 +2830,7 @@ export function SceneFusionView({
|
|||||||
|
|
||||||
{(mode === "rmbg" ||
|
{(mode === "rmbg" ||
|
||||||
mode === "enhance" ||
|
mode === "enhance" ||
|
||||||
|
mode === "extend" ||
|
||||||
mode === "watermark") && (
|
mode === "watermark") && (
|
||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
<div className="flex items-center justify-between">
|
<div className="flex items-center justify-between">
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user