magic_hour 0.9.4__py3-none-any.whl → 0.10.0__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 (69) hide show
  1. magic_hour/__init__.py +1 -1
  2. magic_hour/client.py +9 -11
  3. magic_hour/environment.py +3 -1
  4. magic_hour/resources/v1/ai_clothes_changer/client.py +0 -2
  5. magic_hour/resources/v1/ai_headshot_generator/client.py +12 -4
  6. magic_hour/resources/v1/ai_image_generator/client.py +1 -3
  7. magic_hour/resources/v1/ai_image_upscaler/client.py +0 -2
  8. magic_hour/resources/v1/ai_photo_editor/client.py +0 -2
  9. magic_hour/resources/v1/ai_qr_code_generator/client.py +0 -2
  10. magic_hour/resources/v1/animation/client.py +0 -2
  11. magic_hour/resources/v1/client.py +8 -42
  12. magic_hour/resources/v1/face_swap/client.py +0 -2
  13. magic_hour/resources/v1/face_swap_photo/client.py +0 -2
  14. magic_hour/resources/v1/files/client.py +0 -2
  15. magic_hour/resources/v1/files/upload_urls/client.py +0 -2
  16. magic_hour/resources/v1/image_background_remover/client.py +0 -2
  17. magic_hour/resources/v1/image_projects/README.md +1 -1
  18. magic_hour/resources/v1/image_projects/client.py +2 -6
  19. magic_hour/resources/v1/image_to_video/client.py +0 -2
  20. magic_hour/resources/v1/lip_sync/client.py +0 -2
  21. magic_hour/resources/v1/text_to_video/client.py +1 -3
  22. magic_hour/resources/v1/video_projects/README.md +1 -1
  23. magic_hour/resources/v1/video_projects/client.py +2 -6
  24. magic_hour/resources/v1/video_to_video/client.py +0 -2
  25. magic_hour/types/models/__init__.py +4 -4
  26. magic_hour/types/models/get_v1_image_projects_id_response.py +1 -1
  27. magic_hour/types/models/get_v1_video_projects_id_response.py +1 -1
  28. magic_hour/types/models/post_v1_files_upload_urls_response.py +1 -1
  29. magic_hour/types/params/__init__.py +57 -51
  30. magic_hour/types/params/post_v1_ai_clothes_changer_body.py +1 -1
  31. magic_hour/types/params/post_v1_ai_clothes_changer_body_assets.py +1 -1
  32. magic_hour/types/params/post_v1_ai_headshot_generator_body.py +10 -1
  33. magic_hour/types/params/post_v1_ai_headshot_generator_body_assets.py +1 -1
  34. magic_hour/types/params/post_v1_ai_headshot_generator_body_style.py +27 -0
  35. magic_hour/types/params/post_v1_ai_image_generator_body.py +1 -1
  36. magic_hour/types/params/post_v1_ai_image_generator_body_style.py +1 -1
  37. magic_hour/types/params/post_v1_ai_image_upscaler_body.py +1 -1
  38. magic_hour/types/params/post_v1_ai_image_upscaler_body_assets.py +1 -1
  39. magic_hour/types/params/post_v1_ai_image_upscaler_body_style.py +1 -1
  40. magic_hour/types/params/post_v1_ai_photo_editor_body.py +1 -1
  41. magic_hour/types/params/post_v1_ai_photo_editor_body_assets.py +1 -1
  42. magic_hour/types/params/post_v1_ai_photo_editor_body_style.py +1 -1
  43. magic_hour/types/params/post_v1_ai_qr_code_generator_body.py +1 -1
  44. magic_hour/types/params/post_v1_ai_qr_code_generator_body_style.py +1 -1
  45. magic_hour/types/params/post_v1_animation_body.py +1 -1
  46. magic_hour/types/params/post_v1_animation_body_assets.py +1 -1
  47. magic_hour/types/params/post_v1_animation_body_style.py +1 -1
  48. magic_hour/types/params/post_v1_face_swap_body.py +1 -1
  49. magic_hour/types/params/post_v1_face_swap_body_assets.py +1 -1
  50. magic_hour/types/params/post_v1_face_swap_photo_body.py +1 -1
  51. magic_hour/types/params/post_v1_face_swap_photo_body_assets.py +1 -1
  52. magic_hour/types/params/post_v1_files_upload_urls_body.py +1 -1
  53. magic_hour/types/params/post_v1_files_upload_urls_body_items_item.py +1 -1
  54. magic_hour/types/params/post_v1_image_background_remover_body.py +1 -1
  55. magic_hour/types/params/post_v1_image_background_remover_body_assets.py +1 -1
  56. magic_hour/types/params/post_v1_image_to_video_body.py +1 -1
  57. magic_hour/types/params/post_v1_image_to_video_body_assets.py +1 -1
  58. magic_hour/types/params/post_v1_image_to_video_body_style.py +1 -1
  59. magic_hour/types/params/post_v1_lip_sync_body.py +1 -1
  60. magic_hour/types/params/post_v1_lip_sync_body_assets.py +1 -1
  61. magic_hour/types/params/post_v1_text_to_video_body.py +1 -1
  62. magic_hour/types/params/post_v1_text_to_video_body_style.py +1 -1
  63. magic_hour/types/params/post_v1_video_to_video_body.py +1 -1
  64. magic_hour/types/params/post_v1_video_to_video_body_assets.py +1 -1
  65. magic_hour/types/params/post_v1_video_to_video_body_style.py +1 -1
  66. {magic_hour-0.9.4.dist-info → magic_hour-0.10.0.dist-info}/METADATA +1 -1
  67. {magic_hour-0.9.4.dist-info → magic_hour-0.10.0.dist-info}/RECORD +69 -68
  68. {magic_hour-0.9.4.dist-info → magic_hour-0.10.0.dist-info}/LICENSE +0 -0
  69. {magic_hour-0.9.4.dist-info → magic_hour-0.10.0.dist-info}/WHEEL +0 -0
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
  from .get_v1_video_projects_id_response_download import (
6
6
  GetV1VideoProjectsIdResponseDownload,
@@ -1,5 +1,5 @@
1
- import typing
2
1
  import pydantic
2
+ import typing
3
3
 
4
4
  from .post_v1_files_upload_urls_response_items_item import (
5
5
  PostV1FilesUploadUrlsResponseItemsItem,
@@ -1,15 +1,35 @@
1
+ from .post_v1_ai_clothes_changer_body import (
2
+ PostV1AiClothesChangerBody,
3
+ _SerializerPostV1AiClothesChangerBody,
4
+ )
1
5
  from .post_v1_ai_clothes_changer_body_assets import (
2
6
  PostV1AiClothesChangerBodyAssets,
3
7
  _SerializerPostV1AiClothesChangerBodyAssets,
4
8
  )
9
+ from .post_v1_ai_headshot_generator_body import (
10
+ PostV1AiHeadshotGeneratorBody,
11
+ _SerializerPostV1AiHeadshotGeneratorBody,
12
+ )
5
13
  from .post_v1_ai_headshot_generator_body_assets import (
6
14
  PostV1AiHeadshotGeneratorBodyAssets,
7
15
  _SerializerPostV1AiHeadshotGeneratorBodyAssets,
8
16
  )
17
+ from .post_v1_ai_headshot_generator_body_style import (
18
+ PostV1AiHeadshotGeneratorBodyStyle,
19
+ _SerializerPostV1AiHeadshotGeneratorBodyStyle,
20
+ )
21
+ from .post_v1_ai_image_generator_body import (
22
+ PostV1AiImageGeneratorBody,
23
+ _SerializerPostV1AiImageGeneratorBody,
24
+ )
9
25
  from .post_v1_ai_image_generator_body_style import (
10
26
  PostV1AiImageGeneratorBodyStyle,
11
27
  _SerializerPostV1AiImageGeneratorBodyStyle,
12
28
  )
29
+ from .post_v1_ai_image_upscaler_body import (
30
+ PostV1AiImageUpscalerBody,
31
+ _SerializerPostV1AiImageUpscalerBody,
32
+ )
13
33
  from .post_v1_ai_image_upscaler_body_assets import (
14
34
  PostV1AiImageUpscalerBodyAssets,
15
35
  _SerializerPostV1AiImageUpscalerBodyAssets,
@@ -18,6 +38,10 @@ from .post_v1_ai_image_upscaler_body_style import (
18
38
  PostV1AiImageUpscalerBodyStyle,
19
39
  _SerializerPostV1AiImageUpscalerBodyStyle,
20
40
  )
41
+ from .post_v1_ai_photo_editor_body import (
42
+ PostV1AiPhotoEditorBody,
43
+ _SerializerPostV1AiPhotoEditorBody,
44
+ )
21
45
  from .post_v1_ai_photo_editor_body_assets import (
22
46
  PostV1AiPhotoEditorBodyAssets,
23
47
  _SerializerPostV1AiPhotoEditorBodyAssets,
@@ -26,10 +50,15 @@ from .post_v1_ai_photo_editor_body_style import (
26
50
  PostV1AiPhotoEditorBodyStyle,
27
51
  _SerializerPostV1AiPhotoEditorBodyStyle,
28
52
  )
53
+ from .post_v1_ai_qr_code_generator_body import (
54
+ PostV1AiQrCodeGeneratorBody,
55
+ _SerializerPostV1AiQrCodeGeneratorBody,
56
+ )
29
57
  from .post_v1_ai_qr_code_generator_body_style import (
30
58
  PostV1AiQrCodeGeneratorBodyStyle,
31
59
  _SerializerPostV1AiQrCodeGeneratorBodyStyle,
32
60
  )
61
+ from .post_v1_animation_body import PostV1AnimationBody, _SerializerPostV1AnimationBody
33
62
  from .post_v1_animation_body_assets import (
34
63
  PostV1AnimationBodyAssets,
35
64
  _SerializerPostV1AnimationBodyAssets,
@@ -38,22 +67,39 @@ from .post_v1_animation_body_style import (
38
67
  PostV1AnimationBodyStyle,
39
68
  _SerializerPostV1AnimationBodyStyle,
40
69
  )
70
+ from .post_v1_face_swap_body import PostV1FaceSwapBody, _SerializerPostV1FaceSwapBody
41
71
  from .post_v1_face_swap_body_assets import (
42
72
  PostV1FaceSwapBodyAssets,
43
73
  _SerializerPostV1FaceSwapBodyAssets,
44
74
  )
75
+ from .post_v1_face_swap_photo_body import (
76
+ PostV1FaceSwapPhotoBody,
77
+ _SerializerPostV1FaceSwapPhotoBody,
78
+ )
45
79
  from .post_v1_face_swap_photo_body_assets import (
46
80
  PostV1FaceSwapPhotoBodyAssets,
47
81
  _SerializerPostV1FaceSwapPhotoBodyAssets,
48
82
  )
83
+ from .post_v1_files_upload_urls_body import (
84
+ PostV1FilesUploadUrlsBody,
85
+ _SerializerPostV1FilesUploadUrlsBody,
86
+ )
49
87
  from .post_v1_files_upload_urls_body_items_item import (
50
88
  PostV1FilesUploadUrlsBodyItemsItem,
51
89
  _SerializerPostV1FilesUploadUrlsBodyItemsItem,
52
90
  )
91
+ from .post_v1_image_background_remover_body import (
92
+ PostV1ImageBackgroundRemoverBody,
93
+ _SerializerPostV1ImageBackgroundRemoverBody,
94
+ )
53
95
  from .post_v1_image_background_remover_body_assets import (
54
96
  PostV1ImageBackgroundRemoverBodyAssets,
55
97
  _SerializerPostV1ImageBackgroundRemoverBodyAssets,
56
98
  )
99
+ from .post_v1_image_to_video_body import (
100
+ PostV1ImageToVideoBody,
101
+ _SerializerPostV1ImageToVideoBody,
102
+ )
57
103
  from .post_v1_image_to_video_body_assets import (
58
104
  PostV1ImageToVideoBodyAssets,
59
105
  _SerializerPostV1ImageToVideoBodyAssets,
@@ -62,14 +108,23 @@ from .post_v1_image_to_video_body_style import (
62
108
  PostV1ImageToVideoBodyStyle,
63
109
  _SerializerPostV1ImageToVideoBodyStyle,
64
110
  )
111
+ from .post_v1_lip_sync_body import PostV1LipSyncBody, _SerializerPostV1LipSyncBody
65
112
  from .post_v1_lip_sync_body_assets import (
66
113
  PostV1LipSyncBodyAssets,
67
114
  _SerializerPostV1LipSyncBodyAssets,
68
115
  )
116
+ from .post_v1_text_to_video_body import (
117
+ PostV1TextToVideoBody,
118
+ _SerializerPostV1TextToVideoBody,
119
+ )
69
120
  from .post_v1_text_to_video_body_style import (
70
121
  PostV1TextToVideoBodyStyle,
71
122
  _SerializerPostV1TextToVideoBodyStyle,
72
123
  )
124
+ from .post_v1_video_to_video_body import (
125
+ PostV1VideoToVideoBody,
126
+ _SerializerPostV1VideoToVideoBody,
127
+ )
73
128
  from .post_v1_video_to_video_body_assets import (
74
129
  PostV1VideoToVideoBodyAssets,
75
130
  _SerializerPostV1VideoToVideoBodyAssets,
@@ -78,57 +133,6 @@ from .post_v1_video_to_video_body_style import (
78
133
  PostV1VideoToVideoBodyStyle,
79
134
  _SerializerPostV1VideoToVideoBodyStyle,
80
135
  )
81
- from .post_v1_ai_clothes_changer_body import (
82
- PostV1AiClothesChangerBody,
83
- _SerializerPostV1AiClothesChangerBody,
84
- )
85
- from .post_v1_ai_headshot_generator_body import (
86
- PostV1AiHeadshotGeneratorBody,
87
- _SerializerPostV1AiHeadshotGeneratorBody,
88
- )
89
- from .post_v1_ai_image_generator_body import (
90
- PostV1AiImageGeneratorBody,
91
- _SerializerPostV1AiImageGeneratorBody,
92
- )
93
- from .post_v1_ai_image_upscaler_body import (
94
- PostV1AiImageUpscalerBody,
95
- _SerializerPostV1AiImageUpscalerBody,
96
- )
97
- from .post_v1_ai_photo_editor_body import (
98
- PostV1AiPhotoEditorBody,
99
- _SerializerPostV1AiPhotoEditorBody,
100
- )
101
- from .post_v1_ai_qr_code_generator_body import (
102
- PostV1AiQrCodeGeneratorBody,
103
- _SerializerPostV1AiQrCodeGeneratorBody,
104
- )
105
- from .post_v1_animation_body import PostV1AnimationBody, _SerializerPostV1AnimationBody
106
- from .post_v1_face_swap_body import PostV1FaceSwapBody, _SerializerPostV1FaceSwapBody
107
- from .post_v1_face_swap_photo_body import (
108
- PostV1FaceSwapPhotoBody,
109
- _SerializerPostV1FaceSwapPhotoBody,
110
- )
111
- from .post_v1_files_upload_urls_body import (
112
- PostV1FilesUploadUrlsBody,
113
- _SerializerPostV1FilesUploadUrlsBody,
114
- )
115
- from .post_v1_image_background_remover_body import (
116
- PostV1ImageBackgroundRemoverBody,
117
- _SerializerPostV1ImageBackgroundRemoverBody,
118
- )
119
- from .post_v1_image_to_video_body import (
120
- PostV1ImageToVideoBody,
121
- _SerializerPostV1ImageToVideoBody,
122
- )
123
- from .post_v1_lip_sync_body import PostV1LipSyncBody, _SerializerPostV1LipSyncBody
124
- from .post_v1_text_to_video_body import (
125
- PostV1TextToVideoBody,
126
- _SerializerPostV1TextToVideoBody,
127
- )
128
- from .post_v1_video_to_video_body import (
129
- PostV1VideoToVideoBody,
130
- _SerializerPostV1VideoToVideoBody,
131
- )
132
136
 
133
137
 
134
138
  __all__ = [
@@ -136,6 +140,7 @@ __all__ = [
136
140
  "PostV1AiClothesChangerBodyAssets",
137
141
  "PostV1AiHeadshotGeneratorBody",
138
142
  "PostV1AiHeadshotGeneratorBodyAssets",
143
+ "PostV1AiHeadshotGeneratorBodyStyle",
139
144
  "PostV1AiImageGeneratorBody",
140
145
  "PostV1AiImageGeneratorBodyStyle",
141
146
  "PostV1AiImageUpscalerBody",
@@ -171,6 +176,7 @@ __all__ = [
171
176
  "_SerializerPostV1AiClothesChangerBodyAssets",
172
177
  "_SerializerPostV1AiHeadshotGeneratorBody",
173
178
  "_SerializerPostV1AiHeadshotGeneratorBodyAssets",
179
+ "_SerializerPostV1AiHeadshotGeneratorBodyStyle",
174
180
  "_SerializerPostV1AiImageGeneratorBody",
175
181
  "_SerializerPostV1AiImageGeneratorBodyStyle",
176
182
  "_SerializerPostV1AiImageUpscalerBody",
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
  from .post_v1_ai_clothes_changer_body_assets import (
6
6
  PostV1AiClothesChangerBodyAssets,
@@ -1,5 +1,5 @@
1
- import typing_extensions
2
1
  import pydantic
2
+ import typing_extensions
3
3
 
4
4
 
5
5
  class PostV1AiClothesChangerBodyAssets(typing_extensions.TypedDict):
@@ -1,11 +1,15 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
  from .post_v1_ai_headshot_generator_body_assets import (
6
6
  PostV1AiHeadshotGeneratorBodyAssets,
7
7
  _SerializerPostV1AiHeadshotGeneratorBodyAssets,
8
8
  )
9
+ from .post_v1_ai_headshot_generator_body_style import (
10
+ PostV1AiHeadshotGeneratorBodyStyle,
11
+ _SerializerPostV1AiHeadshotGeneratorBodyStyle,
12
+ )
9
13
 
10
14
 
11
15
  class PostV1AiHeadshotGeneratorBody(typing_extensions.TypedDict):
@@ -23,6 +27,8 @@ class PostV1AiHeadshotGeneratorBody(typing_extensions.TypedDict):
23
27
  The name of image
24
28
  """
25
29
 
30
+ style: typing_extensions.NotRequired[PostV1AiHeadshotGeneratorBodyStyle]
31
+
26
32
 
27
33
  class _SerializerPostV1AiHeadshotGeneratorBody(pydantic.BaseModel):
28
34
  """
@@ -38,3 +44,6 @@ class _SerializerPostV1AiHeadshotGeneratorBody(pydantic.BaseModel):
38
44
  alias="assets",
39
45
  )
40
46
  name: typing.Optional[str] = pydantic.Field(alias="name", default=None)
47
+ style: typing.Optional[_SerializerPostV1AiHeadshotGeneratorBodyStyle] = (
48
+ pydantic.Field(alias="style", default=None)
49
+ )
@@ -1,5 +1,5 @@
1
- import typing_extensions
2
1
  import pydantic
2
+ import typing_extensions
3
3
 
4
4
 
5
5
  class PostV1AiHeadshotGeneratorBodyAssets(typing_extensions.TypedDict):
@@ -0,0 +1,27 @@
1
+ import pydantic
2
+ import typing
3
+ import typing_extensions
4
+
5
+
6
+ class PostV1AiHeadshotGeneratorBodyStyle(typing_extensions.TypedDict):
7
+ """
8
+ PostV1AiHeadshotGeneratorBodyStyle
9
+ """
10
+
11
+ prompt: typing_extensions.NotRequired[str]
12
+ """
13
+ A prompt to guide the final image.
14
+ """
15
+
16
+
17
+ class _SerializerPostV1AiHeadshotGeneratorBodyStyle(pydantic.BaseModel):
18
+ """
19
+ Serializer for PostV1AiHeadshotGeneratorBodyStyle handling case conversions
20
+ and file omissions as dictated by the API
21
+ """
22
+
23
+ model_config = pydantic.ConfigDict(
24
+ populate_by_name=True,
25
+ )
26
+
27
+ prompt: typing.Optional[str] = pydantic.Field(alias="prompt", default=None)
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
  from .post_v1_ai_image_generator_body_style import (
6
6
  PostV1AiImageGeneratorBodyStyle,
@@ -1,5 +1,5 @@
1
- import typing_extensions
2
1
  import pydantic
2
+ import typing_extensions
3
3
 
4
4
 
5
5
  class PostV1AiImageGeneratorBodyStyle(typing_extensions.TypedDict):
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
  from .post_v1_ai_image_upscaler_body_assets import (
6
6
  PostV1AiImageUpscalerBodyAssets,
@@ -1,5 +1,5 @@
1
- import typing_extensions
2
1
  import pydantic
2
+ import typing_extensions
3
3
 
4
4
 
5
5
  class PostV1AiImageUpscalerBodyAssets(typing_extensions.TypedDict):
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
 
6
6
  class PostV1AiImageUpscalerBodyStyle(typing_extensions.TypedDict):
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
  from .post_v1_ai_photo_editor_body_assets import (
6
6
  PostV1AiPhotoEditorBodyAssets,
@@ -1,5 +1,5 @@
1
- import typing_extensions
2
1
  import pydantic
2
+ import typing_extensions
3
3
 
4
4
 
5
5
  class PostV1AiPhotoEditorBodyAssets(typing_extensions.TypedDict):
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
 
6
6
  class PostV1AiPhotoEditorBodyStyle(typing_extensions.TypedDict):
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
  from .post_v1_ai_qr_code_generator_body_style import (
6
6
  PostV1AiQrCodeGeneratorBodyStyle,
@@ -1,5 +1,5 @@
1
- import typing_extensions
2
1
  import pydantic
2
+ import typing_extensions
3
3
 
4
4
 
5
5
  class PostV1AiQrCodeGeneratorBodyStyle(typing_extensions.TypedDict):
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
  from .post_v1_animation_body_assets import (
6
6
  PostV1AnimationBodyAssets,
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
 
6
6
  class PostV1AnimationBodyAssets(typing_extensions.TypedDict):
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
 
6
6
  class PostV1AnimationBodyStyle(typing_extensions.TypedDict):
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
  from .post_v1_face_swap_body_assets import (
6
6
  PostV1FaceSwapBodyAssets,
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
 
6
6
  class PostV1FaceSwapBodyAssets(typing_extensions.TypedDict):
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
  from .post_v1_face_swap_photo_body_assets import (
6
6
  PostV1FaceSwapPhotoBodyAssets,
@@ -1,5 +1,5 @@
1
- import typing_extensions
2
1
  import pydantic
2
+ import typing_extensions
3
3
 
4
4
 
5
5
  class PostV1FaceSwapPhotoBodyAssets(typing_extensions.TypedDict):
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
  from .post_v1_files_upload_urls_body_items_item import (
6
6
  PostV1FilesUploadUrlsBodyItemsItem,
@@ -1,5 +1,5 @@
1
- import typing_extensions
2
1
  import pydantic
2
+ import typing_extensions
3
3
 
4
4
 
5
5
  class PostV1FilesUploadUrlsBodyItemsItem(typing_extensions.TypedDict):
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
  from .post_v1_image_background_remover_body_assets import (
6
6
  PostV1ImageBackgroundRemoverBodyAssets,
@@ -1,5 +1,5 @@
1
- import typing_extensions
2
1
  import pydantic
2
+ import typing_extensions
3
3
 
4
4
 
5
5
  class PostV1ImageBackgroundRemoverBodyAssets(typing_extensions.TypedDict):
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
  from .post_v1_image_to_video_body_assets import (
6
6
  PostV1ImageToVideoBodyAssets,
@@ -1,5 +1,5 @@
1
- import typing_extensions
2
1
  import pydantic
2
+ import typing_extensions
3
3
 
4
4
 
5
5
  class PostV1ImageToVideoBodyAssets(typing_extensions.TypedDict):
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
 
6
6
  class PostV1ImageToVideoBodyStyle(typing_extensions.TypedDict):
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
  from .post_v1_lip_sync_body_assets import (
6
6
  PostV1LipSyncBodyAssets,
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
 
6
6
  class PostV1LipSyncBodyAssets(typing_extensions.TypedDict):
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
  from .post_v1_text_to_video_body_style import (
6
6
  PostV1TextToVideoBodyStyle,
@@ -1,5 +1,5 @@
1
- import typing_extensions
2
1
  import pydantic
2
+ import typing_extensions
3
3
 
4
4
 
5
5
  class PostV1TextToVideoBodyStyle(typing_extensions.TypedDict):
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
  from .post_v1_video_to_video_body_assets import (
6
6
  PostV1VideoToVideoBodyAssets,
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
 
6
6
  class PostV1VideoToVideoBodyAssets(typing_extensions.TypedDict):
@@ -1,6 +1,6 @@
1
+ import pydantic
1
2
  import typing
2
3
  import typing_extensions
3
- import pydantic
4
4
 
5
5
 
6
6
  class PostV1VideoToVideoBodyStyle(typing_extensions.TypedDict):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: magic_hour
3
- Version: 0.9.4
3
+ Version: 0.10.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