"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from livepeer_ai.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class ParamsTypedDict(TypedDict):
    r"""Initial parameters for the model."""


class Params(BaseModel):
    r"""Initial parameters for the model."""


class LiveVideoToVideoParamsTypedDict(TypedDict):
    subscribe_url: str
    r"""Source URL of the incoming stream to subscribe to."""
    publish_url: str
    r"""Destination URL of the outgoing stream to publish."""
    model_id: NotRequired[str]
    r"""Hugging Face model ID used for image generation."""
    params: NotRequired[ParamsTypedDict]
    r"""Initial parameters for the model."""


class LiveVideoToVideoParams(BaseModel):
    subscribe_url: str
    r"""Source URL of the incoming stream to subscribe to."""

    publish_url: str
    r"""Destination URL of the outgoing stream to publish."""

    model_id: Optional[str] = ""
    r"""Hugging Face model ID used for image generation."""

    params: Optional[Params] = None
    r"""Initial parameters for the model."""
