Skip to content

feat: remove deprecated models (t2i, t2v, i2v, fast-v2v)#105

Merged
AdirAmsalem merged 5 commits intomainfrom
remove-deprecated-models
Mar 26, 2026
Merged

feat: remove deprecated models (t2i, t2v, i2v, fast-v2v)#105
AdirAmsalem merged 5 commits intomainfrom
remove-deprecated-models

Conversation

@AdirAmsalem
Copy link
Copy Markdown
Contributor

@AdirAmsalem AdirAmsalem commented Mar 26, 2026

Summary

Removes five deprecated models from the SDK: lucy-pro-t2i, lucy-pro-t2v, lucy-dev-i2v, lucy-pro-i2v, and lucy-fast-v2v. This includes removing their zod schemas, input schemas, model definitions, unit/e2e tests, and all documentation and example references. All remaining examples and docs now use valid models (lucy-pro-i2i, lucy-pro-v2v, etc.).

Test plan

  • pnpm build succeeds
  • SDK unit tests pass (141 tests)
  • Proxy tests pass (36 tests)
  • Grep confirms zero remaining references to removed models

Note

Medium Risk
Medium risk because it removes model identifiers/schemas and prunes tests, which is a breaking change for any consumers still using the deprecated model names. Functional logic is mostly unchanged beyond input requirements shifting to image/video editing workflows that now require source media blobs/data URLs.

Overview
Removes deprecated model support from the SDK by pruning model registry entries and Zod input schemas (dropping lucy-pro-t2i, lucy-pro-t2v, lucy-pro-i2v, lucy-dev-i2v, lucy-fast-v2v) and updating docs/examples to use the remaining supported editing models (notably lucy-pro-i2i and lucy-pro-v2v).

Updates example apps and proxy docs/tests to reflect the new editing-only flows: CLIs and UIs now require a source image/video input, Express/Hono APIs switch to base64 data: URL inputs with validation/parsing helpers, and SDK unit/e2e/proxy tests are adjusted to cover the surviving endpoints/models.

Written by Cursor Bugbot for commit 1dd25f2. This will update automatically on new commits. Configure here.

…i2v, lucy-pro-i2v, lucy-fast-v2v)

Mirrors DecartAI/api-platform#488. Removes model definitions, schemas,
tests, docs, and examples for the five sunset models.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Mar 26, 2026

Open in StackBlitz

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

commit: 1dd25f2

AdirAmsalem and others added 3 commits March 26, 2026 15:46
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The examples referenced generation prompts but lucy-pro-v2v is a
video editing model.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Proxy READMEs were also missing the required data param for
lucy-pro-i2i, and several docs/examples still had generation-style
prompts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@AdirAmsalem AdirAmsalem changed the title Remove deprecated models (t2i, t2v, i2v, fast-v2v) feat: remove deprecated models (t2i, t2v, i2v, fast-v2v) Mar 26, 2026
The generate and transform endpoints became identical after the model
removal. Consolidated into a single /api/image/edit endpoint.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@AdirAmsalem AdirAmsalem merged commit eda4115 into main Mar 26, 2026
5 checks passed
@AdirAmsalem AdirAmsalem deleted the remove-deprecated-models branch March 26, 2026 14:01
Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

app.post("/api/image/generate", async (req, res) => {
try {
const { prompt } = req.body;
function parseBase64DataUrl(dataUrl: unknown, mediaType: "image" | "video"): Blob {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Express JSON body limit blocks base64 data URLs

Medium Severity

express.json() defaults to a 100KB body size limit. The endpoints now expect imageDataUrl and videoDataUrl fields containing full base64-encoded files in the JSON body, which will easily exceed this limit. Previously, payloads were small (just prompts and URL strings), so the default was fine. Now any real image or video will trigger a 413 Payload Too Large error, making all editing endpoints non-functional.

Fix in Cursor Fix in Web

data: new Blob([inputImage]),
model: models.video("lucy-pro-v2v"),
prompt: "The scene transforms with a vibrant new style",
data: new Blob([inputVideo]),
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Repurposed example files now duplicate existing examples

Low Severity

image-to-video.ts and text-to-video.ts both now read input.mp4 and use lucy-pro-v2v, making them functionally identical to video-to-video.ts. Similarly, text-to-image.ts reads input.png and uses lucy-pro-i2i, duplicating image-to-image.ts. The filenames are now misleading — none of these examples do what their names suggest. These files would be less confusing if removed rather than repurposed as duplicates.

Additional Locations (2)
Fix in Cursor Fix in Web

AdirAmsalem added a commit that referenced this pull request Mar 26, 2026
Increase express.json body limit to 50mb for base64 data URL payloads,
remove duplicate example files left over from deprecated model removal,
and update README references.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
AdirAmsalem added a commit that referenced this pull request Mar 26, 2026
## Summary

Addresses open review comments from #105 (deprecated model removal):

- Increase `express.json()` body size limit to 50mb so base64 data URL
payloads don't hit the default 100KB cap
- Remove 3 duplicate example files (`text-to-image.ts`,
`text-to-video.ts`, `image-to-video.ts`) that were repurposed during
model removal but became identical to existing examples with misleading
names
- Update `examples/sdk-core/README.md` references accordingly

## Test plan

- [ ] Verify express example starts without errors
- [ ] Verify no broken references to deleted files remain

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk: changes are confined to example code and documentation,
mainly increasing request body size and deleting redundant example
scripts.
> 
> **Overview**
> Updates the `examples/express-api` server to accept large base64
payloads by raising the `express.json()` body limit to `50mb`.
> 
> Cleans up `examples/sdk-core` by removing three redundant/misleading
example scripts (`image/text-to-image.ts`, `video/text-to-video.ts`,
`video/image-to-video.ts`) and updating the README to point to the
remaining `image-to-image` and `video-to-video` examples.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
993cd92. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
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.

1 participant