feat: add task workflow and asset downloads
This commit is contained in:
45
app/api/v1/capabilities/route.ts
Normal file
45
app/api/v1/capabilities/route.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user