Skip to content

Commit ac0bd82

Browse files
authored
feat: canonical model names, lucy-2.1, and deprecation warnings (#45)
* feat: canonical model names, lucy-2.1, and deprecation warnings Add canonical model names (lucy-2, lucy-clip, lucy-restyle-2, lucy-image-2, live-avatar, etc.) to match the updated API naming convention. Add new models lucy-2.1 (realtime + batch) and lucy-2.1-vton (realtime). Deprecated model names still work but now emit a DeprecationWarning guiding users to migrate. * fix: format models.py with black * feat: add -latest model aliases for server-side resolution Add lucy-latest, lucy-vton-latest, lucy-restyle-latest, lucy-clip-latest, lucy-motion-latest, and lucy-image-latest convenience aliases that always point to the current latest version of each model family. These are resolved server-side, so the SDK passes them through with no deprecation warnings.
1 parent d148ca6 commit ac0bd82

23 files changed

Lines changed: 583 additions & 152 deletions

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ async def main():
3434
async with DecartClient(api_key=os.getenv("DECART_API_KEY")) as client:
3535
# Edit an image
3636
result = await client.process({
37-
"model": models.image("lucy-pro-i2i"),
37+
"model": models.image("lucy-image-2"),
3838
"prompt": "Apply a painterly oil-on-canvas look while preserving the composition",
3939
"data": open("input.png", "rb"),
4040
})
@@ -53,7 +53,7 @@ For video editing jobs, use the queue API to submit jobs and poll for results:
5353
async with DecartClient(api_key=os.getenv("DECART_API_KEY")) as client:
5454
# Submit and poll automatically
5555
result = await client.queue.submit_and_poll({
56-
"model": models.video("lucy-pro-v2v"),
56+
"model": models.video("lucy-clip"),
5757
"prompt": "Restyle this footage with anime shading and vibrant neon highlights",
5858
"data": open("input.mp4", "rb"),
5959
"on_status_change": lambda job: print(f"Status: {job.status}"),
@@ -72,7 +72,7 @@ Or manage the polling manually:
7272
async with DecartClient(api_key=os.getenv("DECART_API_KEY")) as client:
7373
# Submit the job
7474
job = await client.queue.submit({
75-
"model": models.video("lucy-pro-v2v"),
75+
"model": models.video("lucy-clip"),
7676
"prompt": "Add cinematic teal-and-orange grading and gentle film grain",
7777
"data": open("input.mp4", "rb"),
7878
})

decart/client.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,14 @@ class DecartClient:
3737
3838
# Image editing (sync) - use process()
3939
image = await client.process({
40-
"model": models.image("lucy-pro-i2i"),
40+
"model": models.image("lucy-image-2"),
4141
"prompt": "Apply a painterly oil-on-canvas look while preserving the composition",
4242
"data": open("input.png", "rb"),
4343
})
4444
4545
# Video editing (async) - use queue
4646
result = await client.queue.submit_and_poll({
47-
"model": models.video("lucy-pro-v2v"),
47+
"model": models.video("lucy-clip"),
4848
"prompt": "Restyle this footage with anime shading and vibrant neon highlights",
4949
"data": open("input.mp4", "rb"),
5050
})
@@ -84,7 +84,7 @@ def queue(self) -> QueueClient:
8484
```python
8585
# Submit and poll automatically
8686
result = await client.queue.submit_and_poll({
87-
"model": models.video("lucy-pro-v2v"),
87+
"model": models.video("lucy-clip"),
8888
"prompt": "Restyle this footage with anime shading and vibrant neon highlights",
8989
"data": open("input.mp4", "rb"),
9090
})

0 commit comments

Comments
 (0)