magic_hour 0.9.3__py3-none-any.whl → 0.9.5__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.
Files changed (86) hide show
  1. magic_hour/__init__.py +1 -1
  2. magic_hour/client.py +10 -12
  3. magic_hour/core/__init__.py +2 -3
  4. magic_hour/core/query.py +106 -0
  5. magic_hour/core/request.py +3 -5
  6. magic_hour/core/utils.py +1 -1
  7. magic_hour/environment.py +3 -1
  8. magic_hour/resources/v1/ai_clothes_changer/client.py +0 -2
  9. magic_hour/resources/v1/ai_headshot_generator/client.py +0 -2
  10. magic_hour/resources/v1/ai_image_generator/client.py +1 -3
  11. magic_hour/resources/v1/ai_image_upscaler/client.py +0 -2
  12. magic_hour/resources/v1/ai_photo_editor/client.py +0 -2
  13. magic_hour/resources/v1/ai_qr_code_generator/client.py +0 -2
  14. magic_hour/resources/v1/animation/client.py +0 -2
  15. magic_hour/resources/v1/client.py +8 -42
  16. magic_hour/resources/v1/face_swap/client.py +0 -2
  17. magic_hour/resources/v1/face_swap_photo/client.py +0 -2
  18. magic_hour/resources/v1/files/client.py +0 -2
  19. magic_hour/resources/v1/files/upload_urls/client.py +0 -2
  20. magic_hour/resources/v1/image_background_remover/client.py +0 -2
  21. magic_hour/resources/v1/image_projects/README.md +1 -1
  22. magic_hour/resources/v1/image_projects/client.py +2 -6
  23. magic_hour/resources/v1/image_to_video/client.py +0 -2
  24. magic_hour/resources/v1/lip_sync/client.py +0 -2
  25. magic_hour/resources/v1/text_to_video/client.py +1 -3
  26. magic_hour/resources/v1/video_projects/README.md +1 -1
  27. magic_hour/resources/v1/video_projects/client.py +2 -6
  28. magic_hour/resources/v1/video_to_video/client.py +0 -2
  29. magic_hour/types/models/__init__.py +4 -4
  30. magic_hour/types/models/get_v1_image_projects_id_response.py +2 -2
  31. magic_hour/types/models/get_v1_video_projects_id_response.py +2 -2
  32. magic_hour/types/models/post_v1_ai_clothes_changer_response.py +1 -1
  33. magic_hour/types/models/post_v1_ai_headshot_generator_response.py +1 -1
  34. magic_hour/types/models/post_v1_ai_image_generator_response.py +1 -1
  35. magic_hour/types/models/post_v1_ai_image_upscaler_response.py +1 -1
  36. magic_hour/types/models/post_v1_ai_photo_editor_response.py +1 -1
  37. magic_hour/types/models/post_v1_ai_qr_code_generator_response.py +1 -1
  38. magic_hour/types/models/post_v1_animation_response.py +1 -1
  39. magic_hour/types/models/post_v1_face_swap_photo_response.py +1 -1
  40. magic_hour/types/models/post_v1_face_swap_response.py +1 -1
  41. magic_hour/types/models/post_v1_files_upload_urls_response.py +1 -1
  42. magic_hour/types/models/post_v1_image_background_remover_response.py +1 -1
  43. magic_hour/types/models/post_v1_image_to_video_response.py +1 -1
  44. magic_hour/types/models/post_v1_lip_sync_response.py +1 -1
  45. magic_hour/types/models/post_v1_text_to_video_response.py +1 -1
  46. magic_hour/types/models/post_v1_video_to_video_response.py +1 -1
  47. magic_hour/types/params/__init__.py +51 -51
  48. magic_hour/types/params/post_v1_ai_clothes_changer_body.py +1 -1
  49. magic_hour/types/params/post_v1_ai_clothes_changer_body_assets.py +3 -3
  50. magic_hour/types/params/post_v1_ai_headshot_generator_body.py +1 -1
  51. magic_hour/types/params/post_v1_ai_headshot_generator_body_assets.py +2 -2
  52. magic_hour/types/params/post_v1_ai_image_generator_body.py +1 -1
  53. magic_hour/types/params/post_v1_ai_image_generator_body_style.py +1 -1
  54. magic_hour/types/params/post_v1_ai_image_upscaler_body.py +1 -1
  55. magic_hour/types/params/post_v1_ai_image_upscaler_body_assets.py +2 -2
  56. magic_hour/types/params/post_v1_ai_image_upscaler_body_style.py +1 -1
  57. magic_hour/types/params/post_v1_ai_photo_editor_body.py +1 -1
  58. magic_hour/types/params/post_v1_ai_photo_editor_body_assets.py +2 -2
  59. magic_hour/types/params/post_v1_ai_photo_editor_body_style.py +1 -1
  60. magic_hour/types/params/post_v1_ai_qr_code_generator_body.py +1 -1
  61. magic_hour/types/params/post_v1_ai_qr_code_generator_body_style.py +1 -1
  62. magic_hour/types/params/post_v1_animation_body.py +1 -1
  63. magic_hour/types/params/post_v1_animation_body_assets.py +3 -3
  64. magic_hour/types/params/post_v1_animation_body_style.py +1 -1
  65. magic_hour/types/params/post_v1_face_swap_body.py +1 -1
  66. magic_hour/types/params/post_v1_face_swap_body_assets.py +3 -3
  67. magic_hour/types/params/post_v1_face_swap_photo_body.py +1 -1
  68. magic_hour/types/params/post_v1_face_swap_photo_body_assets.py +3 -3
  69. magic_hour/types/params/post_v1_files_upload_urls_body.py +1 -1
  70. magic_hour/types/params/post_v1_files_upload_urls_body_items_item.py +1 -1
  71. magic_hour/types/params/post_v1_image_background_remover_body.py +1 -1
  72. magic_hour/types/params/post_v1_image_background_remover_body_assets.py +2 -2
  73. magic_hour/types/params/post_v1_image_to_video_body.py +1 -1
  74. magic_hour/types/params/post_v1_image_to_video_body_assets.py +2 -2
  75. magic_hour/types/params/post_v1_image_to_video_body_style.py +1 -1
  76. magic_hour/types/params/post_v1_lip_sync_body.py +1 -1
  77. magic_hour/types/params/post_v1_lip_sync_body_assets.py +3 -3
  78. magic_hour/types/params/post_v1_text_to_video_body.py +1 -1
  79. magic_hour/types/params/post_v1_text_to_video_body_style.py +1 -1
  80. magic_hour/types/params/post_v1_video_to_video_body.py +1 -1
  81. magic_hour/types/params/post_v1_video_to_video_body_assets.py +2 -2
  82. magic_hour/types/params/post_v1_video_to_video_body_style.py +1 -1
  83. {magic_hour-0.9.3.dist-info → magic_hour-0.9.5.dist-info}/METADATA +1 -1
  84. {magic_hour-0.9.3.dist-info → magic_hour-0.9.5.dist-info}/RECORD +86 -85
  85. {magic_hour-0.9.3.dist-info → magic_hour-0.9.5.dist-info}/LICENSE +0 -0
  86. {magic_hour-0.9.3.dist-info → magic_hour-0.9.5.dist-info}/WHEEL +0 -0
@@ -1,5 +1,5 @@
1
- import typing_extensions
2
1
  import typing
2
+ import typing_extensions
3
3
 
4
4
  from magic_hour.core import (
5
5
  AsyncBaseClient,
@@ -60,7 +60,6 @@ class TextToVideoClient:
60
60
  name="Text To Video video",
61
61
  )
62
62
  ```
63
-
64
63
  """
65
64
  _json = to_encodable(
66
65
  item={
@@ -129,7 +128,6 @@ class AsyncTextToVideoClient:
129
128
  name="Text To Video video",
130
129
  )
131
130
  ```
132
-
133
131
  """
134
132
  _json = to_encodable(
135
133
  item={
@@ -29,7 +29,7 @@ res = await client.v1.video_projects.delete(id="cm6pvghix03bvyz0zwash6noj")
29
29
  ### get <a name="get"></a>
30
30
  Get video details
31
31
 
32
- Get the details of a video project. The `download` field will be `null` unless the video was successfully rendered.
32
+ Get the details of a video project. The `downloads` field will be empty unless the video was successfully rendered.
33
33
 
34
34
  The video can be one of the following status
35
35
  - `draft` - not currently used
@@ -38,7 +38,6 @@ class VideoProjectsClient:
38
38
  ```py
39
39
  client.v1.video_projects.delete(id="cm6pvghix03bvyz0zwash6noj")
40
40
  ```
41
-
42
41
  """
43
42
  self._base_client.request(
44
43
  method="DELETE",
@@ -54,7 +53,7 @@ class VideoProjectsClient:
54
53
  """
55
54
  Get video details
56
55
 
57
- Get the details of a video project. The `download` field will be `null` unless the video was successfully rendered.
56
+ Get the details of a video project. The `downloads` field will be empty unless the video was successfully rendered.
58
57
 
59
58
  The video can be one of the following status
60
59
  - `draft` - not currently used
@@ -82,7 +81,6 @@ class VideoProjectsClient:
82
81
  ```py
83
82
  client.v1.video_projects.get(id="cm6pvghix03bvyz0zwash6noj")
84
83
  ```
85
-
86
84
  """
87
85
  return self._base_client.request(
88
86
  method="GET",
@@ -122,7 +120,6 @@ class AsyncVideoProjectsClient:
122
120
  ```py
123
121
  await client.v1.video_projects.delete(id="cm6pvghix03bvyz0zwash6noj")
124
122
  ```
125
-
126
123
  """
127
124
  await self._base_client.request(
128
125
  method="DELETE",
@@ -138,7 +135,7 @@ class AsyncVideoProjectsClient:
138
135
  """
139
136
  Get video details
140
137
 
141
- Get the details of a video project. The `download` field will be `null` unless the video was successfully rendered.
138
+ Get the details of a video project. The `downloads` field will be empty unless the video was successfully rendered.
142
139
 
143
140
  The video can be one of the following status
144
141
  - `draft` - not currently used
@@ -166,7 +163,6 @@ class AsyncVideoProjectsClient:
166
163
  ```py
167
164
  await client.v1.video_projects.get(id="cm6pvghix03bvyz0zwash6noj")
168
165
  ```
169
-
170
166
  """
171
167
  return await self._base_client.request(
172
168
  method="GET",
@@ -83,7 +83,6 @@ class VideoToVideoClient:
83
83
  name="Video To Video video",
84
84
  )
85
85
  ```
86
-
87
86
  """
88
87
  _json = to_encodable(
89
88
  item={
@@ -179,7 +178,6 @@ class AsyncVideoToVideoClient:
179
178
  name="Video To Video video",
180
179
  )
181
180
  ```
182
-
183
181
  """
184
182
  _json = to_encodable(
185
183
  item={
@@ -1,7 +1,9 @@
1
+ from .get_v1_image_projects_id_response import GetV1ImageProjectsIdResponse
1
2
  from .get_v1_image_projects_id_response_downloads_item import (
2
3
  GetV1ImageProjectsIdResponseDownloadsItem,
3
4
  )
4
5
  from .get_v1_image_projects_id_response_error import GetV1ImageProjectsIdResponseError
6
+ from .get_v1_video_projects_id_response import GetV1VideoProjectsIdResponse
5
7
  from .get_v1_video_projects_id_response_download import (
6
8
  GetV1VideoProjectsIdResponseDownload,
7
9
  )
@@ -16,8 +18,9 @@ from .post_v1_ai_image_upscaler_response import PostV1AiImageUpscalerResponse
16
18
  from .post_v1_ai_photo_editor_response import PostV1AiPhotoEditorResponse
17
19
  from .post_v1_ai_qr_code_generator_response import PostV1AiQrCodeGeneratorResponse
18
20
  from .post_v1_animation_response import PostV1AnimationResponse
19
- from .post_v1_face_swap_response import PostV1FaceSwapResponse
20
21
  from .post_v1_face_swap_photo_response import PostV1FaceSwapPhotoResponse
22
+ from .post_v1_face_swap_response import PostV1FaceSwapResponse
23
+ from .post_v1_files_upload_urls_response import PostV1FilesUploadUrlsResponse
21
24
  from .post_v1_files_upload_urls_response_items_item import (
22
25
  PostV1FilesUploadUrlsResponseItemsItem,
23
26
  )
@@ -28,9 +31,6 @@ from .post_v1_image_to_video_response import PostV1ImageToVideoResponse
28
31
  from .post_v1_lip_sync_response import PostV1LipSyncResponse
29
32
  from .post_v1_text_to_video_response import PostV1TextToVideoResponse
30
33
  from .post_v1_video_to_video_response import PostV1VideoToVideoResponse
31
- from .get_v1_image_projects_id_response import GetV1ImageProjectsIdResponse
32
- from .get_v1_video_projects_id_response import GetV1VideoProjectsIdResponse
33
- from .post_v1_files_upload_urls_response import PostV1FilesUploadUrlsResponse
34
34
 
35
35
 
36
36
  __all__ = [
@@ -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_image_projects_id_response_downloads_item import (
6
6
  GetV1ImageProjectsIdResponseDownloadsItem,
@@ -40,7 +40,7 @@ class GetV1ImageProjectsIdResponse(pydantic.BaseModel):
40
40
  alias="id",
41
41
  )
42
42
  """
43
- Unique ID of the image. This value can be used in the [get image project API](/api/tag/image-projects/get/v1/image-projects/{id}) to fetch additional details such as status
43
+ 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
44
44
  """
45
45
  image_count: int = pydantic.Field(
46
46
  alias="image_count",
@@ -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,
@@ -67,7 +67,7 @@ class GetV1VideoProjectsIdResponse(pydantic.BaseModel):
67
67
  alias="id",
68
68
  )
69
69
  """
70
- Unique ID of the video. This value can be used in the [get video project API](/api/tag/video-projects/get/v1/video-projects/{id}) to fetch additional details such as status
70
+ Unique ID of the video. This value can be used in the [get video project API](https://docs.magichour.ai/api-reference/video-projects/get-video-details) to fetch additional details such as status
71
71
  """
72
72
  name: typing.Optional[str] = pydantic.Field(
73
73
  alias="name",
@@ -21,5 +21,5 @@ class PostV1AiClothesChangerResponse(pydantic.BaseModel):
21
21
  alias="id",
22
22
  )
23
23
  """
24
- Unique ID of the image. This value can be used in the [get image project API](/api/tag/image-projects/get/v1/image-projects/{id}) to fetch additional details such as status
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
25
  """
@@ -21,5 +21,5 @@ class PostV1AiHeadshotGeneratorResponse(pydantic.BaseModel):
21
21
  alias="id",
22
22
  )
23
23
  """
24
- Unique ID of the image. This value can be used in the [get image project API](/api/tag/image-projects/get/v1/image-projects/{id}) to fetch additional details such as status
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
25
  """
@@ -21,5 +21,5 @@ class PostV1AiImageGeneratorResponse(pydantic.BaseModel):
21
21
  alias="id",
22
22
  )
23
23
  """
24
- Unique ID of the image. This value can be used in the [get image project API](/api/tag/image-projects/get/v1/image-projects/{id}) to fetch additional details such as status
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
25
  """
@@ -21,5 +21,5 @@ class PostV1AiImageUpscalerResponse(pydantic.BaseModel):
21
21
  alias="id",
22
22
  )
23
23
  """
24
- Unique ID of the image. This value can be used in the [get image project API](/api/tag/image-projects/get/v1/image-projects/{id}) to fetch additional details such as status
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
25
  """
@@ -21,5 +21,5 @@ class PostV1AiPhotoEditorResponse(pydantic.BaseModel):
21
21
  alias="id",
22
22
  )
23
23
  """
24
- Unique ID of the image. This value can be used in the [get image project API](/api/tag/image-projects/get/v1/image-projects/{id}) to fetch additional details such as status
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
25
  """
@@ -21,5 +21,5 @@ class PostV1AiQrCodeGeneratorResponse(pydantic.BaseModel):
21
21
  alias="id",
22
22
  )
23
23
  """
24
- Unique ID of the image. This value can be used in the [get image project API](/api/tag/image-projects/get/v1/image-projects/{id}) to fetch additional details such as status
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
25
  """
@@ -21,5 +21,5 @@ class PostV1AnimationResponse(pydantic.BaseModel):
21
21
  alias="id",
22
22
  )
23
23
  """
24
- Unique ID of the video. This value can be used in the [get video project API](/api/tag/video-projects/get/v1/video-projects/{id}) to fetch additional details such as status
24
+ Unique ID of the video. This value can be used in the [get video project API](https://docs.magichour.ai/api-reference/video-projects/get-video-details) to fetch additional details such as status
25
25
  """
@@ -21,5 +21,5 @@ class PostV1FaceSwapPhotoResponse(pydantic.BaseModel):
21
21
  alias="id",
22
22
  )
23
23
  """
24
- Unique ID of the image. This value can be used in the [get image project API](/api/tag/image-projects/get/v1/image-projects/{id}) to fetch additional details such as status
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
25
  """
@@ -21,5 +21,5 @@ class PostV1FaceSwapResponse(pydantic.BaseModel):
21
21
  alias="id",
22
22
  )
23
23
  """
24
- Unique ID of the image. This value can be used in the [get image project API](/api/tag/image-projects/get/v1/image-projects/{id}) to fetch additional details such as status
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
25
  """
@@ -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,
@@ -21,5 +21,5 @@ class PostV1ImageBackgroundRemoverResponse(pydantic.BaseModel):
21
21
  alias="id",
22
22
  )
23
23
  """
24
- Unique ID of the image. This value can be used in the [get image project API](/api/tag/image-projects/get/v1/image-projects/{id}) to fetch additional details such as status
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
25
  """
@@ -21,5 +21,5 @@ class PostV1ImageToVideoResponse(pydantic.BaseModel):
21
21
  alias="id",
22
22
  )
23
23
  """
24
- Unique ID of the video. This value can be used in the [get video project API](/api/tag/video-projects/get/v1/video-projects/{id}) to fetch additional details such as status
24
+ Unique ID of the video. This value can be used in the [get video project API](https://docs.magichour.ai/api-reference/video-projects/get-video-details) to fetch additional details such as status
25
25
  """
@@ -21,5 +21,5 @@ class PostV1LipSyncResponse(pydantic.BaseModel):
21
21
  alias="id",
22
22
  )
23
23
  """
24
- Unique ID of the video. This value can be used in the [get video project API](/api/tag/video-projects/get/v1/video-projects/{id}) to fetch additional details such as status
24
+ Unique ID of the video. This value can be used in the [get video project API](https://docs.magichour.ai/api-reference/video-projects/get-video-details) to fetch additional details such as status
25
25
  """
@@ -21,5 +21,5 @@ class PostV1TextToVideoResponse(pydantic.BaseModel):
21
21
  alias="id",
22
22
  )
23
23
  """
24
- Unique ID of the video. This value can be used in the [get video project API](/api/tag/video-projects/get/v1/video-projects/{id}) to fetch additional details such as status
24
+ Unique ID of the video. This value can be used in the [get video project API](https://docs.magichour.ai/api-reference/video-projects/get-video-details) to fetch additional details such as status
25
25
  """
@@ -21,5 +21,5 @@ class PostV1VideoToVideoResponse(pydantic.BaseModel):
21
21
  alias="id",
22
22
  )
23
23
  """
24
- Unique ID of the video. This value can be used in the [get video project API](/api/tag/video-projects/get/v1/video-projects/{id}) to fetch additional details such as status
24
+ Unique ID of the video. This value can be used in the [get video project API](https://docs.magichour.ai/api-reference/video-projects/get-video-details) to fetch additional details such as status
25
25
  """
@@ -1,15 +1,31 @@
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_image_generator_body import (
18
+ PostV1AiImageGeneratorBody,
19
+ _SerializerPostV1AiImageGeneratorBody,
20
+ )
9
21
  from .post_v1_ai_image_generator_body_style import (
10
22
  PostV1AiImageGeneratorBodyStyle,
11
23
  _SerializerPostV1AiImageGeneratorBodyStyle,
12
24
  )
25
+ from .post_v1_ai_image_upscaler_body import (
26
+ PostV1AiImageUpscalerBody,
27
+ _SerializerPostV1AiImageUpscalerBody,
28
+ )
13
29
  from .post_v1_ai_image_upscaler_body_assets import (
14
30
  PostV1AiImageUpscalerBodyAssets,
15
31
  _SerializerPostV1AiImageUpscalerBodyAssets,
@@ -18,6 +34,10 @@ from .post_v1_ai_image_upscaler_body_style import (
18
34
  PostV1AiImageUpscalerBodyStyle,
19
35
  _SerializerPostV1AiImageUpscalerBodyStyle,
20
36
  )
37
+ from .post_v1_ai_photo_editor_body import (
38
+ PostV1AiPhotoEditorBody,
39
+ _SerializerPostV1AiPhotoEditorBody,
40
+ )
21
41
  from .post_v1_ai_photo_editor_body_assets import (
22
42
  PostV1AiPhotoEditorBodyAssets,
23
43
  _SerializerPostV1AiPhotoEditorBodyAssets,
@@ -26,10 +46,15 @@ from .post_v1_ai_photo_editor_body_style import (
26
46
  PostV1AiPhotoEditorBodyStyle,
27
47
  _SerializerPostV1AiPhotoEditorBodyStyle,
28
48
  )
49
+ from .post_v1_ai_qr_code_generator_body import (
50
+ PostV1AiQrCodeGeneratorBody,
51
+ _SerializerPostV1AiQrCodeGeneratorBody,
52
+ )
29
53
  from .post_v1_ai_qr_code_generator_body_style import (
30
54
  PostV1AiQrCodeGeneratorBodyStyle,
31
55
  _SerializerPostV1AiQrCodeGeneratorBodyStyle,
32
56
  )
57
+ from .post_v1_animation_body import PostV1AnimationBody, _SerializerPostV1AnimationBody
33
58
  from .post_v1_animation_body_assets import (
34
59
  PostV1AnimationBodyAssets,
35
60
  _SerializerPostV1AnimationBodyAssets,
@@ -38,22 +63,39 @@ from .post_v1_animation_body_style import (
38
63
  PostV1AnimationBodyStyle,
39
64
  _SerializerPostV1AnimationBodyStyle,
40
65
  )
66
+ from .post_v1_face_swap_body import PostV1FaceSwapBody, _SerializerPostV1FaceSwapBody
41
67
  from .post_v1_face_swap_body_assets import (
42
68
  PostV1FaceSwapBodyAssets,
43
69
  _SerializerPostV1FaceSwapBodyAssets,
44
70
  )
71
+ from .post_v1_face_swap_photo_body import (
72
+ PostV1FaceSwapPhotoBody,
73
+ _SerializerPostV1FaceSwapPhotoBody,
74
+ )
45
75
  from .post_v1_face_swap_photo_body_assets import (
46
76
  PostV1FaceSwapPhotoBodyAssets,
47
77
  _SerializerPostV1FaceSwapPhotoBodyAssets,
48
78
  )
79
+ from .post_v1_files_upload_urls_body import (
80
+ PostV1FilesUploadUrlsBody,
81
+ _SerializerPostV1FilesUploadUrlsBody,
82
+ )
49
83
  from .post_v1_files_upload_urls_body_items_item import (
50
84
  PostV1FilesUploadUrlsBodyItemsItem,
51
85
  _SerializerPostV1FilesUploadUrlsBodyItemsItem,
52
86
  )
87
+ from .post_v1_image_background_remover_body import (
88
+ PostV1ImageBackgroundRemoverBody,
89
+ _SerializerPostV1ImageBackgroundRemoverBody,
90
+ )
53
91
  from .post_v1_image_background_remover_body_assets import (
54
92
  PostV1ImageBackgroundRemoverBodyAssets,
55
93
  _SerializerPostV1ImageBackgroundRemoverBodyAssets,
56
94
  )
95
+ from .post_v1_image_to_video_body import (
96
+ PostV1ImageToVideoBody,
97
+ _SerializerPostV1ImageToVideoBody,
98
+ )
57
99
  from .post_v1_image_to_video_body_assets import (
58
100
  PostV1ImageToVideoBodyAssets,
59
101
  _SerializerPostV1ImageToVideoBodyAssets,
@@ -62,14 +104,23 @@ from .post_v1_image_to_video_body_style import (
62
104
  PostV1ImageToVideoBodyStyle,
63
105
  _SerializerPostV1ImageToVideoBodyStyle,
64
106
  )
107
+ from .post_v1_lip_sync_body import PostV1LipSyncBody, _SerializerPostV1LipSyncBody
65
108
  from .post_v1_lip_sync_body_assets import (
66
109
  PostV1LipSyncBodyAssets,
67
110
  _SerializerPostV1LipSyncBodyAssets,
68
111
  )
112
+ from .post_v1_text_to_video_body import (
113
+ PostV1TextToVideoBody,
114
+ _SerializerPostV1TextToVideoBody,
115
+ )
69
116
  from .post_v1_text_to_video_body_style import (
70
117
  PostV1TextToVideoBodyStyle,
71
118
  _SerializerPostV1TextToVideoBodyStyle,
72
119
  )
120
+ from .post_v1_video_to_video_body import (
121
+ PostV1VideoToVideoBody,
122
+ _SerializerPostV1VideoToVideoBody,
123
+ )
73
124
  from .post_v1_video_to_video_body_assets import (
74
125
  PostV1VideoToVideoBodyAssets,
75
126
  _SerializerPostV1VideoToVideoBodyAssets,
@@ -78,57 +129,6 @@ from .post_v1_video_to_video_body_style import (
78
129
  PostV1VideoToVideoBodyStyle,
79
130
  _SerializerPostV1VideoToVideoBodyStyle,
80
131
  )
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
132
 
133
133
 
134
134
  __all__ = [
@@ -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):
@@ -9,7 +9,7 @@ class PostV1AiClothesChangerBodyAssets(typing_extensions.TypedDict):
9
9
 
10
10
  garment_file_path: typing_extensions.Required[str]
11
11
  """
12
- The image of the outfit. This value can be either the `file_path` field from the response of the [upload urls API](/docs/api/tag/files/post/v1/files/upload-urls), or the url of the file..
12
+ The image of the outfit. 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
13
  """
14
14
 
15
15
  garment_type: typing_extensions.Required[
@@ -18,7 +18,7 @@ class PostV1AiClothesChangerBodyAssets(typing_extensions.TypedDict):
18
18
 
19
19
  person_file_path: typing_extensions.Required[str]
20
20
  """
21
- The image with the person. This value can be either the `file_path` field from the response of the [upload urls API](/docs/api/tag/files/post/v1/files/upload-urls), or the url of the file..
21
+ The image with the person. 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..
22
22
  """
23
23
 
24
24
 
@@ -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_headshot_generator_body_assets import (
6
6
  PostV1AiHeadshotGeneratorBodyAssets,
@@ -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):
@@ -9,7 +9,7 @@ class PostV1AiHeadshotGeneratorBodyAssets(typing_extensions.TypedDict):
9
9
 
10
10
  image_file_path: typing_extensions.Required[str]
11
11
  """
12
- The image used to generate the headshot. This image must contain one detectable face. This value can be either the `file_path` field from the response of the [upload urls API](/docs/api/tag/files/post/v1/files/upload-urls), or the url of the file.
12
+ The image used to generate the headshot. This image must contain one detectable face. 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
13
  """
14
14
 
15
15
 
@@ -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):
@@ -9,7 +9,7 @@ class PostV1AiImageUpscalerBodyAssets(typing_extensions.TypedDict):
9
9
 
10
10
  image_file_path: typing_extensions.Required[str]
11
11
  """
12
- The image to upscale. This value can be either the `file_path` field from the response of the [upload urls API](/docs/api/tag/files/post/v1/files/upload-urls), or the url of the file.
12
+ The image to upscale. 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
13
  """
14
14
 
15
15
 
@@ -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):
@@ -9,7 +9,7 @@ class PostV1AiPhotoEditorBodyAssets(typing_extensions.TypedDict):
9
9
 
10
10
  image_file_path: typing_extensions.Required[str]
11
11
  """
12
- The image used to generate the output. This value can be either the `file_path` field from the response of the [upload urls API](/docs/api/tag/files/post/v1/files/upload-urls), or the url of the file.
12
+ The image used to generate the output. 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
13
  """
14
14
 
15
15
 
@@ -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,