feat: remove deprecated models (t2i, t2v, i2v, fast-v2v)#105
feat: remove deprecated models (t2i, t2v, i2v, fast-v2v)#105AdirAmsalem merged 5 commits intomainfrom
Conversation
…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>
commit: |
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>
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>
| app.post("/api/image/generate", async (req, res) => { | ||
| try { | ||
| const { prompt } = req.body; | ||
| function parseBase64DataUrl(dataUrl: unknown, mediaType: "image" | "video"): Blob { |
There was a problem hiding this comment.
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.
| data: new Blob([inputImage]), | ||
| model: models.video("lucy-pro-v2v"), | ||
| prompt: "The scene transforms with a vibrant new style", | ||
| data: new Blob([inputVideo]), |
There was a problem hiding this comment.
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)
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>
## 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>


Summary
Removes five deprecated models from the SDK:
lucy-pro-t2i,lucy-pro-t2v,lucy-dev-i2v,lucy-pro-i2v, andlucy-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 buildsucceedsNote
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 (notablylucy-pro-i2iandlucy-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.