Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions decart/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from .types import FileInput, MotionTrajectoryInput


RealTimeModels = Literal["mirage", "mirage_v2", "lucy_v2v_720p_rt", "lucy_2_rt", "avatar-live"]
RealTimeModels = Literal["mirage", "mirage_v2", "lucy_v2v_720p_rt", "lucy_2_rt", "live_avatar"]
VideoModels = Literal[
"lucy-dev-i2v",
"lucy-fast-v2v",
Expand Down Expand Up @@ -182,9 +182,9 @@ class ImageToImageInput(DecartBaseModel):
height=720,
input_schema=BaseModel,
),
"avatar-live": ModelDefinition(
name="avatar-live",
url_path="/v1/avatar-live/stream",
"live_avatar": ModelDefinition(
name="live_avatar",
url_path="/v1/stream",
fps=25,
width=1280,
height=720,
Expand Down
2 changes: 1 addition & 1 deletion decart/realtime/webrtc_connection.py
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ async def on_ice_connection_state_change():
self._pc.addTransceiver("audio", direction="recvonly")
logger.debug("Added video+audio transceivers (recvonly) for subscribe mode")
else:
if model_name == "avatar-live":
if model_name == "live_avatar":
self._pc.addTransceiver("video", direction="recvonly")
logger.debug("Added video transceiver (recvonly) for avatar-live mode")
self._pc.addTrack(local_track)
Expand Down
2 changes: 1 addition & 1 deletion examples/avatar_live.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ async def main():

print("\nCreating Decart client...")
async with DecartClient(api_key=api_key) as client:
model = models.realtime("avatar-live")
model = models.realtime("live_avatar")
print(f"Using model: {model.name}")

frame_count = 0
Expand Down
4 changes: 2 additions & 2 deletions playground/playground.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,9 @@ def _check_deps() -> None:

# ── Constants ────────────────────────────────────────────────────────────────

REALTIME_MODELS = ["mirage", "mirage_v2", "lucy_v2v_720p_rt", "lucy_2_rt", "avatar-live"]
REALTIME_MODELS = ["mirage", "mirage_v2", "lucy_v2v_720p_rt", "lucy_2_rt", "live_avatar"]
CAMERA_MODELS = {"mirage", "mirage_v2", "lucy_v2v_720p_rt", "lucy_2_rt"}
AVATAR_MODELS = {"avatar-live"}
AVATAR_MODELS = {"live_avatar"}

BANNER = """
╔══════════════════════════════════════╗
Expand Down
6 changes: 3 additions & 3 deletions tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ def test_realtime_models() -> None:
assert model.url_path == "/v1/stream"

# avatar-live model
model = models.realtime("avatar-live")
assert model.name == "avatar-live"
model = models.realtime("live_avatar")
assert model.name == "live_avatar"
assert model.fps == 25
assert model.width == 1280
assert model.height == 720
assert model.url_path == "/v1/avatar-live/stream"
assert model.url_path == "/v1/stream"


def test_video_models() -> None:
Expand Down
16 changes: 8 additions & 8 deletions tests/test_realtime_unit.py
Original file line number Diff line number Diff line change
Expand Up @@ -357,12 +357,12 @@ async def set_event():

def test_avatar_live_model_available():
"""Test that avatar-live model is available"""
model = models.realtime("avatar-live")
assert model.name == "avatar-live"
model = models.realtime("live_avatar")
assert model.name == "live_avatar"
assert model.fps == 25
assert model.width == 1280
assert model.height == 720
assert model.url_path == "/v1/avatar-live/stream"
assert model.url_path == "/v1/stream"


@pytest.mark.asyncio
Expand Down Expand Up @@ -400,14 +400,14 @@ async def test_avatar_live_connect_with_initial_image():
api_key=client.api_key,
local_track=mock_track,
options=RealtimeConnectOptions(
model=models.realtime("avatar-live"),
model=models.realtime("live_avatar"),
on_remote_stream=lambda t: None,
initial_state=ModelState(image=b"fake image bytes"),
),
)

assert realtime_client is not None
assert realtime_client._model_name == "avatar-live"
assert realtime_client._model_name == "live_avatar"
mock_image_to_b64.assert_called_once()
# Verify initial_image was passed to connect
mock_manager.connect.assert_called_once()
Expand Down Expand Up @@ -448,7 +448,7 @@ async def test_avatar_live_set_image():
api_key=client.api_key,
local_track=mock_track,
options=RealtimeConnectOptions(
model=models.realtime("avatar-live"),
model=models.realtime("live_avatar"),
on_remote_stream=lambda t: None,
),
)
Expand Down Expand Up @@ -614,7 +614,7 @@ async def test_avatar_live_set_image_timeout():
api_key=client.api_key,
local_track=mock_track,
options=RealtimeConnectOptions(
model=models.realtime("avatar-live"),
model=models.realtime("live_avatar"),
on_remote_stream=lambda t: None,
),
)
Expand Down Expand Up @@ -659,7 +659,7 @@ async def test_avatar_live_set_image_server_error():
api_key=client.api_key,
local_track=mock_track,
options=RealtimeConnectOptions(
model=models.realtime("avatar-live"),
model=models.realtime("live_avatar"),
on_remote_stream=lambda t: None,
),
)
Expand Down
Loading