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

@@ -5,6 +5,8 @@ import { submitImageJob, type SubmitImageJobInput } from "@/lib/server/generatio
import { submitVideoJob, type SubmitVideoJobInput } from "@/lib/server/video-generation-service";
import { publicApiOwnerId, type PublicApiClient } from "@/lib/server/public-api-auth";
import type { EnabledImageCapability, GenerationCapability, GenerationJob } from "@/lib/types";
import type { ImageCreationEngine } from "@/lib/evolink/image-client";
import type { VideoCreationEngine } from "@/lib/server/video-generation-service";
export class PublicApiConflictError extends Error {
status = 409;
@@ -36,6 +38,7 @@ export type PublicJobCreateBody = {
resolution?: "4k" | "8k";
quality?: string;
seed?: number;
engine?: ImageCreationEngine | VideoCreationEngine;
};
export async function createPublicGenerationJob(input: {
@@ -92,6 +95,7 @@ export async function createPublicGenerationJob(input: {
const job = await submitImageJob({
...common,
capability: imageCapability,
engine: input.body.engine === "bailian" || input.body.engine === "evolink" || input.body.engine === "jimeng" ? input.body.engine : undefined,
prompt: input.body.prompt || assembled?.prompt,
imageUrls: input.body.imageUrls || input.body.inputUrls || materialImages,
inputAssetIds: input.body.inputAssetIds || (input.body.materials || []).map((material) => material.id).filter(Boolean) as string[],