Repository navigation
feat: remove legacy lucy-clip model ID (and lucy-clip-latest, lucy-pro-v2v) - #74
Merged
Merged
Conversation
…o-v2v) Drops lucy-clip, its lucy-clip-latest alias, and the deprecated lucy-pro-v2v alias from VideoModels, MODEL_ALIASES and the video registry, along with the now-orphaned (unexported) VideoToVideoInput schema. Docstrings, README, examples and test_ui.py switch to lucy-latest; queue tests do the same, and the deprecation-warning tests now exercise lucy-restyle-v2v.
…time and video surfaces Mirrors DecartAI/sdk#215. The realtime and video entries for lucy-2.1 and lucy-latest move from 1088x624 to 1280x720, the geometry lucy-2.5 already carries (lucy-latest resolves server-side to lucy-2.5). fps is unchanged. Tests pin 1280x720 and assert lucy-latest matches lucy-2.5 on each surface.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 7f10492. Configure here.
| width=1088, | ||
| height=624, | ||
| width=1280, | ||
| height=720, |
There was a problem hiding this comment.
Incorrect lucy-2.1 native geometry
Medium Severity
lucy-2.1 realtime and video entries now advertise 1280x720, which is lucy-2.5's native size. lucy-2.1 remains 1088x624 in the JS and iOS SDKs, and this repo previously kept that geometry when lucy-2.5 was corrected. Clients that size capture from model.width and model.height will send the wrong frame size.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 7f10492. Configure here.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
Removes the legacy Lucy Clip model from the SDK. Mirrors DecartAI/sdk#223 and follows the same pattern as #68 (retired
lucy-vton-2/lucy-vton-3IDs).decart/models.py: removeslucy-clip, thelucy-clip-latestalias and the deprecatedlucy-pro-v2valias fromVideoModels,MODEL_ALIASESand the video registry, plus thelucy-clipline in themodels.video()docstring.VideoToVideoInput. Only these three IDs used it, and it was never exported from thedecartpackage.DecartClientandQueueClientdocstrings,README.md,examples/process_video.py,examples/process_url.py,examples/queue_example.py,examples/README.md,test_ui.py) now uselucy-latest.queue_example.pyno longer passes thelucy-clip-specific"resolution": "480p", so it uses the model's default resolution.lucy-latest, including the expected/v1/jobs/lucy-latestURL and theInvalid inputs for lucy-latestmessage. The "deprecation warning only once" test now useslucy-restyle-v2v.The lucy-clip removal changes no other models, aliases, geometry or input schemas. The separate geometry fix is described below.
Compatibility
models.video("lucy-clip"),models.video("lucy-clip-latest")andmodels.video("lucy-pro-v2v")no longer resolve. They raiseModelNotFoundErrorand fail type checking againstVideoModels. Uselucy-latestorlucy-2.5instead. Note that these take the same input fields aslucy-2.1(prompt,data, optionalreference_image,seed,resolution,enhance_prompt). Unlikelucy-clip, they accept an emptyprompt.Also in this PR
fix(models): lucy-2.1 and lucy-latest capture at 1280x720 on the realtime and video surfaces (separate commit, mirrors DecartAI/sdk#215)
decart/models.py: the realtime and video entries forlucy-2.1andlucy-latestchange from 1088x624 to 1280x720, the geometrylucy-2.5already has (lucy-latestresolves server-side tolucy-2.5). fps is unchanged.tests/test_models.py: the four 1088x624 assertions now expect 1280x720. New assertions check thatlucy-latestmatcheslucy-2.5's width and height on both surfaces.Test plan
Run on the branch head, with both commits:
uv run pytest tests/ -v: 132 passeduv run black --check decart/ tests/ examples/: 42 files unchangeduv run ruff check decart/ tests/ examples/: all checks passeduv build+twine check: passedpython -m py_compileon every file inexamples/and ontest_ui.py: okuv run mypy decart/: 37 errors, the same as onmain(CI runs it withcontinue-on-error). None are inmodels.py.lucy-clip,lucy_clip,lucy-pro-v2vandVideoToVideoInputfinds no matches. Searching for1088/624finds no matches either.Note
Medium Risk
Breaking change: existing integrations using lucy-clip, lucy-clip-latest, or lucy-pro-v2v will fail at runtime and type-check time until they migrate to lucy-latest or lucy-2.5.
Overview
Removes legacy video model IDs
lucy-clip,lucy-clip-latest, andlucy-pro-v2vfrom the SDK model registry,VideoModelstyping, andMODEL_ALIASES. Calls tomodels.video()with those names now raiseModelNotFoundErrorinstead of resolving (including the oldlucy-pro-v2v→lucy-clipdeprecation path).The
VideoToVideoInputschema and all registry entries that used it are deleted; remaining video edit models keepVideoEdit2Input/VideoRestyleInput.Docs, examples, Gradio test UI, and tests are updated to use
lucy-latestfor generic video-to-video samples.queue_example.pyno longer passesresolution: "480p", which was tied to the removed clip model.Reviewed by Cursor Bugbot for commit 1d38ce5. Bugbot is set up for automated code reviews on this repo. Configure here.