Skip to content

feat: drop retired realtime/video models from Python SDK#52

Merged
AdirAmsalem merged 3 commits into
mainfrom
la-paz
May 10, 2026
Merged

feat: drop retired realtime/video models from Python SDK#52
AdirAmsalem merged 3 commits into
mainfrom
la-paz

Conversation

@AdirAmsalem
Copy link
Copy Markdown
Contributor

@AdirAmsalem AdirAmsalem commented May 10, 2026

Summary

Several Lucy-family models have been retired on the platform, plus LipSync. This PR removes all of them from the Python SDK so users can no longer construct or send a request for one. Net −1700+ lines (incl. the lipsync subpackage and its tests/examples).

Dropped:

  • Realtime: lucy, lucy-restyle, live-avatar and the deprecated aliases mirage / lucy_v2v_720p_rt / live_avatar
  • Video: lucy-motion, lucy-motion-latest, plus ImageToMotionVideoInput and MotionTrajectoryInput
  • The whole decart.lipsync subpackage (RealtimeLipsyncClient, all the lipsync message types, tests, and example)
  • AudioStreamManager + RealtimeClient.play_audio() + the recvonly-video WebRTC transceiver branch (live-avatar-only)
  • examples/avatar_live.py, examples/lipsync_file.py, examples/queue_image_example.py

Kept: mirage_v2 still resolves to lucy-restyle-2. Lucy 2.1, Lucy Restyle 2, Lucy Clip, Lucy Image 2, the *-latest aliases, and the deprecated batch aliases (lucy-pro-v2v, lucy-restyle-v2v, lucy-pro-i2i) are unchanged.

Migration

# Before
model = models.realtime("lucy-restyle")  # or "lucy", "live-avatar", "mirage"

# After
model = models.realtime("lucy-restyle-2")
# or "lucy-2.1" / "lucy-2.1-vton" / "lucy-restyle-latest" / "mirage_v2"

models.realtime("lucy") etc. now raise ModelNotFoundError. from decart.lipsync import RealtimeLipsyncClient will fail to import.

Test plan

  • pytest tests/ — 99 passed (35 skipped require optional realtime extras; covered separately)
  • pytest tests/test_models.py tests/test_realtime_unit.py with realtime extras — 48 passed
  • Manual smoke test of playground/playground.py against a current model

…Motion, Lucy v1, Lucy Restyle v1)

Removes the dropped model identifiers from RealTimeModels, VideoModels,
and the model registry. Drops the lipsync subpackage, the
ImageToMotionVideoInput / MotionTrajectoryInput types, the
live-avatar-only audio_stream_manager + play_audio() API + recvonly
video transceiver branch, and the tests/examples that exercised any of
those. Keeps mirage_v2 since it still resolves to lucy-restyle-2.

Also picks up the version 0.0.37 lockfile sync.
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ 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 f4feafb. Configure here.

Comment thread playground/playground.py Outdated
Fixes ruff F401 lint error introduced after dropping the retired model
literals.
The retired-models cleanup (f4feafb) accidentally narrowed the
"supports reference image" hint and the --image arg help to
lucy-2.1/lucy-2.1-vton only. lucy-restyle-2 still accepts a reference
image via set_image(); restore it in both spots so the playground gives
correct guidance.
@AdirAmsalem AdirAmsalem merged commit 134eff9 into main May 10, 2026
9 checks passed
@AdirAmsalem AdirAmsalem deleted the la-paz branch May 10, 2026 11:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant