Skip to content

feat: add lucy-vton-3.6 (realtime + batch) at 720p - #72

Merged
tomershlasky merged 2 commits into
mainfrom
feat/lucy-vton-3.6
Oct 7, 2026
Merged

tomershlasky merged 2 commits into
mainfrom
feat/lucy-vton-3.6

Conversation

@tomershlasky

@tomershlasky tomershlasky commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Description

Registers lucy-vton-3.6 on the realtime and video surfaces. Mirrors DecartAI/sdk#217 — the JS SDK registry is the source of truth this package's tests are written against. The model is already served in production; this only makes it reachable through the typed SDK surface.

  1. lucy-vton-latest still resolves to lucy-vton-3.5. 3.6 is opt-in by explicit name; the alias comments are untouched.
  2. 3.6 is not offered on the fast tier, so the entry omits the speed capability and the fast-mode prose is unchanged.
  3. lucy-vton-3.5 is unchanged — purely additive.

1280x720 on both surfaces, fps 30 realtime / 20 video, matching what the API serves and confirmed against the deployed model rather than copied from a sibling.

Usage

from decart import DecartClient, models

client = DecartClient(api_key="...")

model = models.realtime("lucy-vton-3.6")

job = await client.queue.submit_and_poll(
    model=models.video("lucy-vton-3.6"),
    prompt="Wearing the garment from the reference image",
    reference_image=garment_file,
    data=video_file,
)

Changes

File Change
decart/models.py RealTimeModels + VideoModels Literals; _MODELS["realtime"] and _MODELS["video"] entries
tests/test_models.py canonical realtime/video coverage, asserting supported_speeds == () on 3.6
playground/playground.py REALTIME_MODELS

Why the speed capability is omitted

supportedSpeeds is a claim that the service will serve the model on that tier and price it accordingly — an unsupported tier is rejected at connect time, not silently ignored. 3.6 is not offered on it, so the capability is left off here and the fast-model pin in the tests is deliberately unchanged.

Verification

Command Result
uv run --all-extras pytest 132 passed
uv run --all-extras pytest tests/test_models.py 15 passed
uv run ruff check . All checks passed
uv run ruff format --check (changed files) 3 files already formatted
uv run --all-extras mypy decart no new errors

ruff format flags tests/test_queue.py and mypy reports 37 errors in 7 files — both reproduce identically on a clean main and are untouched here.

Compatibility

Source-compatible and additive. No existing model id, alias, geometry or capability changes.


Note

Low Risk
Additive model registry and tests only; no changes to aliases, existing models, or runtime logic beyond exposing a new model id.

Overview
Registers lucy-vton-3.6 on the typed SDK for realtime (/v1/stream, 30 fps, 1280×720) and batch video (/v1/jobs/lucy-vton-3.6, 20 fps, same resolution, VideoEdit2Input). This is additive only: lucy-vton-3.5 and lucy-vton-latest behavior are unchanged.

Unlike 3.5, the realtime entry does not advertise supported_speeds, so fast tier is not claimed for 3.6; tests assert supported_speeds == (). The playground realtime model list includes 3.6 for manual testing.

Reviewed by Cursor Bugbot for commit 815dc67. Bugbot is set up for automated code reviews on this repo. Configure here.

Mirrors DecartAI/sdk#217. The model is already served in production; this only
makes it reachable through the typed SDK surface.

- 1280x720 on both surfaces, fps 30 realtime / 20 video.
- No supported_speeds: lucy-vton-3.6 is not offered on the fast tier, so
  FAST_REALTIME_MODELS is deliberately unchanged.
- lucy-vton-latest still resolves to lucy-vton-3.5; 3.6 is opt-in by name.
Comment thread decart/models.py Outdated
height=720,
supported_speeds=("fast",),
),
# No supported_speeds: lucy-vton-3.6 is not offered on the fast tier.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

no need to mention it then?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Agreed, dropped. The absent field is the statement.

Same removal applied in the JS, Swift, Kotlin and C++ PRs so the five registries stay identical — DecartAI/sdk#217 also lost the alias parentheticals from its JSDoc lists for the same reason.

Per review: supported_speeds is simply not set for lucy-vton-3.6, so a comment
saying so is state that can go stale without anything catching it.
@tomershlasky
tomershlasky merged commit 8bdc79f into main Oct 7, 2026
9 checks passed
@tomershlasky
tomershlasky deleted the feat/lucy-vton-3.6 branch October 7, 2026 12: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.

2 participants