feat: add Bailian image generation support

This commit is contained in:
inman
2026-07-14 12:58:50 +08:00
parent 9a3070c749
commit f642b5e71f
18 changed files with 464 additions and 74 deletions

View File

@@ -4,6 +4,7 @@ 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";
import { getBailianConfig } from "@/lib/bailian/client";
export const runtime = "nodejs";
@@ -11,6 +12,7 @@ export async function GET(request: Request) {
try {
authenticatePublicApiRequest(request);
const evolink = getEvolinkImageSettings();
const bailian = getBailianConfig();
return jsonOk({
capabilities: [
...getVisibleImageCapabilities().map((capability) => {
@@ -20,8 +22,8 @@ export async function GET(request: Request) {
label: capability.label,
kind: "image",
engine,
provider: engine === "evolink" ? "evolink" : "volcengine-visual",
reqKey: engine === "evolink" ? evolink.model : capability.reqKey
provider: engine === "bailian" ? "bailian" : engine === "evolink" ? "evolink" : "volcengine-visual",
reqKey: engine === "bailian" ? bailian.imageModel : engine === "evolink" ? evolink.model : capability.reqKey
};
}),
{
@@ -36,6 +38,19 @@ export async function GET(request: Request) {
ratios: ["16:9", "4:3", "1:1", "3:4", "9:16", "21:9", "adaptive"],
resolutions: ["480p", "720p", "1080p"]
}
},
{
id: "video.generate.bailian",
label: "百炼图生视频",
kind: "video",
engine: "bailian",
provider: "bailian",
reqKey: bailian.videoModel,
limits: {
inputImages: { min: 1, max: 2 },
durationSeconds: { min: 2, max: 15 },
resolutions: ["720P", "1080P"]
}
}
]
});

View File

@@ -53,7 +53,7 @@ export async function GET(request: Request) {
ownerId: { type: "string", example: "api:partner-a" },
externalClientId: { type: "string" },
capability: { $ref: "#/components/schemas/GenerationCapability" },
provider: { type: "string", enum: ["volcengine-visual", "evolink", "seedance", "mock"] },
provider: { type: "string", enum: ["volcengine-visual", "evolink", "seedance", "bailian", "mock"] },
reqKey: { type: "string" },
status: { $ref: "#/components/schemas/GenerationStatus" },
prompt: { type: "string" },