From e6618cea726d78bf9a103bf926a0a3a4d3e5548c Mon Sep 17 00:00:00 2001 From: Adir Amsalem Date: Sun, 5 Jul 2026 21:02:43 +0300 Subject: [PATCH] feat(models): add lucy-2.5 realtime and batch model --- decart/models.py | 18 ++++++++++++++++++ playground/playground.py | 1 + tests/test_models.py | 14 ++++++++++++++ 3 files changed, 33 insertions(+) diff --git a/decart/models.py b/decart/models.py index 1b42f0d..63434e4 100644 --- a/decart/models.py +++ b/decart/models.py @@ -7,6 +7,7 @@ RealTimeModels = Literal[ # Canonical names "lucy-2.1", + "lucy-2.5", "lucy-vton-2", "lucy-vton-3", "lucy-restyle-2", @@ -22,6 +23,7 @@ # Canonical names "lucy-clip", "lucy-2.1", + "lucy-2.5", "lucy-vton-2", "lucy-vton-3", "lucy-restyle-2", @@ -184,6 +186,13 @@ class ImageToImageInput(DecartBaseModel): width=1088, height=624, ), + "lucy-2.5": ModelDefinition( + name="lucy-2.5", + url_path="/v1/stream", + fps=20, + width=1088, + height=624, + ), "lucy-restyle-2": ModelDefinition( name="lucy-restyle-2", url_path="/v1/stream", @@ -261,6 +270,14 @@ class ImageToImageInput(DecartBaseModel): height=624, input_schema=VideoEdit2Input, ), + "lucy-2.5": ModelDefinition( + name="lucy-2.5", + url_path="/v1/jobs/lucy-2.5", + fps=20, + width=1088, + height=624, + input_schema=VideoEdit2Input, + ), "lucy-vton-2": ModelDefinition( name="lucy-vton-2", url_path="/v1/jobs/lucy-vton-2", @@ -395,6 +412,7 @@ def video(model: VideoModels) -> VideoModelDefinition: Available models: - "lucy-clip" - Video-to-video - "lucy-2.1" - Video editing (newer, higher quality) + - "lucy-2.5" - Video editing (latest generation) - "lucy-restyle-2" - Video restyling with prompt or reference image """ _warn_deprecated(model) diff --git a/playground/playground.py b/playground/playground.py index 7734204..9cb12c9 100644 --- a/playground/playground.py +++ b/playground/playground.py @@ -58,6 +58,7 @@ def _check_deps() -> None: REALTIME_MODELS = [ "lucy-2.1", + "lucy-2.5", "lucy-vton-3", "lucy-restyle-2", ] diff --git a/tests/test_models.py b/tests/test_models.py index 9375393..57647e3 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -18,6 +18,13 @@ def test_canonical_realtime_models() -> None: assert model.width == 1088 assert model.height == 624 + model = models.realtime("lucy-2.5") + assert model.name == "lucy-2.5" + assert model.url_path == "/v1/stream" + assert model.fps == 20 + 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" @@ -57,6 +64,13 @@ def test_canonical_video_models() -> None: assert model.width == 1088 assert model.height == 624 + model = models.video("lucy-2.5") + assert model.name == "lucy-2.5" + assert model.url_path == "/v1/jobs/lucy-2.5" + assert model.fps == 20 + 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"