Skip to content

feat: add lucy-vton-3.6 realtime model at 720p - #14

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 at 30 fps, confirmed against the deployed model. As with 3.5, this SDK is realtime-only, so there is no batch entry.

Usage

auto model = decart::models::realtime("lucy-vton-3.6");
// urlPath "/v1/stream", 1280x720 @ 30fps, supportedSpeeds empty

Changes

File Change
src/models.cpp kRealtime entry, and the std::array<Entry, N> size literal 7 to 8
include/decart/models.h the accepted-canonical-names doc comment on realtime()
tests/test_models.cpp geometry block asserting supportedSpeeds.empty(), a negative in the fast-capability case, and canonicalOnly count 4 to 5

The array size literal is the one easy-to-miss edit, but it is a hard compile error if forgotten, so it is self-catching.

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

Built and run locally on Linux / GCC 11.5 / CMake 3.22:

Command Result
cmake --build build 100% built
ctest --test-dir build --output-on-failure 1/1 passed
./decart_tests 19 test cases, 97 assertions, 0 failed
clang-format --dry-run --Werror on the changed files clean

Built with -DDECART_BUILD_REALTIME=OFF because the LiveKit C++ SDK release download is not reachable from this environment; that flag excludes the transport only, and src/models.cpp plus all of tests/test_models.cpp are in the core library and fully exercised. CI builds the realtime module on all three platforms.

listRealtime() honors canonicalOnly still passes with 3.6 in the registry — that is the real proof the array size and canonical flag are right.

Compatibility

Source- and ABI-compatible. kRealtime is a file-local constexpr in an anonymous namespace, so growing it changes no exported symbol, type layout or function signature.

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

- 1280x720 at 30 fps.
- No fastSpeed: lucy-vton-3.6 is not offered on the fast tier, so the withFast
  set in test_models.cpp is deliberately unchanged.
- lucy-vton-latest still resolves to lucy-vton-3.5; 3.6 is opt-in by name.

kRealtime's std::array size literal goes 7 -> 8.
Per review on the JS SDK: fastSpeed 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 5a2ffa3 into main Oct 7, 2026
4 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