diff --git a/decart/models.py b/decart/models.py index a4b3bdf..c6e54fd 100644 --- a/decart/models.py +++ b/decart/models.py @@ -9,6 +9,7 @@ "lucy-2.1", "lucy-2.1-vton", "lucy-vton-2", + "lucy-vton-3", "lucy-restyle-2", # Latest aliases (server-side resolution) "lucy-latest", @@ -25,6 +26,7 @@ "lucy-2.1", "lucy-2.1-vton", "lucy-vton-2", + "lucy-vton-3", "lucy-restyle-2", # Latest aliases (server-side resolution) "lucy-latest", @@ -223,6 +225,13 @@ class ImageToImageInput(DecartBaseModel): width=1088, height=624, ), + "lucy-vton-3": ModelDefinition( + name="lucy-vton-3", + url_path="/v1/stream", + fps=30, + width=1088, + height=624, + ), "lucy-2.1-vton-2": ModelDefinition( name="lucy-2.1-vton-2", url_path="/v1/stream", @@ -287,6 +296,14 @@ class ImageToImageInput(DecartBaseModel): height=624, input_schema=VideoEdit2Input, ), + "lucy-vton-3": ModelDefinition( + name="lucy-vton-3", + url_path="/v1/jobs/lucy-vton-3", + fps=20, + width=1088, + height=624, + input_schema=VideoEdit2Input, + ), "lucy-2.1-vton-2": ModelDefinition( name="lucy-2.1-vton-2", url_path="/v1/jobs/lucy-2.1-vton-2", diff --git a/tests/test_models.py b/tests/test_models.py index 420b404..41c3699 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -24,6 +24,20 @@ def test_canonical_realtime_models() -> None: assert model.width == 1088 assert model.height == 624 + model = models.realtime("lucy-vton-2") + assert model.name == "lucy-vton-2" + assert model.url_path == "/v1/stream" + assert model.fps == 30 + assert model.width == 1088 + assert model.height == 624 + + model = models.realtime("lucy-vton-3") + assert model.name == "lucy-vton-3" + assert model.url_path == "/v1/stream" + assert model.fps == 30 + assert model.width == 1088 + assert model.height == 624 + def test_deprecated_realtime_models() -> None: _warned_aliases.clear() @@ -56,6 +70,20 @@ def test_canonical_video_models() -> None: assert model.width == 1088 assert model.height == 624 + model = models.video("lucy-vton-2") + assert model.name == "lucy-vton-2" + assert model.url_path == "/v1/jobs/lucy-vton-2" + assert model.fps == 20 + assert model.width == 1088 + assert model.height == 624 + + model = models.video("lucy-vton-3") + assert model.name == "lucy-vton-3" + assert model.url_path == "/v1/jobs/lucy-vton-3" + assert model.fps == 20 + assert model.width == 1088 + assert model.height == 624 + model = models.video("lucy-restyle-2") assert model.name == "lucy-restyle-2" assert model.url_path == "/v1/jobs/lucy-restyle-2"