magic_hour 0.9.5__py3-none-any.whl → 0.11.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 (95) hide show
  1. magic_hour/environment.py +1 -1
  2. magic_hour/resources/v1/ai_clothes_changer/client.py +8 -8
  3. magic_hour/resources/v1/ai_headshot_generator/client.py +20 -10
  4. magic_hour/resources/v1/ai_image_generator/client.py +10 -10
  5. magic_hour/resources/v1/ai_image_upscaler/client.py +12 -12
  6. magic_hour/resources/v1/ai_photo_editor/client.py +12 -12
  7. magic_hour/resources/v1/ai_qr_code_generator/client.py +10 -10
  8. magic_hour/resources/v1/animation/client.py +10 -10
  9. magic_hour/resources/v1/face_swap/client.py +8 -8
  10. magic_hour/resources/v1/face_swap_photo/client.py +8 -8
  11. magic_hour/resources/v1/files/upload_urls/README.md +4 -4
  12. magic_hour/resources/v1/files/upload_urls/client.py +14 -12
  13. magic_hour/resources/v1/image_background_remover/client.py +8 -8
  14. magic_hour/resources/v1/image_projects/client.py +4 -4
  15. magic_hour/resources/v1/image_to_video/client.py +12 -12
  16. magic_hour/resources/v1/lip_sync/client.py +8 -8
  17. magic_hour/resources/v1/text_to_video/client.py +10 -10
  18. magic_hour/resources/v1/video_projects/client.py +4 -4
  19. magic_hour/resources/v1/video_to_video/client.py +12 -12
  20. magic_hour/types/models/__init__.py +51 -51
  21. magic_hour/types/models/{post_v1_ai_clothes_changer_response.py → v1_ai_clothes_changer_create_response.py} +1 -1
  22. magic_hour/types/models/v1_ai_headshot_generator_create_response.py +25 -0
  23. magic_hour/types/models/{post_v1_ai_photo_editor_response.py → v1_ai_image_generator_create_response.py} +1 -1
  24. magic_hour/types/models/{post_v1_ai_image_generator_response.py → v1_ai_image_upscaler_create_response.py} +1 -1
  25. magic_hour/types/models/{post_v1_face_swap_photo_response.py → v1_ai_photo_editor_create_response.py} +1 -1
  26. magic_hour/types/models/{post_v1_ai_headshot_generator_response.py → v1_ai_qr_code_generator_create_response.py} +1 -1
  27. magic_hour/types/models/{post_v1_text_to_video_response.py → v1_animation_create_response.py} +1 -1
  28. magic_hour/types/models/{post_v1_face_swap_response.py → v1_face_swap_create_response.py} +1 -1
  29. magic_hour/types/models/{post_v1_ai_image_upscaler_response.py → v1_face_swap_photo_create_response.py} +1 -1
  30. magic_hour/types/models/v1_files_upload_urls_create_response.py +21 -0
  31. magic_hour/types/models/{post_v1_files_upload_urls_response_items_item.py → v1_files_upload_urls_create_response_items_item.py} +2 -2
  32. magic_hour/types/models/v1_image_background_remover_create_response.py +25 -0
  33. magic_hour/types/models/{get_v1_image_projects_id_response.py → v1_image_projects_get_response.py} +7 -7
  34. magic_hour/types/models/{get_v1_image_projects_id_response_downloads_item.py → v1_image_projects_get_response_downloads_item.py} +1 -1
  35. magic_hour/types/models/{get_v1_video_projects_id_response_error.py → v1_image_projects_get_response_error.py} +2 -2
  36. magic_hour/types/models/{post_v1_lip_sync_response.py → v1_image_to_video_create_response.py} +1 -1
  37. magic_hour/types/models/{post_v1_animation_response.py → v1_lip_sync_create_response.py} +1 -1
  38. magic_hour/types/models/{post_v1_image_to_video_response.py → v1_text_to_video_create_response.py} +1 -1
  39. magic_hour/types/models/{get_v1_video_projects_id_response.py → v1_video_projects_get_response.py} +10 -11
  40. magic_hour/types/models/{get_v1_video_projects_id_response_download.py → v1_video_projects_get_response_download.py} +1 -1
  41. magic_hour/types/models/{get_v1_video_projects_id_response_downloads_item.py → v1_video_projects_get_response_downloads_item.py} +1 -1
  42. magic_hour/types/models/{get_v1_image_projects_id_response_error.py → v1_video_projects_get_response_error.py} +2 -2
  43. magic_hour/types/models/v1_video_to_video_create_response.py +25 -0
  44. magic_hour/types/params/__init__.py +188 -176
  45. magic_hour/types/params/v1_ai_clothes_changer_create_body.py +40 -0
  46. magic_hour/types/params/{post_v1_ai_clothes_changer_body_assets.py → v1_ai_clothes_changer_create_body_assets.py} +3 -3
  47. magic_hour/types/params/v1_ai_headshot_generator_create_body.py +49 -0
  48. magic_hour/types/params/{post_v1_ai_headshot_generator_body_assets.py → v1_ai_headshot_generator_create_body_assets.py} +3 -3
  49. magic_hour/types/params/v1_ai_headshot_generator_create_body_style.py +27 -0
  50. magic_hour/types/params/{post_v1_ai_image_generator_body.py → v1_ai_image_generator_create_body.py} +9 -9
  51. magic_hour/types/params/{post_v1_ai_image_generator_body_style.py → v1_ai_image_generator_create_body_style.py} +4 -4
  52. magic_hour/types/params/v1_ai_image_upscaler_create_body.py +57 -0
  53. magic_hour/types/params/{post_v1_ai_image_upscaler_body_assets.py → v1_ai_image_upscaler_create_body_assets.py} +3 -3
  54. magic_hour/types/params/{post_v1_ai_image_upscaler_body_style.py → v1_ai_image_upscaler_create_body_style.py} +4 -4
  55. magic_hour/types/params/{post_v1_ai_photo_editor_body.py → v1_ai_photo_editor_create_body.py} +14 -14
  56. magic_hour/types/params/{post_v1_ai_photo_editor_body_assets.py → v1_ai_photo_editor_create_body_assets.py} +3 -3
  57. magic_hour/types/params/{post_v1_ai_photo_editor_body_style.py → v1_ai_photo_editor_create_body_style.py} +4 -4
  58. magic_hour/types/params/{post_v1_ai_qr_code_generator_body.py → v1_ai_qr_code_generator_create_body.py} +9 -9
  59. magic_hour/types/params/{post_v1_ai_qr_code_generator_body_style.py → v1_ai_qr_code_generator_create_body_style.py} +4 -4
  60. magic_hour/types/params/{post_v1_animation_body.py → v1_animation_create_body.py} +14 -14
  61. magic_hour/types/params/{post_v1_animation_body_assets.py → v1_animation_create_body_assets.py} +3 -3
  62. magic_hour/types/params/{post_v1_animation_body_style.py → v1_animation_create_body_style.py} +3 -3
  63. magic_hour/types/params/{post_v1_face_swap_body.py → v1_face_swap_create_body.py} +9 -9
  64. magic_hour/types/params/{post_v1_face_swap_body_assets.py → v1_face_swap_create_body_assets.py} +3 -3
  65. magic_hour/types/params/v1_face_swap_photo_create_body.py +40 -0
  66. magic_hour/types/params/{post_v1_face_swap_photo_body_assets.py → v1_face_swap_photo_create_body_assets.py} +3 -3
  67. magic_hour/types/params/v1_files_upload_urls_create_body.py +33 -0
  68. magic_hour/types/params/{post_v1_files_upload_urls_body_items_item.py → v1_files_upload_urls_create_body_items_item.py} +6 -6
  69. magic_hour/types/params/v1_image_background_remover_create_body.py +40 -0
  70. magic_hour/types/params/{post_v1_image_background_remover_body_assets.py → v1_image_background_remover_create_body_assets.py} +3 -3
  71. magic_hour/types/params/{post_v1_image_to_video_body.py → v1_image_to_video_create_body.py} +14 -14
  72. magic_hour/types/params/{post_v1_image_to_video_body_assets.py → v1_image_to_video_create_body_assets.py} +3 -3
  73. magic_hour/types/params/{post_v1_image_to_video_body_style.py → v1_image_to_video_create_body_style.py} +4 -4
  74. magic_hour/types/params/{post_v1_lip_sync_body.py → v1_lip_sync_create_body.py} +9 -9
  75. magic_hour/types/params/{post_v1_lip_sync_body_assets.py → v1_lip_sync_create_body_assets.py} +3 -3
  76. magic_hour/types/params/{post_v1_text_to_video_body.py → v1_text_to_video_create_body.py} +9 -9
  77. magic_hour/types/params/{post_v1_text_to_video_body_style.py → v1_text_to_video_create_body_style.py} +4 -4
  78. magic_hour/types/params/{post_v1_video_to_video_body.py → v1_video_to_video_create_body.py} +14 -14
  79. magic_hour/types/params/{post_v1_video_to_video_body_assets.py → v1_video_to_video_create_body_assets.py} +3 -3
  80. magic_hour/types/params/{post_v1_video_to_video_body_style.py → v1_video_to_video_create_body_style.py} +4 -4
  81. {magic_hour-0.9.5.dist-info → magic_hour-0.11.0.dist-info}/METADATA +1 -1
  82. magic_hour-0.11.0.dist-info/RECORD +133 -0
  83. magic_hour/types/models/post_v1_ai_qr_code_generator_response.py +0 -25
  84. magic_hour/types/models/post_v1_files_upload_urls_response.py +0 -21
  85. magic_hour/types/models/post_v1_image_background_remover_response.py +0 -25
  86. magic_hour/types/models/post_v1_video_to_video_response.py +0 -25
  87. magic_hour/types/params/post_v1_ai_clothes_changer_body.py +0 -40
  88. magic_hour/types/params/post_v1_ai_headshot_generator_body.py +0 -40
  89. magic_hour/types/params/post_v1_ai_image_upscaler_body.py +0 -57
  90. magic_hour/types/params/post_v1_face_swap_photo_body.py +0 -40
  91. magic_hour/types/params/post_v1_files_upload_urls_body.py +0 -31
  92. magic_hour/types/params/post_v1_image_background_remover_body.py +0 -40
  93. magic_hour-0.9.5.dist-info/RECORD +0 -132
  94. {magic_hour-0.9.5.dist-info → magic_hour-0.11.0.dist-info}/LICENSE +0 -0
  95. {magic_hour-0.9.5.dist-info → magic_hour-0.11.0.dist-info}/WHEEL +0 -0
@@ -1,60 +1,60 @@
1
- from .get_v1_image_projects_id_response import GetV1ImageProjectsIdResponse
2
- from .get_v1_image_projects_id_response_downloads_item import (
3
- GetV1ImageProjectsIdResponseDownloadsItem,
1
+ from .v1_ai_clothes_changer_create_response import V1AiClothesChangerCreateResponse
2
+ from .v1_ai_headshot_generator_create_response import (
3
+ V1AiHeadshotGeneratorCreateResponse,
4
4
  )
5
- from .get_v1_image_projects_id_response_error import GetV1ImageProjectsIdResponseError
6
- from .get_v1_video_projects_id_response import GetV1VideoProjectsIdResponse
7
- from .get_v1_video_projects_id_response_download import (
8
- GetV1VideoProjectsIdResponseDownload,
5
+ from .v1_ai_image_generator_create_response import V1AiImageGeneratorCreateResponse
6
+ from .v1_ai_image_upscaler_create_response import V1AiImageUpscalerCreateResponse
7
+ from .v1_ai_photo_editor_create_response import V1AiPhotoEditorCreateResponse
8
+ from .v1_ai_qr_code_generator_create_response import V1AiQrCodeGeneratorCreateResponse
9
+ from .v1_animation_create_response import V1AnimationCreateResponse
10
+ from .v1_face_swap_create_response import V1FaceSwapCreateResponse
11
+ from .v1_face_swap_photo_create_response import V1FaceSwapPhotoCreateResponse
12
+ from .v1_files_upload_urls_create_response import V1FilesUploadUrlsCreateResponse
13
+ from .v1_files_upload_urls_create_response_items_item import (
14
+ V1FilesUploadUrlsCreateResponseItemsItem,
9
15
  )
10
- from .get_v1_video_projects_id_response_downloads_item import (
11
- GetV1VideoProjectsIdResponseDownloadsItem,
16
+ from .v1_image_background_remover_create_response import (
17
+ V1ImageBackgroundRemoverCreateResponse,
12
18
  )
13
- from .get_v1_video_projects_id_response_error import GetV1VideoProjectsIdResponseError
14
- from .post_v1_ai_clothes_changer_response import PostV1AiClothesChangerResponse
15
- from .post_v1_ai_headshot_generator_response import PostV1AiHeadshotGeneratorResponse
16
- from .post_v1_ai_image_generator_response import PostV1AiImageGeneratorResponse
17
- from .post_v1_ai_image_upscaler_response import PostV1AiImageUpscalerResponse
18
- from .post_v1_ai_photo_editor_response import PostV1AiPhotoEditorResponse
19
- from .post_v1_ai_qr_code_generator_response import PostV1AiQrCodeGeneratorResponse
20
- from .post_v1_animation_response import PostV1AnimationResponse
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
24
- from .post_v1_files_upload_urls_response_items_item import (
25
- PostV1FilesUploadUrlsResponseItemsItem,
19
+ from .v1_image_projects_get_response import V1ImageProjectsGetResponse
20
+ from .v1_image_projects_get_response_downloads_item import (
21
+ V1ImageProjectsGetResponseDownloadsItem,
26
22
  )
27
- from .post_v1_image_background_remover_response import (
28
- PostV1ImageBackgroundRemoverResponse,
23
+ from .v1_image_projects_get_response_error import V1ImageProjectsGetResponseError
24
+ from .v1_image_to_video_create_response import V1ImageToVideoCreateResponse
25
+ from .v1_lip_sync_create_response import V1LipSyncCreateResponse
26
+ from .v1_text_to_video_create_response import V1TextToVideoCreateResponse
27
+ from .v1_video_projects_get_response import V1VideoProjectsGetResponse
28
+ from .v1_video_projects_get_response_download import V1VideoProjectsGetResponseDownload
29
+ from .v1_video_projects_get_response_downloads_item import (
30
+ V1VideoProjectsGetResponseDownloadsItem,
29
31
  )
30
- from .post_v1_image_to_video_response import PostV1ImageToVideoResponse
31
- from .post_v1_lip_sync_response import PostV1LipSyncResponse
32
- from .post_v1_text_to_video_response import PostV1TextToVideoResponse
33
- from .post_v1_video_to_video_response import PostV1VideoToVideoResponse
32
+ from .v1_video_projects_get_response_error import V1VideoProjectsGetResponseError
33
+ from .v1_video_to_video_create_response import V1VideoToVideoCreateResponse
34
34
 
35
35
 
36
36
  __all__ = [
37
- "GetV1ImageProjectsIdResponse",
38
- "GetV1ImageProjectsIdResponseDownloadsItem",
39
- "GetV1ImageProjectsIdResponseError",
40
- "GetV1VideoProjectsIdResponse",
41
- "GetV1VideoProjectsIdResponseDownload",
42
- "GetV1VideoProjectsIdResponseDownloadsItem",
43
- "GetV1VideoProjectsIdResponseError",
44
- "PostV1AiClothesChangerResponse",
45
- "PostV1AiHeadshotGeneratorResponse",
46
- "PostV1AiImageGeneratorResponse",
47
- "PostV1AiImageUpscalerResponse",
48
- "PostV1AiPhotoEditorResponse",
49
- "PostV1AiQrCodeGeneratorResponse",
50
- "PostV1AnimationResponse",
51
- "PostV1FaceSwapPhotoResponse",
52
- "PostV1FaceSwapResponse",
53
- "PostV1FilesUploadUrlsResponse",
54
- "PostV1FilesUploadUrlsResponseItemsItem",
55
- "PostV1ImageBackgroundRemoverResponse",
56
- "PostV1ImageToVideoResponse",
57
- "PostV1LipSyncResponse",
58
- "PostV1TextToVideoResponse",
59
- "PostV1VideoToVideoResponse",
37
+ "V1AiClothesChangerCreateResponse",
38
+ "V1AiHeadshotGeneratorCreateResponse",
39
+ "V1AiImageGeneratorCreateResponse",
40
+ "V1AiImageUpscalerCreateResponse",
41
+ "V1AiPhotoEditorCreateResponse",
42
+ "V1AiQrCodeGeneratorCreateResponse",
43
+ "V1AnimationCreateResponse",
44
+ "V1FaceSwapCreateResponse",
45
+ "V1FaceSwapPhotoCreateResponse",
46
+ "V1FilesUploadUrlsCreateResponse",
47
+ "V1FilesUploadUrlsCreateResponseItemsItem",
48
+ "V1ImageBackgroundRemoverCreateResponse",
49
+ "V1ImageProjectsGetResponse",
50
+ "V1ImageProjectsGetResponseDownloadsItem",
51
+ "V1ImageProjectsGetResponseError",
52
+ "V1ImageToVideoCreateResponse",
53
+ "V1LipSyncCreateResponse",
54
+ "V1TextToVideoCreateResponse",
55
+ "V1VideoProjectsGetResponse",
56
+ "V1VideoProjectsGetResponseDownload",
57
+ "V1VideoProjectsGetResponseDownloadsItem",
58
+ "V1VideoProjectsGetResponseError",
59
+ "V1VideoToVideoCreateResponse",
60
60
  ]
@@ -1,7 +1,7 @@
1
1
  import pydantic
2
2
 
3
3
 
4
- class PostV1AiClothesChangerResponse(pydantic.BaseModel):
4
+ class V1AiClothesChangerCreateResponse(pydantic.BaseModel):
5
5
  """
6
6
  Success
7
7
  """
@@ -0,0 +1,25 @@
1
+ import pydantic
2
+
3
+
4
+ class V1AiHeadshotGeneratorCreateResponse(pydantic.BaseModel):
5
+ """
6
+ Success
7
+ """
8
+
9
+ model_config = pydantic.ConfigDict(
10
+ arbitrary_types_allowed=True,
11
+ populate_by_name=True,
12
+ )
13
+
14
+ frame_cost: int = pydantic.Field(
15
+ alias="frame_cost",
16
+ )
17
+ """
18
+ The frame cost of the image generation
19
+ """
20
+ id: str = pydantic.Field(
21
+ alias="id",
22
+ )
23
+ """
24
+ Unique ID of the image. This value can be used in the [get image project API](https://docs.magichour.ai/api-reference/image-projects/get-image-details) to fetch additional details such as status
25
+ """
@@ -1,7 +1,7 @@
1
1
  import pydantic
2
2
 
3
3
 
4
- class PostV1AiPhotoEditorResponse(pydantic.BaseModel):
4
+ class V1AiImageGeneratorCreateResponse(pydantic.BaseModel):
5
5
  """
6
6
  Success
7
7
  """
@@ -1,7 +1,7 @@
1
1
  import pydantic
2
2
 
3
3
 
4
- class PostV1AiImageGeneratorResponse(pydantic.BaseModel):
4
+ class V1AiImageUpscalerCreateResponse(pydantic.BaseModel):
5
5
  """
6
6
  Success
7
7
  """
@@ -1,7 +1,7 @@
1
1
  import pydantic
2
2
 
3
3
 
4
- class PostV1FaceSwapPhotoResponse(pydantic.BaseModel):
4
+ class V1AiPhotoEditorCreateResponse(pydantic.BaseModel):
5
5
  """
6
6
  Success
7
7
  """
@@ -1,7 +1,7 @@
1
1
  import pydantic
2
2
 
3
3
 
4
- class PostV1AiHeadshotGeneratorResponse(pydantic.BaseModel):
4
+ class V1AiQrCodeGeneratorCreateResponse(pydantic.BaseModel):
5
5
  """
6
6
  Success
7
7
  """
@@ -1,7 +1,7 @@
1
1
  import pydantic
2
2
 
3
3
 
4
- class PostV1TextToVideoResponse(pydantic.BaseModel):
4
+ class V1AnimationCreateResponse(pydantic.BaseModel):
5
5
  """
6
6
  Success
7
7
  """
@@ -1,7 +1,7 @@
1
1
  import pydantic
2
2
 
3
3
 
4
- class PostV1FaceSwapResponse(pydantic.BaseModel):
4
+ class V1FaceSwapCreateResponse(pydantic.BaseModel):
5
5
  """
6
6
  Success
7
7
  """
@@ -1,7 +1,7 @@
1
1
  import pydantic
2
2
 
3
3
 
4
- class PostV1AiImageUpscalerResponse(pydantic.BaseModel):
4
+ class V1FaceSwapPhotoCreateResponse(pydantic.BaseModel):
5
5
  """
6
6
  Success
7
7
  """
@@ -0,0 +1,21 @@
1
+ import pydantic
2
+ import typing
3
+
4
+ from .v1_files_upload_urls_create_response_items_item import (
5
+ V1FilesUploadUrlsCreateResponseItemsItem,
6
+ )
7
+
8
+
9
+ class V1FilesUploadUrlsCreateResponse(pydantic.BaseModel):
10
+ """
11
+ Success
12
+ """
13
+
14
+ model_config = pydantic.ConfigDict(
15
+ arbitrary_types_allowed=True,
16
+ populate_by_name=True,
17
+ )
18
+
19
+ items: typing.List[V1FilesUploadUrlsCreateResponseItemsItem] = pydantic.Field(
20
+ alias="items",
21
+ )
@@ -1,9 +1,9 @@
1
1
  import pydantic
2
2
 
3
3
 
4
- class PostV1FilesUploadUrlsResponseItemsItem(pydantic.BaseModel):
4
+ class V1FilesUploadUrlsCreateResponseItemsItem(pydantic.BaseModel):
5
5
  """
6
- PostV1FilesUploadUrlsResponseItemsItem
6
+ V1FilesUploadUrlsCreateResponseItemsItem
7
7
  """
8
8
 
9
9
  model_config = pydantic.ConfigDict(
@@ -0,0 +1,25 @@
1
+ import pydantic
2
+
3
+
4
+ class V1ImageBackgroundRemoverCreateResponse(pydantic.BaseModel):
5
+ """
6
+ Success
7
+ """
8
+
9
+ model_config = pydantic.ConfigDict(
10
+ arbitrary_types_allowed=True,
11
+ populate_by_name=True,
12
+ )
13
+
14
+ frame_cost: int = pydantic.Field(
15
+ alias="frame_cost",
16
+ )
17
+ """
18
+ The frame cost of the image generation
19
+ """
20
+ id: str = pydantic.Field(
21
+ alias="id",
22
+ )
23
+ """
24
+ Unique ID of the image. This value can be used in the [get image project API](https://docs.magichour.ai/api-reference/image-projects/get-image-details) to fetch additional details such as status
25
+ """
@@ -2,13 +2,13 @@ import pydantic
2
2
  import typing
3
3
  import typing_extensions
4
4
 
5
- from .get_v1_image_projects_id_response_downloads_item import (
6
- GetV1ImageProjectsIdResponseDownloadsItem,
5
+ from .v1_image_projects_get_response_downloads_item import (
6
+ V1ImageProjectsGetResponseDownloadsItem,
7
7
  )
8
- from .get_v1_image_projects_id_response_error import GetV1ImageProjectsIdResponseError
8
+ from .v1_image_projects_get_response_error import V1ImageProjectsGetResponseError
9
9
 
10
10
 
11
- class GetV1ImageProjectsIdResponse(pydantic.BaseModel):
11
+ class V1ImageProjectsGetResponse(pydantic.BaseModel):
12
12
  """
13
13
  Success
14
14
  """
@@ -21,7 +21,7 @@ class GetV1ImageProjectsIdResponse(pydantic.BaseModel):
21
21
  created_at: str = pydantic.Field(
22
22
  alias="created_at",
23
23
  )
24
- downloads: typing.List[GetV1ImageProjectsIdResponseDownloadsItem] = pydantic.Field(
24
+ downloads: typing.List[V1ImageProjectsGetResponseDownloadsItem] = pydantic.Field(
25
25
  alias="downloads",
26
26
  )
27
27
  enabled: bool = pydantic.Field(
@@ -30,7 +30,7 @@ class GetV1ImageProjectsIdResponse(pydantic.BaseModel):
30
30
  """
31
31
  Indicates whether the resource is deleted
32
32
  """
33
- error: typing.Optional[GetV1ImageProjectsIdResponseError] = pydantic.Field(
33
+ error: typing.Optional[V1ImageProjectsGetResponseError] = pydantic.Field(
34
34
  alias="error",
35
35
  )
36
36
  """
@@ -68,7 +68,7 @@ class GetV1ImageProjectsIdResponse(pydantic.BaseModel):
68
68
  """
69
69
  The amount of frames used to generate the image.
70
70
  """
71
- type_field: typing_extensions.Literal[
71
+ type_: typing_extensions.Literal[
72
72
  "AI_HEADSHOT",
73
73
  "AI_IMAGE",
74
74
  "BACKGROUND_REMOVER",
@@ -1,7 +1,7 @@
1
1
  import pydantic
2
2
 
3
3
 
4
- class GetV1ImageProjectsIdResponseDownloadsItem(pydantic.BaseModel):
4
+ class V1ImageProjectsGetResponseDownloadsItem(pydantic.BaseModel):
5
5
  """
6
6
  The download url and expiration date of the image project
7
7
  """
@@ -1,7 +1,7 @@
1
1
  import pydantic
2
2
 
3
3
 
4
- class GetV1VideoProjectsIdResponseError(pydantic.BaseModel):
4
+ class V1ImageProjectsGetResponseError(pydantic.BaseModel):
5
5
  """
6
6
  In the case of an error, this object will contain the error encountered during video render
7
7
  """
@@ -11,7 +11,7 @@ class GetV1VideoProjectsIdResponseError(pydantic.BaseModel):
11
11
  populate_by_name=True,
12
12
  )
13
13
 
14
- code_field: str = pydantic.Field(
14
+ code: str = pydantic.Field(
15
15
  alias="code",
16
16
  )
17
17
  """
@@ -1,7 +1,7 @@
1
1
  import pydantic
2
2
 
3
3
 
4
- class PostV1LipSyncResponse(pydantic.BaseModel):
4
+ class V1ImageToVideoCreateResponse(pydantic.BaseModel):
5
5
  """
6
6
  Success
7
7
  """
@@ -1,7 +1,7 @@
1
1
  import pydantic
2
2
 
3
3
 
4
- class PostV1AnimationResponse(pydantic.BaseModel):
4
+ class V1LipSyncCreateResponse(pydantic.BaseModel):
5
5
  """
6
6
  Success
7
7
  """
@@ -1,7 +1,7 @@
1
1
  import pydantic
2
2
 
3
3
 
4
- class PostV1ImageToVideoResponse(pydantic.BaseModel):
4
+ class V1TextToVideoCreateResponse(pydantic.BaseModel):
5
5
  """
6
6
  Success
7
7
  """
@@ -2,16 +2,14 @@ import pydantic
2
2
  import typing
3
3
  import typing_extensions
4
4
 
5
- from .get_v1_video_projects_id_response_download import (
6
- GetV1VideoProjectsIdResponseDownload,
5
+ from .v1_video_projects_get_response_download import V1VideoProjectsGetResponseDownload
6
+ from .v1_video_projects_get_response_downloads_item import (
7
+ V1VideoProjectsGetResponseDownloadsItem,
7
8
  )
8
- from .get_v1_video_projects_id_response_downloads_item import (
9
- GetV1VideoProjectsIdResponseDownloadsItem,
10
- )
11
- from .get_v1_video_projects_id_response_error import GetV1VideoProjectsIdResponseError
9
+ from .v1_video_projects_get_response_error import V1VideoProjectsGetResponseError
12
10
 
13
11
 
14
- class GetV1VideoProjectsIdResponse(pydantic.BaseModel):
12
+ class V1VideoProjectsGetResponse(pydantic.BaseModel):
15
13
  """
16
14
  Success
17
15
  """
@@ -24,13 +22,13 @@ class GetV1VideoProjectsIdResponse(pydantic.BaseModel):
24
22
  created_at: str = pydantic.Field(
25
23
  alias="created_at",
26
24
  )
27
- download: typing.Optional[GetV1VideoProjectsIdResponseDownload] = pydantic.Field(
25
+ download: typing.Optional[V1VideoProjectsGetResponseDownload] = pydantic.Field(
28
26
  alias="download",
29
27
  )
30
28
  """
31
29
  Deprecated: Please use `.downloads` instead. The download url and expiration date of the video project
32
30
  """
33
- downloads: typing.List[GetV1VideoProjectsIdResponseDownloadsItem] = pydantic.Field(
31
+ downloads: typing.List[V1VideoProjectsGetResponseDownloadsItem] = pydantic.Field(
34
32
  alias="downloads",
35
33
  )
36
34
  enabled: bool = pydantic.Field(
@@ -45,7 +43,7 @@ class GetV1VideoProjectsIdResponse(pydantic.BaseModel):
45
43
  """
46
44
  The end time of the input video in seconds
47
45
  """
48
- error: typing.Optional[GetV1VideoProjectsIdResponseError] = pydantic.Field(
46
+ error: typing.Optional[V1VideoProjectsGetResponseError] = pydantic.Field(
49
47
  alias="error",
50
48
  )
51
49
  """
@@ -95,12 +93,13 @@ class GetV1VideoProjectsIdResponse(pydantic.BaseModel):
95
93
  """
96
94
  The amount of frames used to generate the video. If the status is not 'complete', the cost is an estimate and will be adjusted when the video completes.
97
95
  """
98
- type_field: typing_extensions.Literal[
96
+ type_: typing_extensions.Literal[
99
97
  "ANIMATION",
100
98
  "AUTO_SUBTITLE",
101
99
  "FACE_SWAP",
102
100
  "IMAGE_TO_VIDEO",
103
101
  "LIP_SYNC",
102
+ "TALKING_PHOTO",
104
103
  "TEXT_TO_VIDEO",
105
104
  "VIDEO_TO_VIDEO",
106
105
  ] = pydantic.Field(
@@ -1,7 +1,7 @@
1
1
  import pydantic
2
2
 
3
3
 
4
- class GetV1VideoProjectsIdResponseDownload(pydantic.BaseModel):
4
+ class V1VideoProjectsGetResponseDownload(pydantic.BaseModel):
5
5
  """
6
6
  Deprecated: Please use `.downloads` instead. The download url and expiration date of the video project
7
7
  """
@@ -1,7 +1,7 @@
1
1
  import pydantic
2
2
 
3
3
 
4
- class GetV1VideoProjectsIdResponseDownloadsItem(pydantic.BaseModel):
4
+ class V1VideoProjectsGetResponseDownloadsItem(pydantic.BaseModel):
5
5
  """
6
6
  The download url and expiration date of the image project
7
7
  """
@@ -1,7 +1,7 @@
1
1
  import pydantic
2
2
 
3
3
 
4
- class GetV1ImageProjectsIdResponseError(pydantic.BaseModel):
4
+ class V1VideoProjectsGetResponseError(pydantic.BaseModel):
5
5
  """
6
6
  In the case of an error, this object will contain the error encountered during video render
7
7
  """
@@ -11,7 +11,7 @@ class GetV1ImageProjectsIdResponseError(pydantic.BaseModel):
11
11
  populate_by_name=True,
12
12
  )
13
13
 
14
- code_field: str = pydantic.Field(
14
+ code: str = pydantic.Field(
15
15
  alias="code",
16
16
  )
17
17
  """
@@ -0,0 +1,25 @@
1
+ import pydantic
2
+
3
+
4
+ class V1VideoToVideoCreateResponse(pydantic.BaseModel):
5
+ """
6
+ Success
7
+ """
8
+
9
+ model_config = pydantic.ConfigDict(
10
+ arbitrary_types_allowed=True,
11
+ populate_by_name=True,
12
+ )
13
+
14
+ estimated_frame_cost: int = pydantic.Field(
15
+ alias="estimated_frame_cost",
16
+ )
17
+ """
18
+ Estimated cost of the video in terms of number of frames needed to render the video. Frames will be adjusted when the video completes
19
+ """
20
+ id: str = pydantic.Field(
21
+ alias="id",
22
+ )
23
+ """
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
+ """