Skip to content

feat: add lucy-2.6 (realtime + batch) at 720p - #36

Merged
AdirAmsalem merged 1 commit into
mainfrom
conductor/lucy-26-android
Oct 25, 2026
Merged

AdirAmsalem merged 1 commit into
mainfrom
conductor/lucy-26-android

Conversation

@AdirAmsalem

@AdirAmsalem AdirAmsalem commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Description

Registers lucy-2.6 (successor to lucy-2.5) on the realtime and video surfaces. It mirrors the JS SDK registry, the source of truth this package's tests are written against. The model is already served in production, and this PR makes it reachable through the typed SDK surface.

  1. lucy-2.6 is opt-in by explicit name. lucy-latest still resolves to lucy-2.5 server-side, so its comments, geometry, speeds and tests are unchanged. Flipping the alias to 2.6 is a follow-up.
  2. 2.6 offers the fast tier on realtime. The API serves it on ?speed=fast and bills it like 2.5, so RealtimeModels.LUCY_2_6 advertises supportedSpeeds = setOf(Speed.FAST). The Speed KDoc, the README fast-mode section and the fast-capability pin test now list it.
  3. lucy-2.5 is unchanged. This PR only adds things.

Geometry was confirmed against the deployed model config: 1280x720 on both surfaces, 30 fps realtime and 20 fps batch. Batch input is VIDEO_EDIT (VideoEditInput), the same form fields as lucy-2.5.

Usage

realtime.connect(
    localVideoTrack = cameraTrack,
    localAudioTrack = null,
    options = ConnectOptions(
        model = RealtimeModels.LUCY_2_6,
        speed = Speed.FAST, // optional
        onRemoteVideoTrack = { track -> remoteRenderer.addSink(track) },
    ),
)

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

Changes

File Change
sdk/.../RealtimeModels.kt Adds the LUCY_2_6 val with setOf(Speed.FAST), a fromName branch and an entry in all, each placed right after LUCY_2_5
sdk/.../VideoModels.kt Adds the LUCY_2_6 val (/v1/jobs/lucy-2.6, VIDEO_EDIT) to both all and allIncludingDeprecated
sdk/.../realtime/RealTimeClient.kt Speed KDoc fast-mode model list
sdk/src/test/.../RealtimeModelsTest.kt Count goes from 8 to 9; adds a fromName assertion and a field-by-field lucy-2_6 matches JS SDK registry test; adds 2.6 to the fast-capability pin
sdk/src/test/.../VideoModelsTest.kt Count goes from 8 to 9; adds a lucy-2_6 matches JS SDK registry test
sdk/src/test/.../realtime/RealTimeClientUrlTest.kt Adds 2.6 to the "does not warn when speed is supported" test
README.md Fast-mode list, both model tables and the VideoEditInput list

Verification

This repo has no .github/workflows, so I set up JDK 17 (Corretto) and Android SDK 35 (platforms;android-35, build-tools;35.0.0) on a Linux VM and ran the suite locally:

Command Result
./gradlew :sdk:test --no-daemon BUILD SUCCESSFUL
testDebugUnitTest (all classes) tests="198" failures="0" errors="0" skipped="0"
testReleaseUnitTest (all classes) tests="198" failures="0" errors="0" skipped="0"
RealtimeModelsTest tests="16" failures="0" errors="0"
VideoModelsTest tests="6" failures="0" errors="0"
RealTimeClientUrlTest tests="11" failures="0" errors="0"

Not run: the :sample app build and anything on a device or emulator. Neither was needed. The sample's model pickers iterate RealtimeModels.all and VideoModels.all, so 2.6 appears there without code changes. I didn't make a live realtime or queue call against the API.

Compatibility

Additive, and both source- and binary-compatible. The only changes are two new vals on existing objects, one new when branch and three list entries. No existing model, alias or deprecated name changed.

Follow-ups

  • Flip lucy-latest to lucy-2.6 once the server-side alias moves.

Note

Low Risk
Additive registry and documentation updates only; existing models and aliases are untouched.

Overview
Adds lucy-2.6 to the Android SDK as an explicit opt-in model on both realtime (RealtimeModels.LUCY_2_6, 720p @ 30fps) and batch queue (VideoModels.LUCY_2_6, /v1/jobs/lucy-2.6, 720p @ 20fps, VideoEditInput). lucy-latest is unchanged and still documents as resolving to 2.5.

On realtime, 2.6 advertises Speed.FAST like 2.5; README fast-mode copy, Speed KDoc, registry fromName/all, and tests (counts, JS-registry parity, fast-tier pin, no-warning for supported speed) are updated accordingly. No changes to connection or URL-building logic beyond documenting and testing 2.6 as fast-capable.

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

@AdirAmsalem
AdirAmsalem merged commit 3e972f0 into main Oct 25, 2026
1 check passed
@AdirAmsalem
AdirAmsalem deleted the conductor/lucy-26-android branch October 25, 2026 09:16
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