32 lines
1001 B
TypeScript
32 lines
1001 B
TypeScript
import "server-only";
|
||
|
||
import { getEnabledAiProviders } from "@/lib/db/queries";
|
||
import type { TripoProviderConfig } from "./types";
|
||
|
||
const DEFAULT_TRIPO_BASE_URL = "https://api.tripo3d.ai/v2/openapi";
|
||
|
||
export async function getTripoProviderConfig(): Promise<TripoProviderConfig> {
|
||
const providers = await getEnabledAiProviders();
|
||
const tripoProvider = providers.find((item) => item.type === "tripo-3d");
|
||
|
||
if (tripoProvider?.apiKey?.trim()) {
|
||
return {
|
||
apiKey: tripoProvider.apiKey.trim(),
|
||
baseUrl: String(tripoProvider.baseUrl || "").trim() || DEFAULT_TRIPO_BASE_URL,
|
||
providerId: tripoProvider.id,
|
||
providerName: tripoProvider.name,
|
||
};
|
||
}
|
||
|
||
const envApiKey = String(process.env.TRIPO_API_KEY || "").trim();
|
||
if (!envApiKey) {
|
||
throw new Error("未配置 Tripo3D API,请在系统设置-本地AI新增 Tripo3D 提供商");
|
||
}
|
||
|
||
return {
|
||
apiKey: envApiKey,
|
||
baseUrl: String(process.env.TRIPO_BASE_URL || "").trim() || DEFAULT_TRIPO_BASE_URL,
|
||
};
|
||
}
|
||
|