Skip to content

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

Merged
AdirAmsalem merged 1 commit into
mainfrom
conductor/add-model-everywhere-2
Oct 25, 2026
Merged

AdirAmsalem merged 1 commit into
mainfrom
conductor/add-model-everywhere-2

Conversation

@AdirAmsalem

@AdirAmsalem AdirAmsalem commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Description

Registers lucy-2.6, the successor to lucy-2.5, on the realtime and video surfaces. The API already serves it. This change makes it reachable through the typed SDK surface.

Four things worth stating explicitly:

  1. lucy-latest still resolves to lucy-2.5. 2.6 is opt-in by explicit name. Both lucy-latest registry entries and their comments are unchanged. The alias flip will come in a follow-up once the API repoints it.
  2. 2.6 is offered on the fast tier. The realtime entry carries supportedSpeeds: ["fast"]. The API serves lucy-2.6 on ?speed=fast, billed at 2x the standard realtime rate, the same as 2.5. Batch has no speed tier.
  3. Geometry matches 2.5: 1280x720 on both surfaces, fps {ideal: 30, max: 30} for realtime and 20 for video. I confirmed this against the deployed model config (720p only) rather than copying it from the sibling.
  4. Inputs match 2.5. /v1/jobs/lucy-2.6 takes the same form fields as /v1/jobs/lucy-2.5, so it uses videoEdit2Schema / VideoEdit2Inputs.

Usage

import { createDecartClient, models } from "@decartai/sdk";

const client = createDecartClient({ apiKey: process.env.DECART_API_KEY });

// Realtime (optionally on the fast tier)
const realtimeClient = await client.realtime.connect(stream, {
  model: models.realtime("lucy-2.6"),
  speed: "fast",
  onRemoteStream: (editedStream) => { videoEl.srcObject = editedStream; },
});

// Batch
const result = await client.queue.submitAndPoll({
  model: models.video("lucy-2.6"),
  prompt: "Watercolor painting style with soft brushstrokes",
  reference_image: imageFile,
  data: videoFile,
});

Changes

File Change
src/shared/model.ts The nine registration sites: 3 canonical name lists, 2 zod unions, modelInputSchemas, realtime and video registry entries, 2 JSDoc option lists
src/process/types.ts lucy-2.6 added to the VideoEdit2Inputs branch of ModelSpecificInputs
src/realtime/client.ts, README.md, index.html lucy-2.6 added to the fast-mode model lists; Lucy 2.6 added to the playground's Canonical optgroup
AGENTS.md Supported Models lists
tests/* canonical option arrays, listModels() 20 → 22, fastRealtimeModels, per-surface registry tests, e2e coverage

Verification

Command Result
pnpm typecheck pass
pnpm test 389 passed (15 files)
pnpm build 75 files, 264.85 kB
pnpm test:package pass
pnpm format:check / pnpm lint clean

The live tests (tests/e2e.test.ts -t "lucy-2.6", tests/e2e-realtime.test.ts) need DECART_API_KEY and run in CI on the org key.

Compatibility

Purely additive and source-compatible. No existing model id, alias, geometry or capability changes. listModels() now returns 22 instead of 20.

Follow-ups

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

Note

Low Risk
Additive model registry and documentation only; no changes to auth, existing model IDs, or lucy-latest behavior.

Overview
Adds lucy-2.6 to the JavaScript SDK so callers can use models.realtime("lucy-2.6") and models.video("lucy-2.6") against APIs that already serve the model. Registration follows the same pattern as lucy-2.5: 720p (1280×720), videoEdit2Schema / VideoEdit2Inputs for batch jobs, and realtime supportedSpeeds: ["fast"] with docs and playground copy updated to list 2.6 among fast-tier models.

lucy-latest is unchanged (still server-resolved to 2.5); 2.6 is opt-in by explicit name only.

Tests and listModels() expectations are bumped (+2 entries for realtime and video surfaces), including queue and realtime e2e coverage.

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

@pkg-pr-new

pkg-pr-new Bot commented Oct 25, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@decartai/sdk@228

commit: 2b0718f

@AdirAmsalem
AdirAmsalem merged commit a91a47e into main Oct 25, 2026
5 checks passed
@AdirAmsalem
AdirAmsalem deleted the conductor/add-model-everywhere-2 branch October 25, 2026 09:12
AdirAmsalem added a commit that referenced this pull request Oct 25, 2026
Version bump for the v0.2.14 release (`lucy-2.6`, #228). Through a PR
because `main` requires reviewed changes; the `v0.2.14` tag goes on the
merge commit and triggers the npm publish.

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

---

[Open workspace in Conductor](https://app.conductor.build/decart/w/453)
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