Skip to content

feat: fast mode on lucy-vton-3.6; lucy-vton-latest resolves to 3.6 - #73

Merged
tomershlasky merged 1 commit into
mainfrom
vton-3-6-fast-latest
Oct 12, 2026
Merged

tomershlasky merged 1 commit into
mainfrom
vton-3-6-fast-latest

Conversation

@tomershlasky

@tomershlasky tomershlasky commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Mirrors the JS SDK (DecartAI/sdk) changes for the Python SDK:

  1. Fast mode on lucy-vton-3.6 (realtime only). The API now serves 3.6 on the speed="fast" tier, billed at 2x like 3.5. The realtime lucy-vton-3.6 definition now advertises supported_speeds=("fast",), the same as 3.5. The video/batch definition is unchanged.
  2. lucy-vton-latest now resolves server-side to lucy-vton-3.6 (it was 3.5). The geometry is the same (realtime 1280x720 @ 30fps, video 1280x720 @ 20fps), so only comments, docs and examples change.

Fast-capable realtime set is now: lucy-2.5, lucy-latest, lucy-vton-3.5, lucy-vton-3.6, lucy-vton-latest.

Changes

  • decart/models.py: add supported_speeds=("fast",) to realtime lucy-vton-3.6. Update the unsupported-speed warning text. Change the lucy-vton-latest alias comments (realtime + video) to say it resolves to 3.6.
  • decart/realtime/types.py: update the fast-capable list in the RealtimeConnectOptions.speed docstring.
  • tests/test_models.py: add lucy-vton-3.6 to FAST_REALTIME_MODELS. Change the old "3.6 has no fast tier" assertion to ("fast",). Rename the pinning test to ..._vton_3_5_3_6. Add comments noting that lucy-vton-latest resolves to 3.6.
  • tests/test_realtime_unit.py: add lucy-vton-3.6 to the models that must not warn on speed="fast".
  • README.md, examples/README.md, examples/realtime_synthetic.py, examples/video_tryon.py, playground/playground.py: update the fast-mode model lists and alias wording.

No version bump or release.

Verification

uv sync --all-extras
uv run black --check decart/ tests/ examples/   # 42 files would be left unchanged
uv run ruff check decart/ tests/ examples/      # All checks passed!
uv run pytest tests/ -v                         # 132 passed
uv run mypy decart/                             # 37 errors, same as on main (CI runs it with continue-on-error); none new
python -m py_compile examples/*.py playground/playground.py  # ok

Server-side

  • Fast mode for lucy-vton-3.6 is already live on the API.
  • The lucy-vton-latest → 3.6 alias change is rolling out on the API separately. This PR only changes docs/comments for the alias (geometry and fast capability are identical for 3.5 and 3.6), so merge order doesn't matter.

Note

Low Risk
Registry metadata, docs, and test expectations only; no auth, billing logic, or connection behavior changes beyond advertising fast for 3.6.

Overview
Adds realtime fast mode (speed="fast") for lucy-vton-3.6 by setting supported_speeds=("fast",) on its realtime ModelDefinition, matching lucy-vton-3.5. Docs, warnings, examples, and the playground now list 3.6 among fast-capable models.

Documents that lucy-vton-latest resolves server-side to lucy-vton-3.6 (was 3.5) in registry comments and user-facing text; video/batch geometry is unchanged. Tests pin the fast-capable realtime set and expect no warning when connecting with speed="fast" on 3.6.

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


Companion PRs (lucy-vton-3.6: fast mode + lucy-vton-latest → 3.6)

- Advertise supported_speeds=("fast",) on the realtime lucy-vton-3.6
  definition (backend serves 3.6 on the fast tier, billed at 2x).
- Update fast-capable model lists in the unsupported-speed warning,
  RealtimeConnectOptions.speed docstring, README, examples, playground.
- lucy-vton-latest now resolves server-side to lucy-vton-3.6 (geometry
  unchanged); update comments/docs accordingly.
- Tests: add lucy-vton-3.6 to FAST_REALTIME_MODELS and the no-warning
  list; flip the assertion that 3.6 has no fast tier.
tomershlasky added a commit to DecartAI/sdk that referenced this pull request Oct 12, 2026
…lves to 3.6 (#222)

## Description

Two updates for `lucy-vton-3.6`, now that the API supports them:

1. **Fast mode on `lucy-vton-3.6`.** The realtime registry entry gains
`supportedSpeeds: ["fast"]`. The API already serves 3.6 on the fast
tier, billed at 2x the standard realtime rate like 3.5. Without this
change, `speed: "fast"` on 3.6 logs a "model does not list it" warning.
This applies to realtime only; batch has no speed tier.
2. **`lucy-vton-latest` → `lucy-vton-3.6`.** The alias resolves
server-side, so the SDK only updates comments, docs and test names. 3.5
and 3.6 have identical geometry: realtime 1280x720 at `{ideal: 30, max:
30}`, video 1280x720 at 20 fps. The alias entries keep their values, and
`lucy-vton-latest` keeps `supportedSpeeds: ["fast"]`.

Following the AGENTS.md runbook, `supportedSpeeds` is added only now
that the API actually serves 3.6 on the fast tier.

## Changes

| File | Change |
| --- | --- |
| `src/shared/model.ts` | `supportedSpeeds: ["fast"]` on realtime
`lucy-vton-3.6`; both `lucy-vton-latest` comments now point at 3.6 |
| `src/realtime/client.ts`, `README.md`, `index.html` | fast-mode model
lists now include `lucy-vton-3.6` |
| `AGENTS.md` | removes "opt-in by name; no fast tier" from 3.6;
`lucy-vton-latest` → `lucy-vton-3.6` |
| `tests/unit.test.ts` | adds 3.6 to `fastRealtimeModels` (the pinned
exact set); 3.6 asserts `["fast"]`; latest test titles say 3.6 |
| `tests/realtime.unit.test.ts` | adds 3.6 to the "no speed warning"
loop |

## Verification

| Command | Result |
| --- | --- |
| `pnpm --filter @decartai/sdk typecheck` | pass |
| `pnpm --filter @decartai/sdk test` | 386 passed (15 files) |
| `pnpm --filter @decartai/sdk build` | pass |
| `pnpm --filter @decartai/sdk test:package` | pass |
| `pnpm --filter @decartai/sdk format:check` | 86 files, clean |

The live e2e was not run locally because no `DECART_API_KEY` was
available.

## Compatibility

Additive. `models.realtime("lucy-vton-3.6").supportedSpeeds` changes
from `undefined` to `["fast"]`. No ids, geometry or types change.

## Server-side

- Fast mode for `lucy-vton-3.6` is already live on the API.
- The `lucy-vton-latest` → 3.6 alias change is rolling out on the API
separately. Only docs and comments here depend on it, so merge order
doesn't matter.

---
### Companion PRs (lucy-vton-3.6: fast mode + `lucy-vton-latest` → 3.6)
- JS SDK: #222
- Python: DecartAI/decart-python#73
- iOS: DecartAI/decart-ios#49
- Android: DecartAI/decart-android#34
- C++: DecartAI/decart-cpp#15

<!-- conductor-workspace-link -->

---

[Open workspace in Conductor](https://app.conductor.build/decart/w/261)
@tomershlasky
tomershlasky merged commit 466a543 into main Oct 12, 2026
9 checks passed
@tomershlasky
tomershlasky deleted the vton-3-6-fast-latest branch October 12, 2026 10:29
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