feat: declare explicit media provider capabilities

This commit is contained in:
Peter Steinberger
2026-04-06 15:24:16 +01:00
parent 29df67c491
commit cd5b1653f6
46 changed files with 1623 additions and 393 deletions

View File

@@ -12,7 +12,7 @@ describe("comfy music-generation provider", () => {
expect(provider.defaultModel).toBe("workflow");
expect(provider.models).toEqual(["workflow"]);
expect(provider.capabilities.maxInputImages).toBe(1);
expect(provider.capabilities.edit?.maxInputImages).toBe(1);
});
it("runs a music workflow and returns audio outputs", async () => {

View File

@@ -50,7 +50,11 @@ export function buildComfyMusicGenerationProvider(): MusicGenerationProvider {
capability: "music",
}),
capabilities: {
maxInputImages: COMFY_MAX_INPUT_IMAGES,
generate: {},
edit: {
enabled: true,
maxInputImages: COMFY_MAX_INPUT_IMAGES,
},
},
async generateMusic(req) {
if ((req.inputImages?.length ?? 0) > COMFY_MAX_INPUT_IMAGES) {

View File

@@ -39,14 +39,27 @@ export function buildComfyVideoGenerationProvider(): VideoGenerationProvider {
capability: "video",
}),
capabilities: {
maxVideos: 1,
maxInputImages: 1,
maxInputVideos: 0,
supportsSize: false,
supportsAspectRatio: false,
supportsResolution: false,
supportsAudio: false,
supportsWatermark: false,
generate: {
maxVideos: 1,
supportsSize: false,
supportsAspectRatio: false,
supportsResolution: false,
supportsAudio: false,
supportsWatermark: false,
},
imageToVideo: {
enabled: true,
maxVideos: 1,
maxInputImages: 1,
supportsSize: false,
supportsAspectRatio: false,
supportsResolution: false,
supportsAudio: false,
supportsWatermark: false,
},
videoToVideo: {
enabled: false,
},
},
async generateVideo(req) {
if ((req.inputImages?.length ?? 0) > 1) {