magic_hour 0.36.0__py3-none-any.whl → 0.36.2__py3-none-any.whl

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.

Files changed (34) hide show
  1. magic_hour/helpers/__init__.py +2 -1
  2. magic_hour/helpers/logger.py +8 -0
  3. magic_hour/resources/v1/ai_clothes_changer/client.py +2 -3
  4. magic_hour/resources/v1/ai_face_editor/client.py +2 -3
  5. magic_hour/resources/v1/ai_gif_generator/client.py +2 -3
  6. magic_hour/resources/v1/ai_headshot_generator/client.py +2 -3
  7. magic_hour/resources/v1/ai_image_editor/client.py +2 -3
  8. magic_hour/resources/v1/ai_image_generator/client.py +2 -3
  9. magic_hour/resources/v1/ai_image_upscaler/client.py +2 -3
  10. magic_hour/resources/v1/ai_meme_generator/client.py +2 -3
  11. magic_hour/resources/v1/ai_photo_editor/client.py +2 -3
  12. magic_hour/resources/v1/ai_qr_code_generator/client.py +2 -3
  13. magic_hour/resources/v1/ai_talking_photo/client.py +2 -3
  14. magic_hour/resources/v1/animation/client.py +2 -3
  15. magic_hour/resources/v1/auto_subtitle_generator/client.py +2 -3
  16. magic_hour/resources/v1/face_detection/client.py +2 -2
  17. magic_hour/resources/v1/face_swap/client.py +2 -3
  18. magic_hour/resources/v1/face_swap_photo/client.py +2 -3
  19. magic_hour/resources/v1/files/README.md +34 -0
  20. magic_hour/resources/v1/files/client.py +2 -2
  21. magic_hour/resources/v1/image_background_remover/client.py +2 -3
  22. magic_hour/resources/v1/image_projects/README.md +44 -0
  23. magic_hour/resources/v1/image_projects/client.py +2 -2
  24. magic_hour/resources/v1/image_to_video/client.py +2 -3
  25. magic_hour/resources/v1/lip_sync/client.py +2 -3
  26. magic_hour/resources/v1/photo_colorizer/client.py +2 -3
  27. magic_hour/resources/v1/text_to_video/client.py +2 -3
  28. magic_hour/resources/v1/video_projects/README.md +44 -0
  29. magic_hour/resources/v1/video_projects/client.py +2 -2
  30. magic_hour/resources/v1/video_to_video/client.py +2 -3
  31. {magic_hour-0.36.0.dist-info → magic_hour-0.36.2.dist-info}/METADATA +4 -1
  32. {magic_hour-0.36.0.dist-info → magic_hour-0.36.2.dist-info}/RECORD +34 -33
  33. {magic_hour-0.36.0.dist-info → magic_hour-0.36.2.dist-info}/LICENSE +0 -0
  34. {magic_hour-0.36.0.dist-info → magic_hour-0.36.2.dist-info}/WHEEL +0 -0
@@ -1,3 +1,4 @@
1
1
  from .download import download_files_sync, download_files_async
2
+ from .logger import get_sdk_logger
2
3
 
3
- __all__ = ["download_files_sync", "download_files_async"]
4
+ __all__ = ["download_files_sync", "download_files_async", "get_sdk_logger"]
@@ -0,0 +1,8 @@
1
+ import logging
2
+
3
+
4
+ def get_sdk_logger(name: str) -> logging.Logger:
5
+ logger = logging.getLogger(name)
6
+ logger.addHandler(logging.NullHandler()) # safe default
7
+ logger.propagate = True
8
+ return logger
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
 
4
3
  from magic_hour.core import (
@@ -9,6 +8,7 @@ from magic_hour.core import (
9
8
  to_encodable,
10
9
  type_utils,
11
10
  )
11
+ from magic_hour.helpers.logger import get_sdk_logger
12
12
  from magic_hour.resources.v1.files.client import AsyncFilesClient, FilesClient
13
13
  from magic_hour.resources.v1.image_projects.client import (
14
14
  AsyncImageProjectsClient,
@@ -17,8 +17,7 @@ from magic_hour.resources.v1.image_projects.client import (
17
17
  from magic_hour.types import models, params
18
18
 
19
19
 
20
- logging.basicConfig(level=logging.INFO)
21
- logger = logging.getLogger(__name__)
20
+ logger = get_sdk_logger(__name__)
22
21
 
23
22
 
24
23
  class AiClothesChangerClient:
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
 
4
3
  from magic_hour.core import (
@@ -9,6 +8,7 @@ from magic_hour.core import (
9
8
  to_encodable,
10
9
  type_utils,
11
10
  )
11
+ from magic_hour.helpers.logger import get_sdk_logger
12
12
  from magic_hour.resources.v1.files.client import AsyncFilesClient, FilesClient
13
13
  from magic_hour.resources.v1.image_projects.client import (
14
14
  AsyncImageProjectsClient,
@@ -17,8 +17,7 @@ from magic_hour.resources.v1.image_projects.client import (
17
17
  from magic_hour.types import models, params
18
18
 
19
19
 
20
- logging.basicConfig(level=logging.INFO)
21
- logger = logging.getLogger(__name__)
20
+ logger = get_sdk_logger(__name__)
22
21
 
23
22
 
24
23
  class AiFaceEditorClient:
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
 
4
3
  from magic_hour.core import (
@@ -9,6 +8,7 @@ from magic_hour.core import (
9
8
  to_encodable,
10
9
  type_utils,
11
10
  )
11
+ from magic_hour.helpers.logger import get_sdk_logger
12
12
  from magic_hour.resources.v1.image_projects.client import (
13
13
  AsyncImageProjectsClient,
14
14
  ImageProjectsClient,
@@ -16,8 +16,7 @@ from magic_hour.resources.v1.image_projects.client import (
16
16
  from magic_hour.types import models, params
17
17
 
18
18
 
19
- logging.basicConfig(level=logging.INFO)
20
- logger = logging.getLogger(__name__)
19
+ logger = get_sdk_logger(__name__)
21
20
 
22
21
 
23
22
  class AiGifGeneratorClient:
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
 
4
3
  from magic_hour.core import (
@@ -9,6 +8,7 @@ from magic_hour.core import (
9
8
  to_encodable,
10
9
  type_utils,
11
10
  )
11
+ from magic_hour.helpers.logger import get_sdk_logger
12
12
  from magic_hour.resources.v1.files.client import AsyncFilesClient, FilesClient
13
13
  from magic_hour.resources.v1.image_projects.client import (
14
14
  AsyncImageProjectsClient,
@@ -17,8 +17,7 @@ from magic_hour.resources.v1.image_projects.client import (
17
17
  from magic_hour.types import models, params
18
18
 
19
19
 
20
- logging.basicConfig(level=logging.INFO)
21
- logger = logging.getLogger(__name__)
20
+ logger = get_sdk_logger(__name__)
22
21
 
23
22
 
24
23
  class AiHeadshotGeneratorClient:
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
 
4
3
  from magic_hour.core import (
@@ -9,6 +8,7 @@ from magic_hour.core import (
9
8
  to_encodable,
10
9
  type_utils,
11
10
  )
11
+ from magic_hour.helpers.logger import get_sdk_logger
12
12
  from magic_hour.resources.v1.files.client import AsyncFilesClient, FilesClient
13
13
  from magic_hour.resources.v1.image_projects.client import (
14
14
  AsyncImageProjectsClient,
@@ -17,8 +17,7 @@ from magic_hour.resources.v1.image_projects.client import (
17
17
  from magic_hour.types import models, params
18
18
 
19
19
 
20
- logging.basicConfig(level=logging.INFO)
21
- logger = logging.getLogger(__name__)
20
+ logger = get_sdk_logger(__name__)
22
21
 
23
22
 
24
23
  class AiImageEditorClient:
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
  import typing_extensions
4
3
 
@@ -10,6 +9,7 @@ from magic_hour.core import (
10
9
  to_encodable,
11
10
  type_utils,
12
11
  )
12
+ from magic_hour.helpers.logger import get_sdk_logger
13
13
  from magic_hour.resources.v1.image_projects.client import (
14
14
  AsyncImageProjectsClient,
15
15
  ImageProjectsClient,
@@ -17,8 +17,7 @@ from magic_hour.resources.v1.image_projects.client import (
17
17
  from magic_hour.types import models, params
18
18
 
19
19
 
20
- logging.basicConfig(level=logging.INFO)
21
- logger = logging.getLogger(__name__)
20
+ logger = get_sdk_logger(__name__)
22
21
 
23
22
 
24
23
  class AiImageGeneratorClient:
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
 
4
3
  from magic_hour.core import (
@@ -9,6 +8,7 @@ from magic_hour.core import (
9
8
  to_encodable,
10
9
  type_utils,
11
10
  )
11
+ from magic_hour.helpers.logger import get_sdk_logger
12
12
  from magic_hour.resources.v1.files.client import AsyncFilesClient, FilesClient
13
13
  from magic_hour.resources.v1.image_projects.client import (
14
14
  AsyncImageProjectsClient,
@@ -17,8 +17,7 @@ from magic_hour.resources.v1.image_projects.client import (
17
17
  from magic_hour.types import models, params
18
18
 
19
19
 
20
- logging.basicConfig(level=logging.INFO)
21
- logger = logging.getLogger(__name__)
20
+ logger = get_sdk_logger(__name__)
22
21
 
23
22
 
24
23
  class AiImageUpscalerClient:
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
 
4
3
  from magic_hour.core import (
@@ -9,6 +8,7 @@ from magic_hour.core import (
9
8
  to_encodable,
10
9
  type_utils,
11
10
  )
11
+ from magic_hour.helpers.logger import get_sdk_logger
12
12
  from magic_hour.resources.v1.image_projects.client import (
13
13
  AsyncImageProjectsClient,
14
14
  ImageProjectsClient,
@@ -16,8 +16,7 @@ from magic_hour.resources.v1.image_projects.client import (
16
16
  from magic_hour.types import models, params
17
17
 
18
18
 
19
- logging.basicConfig(level=logging.INFO)
20
- logger = logging.getLogger(__name__)
19
+ logger = get_sdk_logger(__name__)
21
20
 
22
21
 
23
22
  class AiMemeGeneratorClient:
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
 
4
3
  from magic_hour.core import (
@@ -9,6 +8,7 @@ from magic_hour.core import (
9
8
  to_encodable,
10
9
  type_utils,
11
10
  )
11
+ from magic_hour.helpers.logger import get_sdk_logger
12
12
  from magic_hour.resources.v1.files.client import AsyncFilesClient, FilesClient
13
13
  from magic_hour.resources.v1.image_projects.client import (
14
14
  AsyncImageProjectsClient,
@@ -17,8 +17,7 @@ from magic_hour.resources.v1.image_projects.client import (
17
17
  from magic_hour.types import models, params
18
18
 
19
19
 
20
- logging.basicConfig(level=logging.INFO)
21
- logger = logging.getLogger(__name__)
20
+ logger = get_sdk_logger(__name__)
22
21
 
23
22
 
24
23
  class AiPhotoEditorClient:
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
 
4
3
  from magic_hour.core import (
@@ -9,6 +8,7 @@ from magic_hour.core import (
9
8
  to_encodable,
10
9
  type_utils,
11
10
  )
11
+ from magic_hour.helpers.logger import get_sdk_logger
12
12
  from magic_hour.resources.v1.image_projects.client import (
13
13
  AsyncImageProjectsClient,
14
14
  ImageProjectsClient,
@@ -16,8 +16,7 @@ from magic_hour.resources.v1.image_projects.client import (
16
16
  from magic_hour.types import models, params
17
17
 
18
18
 
19
- logging.basicConfig(level=logging.INFO)
20
- logger = logging.getLogger(__name__)
19
+ logger = get_sdk_logger(__name__)
21
20
 
22
21
 
23
22
  class AiQrCodeGeneratorClient:
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
 
4
3
  from magic_hour.core import (
@@ -9,6 +8,7 @@ from magic_hour.core import (
9
8
  to_encodable,
10
9
  type_utils,
11
10
  )
11
+ from magic_hour.helpers.logger import get_sdk_logger
12
12
  from magic_hour.resources.v1.files.client import AsyncFilesClient, FilesClient
13
13
  from magic_hour.resources.v1.video_projects.client import (
14
14
  AsyncVideoProjectsClient,
@@ -17,8 +17,7 @@ from magic_hour.resources.v1.video_projects.client import (
17
17
  from magic_hour.types import models, params
18
18
 
19
19
 
20
- logging.basicConfig(level=logging.INFO)
21
- logger = logging.getLogger(__name__)
20
+ logger = get_sdk_logger(__name__)
22
21
 
23
22
 
24
23
  class AiTalkingPhotoClient:
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
 
4
3
  from magic_hour.core import (
@@ -9,6 +8,7 @@ from magic_hour.core import (
9
8
  to_encodable,
10
9
  type_utils,
11
10
  )
11
+ from magic_hour.helpers.logger import get_sdk_logger
12
12
  from magic_hour.resources.v1.files.client import AsyncFilesClient, FilesClient
13
13
  from magic_hour.resources.v1.video_projects.client import (
14
14
  AsyncVideoProjectsClient,
@@ -17,8 +17,7 @@ from magic_hour.resources.v1.video_projects.client import (
17
17
  from magic_hour.types import models, params
18
18
 
19
19
 
20
- logging.basicConfig(level=logging.INFO)
21
- logger = logging.getLogger(__name__)
20
+ logger = get_sdk_logger(__name__)
22
21
 
23
22
 
24
23
  class AnimationClient:
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
 
4
3
  from magic_hour.core import (
@@ -9,6 +8,7 @@ from magic_hour.core import (
9
8
  to_encodable,
10
9
  type_utils,
11
10
  )
11
+ from magic_hour.helpers.logger import get_sdk_logger
12
12
  from magic_hour.resources.v1.files.client import AsyncFilesClient, FilesClient
13
13
  from magic_hour.resources.v1.video_projects.client import (
14
14
  AsyncVideoProjectsClient,
@@ -17,8 +17,7 @@ from magic_hour.resources.v1.video_projects.client import (
17
17
  from magic_hour.types import models, params
18
18
 
19
19
 
20
- logging.basicConfig(level=logging.INFO)
21
- logger = logging.getLogger(__name__)
20
+ logger = get_sdk_logger(__name__)
22
21
 
23
22
 
24
23
  class AutoSubtitleGeneratorClient:
@@ -1,5 +1,4 @@
1
1
  import asyncio
2
- import logging
3
2
  import os
4
3
  import pydantic
5
4
  import time
@@ -14,11 +13,12 @@ from magic_hour.core import (
14
13
  type_utils,
15
14
  )
16
15
  from magic_hour.helpers.download import download_files_async, download_files_sync
16
+ from magic_hour.helpers.logger import get_sdk_logger
17
17
  from magic_hour.resources.v1.files import AsyncFilesClient, FilesClient
18
18
  from magic_hour.types import models, params
19
19
 
20
20
 
21
- logger = logging.getLogger(__name__)
21
+ logger = get_sdk_logger(__name__)
22
22
 
23
23
 
24
24
  class V1FaceDetectionGetResponseWithDownloads(models.V1FaceDetectionGetResponse):
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
 
4
3
  from magic_hour.core import (
@@ -9,6 +8,7 @@ from magic_hour.core import (
9
8
  to_encodable,
10
9
  type_utils,
11
10
  )
11
+ from magic_hour.helpers.logger import get_sdk_logger
12
12
  from magic_hour.resources.v1.files.client import AsyncFilesClient, FilesClient
13
13
  from magic_hour.resources.v1.video_projects.client import (
14
14
  AsyncVideoProjectsClient,
@@ -17,8 +17,7 @@ from magic_hour.resources.v1.video_projects.client import (
17
17
  from magic_hour.types import models, params
18
18
 
19
19
 
20
- logging.basicConfig(level=logging.INFO)
21
- logger = logging.getLogger(__name__)
20
+ logger = get_sdk_logger(__name__)
22
21
 
23
22
 
24
23
  class FaceSwapClient:
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
 
4
3
  from magic_hour.core import (
@@ -9,6 +8,7 @@ from magic_hour.core import (
9
8
  to_encodable,
10
9
  type_utils,
11
10
  )
11
+ from magic_hour.helpers.logger import get_sdk_logger
12
12
  from magic_hour.resources.v1.files.client import AsyncFilesClient, FilesClient
13
13
  from magic_hour.resources.v1.image_projects.client import (
14
14
  AsyncImageProjectsClient,
@@ -17,8 +17,7 @@ from magic_hour.resources.v1.image_projects.client import (
17
17
  from magic_hour.types import models, params
18
18
 
19
19
 
20
- logging.basicConfig(level=logging.INFO)
21
- logger = logging.getLogger(__name__)
20
+ logger = get_sdk_logger(__name__)
22
21
 
23
22
 
24
23
  class FaceSwapPhotoClient:
@@ -1,5 +1,39 @@
1
1
  # v1_files
2
2
 
3
+ <!-- CUSTOM DOCS START -->
4
+
5
+ ### Upload File <a name="upload-file"></a>
6
+
7
+ Upload a local file to Magic Hour Storage. The returned value is used for subsequent API calls.
8
+
9
+ #### Parameters
10
+
11
+ | Parameter | Required | Description | Example |
12
+ | --------- | :------: | ------------------------------------------------------------------- | ------------------ |
13
+ | `file` | ✓ | A local file path, path like object, file URL, or file like object. | `"/tmp/image.png"` |
14
+
15
+ #### Synchronous Client
16
+
17
+ ```python
18
+ from magic_hour import Client
19
+ from os import getenv
20
+
21
+ client = Client(token=getenv("API_TOKEN"))
22
+ file_path = client.v1.files.upload_file("/path/to/your/image.jpg")
23
+ ```
24
+
25
+ #### Asynchronous Client
26
+
27
+ ```python
28
+ from magic_hour import AsyncClient
29
+ from os import getenv
30
+
31
+ client = AsyncClient(token=getenv("API_TOKEN"))
32
+ file_path = await client.v1.files.upload_file("/path/to/your/image.jpg")
33
+ ```
34
+
35
+
36
+ <!-- CUSTOM DOCS END -->
3
37
 
4
38
  ## Submodules
5
39
  - [upload_urls](upload_urls/README.md) - upload_urls
@@ -1,6 +1,5 @@
1
1
  import httpx
2
2
  import io
3
- import logging
4
3
  import mimetypes
5
4
  import os
6
5
  import pathlib
@@ -8,6 +7,7 @@ import typing
8
7
  import typing_extensions
9
8
 
10
9
  from magic_hour.core import AsyncBaseClient, SyncBaseClient
10
+ from magic_hour.helpers.logger import get_sdk_logger
11
11
  from magic_hour.resources.v1.files.upload_urls import (
12
12
  AsyncUploadUrlsClient,
13
13
  UploadUrlsClient,
@@ -18,7 +18,7 @@ from magic_hour.types.params.v1_files_upload_urls_create_body_items_item import
18
18
  from pathlib import Path
19
19
 
20
20
 
21
- logger = logging.getLogger(__name__)
21
+ logger = get_sdk_logger(__name__)
22
22
 
23
23
 
24
24
  def _get_file_type_and_extension(file_path: str):
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
 
4
3
  from magic_hour.core import (
@@ -9,6 +8,7 @@ from magic_hour.core import (
9
8
  to_encodable,
10
9
  type_utils,
11
10
  )
11
+ from magic_hour.helpers.logger import get_sdk_logger
12
12
  from magic_hour.resources.v1.files.client import AsyncFilesClient, FilesClient
13
13
  from magic_hour.resources.v1.image_projects.client import (
14
14
  AsyncImageProjectsClient,
@@ -17,8 +17,7 @@ from magic_hour.resources.v1.image_projects.client import (
17
17
  from magic_hour.types import models, params
18
18
 
19
19
 
20
- logging.basicConfig(level=logging.INFO)
21
- logger = logging.getLogger(__name__)
20
+ logger = get_sdk_logger(__name__)
22
21
 
23
22
 
24
23
  class ImageBackgroundRemoverClient:
@@ -4,6 +4,50 @@
4
4
 
5
5
  <!-- CUSTOM DOCS START -->
6
6
 
7
+ ### Check results <a name="check-result"></a>
8
+
9
+ Poll the details API to check on the status of the rendering. Optionally can also download the output
10
+
11
+ #### Parameters
12
+
13
+ | Parameter | Required | Description | Example |
14
+ | --------------------- | :------: | ---------------------------------------------------------------------------------------------------- | ---------------- |
15
+ | `id` | ✓ | Unique ID of the image project. This value is returned by all of the POST APIs that create an image. | `"cuid-example"` |
16
+ | `wait_for_completion` | ✗ | Whether to wait for the project to complete. | `True` |
17
+ | `download_outputs` | ✗ | Whether to download the generated files | `True` |
18
+ | `download_directory` | ✗ | Directory to save downloaded files (defaults to current directory) | `"./outputs"` |
19
+
20
+ #### Synchronous Client
21
+
22
+ ```python
23
+ from magic_hour import Client
24
+ from os import getenv
25
+
26
+ client = Client(token=getenv("API_TOKEN"))
27
+ res = client.v1.image_projects.check_result(
28
+ id="cuid-example",
29
+ wait_for_completion=True,
30
+ download_outputs=True,
31
+ download_directory="outputs",
32
+ )
33
+
34
+ ```
35
+
36
+ #### Asynchronous Client
37
+
38
+ ```python
39
+ from magic_hour import AsyncClient
40
+ from os import getenv
41
+
42
+ client = AsyncClient(token=getenv("API_TOKEN"))
43
+ res = await client.v1.image_projects.check_result(
44
+ id="cuid-example",
45
+ wait_for_completion=True,
46
+ download_outputs=True,
47
+ download_directory="outputs",
48
+ )
49
+ ```
50
+
7
51
  <!-- CUSTOM DOCS END -->
8
52
 
9
53
  ### Delete image <a name="delete"></a>
@@ -1,5 +1,4 @@
1
1
  import asyncio
2
- import logging
3
2
  import os
4
3
  import pydantic
5
4
  import time
@@ -12,10 +11,11 @@ from magic_hour.core import (
12
11
  default_request_options,
13
12
  )
14
13
  from magic_hour.helpers.download import download_files_async, download_files_sync
14
+ from magic_hour.helpers.logger import get_sdk_logger
15
15
  from magic_hour.types import models
16
16
 
17
17
 
18
- logger = logging.getLogger(__name__)
18
+ logger = get_sdk_logger(__name__)
19
19
 
20
20
 
21
21
  class V1ImageProjectsGetResponseWithDownloads(models.V1ImageProjectsGetResponse):
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
  import typing_extensions
4
3
 
@@ -10,6 +9,7 @@ from magic_hour.core import (
10
9
  to_encodable,
11
10
  type_utils,
12
11
  )
12
+ from magic_hour.helpers.logger import get_sdk_logger
13
13
  from magic_hour.resources.v1.files.client import AsyncFilesClient, FilesClient
14
14
  from magic_hour.resources.v1.video_projects.client import (
15
15
  AsyncVideoProjectsClient,
@@ -18,8 +18,7 @@ from magic_hour.resources.v1.video_projects.client import (
18
18
  from magic_hour.types import models, params
19
19
 
20
20
 
21
- logging.basicConfig(level=logging.INFO)
22
- logger = logging.getLogger(__name__)
21
+ logger = get_sdk_logger(__name__)
23
22
 
24
23
 
25
24
  class ImageToVideoClient:
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
 
4
3
  from magic_hour.core import (
@@ -9,6 +8,7 @@ from magic_hour.core import (
9
8
  to_encodable,
10
9
  type_utils,
11
10
  )
11
+ from magic_hour.helpers.logger import get_sdk_logger
12
12
  from magic_hour.resources.v1.files.client import AsyncFilesClient, FilesClient
13
13
  from magic_hour.resources.v1.video_projects.client import (
14
14
  AsyncVideoProjectsClient,
@@ -17,8 +17,7 @@ from magic_hour.resources.v1.video_projects.client import (
17
17
  from magic_hour.types import models, params
18
18
 
19
19
 
20
- logging.basicConfig(level=logging.INFO)
21
- logger = logging.getLogger(__name__)
20
+ logger = get_sdk_logger(__name__)
22
21
 
23
22
 
24
23
  class LipSyncClient:
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
 
4
3
  from magic_hour.core import (
@@ -9,6 +8,7 @@ from magic_hour.core import (
9
8
  to_encodable,
10
9
  type_utils,
11
10
  )
11
+ from magic_hour.helpers.logger import get_sdk_logger
12
12
  from magic_hour.resources.v1.files.client import AsyncFilesClient, FilesClient
13
13
  from magic_hour.resources.v1.image_projects.client import (
14
14
  AsyncImageProjectsClient,
@@ -17,8 +17,7 @@ from magic_hour.resources.v1.image_projects.client import (
17
17
  from magic_hour.types import models, params
18
18
 
19
19
 
20
- logging.basicConfig(level=logging.INFO)
21
- logger = logging.getLogger(__name__)
20
+ logger = get_sdk_logger(__name__)
22
21
 
23
22
 
24
23
  class PhotoColorizerClient:
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
  import typing_extensions
4
3
 
@@ -10,6 +9,7 @@ from magic_hour.core import (
10
9
  to_encodable,
11
10
  type_utils,
12
11
  )
12
+ from magic_hour.helpers.logger import get_sdk_logger
13
13
  from magic_hour.resources.v1.video_projects.client import (
14
14
  AsyncVideoProjectsClient,
15
15
  VideoProjectsClient,
@@ -17,8 +17,7 @@ from magic_hour.resources.v1.video_projects.client import (
17
17
  from magic_hour.types import models, params
18
18
 
19
19
 
20
- logging.basicConfig(level=logging.INFO)
21
- logger = logging.getLogger(__name__)
20
+ logger = get_sdk_logger(__name__)
22
21
 
23
22
 
24
23
  class TextToVideoClient:
@@ -4,6 +4,50 @@
4
4
 
5
5
  <!-- CUSTOM DOCS START -->
6
6
 
7
+ ### Check results <a name="check-result"></a>
8
+
9
+ Poll the details API to check on the status of the rendering. Optionally can also download the output
10
+
11
+ #### Parameters
12
+
13
+ | Parameter | Required | Description | Example |
14
+ | --------------------- | :------: | ---------------------------------------------------------------------------------------------------- | ---------------- |
15
+ | `id` | ✓ | Unique ID of the video project. This value is returned by all of the POST APIs that create an video. | `"cuid-example"` |
16
+ | `wait_for_completion` | ✗ | Whether to wait for the project to complete. | `True` |
17
+ | `download_outputs` | ✗ | Whether to download the generated files | `True` |
18
+ | `download_directory` | ✗ | Directory to save downloaded files (defaults to current directory) | `"./outputs"` |
19
+
20
+ #### Synchronous Client
21
+
22
+ ```python
23
+ from magic_hour import Client
24
+ from os import getenv
25
+
26
+ client = Client(token=getenv("API_TOKEN"))
27
+ res = client.v1.video_projects.check_result(
28
+ id="cuid-example",
29
+ wait_for_completion=True,
30
+ download_outputs=True,
31
+ download_directory="outputs",
32
+ )
33
+
34
+ ```
35
+
36
+ #### Asynchronous Client
37
+
38
+ ```python
39
+ from magic_hour import AsyncClient
40
+ from os import getenv
41
+
42
+ client = AsyncClient(token=getenv("API_TOKEN"))
43
+ res = await client.v1.video_projects.check_result(
44
+ id="cuid-example",
45
+ wait_for_completion=True,
46
+ download_outputs=True,
47
+ download_directory="outputs",
48
+ )
49
+ ```
50
+
7
51
  <!-- CUSTOM DOCS END -->
8
52
 
9
53
  ### Delete video <a name="delete"></a>
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import os
3
2
  import pydantic
4
3
  import time
@@ -11,10 +10,11 @@ from magic_hour.core import (
11
10
  default_request_options,
12
11
  )
13
12
  from magic_hour.helpers.download import download_files_async, download_files_sync
13
+ from magic_hour.helpers.logger import get_sdk_logger
14
14
  from magic_hour.types import models
15
15
 
16
16
 
17
- logger = logging.getLogger(__name__)
17
+ logger = get_sdk_logger(__name__)
18
18
 
19
19
 
20
20
  class V1VideoProjectsGetResponseWithDownloads(models.V1VideoProjectsGetResponse):
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import typing
3
2
  import typing_extensions
4
3
 
@@ -10,6 +9,7 @@ from magic_hour.core import (
10
9
  to_encodable,
11
10
  type_utils,
12
11
  )
12
+ from magic_hour.helpers.logger import get_sdk_logger
13
13
  from magic_hour.resources.v1.files.client import AsyncFilesClient, FilesClient
14
14
  from magic_hour.resources.v1.video_projects.client import (
15
15
  AsyncVideoProjectsClient,
@@ -18,8 +18,7 @@ from magic_hour.resources.v1.video_projects.client import (
18
18
  from magic_hour.types import models, params
19
19
 
20
20
 
21
- logging.basicConfig(level=logging.INFO)
22
- logger = logging.getLogger(__name__)
21
+ logger = get_sdk_logger(__name__)
23
22
 
24
23
 
25
24
  class VideoToVideoClient:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: magic_hour
3
- Version: 0.36.0
3
+ Version: 0.36.2
4
4
  Summary: Python SDK for Magic Hour API
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Programming Language :: Python :: 3
@@ -254,6 +254,7 @@ download_urls = result.downloads
254
254
 
255
255
  ### [v1.files](magic_hour/resources/v1/files/README.md)
256
256
 
257
+ * [upload-file](magic_hour/resources/v1/files/README.md#upload-file) - Upload File
257
258
 
258
259
  ### [v1.files.upload_urls](magic_hour/resources/v1/files/upload_urls/README.md)
259
260
 
@@ -266,6 +267,7 @@ download_urls = result.downloads
266
267
 
267
268
  ### [v1.image_projects](magic_hour/resources/v1/image_projects/README.md)
268
269
 
270
+ * [check-result](magic_hour/resources/v1/image_projects/README.md#check-result) - Check results
269
271
  * [delete](magic_hour/resources/v1/image_projects/README.md#delete) - Delete image
270
272
  * [get](magic_hour/resources/v1/image_projects/README.md#get) - Get image details
271
273
 
@@ -291,6 +293,7 @@ download_urls = result.downloads
291
293
 
292
294
  ### [v1.video_projects](magic_hour/resources/v1/video_projects/README.md)
293
295
 
296
+ * [check-result](magic_hour/resources/v1/video_projects/README.md#check-result) - Check results
294
297
  * [delete](magic_hour/resources/v1/video_projects/README.md#delete) - Delete video
295
298
  * [get](magic_hour/resources/v1/video_projects/README.md#get) - Get video details
296
299
 
@@ -12,92 +12,93 @@ magic_hour/core/response.py,sha256=xXJocWPd8hy5q310NMNiiyHsmmWxUd2wVz3Kp2-93wc,1
12
12
  magic_hour/core/type_utils.py,sha256=4bU9WXnMXJ6YTtuqOMiB8t6Xw0RlfVWJ-IDBONlqEtQ,461
13
13
  magic_hour/core/utils.py,sha256=BaPVdXmupBticb_5eGBWboagnRU5y5eUWj5x7Cwxsuo,1701
14
14
  magic_hour/environment.py,sha256=KMv5Z9qr4JXKaDcKe78kl_4PNZf9bKqZGoOtg7ZbKLI,535
15
- magic_hour/helpers/__init__.py,sha256=4myKNwqBNVwHg7_hn6rOhFGAW075iTtADLuQLjcxycU,123
15
+ magic_hour/helpers/__init__.py,sha256=pO6sgb41iVe_IN2dApfl2l3BXOWIb4i5pHl_if-oo_E,176
16
16
  magic_hour/helpers/download.py,sha256=wZR-gddqU2rWzltHN2zqqaHaShHG33yx7BIlUn1jXG8,2212
17
+ magic_hour/helpers/logger.py,sha256=Z8ljney670Kc8DaSzlHdH9N8RXmj2_qWPovLUoC0tNY,210
17
18
  magic_hour/resources/v1/README.md,sha256=CctlNTsepalcp9W3X-JrTg9MJ1EtD33MBovRdLyLlEo,1709
18
19
  magic_hour/resources/v1/__init__.py,sha256=Aj0sjVcoijjQyieNBxv2_uewPYC2vO2UG-ehoBgCz5E,86
19
20
  magic_hour/resources/v1/ai_clothes_changer/README.md,sha256=XzJDOauZ4fuKXyl8fms10YH6v072jmF3FlAa9BJH-R0,4574
20
21
  magic_hour/resources/v1/ai_clothes_changer/__init__.py,sha256=6W_Y2HxG2sDOBiJyzngK3Q2S3xfQgpK-j8xFRmBAhbQ,142
21
- magic_hour/resources/v1/ai_clothes_changer/client.py,sha256=vIYzCPNIlcAarRMkjcSc_MtvdR8vH8g9EIrs7KEwhRc,9967
22
+ magic_hour/resources/v1/ai_clothes_changer/client.py,sha256=qLNt0i2-BeQ3kjOLdEwOslCaaq0rsn37aYonhYpaQZk,9962
22
23
  magic_hour/resources/v1/ai_face_editor/README.md,sha256=aKnRhtuI9XZPN6UMI5kHn-gkFvzN4uZ1Z0KYcqnnLfM,7271
23
24
  magic_hour/resources/v1/ai_face_editor/__init__.py,sha256=RY8GBMQcqsDFbFcUuK-4LPvablq-U9XmSSlQk4HLKmM,126
24
- magic_hour/resources/v1/ai_face_editor/client.py,sha256=61WJ0QO2XXPjbEUqAmeHkcqI7RqiCUayjgYMv2tdDQw,12317
25
+ magic_hour/resources/v1/ai_face_editor/client.py,sha256=Vk2p7GNisjezQBBIN8ezoHgW099Ng73ahKgu7PtfCVY,12312
25
26
  magic_hour/resources/v1/ai_gif_generator/README.md,sha256=DLJAKNRfYfYhBJCITT5Qin68GLWHaFy6rB6XWTB_JVo,2951
26
27
  magic_hour/resources/v1/ai_gif_generator/__init__.py,sha256=SG_WmxUnpQWlfNQoHfdXPEGQEPC0WZPgom8ATaR9jiY,134
27
- magic_hour/resources/v1/ai_gif_generator/client.py,sha256=HfNkouLCg13q_CeAIbdx4C3jyNGxLoLwLbR2HitU2Zg,8209
28
+ magic_hour/resources/v1/ai_gif_generator/client.py,sha256=xrorQPnQCOZJnXP9UxDL3NFx_u5aF4asPJbdKpZpubU,8204
28
29
  magic_hour/resources/v1/ai_headshot_generator/README.md,sha256=1ysCdQ9Z_ijmr3O2o7gjJdDh3S35HfEEzRmrNRm29qM,3859
29
30
  magic_hour/resources/v1/ai_headshot_generator/__init__.py,sha256=4WZ3jfrL2yPhQaPalMJrUEykwUoF3KBtop2VJEij-0s,154
30
- magic_hour/resources/v1/ai_headshot_generator/client.py,sha256=t89N-zzZyNkHNpZPAZ0BkMRcnt9jxM6r_-QgkioLkxE,9983
31
+ magic_hour/resources/v1/ai_headshot_generator/client.py,sha256=wvGfNrcy-F9Ue2wlpM3AFVavZtD283OPOwj1IsTLGOI,9978
31
32
  magic_hour/resources/v1/ai_image_editor/README.md,sha256=0GTrgejG2STRWGxOIbCc-L596j_AapyHrhUsWlDZPRk,3747
32
33
  magic_hour/resources/v1/ai_image_editor/__init__.py,sha256=VvGqS2j_VQ7iz8TueD2R2L0YLlRsqRyGBSP4Tf-Uml8,130
33
- magic_hour/resources/v1/ai_image_editor/client.py,sha256=DVfpX5V8d3YVquOsmri3zaUHo6BymbdQHFCI_Nnbw1g,9487
34
+ magic_hour/resources/v1/ai_image_editor/client.py,sha256=GqOXppvYOvHh3lMOFY8A30K_V_xNg7n1N5m20jH2Jeo,9482
34
35
  magic_hour/resources/v1/ai_image_generator/README.md,sha256=hek8oMvwXyDnu7vh1Oe7JPF-UuBuVgfs_xjn2DwC6dM,3580
35
36
  magic_hour/resources/v1/ai_image_generator/__init__.py,sha256=qZws7N5CALYAbnIUc2ERV8Cy-QJmHcJ9tU7W-epEnaQ,142
36
- magic_hour/resources/v1/ai_image_generator/client.py,sha256=2PFvFbwAuXEOh1vjeE8OEZbQg9DxNE7IZV3TF0bo7no,10106
37
+ magic_hour/resources/v1/ai_image_generator/client.py,sha256=I-bhDoUnArTCW1h3mvIbhD8emCrcxrIjtIot0UCY8ss,10101
37
38
  magic_hour/resources/v1/ai_image_upscaler/README.md,sha256=0fzHZeUK2XMWDP7m3VuslKBnRojCzx7t21t1cXV1d54,4128
38
39
  magic_hour/resources/v1/ai_image_upscaler/__init__.py,sha256=9b1-2XfnAVa4qE3S-4WL8vN3wuqLkUuHKjdl_km8hUc,138
39
- magic_hour/resources/v1/ai_image_upscaler/client.py,sha256=fLjVxUQ8VJgEX5joUdN40QYs2UAUG7DoweQtfP-7jus,10717
40
+ magic_hour/resources/v1/ai_image_upscaler/client.py,sha256=cAxDxuy5TsXgKKoie3m7Xm0MkKMUtAs3iClPpAkIGdc,10712
40
41
  magic_hour/resources/v1/ai_meme_generator/README.md,sha256=zcBWHs9RuUBxIJyfOVuolvMlufyfyj3aqHNjNl93Xi0,3544
41
42
  magic_hour/resources/v1/ai_meme_generator/__init__.py,sha256=x4vtin1KKvoA-va7vhaQ91c__M2z3PmDySLX7yJpRDA,138
42
- magic_hour/resources/v1/ai_meme_generator/client.py,sha256=sqK5wuZgflGjBnM899PNWAmSX8v29QtNQ3wFYMB5Pmc,8683
43
+ magic_hour/resources/v1/ai_meme_generator/client.py,sha256=G_UhWNpTs3cbo0AofiHPjGr6o0hRVtjvsKbAjs3yehM,8678
43
44
  magic_hour/resources/v1/ai_photo_editor/README.md,sha256=Ph99t0pxco1DvlCntQLFAqzrU26zTPbpvxoGlP1Ih7I,7210
44
45
  magic_hour/resources/v1/ai_photo_editor/__init__.py,sha256=RPG6WaL2KN_DmgrtxImA_jNnEDMm-Ku2o2m2EnNwxts,130
45
- magic_hour/resources/v1/ai_photo_editor/client.py,sha256=cBQsVj2VxHHJ9ZByzA2q34Nsybgjynswzxblrdt0_R4,13225
46
+ magic_hour/resources/v1/ai_photo_editor/client.py,sha256=IvtUE-Frw_rZKZb5D3Gyp5fkdnLtE-TNHSDT98igMP4,13220
46
47
  magic_hour/resources/v1/ai_qr_code_generator/README.md,sha256=vqM3oDfyj9DQZq6RUECkeWWHdKzwf0pxbRmBm4T1HBU,3380
47
48
  magic_hour/resources/v1/ai_qr_code_generator/__init__.py,sha256=HnSTg7tB8M5LibZoCDRdE5Q71efmiqZIkNEve5SO1Mg,146
48
- magic_hour/resources/v1/ai_qr_code_generator/client.py,sha256=q4aW86y-XRXnU7jK6Xp02HEG5GOEbefSyeK46WEXJsg,8775
49
+ magic_hour/resources/v1/ai_qr_code_generator/client.py,sha256=3k4gmfxspDhIliValSMlA7mfoUGs4W4FtuO0Rb--CcQ,8770
49
50
  magic_hour/resources/v1/ai_talking_photo/README.md,sha256=tI7OOW2pyZN7lFomFL4YO9NhlhUDsStZvQyRK-twPkw,5343
50
51
  magic_hour/resources/v1/ai_talking_photo/__init__.py,sha256=ZTDD_IRBoR7GSdGWCVEK2-LOEsKUdGEHZZvDHa9MOnA,134
51
- magic_hour/resources/v1/ai_talking_photo/client.py,sha256=49-_8l84G8RjauQKjI0TaWQDzwz0XP0XDHBXWmNRoYQ,12533
52
+ magic_hour/resources/v1/ai_talking_photo/client.py,sha256=8q6u6LYm4ikKi3CNUdDD4CARzpLFjY3weWxAMCM5WQg,12528
52
53
  magic_hour/resources/v1/animation/README.md,sha256=d3VmJ2JPyK4w-v4584UCHKEjwseaSAiXG_1S8C5KnzI,7599
53
54
  magic_hour/resources/v1/animation/__init__.py,sha256=M6KUe6TEZl_DAdyn1HFQ2kHYanZo6xy3mvUdCN264hQ,114
54
- magic_hour/resources/v1/animation/client.py,sha256=FaiTL5XOsKA-glZqADyRaxcsizE6CBuwKrBYMW1aNOg,15451
55
+ magic_hour/resources/v1/animation/client.py,sha256=Vz6Vu3I8h2qaWtjeCiElTSKIzXS31q8PvTq5lDu90mE,15446
55
56
  magic_hour/resources/v1/auto_subtitle_generator/README.md,sha256=j1QMqeiU2LBwwsCQP4_7CM637tIUizAw_y81UvtUMMU,5306
56
57
  magic_hour/resources/v1/auto_subtitle_generator/__init__.py,sha256=dnWFEiSdIl3AwFVprqWHSMzqpeHgZz9wPEMxm7c3Xnc,162
57
- magic_hour/resources/v1/auto_subtitle_generator/client.py,sha256=I94p15O7w8G_vXL5sh8hPdSgXweDIztHGtkL13hd6lE,14807
58
+ magic_hour/resources/v1/auto_subtitle_generator/client.py,sha256=HKU58KAXC_Q8-Omik4GTgd5m6UDjuh-Sxqm9Fl8IZig,14802
58
59
  magic_hour/resources/v1/client.py,sha256=ERCl_sMEwUgTEoo7hmknz4c4QoyPkSc5Hvlci976Xt8,7563
59
60
  magic_hour/resources/v1/face_detection/README.md,sha256=Krn1NJvERkChvJlL_ie9GszgE9ltnZftbZwq3yqi5tU,5246
60
61
  magic_hour/resources/v1/face_detection/__init__.py,sha256=gGsbucNf0ibSUORv4FBlzTmMHAKEnPZuIqmhh7Qjxfk,246
61
- magic_hour/resources/v1/face_detection/client.py,sha256=sMPXfh5vUOXgBZm2zsR9b65UhO3Ps9xXgsjasx5RmHg,14795
62
+ magic_hour/resources/v1/face_detection/client.py,sha256=6Pg4jTXlNtEui_fFhlaVuJ8c8XG9ZgpVo--HpxvlsQc,14830
62
63
  magic_hour/resources/v1/face_swap/README.md,sha256=qOJagPa_3mWoZMbZ4yybsdfgduMZcsCdLvWgj4cEhuI,8574
63
64
  magic_hour/resources/v1/face_swap/__init__.py,sha256=lyg5uAHyYHEUVAiAZtP3zwjGCEGqq8IWbQKexVdhr00,110
64
- magic_hour/resources/v1/face_swap/client.py,sha256=OU0hlZH2aIW60k-YurBuIOoCSG764tsCBpEKX9EiVxw,19787
65
+ magic_hour/resources/v1/face_swap/client.py,sha256=eFdv0mOIEWBHTKhR7hjhUa7LVLe7NRXVPTyq5A3__nI,19782
65
66
  magic_hour/resources/v1/face_swap_photo/README.md,sha256=rOuood1s9flFb0s8ARyG2zRVXmFrZQFCLu8rWAz_Zxk,5944
66
67
  magic_hour/resources/v1/face_swap_photo/__init__.py,sha256=NZEplYX5kDPL_0qY0Q5tuxhDevipN0otByTYKMmF_1k,130
67
- magic_hour/resources/v1/face_swap_photo/client.py,sha256=esXW9FEs_5pjH92amw-z5xV4hFuOSilyanVw6D8qiDM,11743
68
- magic_hour/resources/v1/files/README.md,sha256=o4_3DdKQG4LzPHAyWqAvCmpjDjBuCvCa2FzRxUiI_c4,81
68
+ magic_hour/resources/v1/face_swap_photo/client.py,sha256=M0LeXLr1ox8RgMMWp36kCs4q0vQSaiwAAEo6qvzG_Ws,11738
69
+ magic_hour/resources/v1/files/README.md,sha256=idxf1Qw76wHd3FX6ip6QY-69yQs30kVrKtqCqJHIa8w,1067
69
70
  magic_hour/resources/v1/files/__init__.py,sha256=ucXmaXDdZqXfRhnnioJeQAXeRLzBDb44gTfWijrub28,98
70
- magic_hour/resources/v1/files/client.py,sha256=s5DWJA9HsxBpNwLT05tcC1bJXNZDiwQMMyQkEzKlcBY,13245
71
+ magic_hour/resources/v1/files/client.py,sha256=lS8YDYpbuBqtKURu4hkXVo7K5u09JZVrZLZNbbPo5X4,13280
71
72
  magic_hour/resources/v1/files/client_test.py,sha256=4mUFWuxr9R0YmeZ468KPvt8p4zUvZBhPcbszHBtLE4s,13970
72
73
  magic_hour/resources/v1/files/upload_urls/README.md,sha256=YZR-Gk1xgviM1bTg5me7Wc0-f_7wzStPFJMFJCiDbMU,2407
73
74
  magic_hour/resources/v1/files/upload_urls/__init__.py,sha256=hRp0s_emx-wib7z42V4L9VzYR9MQ3hnmS5bNv4QtfFM,118
74
75
  magic_hour/resources/v1/files/upload_urls/client.py,sha256=i4Fx3lQp3LGuySU-XA8AKEEKa2oukOxfnGGptocc58I,5217
75
76
  magic_hour/resources/v1/image_background_remover/README.md,sha256=u2LiYWT3aHHZHQp5DrpVi69LPDH1B2BkQZ-jXiB0jb8,4526
76
77
  magic_hour/resources/v1/image_background_remover/__init__.py,sha256=Vb_e8zKEh7bdrq0q1175DqyOd1ptPBUIfSKSLFPBVU4,166
77
- magic_hour/resources/v1/image_background_remover/client.py,sha256=Femsd5exMNcE8K8TytEwXQQU89Fpnxl1PU2RXdFxCGA,9371
78
- magic_hour/resources/v1/image_projects/README.md,sha256=V15BieFIYdmwd4pzyT6JCWcnw5d47owjbGGLlOZJQPE,2678
78
+ magic_hour/resources/v1/image_background_remover/client.py,sha256=MmX1-HCFluF9JMQXgRgrwHjqEO1rgb03uvg-q7ARyqM,9366
79
+ magic_hour/resources/v1/image_projects/README.md,sha256=mSBoZwFCS0eqkRKwsjURKzLppq2UlPbnMFMsNHhvgK8,4404
79
80
  magic_hour/resources/v1/image_projects/__init__.py,sha256=FtA1OC8s-CCOwQ0AaUqlkt9IC0CIZ4_p65E97m3ZcGE,246
80
- magic_hour/resources/v1/image_projects/client.py,sha256=yG3OV9Y38psY6gQYnV7rbvkpIZ_tJ-vS15rKWa10Do0,10957
81
+ magic_hour/resources/v1/image_projects/client.py,sha256=vd0LQbAAtXObzHG6UY3GggoYErTr_o7_8Qy5SEMyXr8,10992
81
82
  magic_hour/resources/v1/image_projects/client_test.py,sha256=5KH4s0vG13SEUkB6pAa9m7M2dqBUoqIERPhAu1DgPfA,16015
82
83
  magic_hour/resources/v1/image_to_video/README.md,sha256=7DjTtEUNEj00xQS7tO74vTf9pYsJpv_dHLrREiLeEZE,6270
83
84
  magic_hour/resources/v1/image_to_video/__init__.py,sha256=tY_ABo6evwKQBRSq-M84lNX-pXqmxoozukmrO6NhCgA,126
84
- magic_hour/resources/v1/image_to_video/client.py,sha256=zo_-HfIo_tVaweyGxpcQMjsBu4bl7y3HPHRPwhocIfA,17396
85
+ magic_hour/resources/v1/image_to_video/client.py,sha256=YI_TxF2VORXl8-BuQ-0ufLx8Upr3Jei8RyqK7YBxuvg,17391
85
86
  magic_hour/resources/v1/lip_sync/README.md,sha256=8LCB83V5PY85JnqFXumKdzhHCLZRItMZwYGdKJJu82k,6723
86
87
  magic_hour/resources/v1/lip_sync/__init__.py,sha256=MlKUAoHNSKcuNzVyqNfLnLtD_PsqEn3l1TtVpPC1JqQ,106
87
- magic_hour/resources/v1/lip_sync/client.py,sha256=m0cgGO5DHPjFlQNAmOuv9-snURXGWF7uEhHSKMoZKeI,19039
88
+ magic_hour/resources/v1/lip_sync/client.py,sha256=VBtwpr1APuXu-6n5I2d3shSv-oKpCAFwhKYJa1s5e4M,19034
88
89
  magic_hour/resources/v1/photo_colorizer/README.md,sha256=0jcn_EAI70OYOuXywcwFvsmyV-_Q9yuDLckUvDOhr3Y,3427
89
90
  magic_hour/resources/v1/photo_colorizer/__init__.py,sha256=7rDjkeUzWG5GXw_4RD1XH7Ygy-_0_OUFX99IgE_RVbE,134
90
- magic_hour/resources/v1/photo_colorizer/client.py,sha256=3YRWXOB8rpzJcfqGuYE-IlhvwmSu65_VWnDr-TqLJWA,8865
91
+ magic_hour/resources/v1/photo_colorizer/client.py,sha256=YfTzfwfLGmfchhlC3cdDPjhemblp9mZJsSo_lwB1_VU,8860
91
92
  magic_hour/resources/v1/text_to_video/README.md,sha256=zcQRpUQDWZImGKJwiGUEvI3uo68RU4e9Rks6KxGeaxw,4708
92
93
  magic_hour/resources/v1/text_to_video/__init__.py,sha256=F18iHSi9tuYSdgpatznBzb7lbSySNpK-82w96-Om_k4,122
93
- magic_hour/resources/v1/text_to_video/client.py,sha256=dxtlUpqGc6ZFrM8JseEiicPOQbHTe3zTpouSmKg3PMQ,13624
94
- magic_hour/resources/v1/video_projects/README.md,sha256=b8bxxx3eBqK_w8k5nQEx7xbBmRUPSCP0w1Ugaoun6l0,2853
94
+ magic_hour/resources/v1/text_to_video/client.py,sha256=6Zp3XtkZCKIKH4Op3YwtwXmiqWswRh7LnlI-VTeHmjU,13619
95
+ magic_hour/resources/v1/video_projects/README.md,sha256=VjX5oB_qd9Bow1qdKySuXvzwmH1tv1RcI38GLkP-A3M,4579
95
96
  magic_hour/resources/v1/video_projects/__init__.py,sha256=Pm2S3V2tVycoR5x5zPiFCZSoeY15s5WJaR0pLkJq-Pg,246
96
- magic_hour/resources/v1/video_projects/client.py,sha256=cMZH9Q0SJmLISz3dJmoxY0zNA_BG6RhlpR29lnX5G0o,10919
97
+ magic_hour/resources/v1/video_projects/client.py,sha256=4RuYblc3JQl_GBeTFfybzB--wbd4e98FgHbi6jnFxYk,10954
97
98
  magic_hour/resources/v1/video_projects/client_test.py,sha256=iOJWM0cFg4QmFOYNVRRvMPX7nCg-1rCnSUh_1aDq96A,15967
98
99
  magic_hour/resources/v1/video_to_video/README.md,sha256=DV2WD6o9v_rBRpgB4li0VB5XDb4TyKlqlCZIP9J_irk,8178
99
100
  magic_hour/resources/v1/video_to_video/__init__.py,sha256=1SHaRLlsrlBkdxxKBYgdbHrGATlRvqlXc22RpjjHaOA,126
100
- magic_hour/resources/v1/video_to_video/client.py,sha256=K_pGR18QiZOIPglrbQbFED9nXava8CKlEpD2jajVFjk,20064
101
+ magic_hour/resources/v1/video_to_video/client.py,sha256=goVurpNcLymOaLL0c1vq082z8dGjX1a_fQL-AiYAbLA,20059
101
102
  magic_hour/types/models/__init__.py,sha256=VLH_NXpUAVSZd16zlv4DobqAQdQFPWkWORqttLv5iDw,4048
102
103
  magic_hour/types/models/v1_ai_clothes_changer_create_response.py,sha256=rQJqlDf7Ql46hR4eAepU6SnZS3fH-gewmSJ-OvEY5K0,1102
103
104
  magic_hour/types/models/v1_ai_face_editor_create_response.py,sha256=pGpfZMCRhhDYCV-tj3hfmuXvQPhb44csnyrcwh9tfQM,1098
@@ -212,7 +213,7 @@ magic_hour/types/params/v1_video_to_video_create_body.py,sha256=BV52jJcXnOsKaw-M
212
213
  magic_hour/types/params/v1_video_to_video_create_body_assets.py,sha256=XwdoqT1x5ElcWb6qUfmtabNsyaatEsOygB4gJ154y-M,1660
213
214
  magic_hour/types/params/v1_video_to_video_create_body_style.py,sha256=RrDBhN2KQnCf9hGsnl3sAYvuFRsxth2JXfe5la0IYJg,5749
214
215
  magic_hour/types/params/v1_video_to_video_generate_body_assets.py,sha256=j06Y1RKZKwEXW9Zdfhr3Lntx7eDAKpH-k1N1XkKuqPM,915
215
- magic_hour-0.36.0.dist-info/LICENSE,sha256=F3fxj7JXPgB2K0uj8YXRsVss4u-Dgt_-U3V4VXsivNI,1070
216
- magic_hour-0.36.0.dist-info/METADATA,sha256=XGAFfek5alJhSdGhalm3d_eCHBOsk87mcuohYUpEfp8,12405
217
- magic_hour-0.36.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
218
- magic_hour-0.36.0.dist-info/RECORD,,
216
+ magic_hour-0.36.2.dist-info/LICENSE,sha256=F3fxj7JXPgB2K0uj8YXRsVss4u-Dgt_-U3V4VXsivNI,1070
217
+ magic_hour-0.36.2.dist-info/METADATA,sha256=92AXQn0vDlzUDqTaDMJzz8YtfhTqCYFUaB09aIdwCQ8,12680
218
+ magic_hour-0.36.2.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
219
+ magic_hour-0.36.2.dist-info/RECORD,,