import { getEffectiveImageEngine, getEvolinkImageSettings } from "@/lib/evolink/image-client"; import { getVisibleImageCapabilities } from "@/lib/jimeng/capabilities"; import { jsonOk } from "@/lib/server/api"; import { authenticatePublicApiRequest } from "@/lib/server/public-api-auth"; import { publicApiError } from "@/lib/server/public-api-response"; import { getSeedanceConfig } from "@/lib/seedance/client"; export const runtime = "nodejs"; export async function GET(request: Request) { try { authenticatePublicApiRequest(request); const evolink = getEvolinkImageSettings(); return jsonOk({ capabilities: [ ...getVisibleImageCapabilities().map((capability) => { const engine = getEffectiveImageEngine(capability.id); return { id: capability.id, label: capability.label, kind: "image", engine, provider: engine === "evolink" ? "evolink" : "volcengine-visual", reqKey: engine === "evolink" ? evolink.model : capability.reqKey }; }), { id: "video.generate", label: "Seedance 视频生成", kind: "video", engine: "seedance", provider: "seedance", reqKey: getSeedanceConfig().model, limits: { durationSeconds: { min: 4, max: 15 }, ratios: ["16:9", "4:3", "1:1", "3:4", "9:16", "21:9", "adaptive"], resolutions: ["480p", "720p", "1080p"] } } ] }); } catch (error) { return publicApiError(error); } }