Skip to content

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

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
Collaborator

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, confirmed against the deployed model rather than copied from a sibling.

Usage

realtime.connect(
    localVideoTrack = cameraTrack,
    localAudioTrack = null,
    options = ConnectOptions(
        model = RealtimeModels.LUCY_VTON_3_6,
        onRemoteVideoTrack = { track -> remoteRenderer.addSink(track) },
    ),
)

val result = client.queue.submitAndPoll(VideoModels.LUCY_VTON_3_6, input)

Changes

File Change
sdk/.../RealtimeModels.kt LUCY_VTON_3_6 val, fromName branch, all list
sdk/.../VideoModels.kt LUCY_VTON_3_6 val, all and allIncludingDeprecated lists
sdk/src/test/.../RealtimeModelsTest.kt count 7 to 8, fromName assertion, geometry test
sdk/src/test/.../VideoModelsTest.kt count 9 to 10, registry-match test
README.md both model tables, VideoEditInput list

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

This repo has no .github/workflows, so I provisioned a toolchain (JDK 17 + Android SDK 35) and ran the suite locally:

Command Result
./gradlew :sdk:testDebugUnitTest BUILD SUCCESSFUL
RealtimeModelsTest tests="14" failures="0" errors="0"
VideoModelsTest tests="4" failures="0" errors="0"

The existing fast-capability test also still passes with 3.6 in RealtimeModels.all — it iterates all and asserts every other model has supportedSpeeds.isEmpty(), which is the real proof 3.6 does not advertise the tier.

Compatibility

Source- and binary-compatible. Only additions: two new vals on existing objects, one new when branch, three list entries.


Note

Low Risk
Purely additive SDK registry and documentation changes with no auth, billing, or behavioral changes to existing models or aliases.

Overview
Adds lucy-vton-3.6 to the Android SDK model registries so clients can select it explicitly for realtime streaming and batch video jobs (1280×720, 30 fps realtime / 20 fps queue, VIDEO_EDIT).

Realtime: new RealtimeModels.LUCY_VTON_3_6, wired into fromName and RealtimeModels.all, with no Speed.FAST capability (unlike 3.5). lucy-vton-latest is unchanged and still maps to 3.5 behavior server-side.

Batch: new VideoModels.LUCY_VTON_3_6 at /v1/jobs/lucy-vton-3.6, included in all / allIncludingDeprecated.

README model tables and the VideoEditInput model list are updated; unit tests bump registry counts and assert name, path, geometry, and input type for 3.6.

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

Copy link
Copy Markdown
Collaborator Author

Note on verification: this repo has no .github/workflows, so the only check running here is Cursor Bugbot — there is no CI that compiles the SDK or runs the unit tests on a PR.

Because of that I provisioned a toolchain (JDK 17 + Android SDK platform 35 / build-tools 35) and ran the suite locally rather than relying on CI:

./gradlew :sdk:testDebugUnitTest   ->  BUILD SUCCESSFUL

JUnit XML from that run:

Class Result
RealtimeModelsTest tests="14" skipped="0" failures="0" errors="0"
VideoModelsTest tests="4" skipped="0" failures="0" errors="0"

Both new cases are confirmed present and green in the XML:

  • RealtimeModelsTest > lucy vton 3_6 outputs 720p
  • VideoModelsTest > lucy-vton-3_6 matches JS SDK registry

And the pre-existing fast speed capability is pinned to lucy 2_5 and lucy vton 3_5 families still passes with LUCY_VTON_3_6 now in RealtimeModels.all — that case iterates all and asserts every non-fast model has supportedSpeeds.isEmpty(), so it is the real proof 3.6 does not advertise the tier.

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 supportedSpeeds: lucy-vton-3.6 is not offered on the fast tier, so the
  fast-capability pin in RealtimeModelsTest is deliberately unchanged.
- lucy-vton-latest still resolves to lucy-vton-3.5; 3.6 is opt-in by name.
Per review on the JS SDK: supportedSpeeds 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 a4655e2 into main Oct 7, 2026
1 check 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