magic_hour 0.16.1__tar.gz → 0.18.0__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.
Potentially problematic release.
This version of magic_hour might be problematic. Click here for more details.
- {magic_hour-0.16.1 → magic_hour-0.18.0}/PKG-INFO +5 -1
- {magic_hour-0.16.1 → magic_hour-0.18.0}/README.md +4 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/environment.py +1 -1
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/client.py +6 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/image_to_video/client.py +32 -16
- magic_hour-0.18.0/magic_hour/resources/v1/photo_colorizer/README.md +31 -0
- magic_hour-0.18.0/magic_hour/resources/v1/photo_colorizer/__init__.py +4 -0
- magic_hour-0.18.0/magic_hour/resources/v1/photo_colorizer/client.py +119 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/__init__.py +2 -0
- magic_hour-0.18.0/magic_hour/types/models/v1_photo_colorizer_create_response.py +25 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/__init__.py +12 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_image_to_video_create_body.py +10 -10
- magic_hour-0.18.0/magic_hour/types/params/v1_photo_colorizer_create_body.py +40 -0
- magic_hour-0.18.0/magic_hour/types/params/v1_photo_colorizer_create_body_assets.py +28 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/pyproject.toml +1 -1
- {magic_hour-0.16.1 → magic_hour-0.18.0}/LICENSE +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/core/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/core/api_error.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/core/auth.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/core/base_client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/core/binary_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/core/query.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/core/request.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/core/response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/core/type_utils.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/core/utils.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_clothes_changer/README.md +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_clothes_changer/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_clothes_changer/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_face_editor/README.md +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_face_editor/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_face_editor/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_headshot_generator/README.md +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_headshot_generator/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_headshot_generator/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_image_generator/README.md +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_image_generator/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_image_generator/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_image_upscaler/README.md +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_image_upscaler/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_image_upscaler/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_meme_generator/README.md +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_meme_generator/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_meme_generator/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_photo_editor/README.md +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_photo_editor/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_photo_editor/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_qr_code_generator/README.md +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_qr_code_generator/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_qr_code_generator/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_talking_photo/README.md +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_talking_photo/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_talking_photo/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/animation/README.md +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/animation/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/animation/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/face_swap/README.md +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/face_swap/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/face_swap/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/face_swap_photo/README.md +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/face_swap_photo/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/face_swap_photo/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/files/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/files/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/files/upload_urls/README.md +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/files/upload_urls/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/files/upload_urls/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/image_background_remover/README.md +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/image_background_remover/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/image_background_remover/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/image_projects/README.md +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/image_projects/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/image_projects/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/image_to_video/README.md +4 -4
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/image_to_video/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/lip_sync/README.md +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/lip_sync/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/lip_sync/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/text_to_video/README.md +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/text_to_video/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/text_to_video/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/video_projects/README.md +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/video_projects/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/video_projects/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/video_to_video/README.md +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/video_to_video/__init__.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/video_to_video/client.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_ai_clothes_changer_create_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_ai_face_editor_create_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_ai_headshot_generator_create_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_ai_image_generator_create_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_ai_image_upscaler_create_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_ai_meme_generator_create_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_ai_photo_editor_create_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_ai_qr_code_generator_create_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_ai_talking_photo_create_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_animation_create_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_face_swap_create_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_face_swap_photo_create_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_files_upload_urls_create_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_files_upload_urls_create_response_items_item.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_image_background_remover_create_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_image_projects_get_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_image_projects_get_response_downloads_item.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_image_projects_get_response_error.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_image_to_video_create_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_lip_sync_create_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_text_to_video_create_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_video_projects_get_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_video_projects_get_response_download.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_video_projects_get_response_downloads_item.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_video_projects_get_response_error.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_video_to_video_create_response.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_clothes_changer_create_body.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_clothes_changer_create_body_assets.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_face_editor_create_body.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_face_editor_create_body_assets.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_face_editor_create_body_style.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_headshot_generator_create_body.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_headshot_generator_create_body_assets.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_headshot_generator_create_body_style.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_image_generator_create_body.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_image_generator_create_body_style.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_image_upscaler_create_body.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_image_upscaler_create_body_assets.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_image_upscaler_create_body_style.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_meme_generator_create_body.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_meme_generator_create_body_style.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_photo_editor_create_body.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_photo_editor_create_body_assets.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_photo_editor_create_body_style.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_qr_code_generator_create_body.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_qr_code_generator_create_body_style.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_talking_photo_create_body.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_talking_photo_create_body_assets.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_animation_create_body.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_animation_create_body_assets.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_animation_create_body_style.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_face_swap_create_body.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_face_swap_create_body_assets.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_face_swap_photo_create_body.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_face_swap_photo_create_body_assets.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_files_upload_urls_create_body.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_files_upload_urls_create_body_items_item.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_image_background_remover_create_body.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_image_background_remover_create_body_assets.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_image_to_video_create_body_assets.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_image_to_video_create_body_style.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_lip_sync_create_body.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_lip_sync_create_body_assets.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_text_to_video_create_body.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_text_to_video_create_body_style.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_video_to_video_create_body.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_video_to_video_create_body_assets.py +0 -0
- {magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_video_to_video_create_body_style.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: magic_hour
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.18.0
|
|
4
4
|
Summary: Python SDK for Magic Hour API
|
|
5
5
|
Requires-Python: >=3.8,<4.0
|
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -128,6 +128,10 @@ client = AsyncClient(token="my api key")
|
|
|
128
128
|
|
|
129
129
|
* [create](magic_hour/resources/v1/lip_sync/README.md#create) - Lip Sync
|
|
130
130
|
|
|
131
|
+
### [v1.photo_colorizer](magic_hour/resources/v1/photo_colorizer/README.md)
|
|
132
|
+
|
|
133
|
+
* [create](magic_hour/resources/v1/photo_colorizer/README.md#create) - Photo Colorizer
|
|
134
|
+
|
|
131
135
|
### [v1.text_to_video](magic_hour/resources/v1/text_to_video/README.md)
|
|
132
136
|
|
|
133
137
|
* [create](magic_hour/resources/v1/text_to_video/README.md#create) - Text-to-Video
|
|
@@ -110,6 +110,10 @@ client = AsyncClient(token="my api key")
|
|
|
110
110
|
|
|
111
111
|
* [create](magic_hour/resources/v1/lip_sync/README.md#create) - Lip Sync
|
|
112
112
|
|
|
113
|
+
### [v1.photo_colorizer](magic_hour/resources/v1/photo_colorizer/README.md)
|
|
114
|
+
|
|
115
|
+
* [create](magic_hour/resources/v1/photo_colorizer/README.md#create) - Photo Colorizer
|
|
116
|
+
|
|
113
117
|
### [v1.text_to_video](magic_hour/resources/v1/text_to_video/README.md)
|
|
114
118
|
|
|
115
119
|
* [create](magic_hour/resources/v1/text_to_video/README.md#create) - Text-to-Video
|
|
@@ -55,6 +55,10 @@ from magic_hour.resources.v1.image_to_video import (
|
|
|
55
55
|
ImageToVideoClient,
|
|
56
56
|
)
|
|
57
57
|
from magic_hour.resources.v1.lip_sync import AsyncLipSyncClient, LipSyncClient
|
|
58
|
+
from magic_hour.resources.v1.photo_colorizer import (
|
|
59
|
+
AsyncPhotoColorizerClient,
|
|
60
|
+
PhotoColorizerClient,
|
|
61
|
+
)
|
|
58
62
|
from magic_hour.resources.v1.text_to_video import (
|
|
59
63
|
AsyncTextToVideoClient,
|
|
60
64
|
TextToVideoClient,
|
|
@@ -96,6 +100,7 @@ class V1Client:
|
|
|
96
100
|
)
|
|
97
101
|
self.image_to_video = ImageToVideoClient(base_client=self._base_client)
|
|
98
102
|
self.lip_sync = LipSyncClient(base_client=self._base_client)
|
|
103
|
+
self.photo_colorizer = PhotoColorizerClient(base_client=self._base_client)
|
|
99
104
|
self.text_to_video = TextToVideoClient(base_client=self._base_client)
|
|
100
105
|
self.video_to_video = VideoToVideoClient(base_client=self._base_client)
|
|
101
106
|
|
|
@@ -135,5 +140,6 @@ class AsyncV1Client:
|
|
|
135
140
|
)
|
|
136
141
|
self.image_to_video = AsyncImageToVideoClient(base_client=self._base_client)
|
|
137
142
|
self.lip_sync = AsyncLipSyncClient(base_client=self._base_client)
|
|
143
|
+
self.photo_colorizer = AsyncPhotoColorizerClient(base_client=self._base_client)
|
|
138
144
|
self.text_to_video = AsyncTextToVideoClient(base_client=self._base_client)
|
|
139
145
|
self.video_to_video = AsyncVideoToVideoClient(base_client=self._base_client)
|
|
@@ -20,12 +20,16 @@ class ImageToVideoClient:
|
|
|
20
20
|
*,
|
|
21
21
|
assets: params.V1ImageToVideoCreateBodyAssets,
|
|
22
22
|
end_seconds: float,
|
|
23
|
-
height: int,
|
|
24
23
|
style: params.V1ImageToVideoCreateBodyStyle,
|
|
25
|
-
|
|
24
|
+
height: typing.Union[
|
|
25
|
+
typing.Optional[int], type_utils.NotGiven
|
|
26
|
+
] = type_utils.NOT_GIVEN,
|
|
26
27
|
name: typing.Union[
|
|
27
28
|
typing.Optional[str], type_utils.NotGiven
|
|
28
29
|
] = type_utils.NOT_GIVEN,
|
|
30
|
+
width: typing.Union[
|
|
31
|
+
typing.Optional[int], type_utils.NotGiven
|
|
32
|
+
] = type_utils.NOT_GIVEN,
|
|
29
33
|
request_options: typing.Optional[RequestOptions] = None,
|
|
30
34
|
) -> models.V1ImageToVideoCreateResponse:
|
|
31
35
|
"""
|
|
@@ -39,12 +43,16 @@ class ImageToVideoClient:
|
|
|
39
43
|
POST /v1/image-to-video
|
|
40
44
|
|
|
41
45
|
Args:
|
|
46
|
+
height: This field does not affect the output video's resolution. The video's orientation will match that of the input image.
|
|
47
|
+
|
|
48
|
+
It is retained solely for backward compatibility and will be deprecated in the future.
|
|
42
49
|
name: The name of video
|
|
50
|
+
width: This field does not affect the output video's resolution. The video's orientation will match that of the input image.
|
|
51
|
+
|
|
52
|
+
It is retained solely for backward compatibility and will be deprecated in the future.
|
|
43
53
|
assets: Provide the assets for image-to-video.
|
|
44
54
|
end_seconds: The total duration of the output video in seconds.
|
|
45
|
-
height: The height of the input video. This value will help determine the final orientation of the output video. The output video resolution may not match the input.
|
|
46
55
|
style: Attributed used to dictate the style of the output
|
|
47
|
-
width: The width of the input video. This value will help determine the final orientation of the output video. The output video resolution may not match the input.
|
|
48
56
|
request_options: Additional options to customize the HTTP request
|
|
49
57
|
|
|
50
58
|
Returns:
|
|
@@ -59,21 +67,21 @@ class ImageToVideoClient:
|
|
|
59
67
|
client.v1.image_to_video.create(
|
|
60
68
|
assets={"image_file_path": "api-assets/id/1234.png"},
|
|
61
69
|
end_seconds=5.0,
|
|
62
|
-
height=960,
|
|
63
70
|
style={"prompt": "a dog running"},
|
|
64
|
-
|
|
71
|
+
height=960,
|
|
65
72
|
name="Image To Video video",
|
|
73
|
+
width=512,
|
|
66
74
|
)
|
|
67
75
|
```
|
|
68
76
|
"""
|
|
69
77
|
_json = to_encodable(
|
|
70
78
|
item={
|
|
79
|
+
"height": height,
|
|
71
80
|
"name": name,
|
|
81
|
+
"width": width,
|
|
72
82
|
"assets": assets,
|
|
73
83
|
"end_seconds": end_seconds,
|
|
74
|
-
"height": height,
|
|
75
84
|
"style": style,
|
|
76
|
-
"width": width,
|
|
77
85
|
},
|
|
78
86
|
dump_with=params._SerializerV1ImageToVideoCreateBody,
|
|
79
87
|
)
|
|
@@ -96,12 +104,16 @@ class AsyncImageToVideoClient:
|
|
|
96
104
|
*,
|
|
97
105
|
assets: params.V1ImageToVideoCreateBodyAssets,
|
|
98
106
|
end_seconds: float,
|
|
99
|
-
height: int,
|
|
100
107
|
style: params.V1ImageToVideoCreateBodyStyle,
|
|
101
|
-
|
|
108
|
+
height: typing.Union[
|
|
109
|
+
typing.Optional[int], type_utils.NotGiven
|
|
110
|
+
] = type_utils.NOT_GIVEN,
|
|
102
111
|
name: typing.Union[
|
|
103
112
|
typing.Optional[str], type_utils.NotGiven
|
|
104
113
|
] = type_utils.NOT_GIVEN,
|
|
114
|
+
width: typing.Union[
|
|
115
|
+
typing.Optional[int], type_utils.NotGiven
|
|
116
|
+
] = type_utils.NOT_GIVEN,
|
|
105
117
|
request_options: typing.Optional[RequestOptions] = None,
|
|
106
118
|
) -> models.V1ImageToVideoCreateResponse:
|
|
107
119
|
"""
|
|
@@ -115,12 +127,16 @@ class AsyncImageToVideoClient:
|
|
|
115
127
|
POST /v1/image-to-video
|
|
116
128
|
|
|
117
129
|
Args:
|
|
130
|
+
height: This field does not affect the output video's resolution. The video's orientation will match that of the input image.
|
|
131
|
+
|
|
132
|
+
It is retained solely for backward compatibility and will be deprecated in the future.
|
|
118
133
|
name: The name of video
|
|
134
|
+
width: This field does not affect the output video's resolution. The video's orientation will match that of the input image.
|
|
135
|
+
|
|
136
|
+
It is retained solely for backward compatibility and will be deprecated in the future.
|
|
119
137
|
assets: Provide the assets for image-to-video.
|
|
120
138
|
end_seconds: The total duration of the output video in seconds.
|
|
121
|
-
height: The height of the input video. This value will help determine the final orientation of the output video. The output video resolution may not match the input.
|
|
122
139
|
style: Attributed used to dictate the style of the output
|
|
123
|
-
width: The width of the input video. This value will help determine the final orientation of the output video. The output video resolution may not match the input.
|
|
124
140
|
request_options: Additional options to customize the HTTP request
|
|
125
141
|
|
|
126
142
|
Returns:
|
|
@@ -135,21 +151,21 @@ class AsyncImageToVideoClient:
|
|
|
135
151
|
await client.v1.image_to_video.create(
|
|
136
152
|
assets={"image_file_path": "api-assets/id/1234.png"},
|
|
137
153
|
end_seconds=5.0,
|
|
138
|
-
height=960,
|
|
139
154
|
style={"prompt": "a dog running"},
|
|
140
|
-
|
|
155
|
+
height=960,
|
|
141
156
|
name="Image To Video video",
|
|
157
|
+
width=512,
|
|
142
158
|
)
|
|
143
159
|
```
|
|
144
160
|
"""
|
|
145
161
|
_json = to_encodable(
|
|
146
162
|
item={
|
|
163
|
+
"height": height,
|
|
147
164
|
"name": name,
|
|
165
|
+
"width": width,
|
|
148
166
|
"assets": assets,
|
|
149
167
|
"end_seconds": end_seconds,
|
|
150
|
-
"height": height,
|
|
151
168
|
"style": style,
|
|
152
|
-
"width": width,
|
|
153
169
|
},
|
|
154
170
|
dump_with=params._SerializerV1ImageToVideoCreateBody,
|
|
155
171
|
)
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
|
|
2
|
+
### create <a name="create"></a>
|
|
3
|
+
Photo Colorizer
|
|
4
|
+
|
|
5
|
+
Colorize image. Each image costs 5 frames.
|
|
6
|
+
|
|
7
|
+
**API Endpoint**: `POST /v1/photo-colorizer`
|
|
8
|
+
|
|
9
|
+
#### Synchronous Client
|
|
10
|
+
|
|
11
|
+
```python
|
|
12
|
+
from magic_hour import Client
|
|
13
|
+
from os import getenv
|
|
14
|
+
|
|
15
|
+
client = Client(token=getenv("API_TOKEN"))
|
|
16
|
+
res = client.v1.photo_colorizer.create(
|
|
17
|
+
assets={"image_file_path": "api-assets/id/1234.png"}, name="Photo Colorizer image"
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
#### Asynchronous Client
|
|
22
|
+
|
|
23
|
+
```python
|
|
24
|
+
from magic_hour import AsyncClient
|
|
25
|
+
from os import getenv
|
|
26
|
+
|
|
27
|
+
client = AsyncClient(token=getenv("API_TOKEN"))
|
|
28
|
+
res = await client.v1.photo_colorizer.create(
|
|
29
|
+
assets={"image_file_path": "api-assets/id/1234.png"}, name="Photo Colorizer image"
|
|
30
|
+
)
|
|
31
|
+
```
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
|
|
3
|
+
from magic_hour.core import (
|
|
4
|
+
AsyncBaseClient,
|
|
5
|
+
RequestOptions,
|
|
6
|
+
SyncBaseClient,
|
|
7
|
+
default_request_options,
|
|
8
|
+
to_encodable,
|
|
9
|
+
type_utils,
|
|
10
|
+
)
|
|
11
|
+
from magic_hour.types import models, params
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class PhotoColorizerClient:
|
|
15
|
+
def __init__(self, *, base_client: SyncBaseClient):
|
|
16
|
+
self._base_client = base_client
|
|
17
|
+
|
|
18
|
+
def create(
|
|
19
|
+
self,
|
|
20
|
+
*,
|
|
21
|
+
assets: params.V1PhotoColorizerCreateBodyAssets,
|
|
22
|
+
name: typing.Union[
|
|
23
|
+
typing.Optional[str], type_utils.NotGiven
|
|
24
|
+
] = type_utils.NOT_GIVEN,
|
|
25
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
26
|
+
) -> models.V1PhotoColorizerCreateResponse:
|
|
27
|
+
"""
|
|
28
|
+
Photo Colorizer
|
|
29
|
+
|
|
30
|
+
Colorize image. Each image costs 5 frames.
|
|
31
|
+
|
|
32
|
+
POST /v1/photo-colorizer
|
|
33
|
+
|
|
34
|
+
Args:
|
|
35
|
+
name: The name of image
|
|
36
|
+
assets: Provide the assets for photo colorization
|
|
37
|
+
request_options: Additional options to customize the HTTP request
|
|
38
|
+
|
|
39
|
+
Returns:
|
|
40
|
+
Success
|
|
41
|
+
|
|
42
|
+
Raises:
|
|
43
|
+
ApiError: A custom exception class that provides additional context
|
|
44
|
+
for API errors, including the HTTP status code and response body.
|
|
45
|
+
|
|
46
|
+
Examples:
|
|
47
|
+
```py
|
|
48
|
+
client.v1.photo_colorizer.create(
|
|
49
|
+
assets={"image_file_path": "api-assets/id/1234.png"},
|
|
50
|
+
name="Photo Colorizer image",
|
|
51
|
+
)
|
|
52
|
+
```
|
|
53
|
+
"""
|
|
54
|
+
_json = to_encodable(
|
|
55
|
+
item={"name": name, "assets": assets},
|
|
56
|
+
dump_with=params._SerializerV1PhotoColorizerCreateBody,
|
|
57
|
+
)
|
|
58
|
+
return self._base_client.request(
|
|
59
|
+
method="POST",
|
|
60
|
+
path="/v1/photo-colorizer",
|
|
61
|
+
auth_names=["bearerAuth"],
|
|
62
|
+
json=_json,
|
|
63
|
+
cast_to=models.V1PhotoColorizerCreateResponse,
|
|
64
|
+
request_options=request_options or default_request_options(),
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
class AsyncPhotoColorizerClient:
|
|
69
|
+
def __init__(self, *, base_client: AsyncBaseClient):
|
|
70
|
+
self._base_client = base_client
|
|
71
|
+
|
|
72
|
+
async def create(
|
|
73
|
+
self,
|
|
74
|
+
*,
|
|
75
|
+
assets: params.V1PhotoColorizerCreateBodyAssets,
|
|
76
|
+
name: typing.Union[
|
|
77
|
+
typing.Optional[str], type_utils.NotGiven
|
|
78
|
+
] = type_utils.NOT_GIVEN,
|
|
79
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
80
|
+
) -> models.V1PhotoColorizerCreateResponse:
|
|
81
|
+
"""
|
|
82
|
+
Photo Colorizer
|
|
83
|
+
|
|
84
|
+
Colorize image. Each image costs 5 frames.
|
|
85
|
+
|
|
86
|
+
POST /v1/photo-colorizer
|
|
87
|
+
|
|
88
|
+
Args:
|
|
89
|
+
name: The name of image
|
|
90
|
+
assets: Provide the assets for photo colorization
|
|
91
|
+
request_options: Additional options to customize the HTTP request
|
|
92
|
+
|
|
93
|
+
Returns:
|
|
94
|
+
Success
|
|
95
|
+
|
|
96
|
+
Raises:
|
|
97
|
+
ApiError: A custom exception class that provides additional context
|
|
98
|
+
for API errors, including the HTTP status code and response body.
|
|
99
|
+
|
|
100
|
+
Examples:
|
|
101
|
+
```py
|
|
102
|
+
await client.v1.photo_colorizer.create(
|
|
103
|
+
assets={"image_file_path": "api-assets/id/1234.png"},
|
|
104
|
+
name="Photo Colorizer image",
|
|
105
|
+
)
|
|
106
|
+
```
|
|
107
|
+
"""
|
|
108
|
+
_json = to_encodable(
|
|
109
|
+
item={"name": name, "assets": assets},
|
|
110
|
+
dump_with=params._SerializerV1PhotoColorizerCreateBody,
|
|
111
|
+
)
|
|
112
|
+
return await self._base_client.request(
|
|
113
|
+
method="POST",
|
|
114
|
+
path="/v1/photo-colorizer",
|
|
115
|
+
auth_names=["bearerAuth"],
|
|
116
|
+
json=_json,
|
|
117
|
+
cast_to=models.V1PhotoColorizerCreateResponse,
|
|
118
|
+
request_options=request_options or default_request_options(),
|
|
119
|
+
)
|
|
@@ -26,6 +26,7 @@ from .v1_image_projects_get_response_downloads_item import (
|
|
|
26
26
|
from .v1_image_projects_get_response_error import V1ImageProjectsGetResponseError
|
|
27
27
|
from .v1_image_to_video_create_response import V1ImageToVideoCreateResponse
|
|
28
28
|
from .v1_lip_sync_create_response import V1LipSyncCreateResponse
|
|
29
|
+
from .v1_photo_colorizer_create_response import V1PhotoColorizerCreateResponse
|
|
29
30
|
from .v1_text_to_video_create_response import V1TextToVideoCreateResponse
|
|
30
31
|
from .v1_video_projects_get_response import V1VideoProjectsGetResponse
|
|
31
32
|
from .v1_video_projects_get_response_download import V1VideoProjectsGetResponseDownload
|
|
@@ -57,6 +58,7 @@ __all__ = [
|
|
|
57
58
|
"V1ImageProjectsGetResponseError",
|
|
58
59
|
"V1ImageToVideoCreateResponse",
|
|
59
60
|
"V1LipSyncCreateResponse",
|
|
61
|
+
"V1PhotoColorizerCreateResponse",
|
|
60
62
|
"V1TextToVideoCreateResponse",
|
|
61
63
|
"V1VideoProjectsGetResponse",
|
|
62
64
|
"V1VideoProjectsGetResponseDownload",
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import pydantic
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class V1PhotoColorizerCreateResponse(pydantic.BaseModel):
|
|
5
|
+
"""
|
|
6
|
+
Success
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
model_config = pydantic.ConfigDict(
|
|
10
|
+
arbitrary_types_allowed=True,
|
|
11
|
+
populate_by_name=True,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
frame_cost: int = pydantic.Field(
|
|
15
|
+
alias="frame_cost",
|
|
16
|
+
)
|
|
17
|
+
"""
|
|
18
|
+
The frame cost of the image generation
|
|
19
|
+
"""
|
|
20
|
+
id: str = pydantic.Field(
|
|
21
|
+
alias="id",
|
|
22
|
+
)
|
|
23
|
+
"""
|
|
24
|
+
Unique ID of the image. This value can be used in the [get image project API](https://docs.magichour.ai/api-reference/image-projects/get-image-details) to fetch additional details such as status
|
|
25
|
+
"""
|
|
@@ -147,6 +147,14 @@ from .v1_lip_sync_create_body_assets import (
|
|
|
147
147
|
V1LipSyncCreateBodyAssets,
|
|
148
148
|
_SerializerV1LipSyncCreateBodyAssets,
|
|
149
149
|
)
|
|
150
|
+
from .v1_photo_colorizer_create_body import (
|
|
151
|
+
V1PhotoColorizerCreateBody,
|
|
152
|
+
_SerializerV1PhotoColorizerCreateBody,
|
|
153
|
+
)
|
|
154
|
+
from .v1_photo_colorizer_create_body_assets import (
|
|
155
|
+
V1PhotoColorizerCreateBodyAssets,
|
|
156
|
+
_SerializerV1PhotoColorizerCreateBodyAssets,
|
|
157
|
+
)
|
|
150
158
|
from .v1_text_to_video_create_body import (
|
|
151
159
|
V1TextToVideoCreateBody,
|
|
152
160
|
_SerializerV1TextToVideoCreateBody,
|
|
@@ -208,6 +216,8 @@ __all__ = [
|
|
|
208
216
|
"V1ImageToVideoCreateBodyStyle",
|
|
209
217
|
"V1LipSyncCreateBody",
|
|
210
218
|
"V1LipSyncCreateBodyAssets",
|
|
219
|
+
"V1PhotoColorizerCreateBody",
|
|
220
|
+
"V1PhotoColorizerCreateBodyAssets",
|
|
211
221
|
"V1TextToVideoCreateBody",
|
|
212
222
|
"V1TextToVideoCreateBodyStyle",
|
|
213
223
|
"V1VideoToVideoCreateBody",
|
|
@@ -251,6 +261,8 @@ __all__ = [
|
|
|
251
261
|
"_SerializerV1ImageToVideoCreateBodyStyle",
|
|
252
262
|
"_SerializerV1LipSyncCreateBody",
|
|
253
263
|
"_SerializerV1LipSyncCreateBodyAssets",
|
|
264
|
+
"_SerializerV1PhotoColorizerCreateBody",
|
|
265
|
+
"_SerializerV1PhotoColorizerCreateBodyAssets",
|
|
254
266
|
"_SerializerV1TextToVideoCreateBody",
|
|
255
267
|
"_SerializerV1TextToVideoCreateBodyStyle",
|
|
256
268
|
"_SerializerV1VideoToVideoCreateBody",
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_image_to_video_create_body.py
RENAMED
|
@@ -27,9 +27,11 @@ class V1ImageToVideoCreateBody(typing_extensions.TypedDict):
|
|
|
27
27
|
The total duration of the output video in seconds.
|
|
28
28
|
"""
|
|
29
29
|
|
|
30
|
-
height: typing_extensions.
|
|
30
|
+
height: typing_extensions.NotRequired[int]
|
|
31
31
|
"""
|
|
32
|
-
|
|
32
|
+
This field does not affect the output video's resolution. The video's orientation will match that of the input image.
|
|
33
|
+
|
|
34
|
+
It is retained solely for backward compatibility and will be deprecated in the future.
|
|
33
35
|
"""
|
|
34
36
|
|
|
35
37
|
name: typing_extensions.NotRequired[str]
|
|
@@ -42,9 +44,11 @@ class V1ImageToVideoCreateBody(typing_extensions.TypedDict):
|
|
|
42
44
|
Attributed used to dictate the style of the output
|
|
43
45
|
"""
|
|
44
46
|
|
|
45
|
-
width: typing_extensions.
|
|
47
|
+
width: typing_extensions.NotRequired[int]
|
|
46
48
|
"""
|
|
47
|
-
|
|
49
|
+
This field does not affect the output video's resolution. The video's orientation will match that of the input image.
|
|
50
|
+
|
|
51
|
+
It is retained solely for backward compatibility and will be deprecated in the future.
|
|
48
52
|
"""
|
|
49
53
|
|
|
50
54
|
|
|
@@ -64,13 +68,9 @@ class _SerializerV1ImageToVideoCreateBody(pydantic.BaseModel):
|
|
|
64
68
|
end_seconds: float = pydantic.Field(
|
|
65
69
|
alias="end_seconds",
|
|
66
70
|
)
|
|
67
|
-
height: int = pydantic.Field(
|
|
68
|
-
alias="height",
|
|
69
|
-
)
|
|
71
|
+
height: typing.Optional[int] = pydantic.Field(alias="height", default=None)
|
|
70
72
|
name: typing.Optional[str] = pydantic.Field(alias="name", default=None)
|
|
71
73
|
style: _SerializerV1ImageToVideoCreateBodyStyle = pydantic.Field(
|
|
72
74
|
alias="style",
|
|
73
75
|
)
|
|
74
|
-
width: int = pydantic.Field(
|
|
75
|
-
alias="width",
|
|
76
|
-
)
|
|
76
|
+
width: typing.Optional[int] = pydantic.Field(alias="width", default=None)
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import pydantic
|
|
2
|
+
import typing
|
|
3
|
+
import typing_extensions
|
|
4
|
+
|
|
5
|
+
from .v1_photo_colorizer_create_body_assets import (
|
|
6
|
+
V1PhotoColorizerCreateBodyAssets,
|
|
7
|
+
_SerializerV1PhotoColorizerCreateBodyAssets,
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class V1PhotoColorizerCreateBody(typing_extensions.TypedDict):
|
|
12
|
+
"""
|
|
13
|
+
V1PhotoColorizerCreateBody
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
assets: typing_extensions.Required[V1PhotoColorizerCreateBodyAssets]
|
|
17
|
+
"""
|
|
18
|
+
Provide the assets for photo colorization
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
name: typing_extensions.NotRequired[str]
|
|
22
|
+
"""
|
|
23
|
+
The name of image
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class _SerializerV1PhotoColorizerCreateBody(pydantic.BaseModel):
|
|
28
|
+
"""
|
|
29
|
+
Serializer for V1PhotoColorizerCreateBody handling case conversions
|
|
30
|
+
and file omissions as dictated by the API
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
model_config = pydantic.ConfigDict(
|
|
34
|
+
populate_by_name=True,
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
assets: _SerializerV1PhotoColorizerCreateBodyAssets = pydantic.Field(
|
|
38
|
+
alias="assets",
|
|
39
|
+
)
|
|
40
|
+
name: typing.Optional[str] = pydantic.Field(alias="name", default=None)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import pydantic
|
|
2
|
+
import typing_extensions
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class V1PhotoColorizerCreateBodyAssets(typing_extensions.TypedDict):
|
|
6
|
+
"""
|
|
7
|
+
Provide the assets for photo colorization
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
image_file_path: typing_extensions.Required[str]
|
|
11
|
+
"""
|
|
12
|
+
The image used to generate the colorized image. This value can be either the `file_path` field from the response of the [upload urls API](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls), or the url of the file.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class _SerializerV1PhotoColorizerCreateBodyAssets(pydantic.BaseModel):
|
|
17
|
+
"""
|
|
18
|
+
Serializer for V1PhotoColorizerCreateBodyAssets handling case conversions
|
|
19
|
+
and file omissions as dictated by the API
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
model_config = pydantic.ConfigDict(
|
|
23
|
+
populate_by_name=True,
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
image_file_path: str = pydantic.Field(
|
|
27
|
+
alias="image_file_path",
|
|
28
|
+
)
|
|
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
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_clothes_changer/README.md
RENAMED
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_clothes_changer/__init__.py
RENAMED
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_clothes_changer/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_headshot_generator/README.md
RENAMED
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_headshot_generator/__init__.py
RENAMED
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_headshot_generator/client.py
RENAMED
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_image_generator/README.md
RENAMED
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_image_generator/__init__.py
RENAMED
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_image_generator/client.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_image_upscaler/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_meme_generator/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_qr_code_generator/README.md
RENAMED
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_qr_code_generator/__init__.py
RENAMED
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_qr_code_generator/client.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/ai_talking_photo/__init__.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
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/files/upload_urls/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/image_background_remover/README.md
RENAMED
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/image_background_remover/__init__.py
RENAMED
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/resources/v1/image_background_remover/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -19,10 +19,10 @@ client = Client(token=getenv("API_TOKEN"))
|
|
|
19
19
|
res = client.v1.image_to_video.create(
|
|
20
20
|
assets={"image_file_path": "api-assets/id/1234.png"},
|
|
21
21
|
end_seconds=5.0,
|
|
22
|
-
height=960,
|
|
23
22
|
style={"prompt": "a dog running"},
|
|
24
|
-
|
|
23
|
+
height=960,
|
|
25
24
|
name="Image To Video video",
|
|
25
|
+
width=512,
|
|
26
26
|
)
|
|
27
27
|
```
|
|
28
28
|
|
|
@@ -36,9 +36,9 @@ client = AsyncClient(token=getenv("API_TOKEN"))
|
|
|
36
36
|
res = await client.v1.image_to_video.create(
|
|
37
37
|
assets={"image_file_path": "api-assets/id/1234.png"},
|
|
38
38
|
end_seconds=5.0,
|
|
39
|
-
height=960,
|
|
40
39
|
style={"prompt": "a dog running"},
|
|
41
|
-
|
|
40
|
+
height=960,
|
|
42
41
|
name="Image To Video video",
|
|
42
|
+
width=512,
|
|
43
43
|
)
|
|
44
44
|
```
|
|
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
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_ai_face_editor_create_response.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
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_animation_create_response.py
RENAMED
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_face_swap_create_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_image_projects_get_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_image_to_video_create_response.py
RENAMED
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_lip_sync_create_response.py
RENAMED
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_text_to_video_create_response.py
RENAMED
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_video_projects_get_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/models/v1_video_to_video_create_response.py
RENAMED
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_clothes_changer_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_face_editor_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_image_generator_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_image_upscaler_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_meme_generator_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_photo_editor_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_ai_talking_photo_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_animation_create_body_assets.py
RENAMED
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_animation_create_body_style.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_face_swap_create_body_assets.py
RENAMED
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_face_swap_photo_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_files_upload_urls_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_lip_sync_create_body_assets.py
RENAMED
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_text_to_video_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.16.1 → magic_hour-0.18.0}/magic_hour/types/params/v1_video_to_video_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|