"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations from .contentpartaudio import ContentPartAudio, ContentPartAudioTypedDict from .contentpartimage import ContentPartImage, ContentPartImageTypedDict from .contentpartvideo import ContentPartVideo, ContentPartVideoTypedDict from openrouter.utils import get_discriminator from pydantic import Discriminator, Tag from typing import Union from typing_extensions import Annotated, TypeAliasType InputReferenceTypedDict = TypeAliasType( "InputReferenceTypedDict", Union[ ContentPartImageTypedDict, ContentPartAudioTypedDict, ContentPartVideoTypedDict ], ) r"""A reference asset used to guide video generation. Image references are supported by all providers; audio and video references are only honored by providers that support them (currently BytePlus Seedance 2.0).""" InputReference = Annotated[ Union[ Annotated[ContentPartAudio, Tag("audio_url")], Annotated[ContentPartImage, Tag("image_url")], Annotated[ContentPartVideo, Tag("video_url")], ], Discriminator(lambda m: get_discriminator(m, "type", "type")), ] r"""A reference asset used to guide video generation. Image references are supported by all providers; audio and video references are only honored by providers that support them (currently BytePlus Seedance 2.0)."""