diff --git a/src/celeste/namespaces/domains.py b/src/celeste/namespaces/domains.py index cd3265a6..7e2a4311 100644 --- a/src/celeste/namespaces/domains.py +++ b/src/celeste/namespaces/domains.py @@ -8,7 +8,7 @@ from pydantic import SecretStr -from celeste import create_client +from celeste import Authentication, create_client from celeste.artifacts import ImageArtifact from celeste.core import Modality, Operation, Provider from celeste.modalities.audio.io import AudioOutput @@ -38,6 +38,7 @@ def generate( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, base_url: str | None = None, extra_body: dict[str, Any] | None = None, **params: Unpack[TextParameters], @@ -49,6 +50,7 @@ def generate( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.sync.stream.generate( prompt, @@ -70,6 +72,7 @@ def generate( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, base_url: str | None = None, extra_body: dict[str, Any] | None = None, **params: Unpack[TextParameters], @@ -81,6 +84,7 @@ def generate( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.stream.generate( prompt, @@ -102,6 +106,7 @@ def generate( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, base_url: str | None = None, extra_body: dict[str, Any] | None = None, **params: Unpack[TextParameters], @@ -113,6 +118,7 @@ def generate( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.sync.generate( prompt, @@ -129,6 +135,7 @@ def embed( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[EmbeddingsParameters], ) -> EmbeddingsOutput: """Blocking embeddings generation.""" @@ -138,6 +145,7 @@ def embed( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.sync.embed(text, **params) @@ -161,6 +169,7 @@ async def generate( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, base_url: str | None = None, extra_body: dict[str, Any] | None = None, **parameters: Unpack[TextParameters], @@ -173,6 +182,7 @@ async def generate( model: Model ID to use (required). provider: Optional provider override. api_key: Optional API key override. + auth: Optional Authentication object (e.g., GoogleADC for Vertex AI). base_url: Optional base URL for OpenResponses providers. extra_body: Optional provider-specific request body fields. **parameters: Additional model parameters. @@ -186,6 +196,7 @@ async def generate( model=model, provider=provider, api_key=api_key, + auth=auth, ) inputs = TextInput(prompt=prompt, messages=messages) return await client._predict( @@ -199,6 +210,7 @@ async def embed( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **parameters: Unpack[EmbeddingsParameters], ) -> EmbeddingsOutput: """Generate embeddings from text. @@ -208,6 +220,7 @@ async def embed( model: Model ID to use (required). provider: Optional provider override. api_key: Optional API key override. + auth: Optional Authentication object (e.g., GoogleADC for Vertex AI). **parameters: Additional model parameters. Returns: @@ -219,6 +232,7 @@ async def embed( model=model, provider=provider, api_key=api_key, + auth=auth, ) return await client.embed(text, **parameters) @@ -243,6 +257,7 @@ def generate( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[ImageParameters], ) -> ImagesStream: """Sync streaming image generation.""" @@ -252,6 +267,7 @@ def generate( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.sync.stream.generate(prompt, **params) @@ -263,6 +279,7 @@ def edit( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[ImageParameters], ) -> ImagesStream: """Sync streaming image editing.""" @@ -272,6 +289,7 @@ def edit( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.sync.stream.edit(image, prompt, **params) @@ -284,6 +302,7 @@ def analyze( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[TextParameters], ) -> TextStream: """Sync streaming image analysis.""" @@ -293,6 +312,7 @@ def analyze( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.sync.stream.analyze( prompt, messages=messages, image=image, **params @@ -309,6 +329,7 @@ def generate( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[ImageParameters], ) -> ImagesStream: """Async streaming image generation.""" @@ -318,6 +339,7 @@ def generate( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.stream.generate(prompt, **params) @@ -329,6 +351,7 @@ def edit( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[ImageParameters], ) -> ImagesStream: """Async streaming image editing.""" @@ -338,6 +361,7 @@ def edit( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.stream.edit(image, prompt, **params) @@ -350,6 +374,7 @@ def analyze( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[TextParameters], ) -> TextStream: """Async streaming image analysis.""" @@ -359,6 +384,7 @@ def analyze( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.stream.analyze(prompt, messages=messages, image=image, **params) @@ -373,6 +399,7 @@ def generate( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[ImageParameters], ) -> ImageOutput: """Blocking image generation.""" @@ -382,6 +409,7 @@ def generate( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.sync.generate(prompt, **params) @@ -393,6 +421,7 @@ def edit( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[ImageParameters], ) -> ImageOutput: """Blocking image editing.""" @@ -402,6 +431,7 @@ def edit( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.sync.edit(image, prompt, **params) @@ -414,6 +444,7 @@ def analyze( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[TextParameters], ) -> TextOutput: """Blocking image analysis.""" @@ -423,6 +454,7 @@ def analyze( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.sync.analyze(prompt, messages=messages, image=image, **params) @@ -445,6 +477,7 @@ async def generate( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **parameters: Unpack[ImageParameters], ) -> ImageOutput: """Generate images from a prompt. @@ -454,6 +487,7 @@ async def generate( model: Model ID to use (required). provider: Optional provider override. api_key: Optional API key override. + auth: Optional Authentication object (e.g., GoogleADC for Vertex AI). **parameters: Additional model parameters. Returns: @@ -465,6 +499,7 @@ async def generate( model=model, provider=provider, api_key=api_key, + auth=auth, ) return await client.generate(prompt, **parameters) @@ -476,6 +511,7 @@ async def edit( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **parameters: Unpack[ImageParameters], ) -> ImageOutput: """Edit an image with a prompt. @@ -486,6 +522,7 @@ async def edit( model: Model ID to use (required). provider: Optional provider override. api_key: Optional API key override. + auth: Optional Authentication object (e.g., GoogleADC for Vertex AI). **parameters: Additional model parameters. Returns: @@ -497,6 +534,7 @@ async def edit( model=model, provider=provider, api_key=api_key, + auth=auth, ) return await client.edit(image, prompt, **parameters) @@ -509,6 +547,7 @@ async def analyze( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **parameters: Unpack[TextParameters], ) -> TextOutput: """Analyze images and return text description. @@ -520,6 +559,7 @@ async def analyze( model: Model ID to use (required). provider: Optional provider override. api_key: Optional API key override. + auth: Optional Authentication object (e.g., GoogleADC for Vertex AI). **parameters: Additional model parameters. Returns: @@ -531,6 +571,7 @@ async def analyze( model=model, provider=provider, api_key=api_key, + auth=auth, ) return await client.analyze( prompt, messages=messages, image=image, **parameters @@ -557,6 +598,7 @@ def speak( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[AudioParameters], ) -> AudioStream: """Sync streaming text-to-speech.""" @@ -566,6 +608,7 @@ def speak( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.sync.stream.speak(text, **params) @@ -578,6 +621,7 @@ def analyze( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[TextParameters], ) -> TextStream: """Sync streaming audio analysis.""" @@ -587,6 +631,7 @@ def analyze( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.sync.stream.analyze( prompt, messages=messages, audio=audio, **params @@ -603,6 +648,7 @@ def speak( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[AudioParameters], ) -> AudioStream: """Async streaming text-to-speech.""" @@ -612,6 +658,7 @@ def speak( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.stream.speak(text, **params) @@ -624,6 +671,7 @@ def analyze( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[TextParameters], ) -> TextStream: """Async streaming audio analysis.""" @@ -633,6 +681,7 @@ def analyze( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.stream.analyze(prompt, messages=messages, audio=audio, **params) @@ -647,6 +696,7 @@ def speak( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[AudioParameters], ) -> AudioOutput: """Blocking text-to-speech.""" @@ -656,6 +706,7 @@ def speak( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.sync.speak(text, **params) @@ -668,6 +719,7 @@ def analyze( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[TextParameters], ) -> TextOutput: """Blocking audio analysis.""" @@ -677,6 +729,7 @@ def analyze( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.sync.analyze(prompt, messages=messages, audio=audio, **params) @@ -699,6 +752,7 @@ async def speak( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **parameters: Unpack[AudioParameters], ) -> AudioOutput: """Convert text to speech. @@ -708,6 +762,7 @@ async def speak( model: Model ID to use (required). provider: Optional provider override. api_key: Optional API key override. + auth: Optional Authentication object (e.g., GoogleADC for Vertex AI). **parameters: Additional model parameters (e.g., voice). Returns: @@ -719,6 +774,7 @@ async def speak( model=model, provider=provider, api_key=api_key, + auth=auth, ) return await client.speak(text, **parameters) @@ -731,6 +787,7 @@ async def analyze( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **parameters: Unpack[TextParameters], ) -> TextOutput: """Analyze audio and return text transcription/description. @@ -742,6 +799,7 @@ async def analyze( model: Model ID to use (required). provider: Optional provider override. api_key: Optional API key override. + auth: Optional Authentication object (e.g., GoogleADC for Vertex AI). **parameters: Additional model parameters. Returns: @@ -753,6 +811,7 @@ async def analyze( model=model, provider=provider, api_key=api_key, + auth=auth, ) return await client.analyze( prompt, messages=messages, audio=audio, **parameters @@ -781,6 +840,7 @@ def analyze( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[TextParameters], ) -> TextStream: """Sync streaming video analysis.""" @@ -790,6 +850,7 @@ def analyze( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.sync.stream.analyze( prompt, messages=messages, video=video, **params @@ -808,6 +869,7 @@ def analyze( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[TextParameters], ) -> TextStream: """Async streaming video analysis.""" @@ -817,6 +879,7 @@ def analyze( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.stream.analyze(prompt, messages=messages, video=video, **params) @@ -831,6 +894,7 @@ def generate( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[VideoParameters], ) -> VideoOutput: """Blocking video generation.""" @@ -840,6 +904,7 @@ def generate( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.sync.generate(prompt, **params) @@ -852,6 +917,7 @@ def analyze( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **params: Unpack[TextParameters], ) -> TextOutput: """Blocking video analysis.""" @@ -861,6 +927,7 @@ def analyze( model=model, provider=provider, api_key=api_key, + auth=auth, ) return client.sync.analyze(prompt, messages=messages, video=video, **params) @@ -883,6 +950,7 @@ async def generate( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **parameters: Unpack[VideoParameters], ) -> VideoOutput: """Generate video from a prompt. @@ -892,6 +960,7 @@ async def generate( model: Model ID to use (required). provider: Optional provider override. api_key: Optional API key override. + auth: Optional Authentication object (e.g., GoogleADC for Vertex AI). **parameters: Additional model parameters. Returns: @@ -903,6 +972,7 @@ async def generate( model=model, provider=provider, api_key=api_key, + auth=auth, ) return await client.generate(prompt, **parameters) @@ -915,6 +985,7 @@ async def analyze( model: str, provider: Provider | None = None, api_key: str | SecretStr | None = None, + auth: Authentication | None = None, **parameters: Unpack[TextParameters], ) -> TextOutput: """Analyze video and return text description. @@ -926,6 +997,7 @@ async def analyze( model: Model ID to use (required). provider: Optional provider override. api_key: Optional API key override. + auth: Optional Authentication object (e.g., GoogleADC for Vertex AI). **parameters: Additional model parameters. Returns: @@ -937,6 +1009,7 @@ async def analyze( model=model, provider=provider, api_key=api_key, + auth=auth, ) return await client.analyze( prompt, messages=messages, video=video, **parameters