ai_api_unified 2.5.1__tar.gz → 2.5.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/PKG-INFO +1 -1
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/pyproject.toml +1 -1
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/__version__.py +1 -1
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/videos/ai_google_gemini_videos.py +5 -2
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/LICENSE +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/README.md +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/__init__.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/ai_base.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/ai_bedrock_base.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/ai_completions_exceptions.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/ai_factory.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/ai_google_base.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/ai_openai_base.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/ai_provider_exceptions.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/ai_provider_loader.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/ai_provider_registry.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/completions/__init__.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/completions/ai_bedrock_completions.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/completions/ai_google_gemini_capabilities.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/completions/ai_google_gemini_completions.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/completions/ai_openai_completions.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/embeddings/__init__.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/embeddings/ai_google_gemini_embeddings.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/embeddings/ai_openai_embeddings.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/embeddings/ai_titan_embeddings.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/images/__init__.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/images/ai_bedrock_images.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/images/ai_google_gemini_images.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/images/ai_openai_images.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/__init__.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/impl/__init__.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/impl/_presidio_redactor.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/impl/base_redactor.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/impl/custom_recognizer_factory.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/impl/middleware_extensibility_poc.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/impl/noop_redactor.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/impl/presidio_log_control.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/middleware.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/middleware_config.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/observability.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/observability_runtime.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/pii_redactor.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/redaction_exceptions.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/util/__init__.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/util/_lazy_pydub.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/util/env_settings.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/util/package_metadata_validation.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/util/utils.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/videos/__init__.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/videos/ai_bedrock_videos.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/videos/ai_openai_videos.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/videos/frame_helpers.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/voice/__init__.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/voice/ai_voice_azure.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/voice/ai_voice_base.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/voice/ai_voice_elevenlabs.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/voice/ai_voice_factory.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/voice/ai_voice_google.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/voice/ai_voice_google_gemini_voices.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/voice/ai_voice_openai.py +0 -0
- {ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/voice/audio_models.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: ai_api_unified
|
|
3
|
-
Version: 2.5.
|
|
3
|
+
Version: 2.5.2
|
|
4
4
|
Summary: Unified access layer for AI completions (LLM), embedding (semantic), image, video, and voice services
|
|
5
5
|
License: MIT
|
|
6
6
|
Keywords: llm,openai,bedrock,gemini,vertex,embeddings,completion,video,voice,api
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
[project]
|
|
37
37
|
name = "ai_api_unified"
|
|
38
38
|
|
|
39
|
-
version = "2.5.
|
|
39
|
+
version = "2.5.2" # keep in sync with src/ai_api_unified/__version__.py
|
|
40
40
|
description = "Unified access layer for AI completions (LLM), embedding (semantic), image, video, and voice services"
|
|
41
41
|
authors = [{ name = "Dave Thomas", email = "davidcthomas@gmail.com" }]
|
|
42
42
|
license = "MIT"
|
{ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/videos/ai_google_gemini_videos.py
RENAMED
|
@@ -51,6 +51,11 @@ class AIGoogleGeminiVideoProperties(AIBaseVideoProperties):
|
|
|
51
51
|
|
|
52
52
|
@model_validator(mode="after")
|
|
53
53
|
def _validate_google_video_properties(self) -> "AIGoogleGeminiVideoProperties":
|
|
54
|
+
if self.fps is not None:
|
|
55
|
+
raise ValueError(
|
|
56
|
+
"Google Gemini (Veo) does not support the 'fps' parameter. "
|
|
57
|
+
"Remove fps from your video properties for this provider."
|
|
58
|
+
)
|
|
54
59
|
if (
|
|
55
60
|
self.aspect_ratio is not None
|
|
56
61
|
and self.aspect_ratio not in self._ALLOWED_ASPECT_RATIOS
|
|
@@ -363,8 +368,6 @@ class AIGoogleGeminiVideos(AIGoogleBase, AIBaseVideos):
|
|
|
363
368
|
config_kwargs["duration_seconds"] = google_properties.duration_seconds
|
|
364
369
|
if google_properties.seed is not None:
|
|
365
370
|
config_kwargs["seed"] = google_properties.seed
|
|
366
|
-
if google_properties.fps is not None:
|
|
367
|
-
config_kwargs["fps"] = google_properties.fps
|
|
368
371
|
if google_properties.generate_audio is not None:
|
|
369
372
|
config_kwargs["generate_audio"] = google_properties.generate_audio
|
|
370
373
|
if google_properties.person_generation is not None:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/ai_completions_exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/embeddings/ai_openai_embeddings.py
RENAMED
|
File without changes
|
{ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/embeddings/ai_titan_embeddings.py
RENAMED
|
File without changes
|
|
File without changes
|
{ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/images/ai_bedrock_images.py
RENAMED
|
File without changes
|
{ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/images/ai_google_gemini_images.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/impl/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/impl/base_redactor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/impl/noop_redactor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/middleware_config.py
RENAMED
|
File without changes
|
{ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/observability.py
RENAMED
|
File without changes
|
{ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/observability_runtime.py
RENAMED
|
File without changes
|
|
File without changes
|
{ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/middleware/redaction_exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/util/package_metadata_validation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/videos/ai_bedrock_videos.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_api_unified-2.5.1 → ai_api_unified-2.5.2}/src/ai_api_unified/voice/ai_voice_elevenlabs.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|