Repository navigation
feat: add lucy-2.6 (realtime + batch) at 720p - #76
Merged
Merged
Conversation
decartdev
approved these changes
Oct 25, 2026
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.
Description
Registers
lucy-2.6, the successor tolucy-2.5, on the realtime and video surfaces. It mirrors the JS SDK registry, the source of truth that this package's tests are written against. Lucy 2.6 is a field-for-field clone oflucy-2.5.lucy-2.6is opt-in by explicit name.lucy-lateststill resolves tolucy-2.5server-side. Its comments, geometry and speeds are untouched here, and flipping the alias is a follow-up PR.?speed=fastand bills it like 2.5. The realtime entry advertisessupported_speeds=("fast",), andlucy-2.6is added to every list of fast-mode models (the unsupported-speed warning, theRealtimeConnectOptions.speeddocstring, the README, the examples and the playground help).lucy-2.5is unchanged, so the change is purely additive.Geometry was confirmed against the deployed model config:
1280x720on both surfaces, realtime 30 fps, batch 20 fps. The batch input schema isVideoEdit2Input, the same aslucy-2.5, because the API'screate_job_lucy_2_6takes the same form fields ascreate_job_lucy_2_5.Usage
Changes
decart/models.pyRealTimeModels+VideoModelsLiterals;_MODELS["realtime"]entry (/v1/stream, 30 fps, 1280×720,supported_speeds=("fast",)) and_MODELS["video"]entry (/v1/jobs/lucy-2.6, 20 fps, 1280×720,VideoEdit2Input); added to the fast-mode warning text and theModels.video()docstringdecart/realtime/types.pyRealtimeConnectOptions.speeddocstringREADME.md,examples/README.md,examples/realtime_synthetic.pyplayground/playground.pyREALTIME_MODELS(afterlucy-2.5) and the--speedhelp texttests/test_models.pysupported_speeds == ("fast",)); added toFAST_REALTIME_MODELS, which pins the fast-mode models to the JS SDK registrytests/test_realtime_unit.pyspeed="fast"sends no warning for supported modelsIn the
Models.video()docstring, the "(latest generation)" label moves fromlucy-2.5tolucy-2.6. This is the only change to any existinglucy-2.5text.Verification
Run on a Linux VM with Python 3.12 via
uv, using the same steps as.github/workflows/ci.yml:uv run pytest tests/ -vuv run pytest tests/test_models.py tests/test_realtime_unit.pyuv run black --check decart/ tests/ examples/ playground/uv run ruff check decart/ tests/ examples/ playground/uv run mypy decart/main(CI step iscontinue-on-error)python -m py_compileon the 4 CI-checked examples +playground/playground.pyuv buildNot run: no live session or job against
api.decart.ai. The realtime playground needs a camera and an API key, and the examples needDECART_API_KEY, so on this headless VM they were only syntax-checked, as CI does. The registry values match the deployed model config, andPOST /v1/models/resolve {"model":"lucy-2.6"}returnslucy-2.6.Compatibility
Source-compatible and additive. No existing model id, alias, geometry or capability changes.
Follow-ups
lucy-latesttolucy-2.6once the server-side alias moves.Note
Low Risk
Additive registry and documentation updates; no changes to existing model IDs, aliases, or runtime connection logic beyond new entries.
Overview
Adds
lucy-2.6to the SDK model registry for realtime (/v1/stream, 30 fps, 1280×720,supported_speeds=("fast",)) and batch video (/v1/jobs/lucy-2.6, 20 fps, same geometry,VideoEdit2Input). Callers opt in viamodels.realtime("lucy-2.6")andmodels.video("lucy-2.6");lucy-latestis unchanged and still documents as resolving tolucy-2.5server-side.lucy-2.6is included everywhere fast realtime is listed (unsupported-speed warning,RealtimeConnectOptions.speeddocstring, README, examples, playground--model/--speedhelp). The only tweak to existing model copy is moving the “latest generation” label fromlucy-2.5tolucy-2.6inModels.video()docs. Tests assert registry fields and that fast-mode behavior matches the JS SDK set.Reviewed by Cursor Bugbot for commit 6a17c50. Bugbot is set up for automated code reviews on this repo. Configure here.