30 lines
1.7 KiB
TypeScript
30 lines
1.7 KiB
TypeScript
import { describe, expect, test } from "bun:test";
|
||
|
||
import { defaultModelCapabilityConfig } from "../src/lib/model-capabilities";
|
||
import { normalizeVideoResolution, VIDEO_RESOLUTION_CAPABILITY_OPTIONS, VIDEO_RESOLUTION_OPTIONS } from "../src/lib/video-generation-options";
|
||
|
||
describe("video generation resolution options", () => {
|
||
test("统一档位包含 1440P 与 4K,并识别常见别名", () => {
|
||
expect(VIDEO_RESOLUTION_OPTIONS).toEqual([480, 720, 1080, 1440, 2160]);
|
||
expect(VIDEO_RESOLUTION_CAPABILITY_OPTIONS).toEqual(["480p", "720p", "1080p", "1440p", "2160p"]);
|
||
expect(normalizeVideoResolution("2k")).toBe("1440");
|
||
expect(normalizeVideoResolution("1440p")).toBe("1440");
|
||
expect(normalizeVideoResolution("4K")).toBe("2160");
|
||
});
|
||
|
||
test("保留模型声明的非标准档位而不是静默降级", () => {
|
||
expect(normalizeVideoResolution("768p")).toBe("768");
|
||
});
|
||
|
||
test("按协议限制实际可选档位", () => {
|
||
expect(defaultModelCapabilityConfig("newapi-channel-2").video?.resolutions).toEqual(["480p", "720p", "1080p", "1440p", "2160p"]);
|
||
expect(defaultModelCapabilityConfig("volcengine-ark-video").video?.resolutions).toEqual(["480p", "720p", "1080p"]);
|
||
expect(defaultModelCapabilityConfig("volcengine-jimeng-video").video?.resolutions).toEqual(["720p"]);
|
||
expect(defaultModelCapabilityConfig("gemini-veo").video?.resolutions).toEqual(["720p", "1080p"]);
|
||
});
|
||
|
||
test("火山方舟默认开启全模态参考模式", () => {
|
||
expect(defaultModelCapabilityConfig("volcengine-ark-video").video?.operations).toEqual(expect.arrayContaining(["reference_to_video", "audio_to_video"]));
|
||
});
|
||
});
|