fix(ai): keep dedicated 3d provider frontend route

This commit is contained in:
134 2026-08-09 18:44:55 +08:00 committed by root
parent e1e7e0ccd4
commit 0a1026c237
3 changed files with 18 additions and 3 deletions

View File

@ -650,7 +650,8 @@ function createThreeDPreset(
type: "model_3d",
supportsVision: supportsImageInput,
supportsImageGen: false,
isHidden: false,
// Keep the dedicated Tripo 3D integration as the only frontend 3D route.
isHidden: true,
capabilities: {
provider: "vip98k",
kind: "model-3d",

View File

@ -454,9 +454,9 @@ async function main() {
const capabilities = model.capabilities as Record<string, unknown>;
const kind = String(capabilities?.kind || "").trim().toLowerCase();
if (["video", "model-3d", "world", "chat"].includes(kind)) {
return model.supportsImageGen;
if (model.supportsImageGen) return true;
}
return kind === "image-tool" && !model.isHidden;
return ["image-tool", "model-3d"].includes(kind) && !model.isHidden;
});
if (invalidVipModels.length > 0) {
throw new Error(

View File

@ -339,6 +339,12 @@ test.describe("AI model media classification", () => {
capabilities: ["multimodal"],
inputModes: ["text", "image"],
},
{
modelId: "tencent/hunyuan3d-pro/text-to-3d",
displayName: "Hunyuan 3D",
type: "image",
capabilities: ["text-to-3d"],
},
]);
expect(presets.find((item) => item.modelId === "mislabelled-video")).toMatchObject({
@ -363,6 +369,14 @@ test.describe("AI model media classification", () => {
supportsVision: true,
supportsImageGen: false,
});
expect(
presets.find((item) => item.modelId === "tencent/hunyuan3d-pro/text-to-3d"),
).toMatchObject({
type: "model_3d",
supportsImageGen: false,
isHidden: true,
capabilities: { kind: "model-3d" },
});
});
test("only shows VIP98K image models verified as released in 2026 or later", () => {