magic_hour 0.33.1__py3-none-any.whl → 0.34.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 (103) hide show
  1. magic_hour/environment.py +1 -1
  2. magic_hour/resources/v1/ai_clothes_changer/README.md +5 -5
  3. magic_hour/resources/v1/ai_clothes_changer/client.py +4 -4
  4. magic_hour/resources/v1/ai_face_editor/README.md +2 -2
  5. magic_hour/resources/v1/ai_face_editor/client.py +2 -2
  6. magic_hour/resources/v1/ai_gif_generator/README.md +2 -2
  7. magic_hour/resources/v1/ai_gif_generator/client.py +2 -2
  8. magic_hour/resources/v1/ai_headshot_generator/README.md +3 -3
  9. magic_hour/resources/v1/ai_headshot_generator/client.py +2 -2
  10. magic_hour/resources/v1/ai_image_editor/README.md +2 -2
  11. magic_hour/resources/v1/ai_image_editor/client.py +2 -2
  12. magic_hour/resources/v1/ai_image_generator/README.md +5 -5
  13. magic_hour/resources/v1/ai_image_generator/client.py +8 -8
  14. magic_hour/resources/v1/ai_image_upscaler/README.md +3 -3
  15. magic_hour/resources/v1/ai_image_upscaler/client.py +8 -4
  16. magic_hour/resources/v1/ai_meme_generator/README.md +1 -1
  17. magic_hour/resources/v1/ai_photo_editor/README.md +2 -2
  18. magic_hour/resources/v1/ai_photo_editor/client.py +2 -2
  19. magic_hour/resources/v1/ai_qr_code_generator/README.md +2 -2
  20. magic_hour/resources/v1/ai_qr_code_generator/client.py +2 -2
  21. magic_hour/resources/v1/ai_talking_photo/README.md +2 -2
  22. magic_hour/resources/v1/ai_talking_photo/client.py +2 -2
  23. magic_hour/resources/v1/animation/README.md +8 -8
  24. magic_hour/resources/v1/animation/client.py +8 -8
  25. magic_hour/resources/v1/auto_subtitle_generator/README.md +4 -4
  26. magic_hour/resources/v1/auto_subtitle_generator/client.py +6 -6
  27. magic_hour/resources/v1/face_detection/README.md +10 -6
  28. magic_hour/resources/v1/face_detection/client.py +12 -4
  29. magic_hour/resources/v1/face_swap/README.md +4 -4
  30. magic_hour/resources/v1/face_swap/client.py +6 -6
  31. magic_hour/resources/v1/face_swap_photo/README.md +2 -2
  32. magic_hour/resources/v1/face_swap_photo/client.py +2 -2
  33. magic_hour/resources/v1/files/upload_urls/README.md +7 -6
  34. magic_hour/resources/v1/files/upload_urls/client.py +14 -12
  35. magic_hour/resources/v1/image_background_remover/README.md +2 -2
  36. magic_hour/resources/v1/image_background_remover/client.py +2 -2
  37. magic_hour/resources/v1/image_projects/README.md +8 -8
  38. magic_hour/resources/v1/image_projects/client.py +10 -10
  39. magic_hour/resources/v1/image_to_video/README.md +5 -3
  40. magic_hour/resources/v1/image_to_video/client.py +10 -4
  41. magic_hour/resources/v1/lip_sync/README.md +4 -4
  42. magic_hour/resources/v1/lip_sync/client.py +6 -6
  43. magic_hour/resources/v1/photo_colorizer/README.md +2 -2
  44. magic_hour/resources/v1/photo_colorizer/client.py +2 -2
  45. magic_hour/resources/v1/text_to_video/README.md +6 -4
  46. magic_hour/resources/v1/text_to_video/client.py +18 -4
  47. magic_hour/resources/v1/video_projects/README.md +7 -7
  48. magic_hour/resources/v1/video_projects/client.py +8 -8
  49. magic_hour/resources/v1/video_to_video/README.md +9 -9
  50. magic_hour/resources/v1/video_to_video/client.py +10 -10
  51. magic_hour/types/models/v1_face_detection_create_response.py +1 -1
  52. magic_hour/types/models/v1_face_detection_get_response.py +1 -1
  53. magic_hour/types/models/v1_files_upload_urls_create_response.py +3 -0
  54. magic_hour/types/models/v1_video_projects_get_response.py +2 -2
  55. magic_hour/types/params/v1_ai_clothes_changer_create_body.py +1 -1
  56. magic_hour/types/params/v1_ai_clothes_changer_create_body_assets.py +15 -2
  57. magic_hour/types/params/v1_ai_face_editor_create_body.py +1 -1
  58. magic_hour/types/params/v1_ai_face_editor_create_body_assets.py +6 -1
  59. magic_hour/types/params/v1_ai_face_editor_create_body_style.py +44 -47
  60. magic_hour/types/params/v1_ai_gif_generator_create_body.py +1 -1
  61. magic_hour/types/params/v1_ai_headshot_generator_create_body.py +1 -1
  62. magic_hour/types/params/v1_ai_headshot_generator_create_body_assets.py +6 -1
  63. magic_hour/types/params/v1_ai_headshot_generator_create_body_style.py +1 -1
  64. magic_hour/types/params/v1_ai_image_editor_create_body.py +1 -1
  65. magic_hour/types/params/v1_ai_image_editor_create_body_assets.py +6 -1
  66. magic_hour/types/params/v1_ai_image_generator_create_body.py +8 -2
  67. magic_hour/types/params/v1_ai_image_generator_create_body_style.py +2 -2
  68. magic_hour/types/params/v1_ai_image_upscaler_create_body.py +4 -2
  69. magic_hour/types/params/v1_ai_image_upscaler_create_body_assets.py +6 -1
  70. magic_hour/types/params/v1_ai_photo_editor_create_body.py +1 -1
  71. magic_hour/types/params/v1_ai_photo_editor_create_body_assets.py +6 -1
  72. magic_hour/types/params/v1_ai_qr_code_generator_create_body.py +1 -1
  73. magic_hour/types/params/v1_ai_talking_photo_create_body.py +1 -1
  74. magic_hour/types/params/v1_ai_talking_photo_create_body_assets.py +12 -2
  75. magic_hour/types/params/v1_animation_create_body.py +2 -2
  76. magic_hour/types/params/v1_animation_create_body_assets.py +12 -2
  77. magic_hour/types/params/v1_animation_create_body_style.py +10 -7
  78. magic_hour/types/params/v1_auto_subtitle_generator_create_body.py +3 -3
  79. magic_hour/types/params/v1_auto_subtitle_generator_create_body_assets.py +6 -1
  80. magic_hour/types/params/v1_face_detection_create_body_assets.py +6 -1
  81. magic_hour/types/params/v1_face_swap_create_body.py +3 -3
  82. magic_hour/types/params/v1_face_swap_create_body_assets.py +12 -2
  83. magic_hour/types/params/v1_face_swap_create_body_assets_face_mappings_item.py +6 -1
  84. magic_hour/types/params/v1_face_swap_photo_create_body.py +1 -1
  85. magic_hour/types/params/v1_face_swap_photo_create_body_assets.py +12 -2
  86. magic_hour/types/params/v1_face_swap_photo_create_body_assets_face_mappings_item.py +6 -1
  87. magic_hour/types/params/v1_files_upload_urls_create_body.py +3 -0
  88. magic_hour/types/params/v1_files_upload_urls_create_body_items_item.py +2 -2
  89. magic_hour/types/params/v1_image_background_remover_create_body.py +1 -1
  90. magic_hour/types/params/v1_image_background_remover_create_body_assets.py +12 -2
  91. magic_hour/types/params/v1_image_to_video_create_body.py +4 -2
  92. magic_hour/types/params/v1_image_to_video_create_body_assets.py +6 -1
  93. magic_hour/types/params/v1_lip_sync_create_body.py +3 -3
  94. magic_hour/types/params/v1_lip_sync_create_body_assets.py +12 -2
  95. magic_hour/types/params/v1_photo_colorizer_create_body.py +1 -1
  96. magic_hour/types/params/v1_photo_colorizer_create_body_assets.py +6 -1
  97. magic_hour/types/params/v1_text_to_video_create_body.py +8 -2
  98. magic_hour/types/params/v1_video_to_video_create_body.py +3 -3
  99. magic_hour/types/params/v1_video_to_video_create_body_assets.py +6 -1
  100. {magic_hour-0.33.1.dist-info → magic_hour-0.34.0.dist-info}/METADATA +1 -1
  101. {magic_hour-0.33.1.dist-info → magic_hour-0.34.0.dist-info}/RECORD +103 -103
  102. {magic_hour-0.33.1.dist-info → magic_hour-0.34.0.dist-info}/LICENSE +0 -0
  103. {magic_hour-0.33.1.dist-info → magic_hour-0.34.0.dist-info}/WHEEL +0 -0
@@ -55,7 +55,7 @@ class LipSyncClient:
55
55
 
56
56
  See our [pricing page](https://magichour.ai/pricing) for more details.
57
57
  max_fps_limit: Defines the maximum FPS (frames per second) for the output video. If the input video's FPS is lower than this limit, the output video will retain the input FPS. This is useful for reducing unnecessary frame usage in scenarios where high FPS is not required.
58
- name: The name of video
58
+ name: The name of video. This value is mainly used for your own identification of the video.
59
59
  width: Used to determine the dimensions of the output video.
60
60
 
61
61
  * If width is provided, height will also be required. The larger value between width and height will be used to determine the maximum output resolution while maintaining the original aspect ratio.
@@ -65,8 +65,8 @@ class LipSyncClient:
65
65
 
66
66
  See our [pricing page](https://magichour.ai/pricing) for more details.
67
67
  assets: Provide the assets for lip-sync. For video, The `video_source` field determines whether `video_file_path` or `youtube_url` field is used
68
- end_seconds: The end time of the input video in seconds
69
- start_seconds: The start time of the input video in seconds
68
+ end_seconds: The end time of the input video in seconds. This value is used to trim the input video. The value must be greater than 0.1, and more than the start_seconds.
69
+ start_seconds: The start time of the input video in seconds. This value is used to trim the input video. The value must be greater than 0.
70
70
  request_options: Additional options to customize the HTTP request
71
71
 
72
72
  Returns:
@@ -159,7 +159,7 @@ class AsyncLipSyncClient:
159
159
 
160
160
  See our [pricing page](https://magichour.ai/pricing) for more details.
161
161
  max_fps_limit: Defines the maximum FPS (frames per second) for the output video. If the input video's FPS is lower than this limit, the output video will retain the input FPS. This is useful for reducing unnecessary frame usage in scenarios where high FPS is not required.
162
- name: The name of video
162
+ name: The name of video. This value is mainly used for your own identification of the video.
163
163
  width: Used to determine the dimensions of the output video.
164
164
 
165
165
  * If width is provided, height will also be required. The larger value between width and height will be used to determine the maximum output resolution while maintaining the original aspect ratio.
@@ -169,8 +169,8 @@ class AsyncLipSyncClient:
169
169
 
170
170
  See our [pricing page](https://magichour.ai/pricing) for more details.
171
171
  assets: Provide the assets for lip-sync. For video, The `video_source` field determines whether `video_file_path` or `youtube_url` field is used
172
- end_seconds: The end time of the input video in seconds
173
- start_seconds: The start time of the input video in seconds
172
+ end_seconds: The end time of the input video in seconds. This value is used to trim the input video. The value must be greater than 0.1, and more than the start_seconds.
173
+ start_seconds: The start time of the input video in seconds. This value is used to trim the input video. The value must be greater than 0.
174
174
  request_options: Additional options to customize the HTTP request
175
175
 
176
176
  Returns:
@@ -10,7 +10,7 @@ Colorize image. Each image costs 5 credits.
10
10
  | Parameter | Required | Description | Example |
11
11
  |-----------|:--------:|-------------|--------|
12
12
  | `assets` | ✓ | Provide the assets for photo colorization | `{"image_file_path": "api-assets/id/1234.png"}` |
13
- | `name` | ✗ | The name of image | `"Photo Colorizer image"` |
13
+ | `name` | ✗ | The name of image. This value is mainly used for your own identification of the image. | `"Photo Colorizer image"` |
14
14
 
15
15
  #### Synchronous Client
16
16
 
@@ -44,4 +44,4 @@ res = await client.v1.photo_colorizer.create(
44
44
  [V1PhotoColorizerCreateResponse](/magic_hour/types/models/v1_photo_colorizer_create_response.py)
45
45
 
46
46
  ##### Example
47
- `{"credits_charged": 5, "frame_cost": 5, "id": "clx7uu86w0a5qp55yxz315r6r"}`
47
+ `{"credits_charged": 5, "frame_cost": 5, "id": "cuid-example"}`
@@ -32,7 +32,7 @@ class PhotoColorizerClient:
32
32
  POST /v1/photo-colorizer
33
33
 
34
34
  Args:
35
- name: The name of image
35
+ name: The name of image. This value is mainly used for your own identification of the image.
36
36
  assets: Provide the assets for photo colorization
37
37
  request_options: Additional options to customize the HTTP request
38
38
 
@@ -86,7 +86,7 @@ class AsyncPhotoColorizerClient:
86
86
  POST /v1/photo-colorizer
87
87
 
88
88
  Args:
89
- name: The name of image
89
+ name: The name of image. This value is mainly used for your own identification of the image.
90
90
  assets: Provide the assets for photo colorization
91
91
  request_options: Additional options to customize the HTTP request
92
92
 
@@ -12,11 +12,11 @@ Get more information about this mode at our [product page](https://magichour.ai/
12
12
 
13
13
  | Parameter | Required | Description | Example |
14
14
  |-----------|:--------:|-------------|--------|
15
- | `end_seconds` | ✓ | The total duration of the output video in seconds. | `5.0` |
15
+ | `end_seconds` | ✓ | The total duration of the output video in seconds. The value must be greater than or equal to 5 seconds and less than or equal to 60 seconds. Note: For 480p resolution, the value must be either 5 or 10. | `5.0` |
16
16
  | `orientation` | ✓ | Determines the orientation of the output video | `"landscape"` |
17
17
  | `style` | ✓ | | `{"prompt": "a dog running"}` |
18
- | `name` | ✗ | The name of video | `"Text To Video video"` |
19
- | `resolution` | ✗ | Controls the output video resolution. Defaults to `720p` if not specified. **Options:** - `480p` - Supports only 5 or 10 second videos. Output: 24fps. Cost: 120 credits per 5 seconds. - `720p` - Supports videos between 5-60 seconds. Output: 30fps. Cost: 300 credits per 5 seconds. - `1080p` - Supports videos between 5-60 seconds. Output: 30fps. Cost: 600 credits per 5 seconds. **Requires** `pro` or `business` tier. | `"1080p"` |
18
+ | `name` | ✗ | The name of video. This value is mainly used for your own identification of the video. | `"Text To Video video"` |
19
+ | `resolution` | ✗ | Controls the output video resolution. Defaults to `720p` if not specified. 480p and 720p are available on Creator, Pro, or Business tiers. However, 1080p require Pro or Business tier. **Options:** - `480p` - Supports only 5 or 10 second videos. Output: 24fps. Cost: 120 credits per 5 seconds. - `720p` - Supports videos between 5-60 seconds. Output: 30fps. Cost: 300 credits per 5 seconds. - `1080p` - Supports videos between 5-60 seconds. Output: 30fps. Cost: 600 credits per 5 seconds. | `"720p"` |
20
20
 
21
21
  #### Synchronous Client
22
22
 
@@ -30,6 +30,7 @@ res = client.v1.text_to_video.create(
30
30
  orientation="landscape",
31
31
  style={"prompt": "a dog running"},
32
32
  name="Text To Video video",
33
+ resolution="720p",
33
34
  )
34
35
 
35
36
  ```
@@ -46,6 +47,7 @@ res = await client.v1.text_to_video.create(
46
47
  orientation="landscape",
47
48
  style={"prompt": "a dog running"},
48
49
  name="Text To Video video",
50
+ resolution="720p",
49
51
  )
50
52
 
51
53
  ```
@@ -56,4 +58,4 @@ res = await client.v1.text_to_video.create(
56
58
  [V1TextToVideoCreateResponse](/magic_hour/types/models/v1_text_to_video_create_response.py)
57
59
 
58
60
  ##### Example
59
- `{"credits_charged": 450, "estimated_frame_cost": 450, "id": "clx7uu86w0a5qp55yxz315r6r"}`
61
+ `{"credits_charged": 450, "estimated_frame_cost": 450, "id": "cuid-example"}`
@@ -42,14 +42,20 @@ class TextToVideoClient:
42
42
  POST /v1/text-to-video
43
43
 
44
44
  Args:
45
- name: The name of video
45
+ name: The name of video. This value is mainly used for your own identification of the video.
46
46
  resolution: Controls the output video resolution. Defaults to `720p` if not specified.
47
47
 
48
+ 480p and 720p are available on Creator, Pro, or Business tiers. However, 1080p require Pro or Business tier.
49
+
48
50
  **Options:**
49
51
  - `480p` - Supports only 5 or 10 second videos. Output: 24fps. Cost: 120 credits per 5 seconds.
50
52
  - `720p` - Supports videos between 5-60 seconds. Output: 30fps. Cost: 300 credits per 5 seconds.
51
- - `1080p` - Supports videos between 5-60 seconds. Output: 30fps. Cost: 600 credits per 5 seconds. **Requires** `pro` or `business` tier.
53
+ - `1080p` - Supports videos between 5-60 seconds. Output: 30fps. Cost: 600 credits per 5 seconds.
52
54
  end_seconds: The total duration of the output video in seconds.
55
+
56
+ The value must be greater than or equal to 5 seconds and less than or equal to 60 seconds.
57
+
58
+ Note: For 480p resolution, the value must be either 5 or 10.
53
59
  orientation: Determines the orientation of the output video
54
60
  style: V1TextToVideoCreateBodyStyle
55
61
  request_options: Additional options to customize the HTTP request
@@ -68,6 +74,7 @@ class TextToVideoClient:
68
74
  orientation="landscape",
69
75
  style={"prompt": "a dog running"},
70
76
  name="Text To Video video",
77
+ resolution="720p",
71
78
  )
72
79
  ```
73
80
  """
@@ -121,14 +128,20 @@ class AsyncTextToVideoClient:
121
128
  POST /v1/text-to-video
122
129
 
123
130
  Args:
124
- name: The name of video
131
+ name: The name of video. This value is mainly used for your own identification of the video.
125
132
  resolution: Controls the output video resolution. Defaults to `720p` if not specified.
126
133
 
134
+ 480p and 720p are available on Creator, Pro, or Business tiers. However, 1080p require Pro or Business tier.
135
+
127
136
  **Options:**
128
137
  - `480p` - Supports only 5 or 10 second videos. Output: 24fps. Cost: 120 credits per 5 seconds.
129
138
  - `720p` - Supports videos between 5-60 seconds. Output: 30fps. Cost: 300 credits per 5 seconds.
130
- - `1080p` - Supports videos between 5-60 seconds. Output: 30fps. Cost: 600 credits per 5 seconds. **Requires** `pro` or `business` tier.
139
+ - `1080p` - Supports videos between 5-60 seconds. Output: 30fps. Cost: 600 credits per 5 seconds.
131
140
  end_seconds: The total duration of the output video in seconds.
141
+
142
+ The value must be greater than or equal to 5 seconds and less than or equal to 60 seconds.
143
+
144
+ Note: For 480p resolution, the value must be either 5 or 10.
132
145
  orientation: Determines the orientation of the output video
133
146
  style: V1TextToVideoCreateBodyStyle
134
147
  request_options: Additional options to customize the HTTP request
@@ -147,6 +160,7 @@ class AsyncTextToVideoClient:
147
160
  orientation="landscape",
148
161
  style={"prompt": "a dog running"},
149
162
  name="Text To Video video",
163
+ resolution="720p",
150
164
  )
151
165
  ```
152
166
  """
@@ -9,7 +9,7 @@ Permanently delete the rendered video. This action is not reversible, please be
9
9
 
10
10
  | Parameter | Required | Description | Example |
11
11
  |-----------|:--------:|-------------|--------|
12
- | `id` | ✓ | The id of the video project | `"cm6pvghix03bvyz0zwash6noj"` |
12
+ | `id` | ✓ | Unique ID of the video project. This value is returned by all of the POST APIs that create a video. | `"cuid-example"` |
13
13
 
14
14
  #### Synchronous Client
15
15
 
@@ -18,7 +18,7 @@ from magic_hour import Client
18
18
  from os import getenv
19
19
 
20
20
  client = Client(token=getenv("API_TOKEN"))
21
- res = client.v1.video_projects.delete(id="cm6pvghix03bvyz0zwash6noj")
21
+ res = client.v1.video_projects.delete(id="cuid-example")
22
22
 
23
23
  ```
24
24
 
@@ -29,7 +29,7 @@ from magic_hour import AsyncClient
29
29
  from os import getenv
30
30
 
31
31
  client = AsyncClient(token=getenv("API_TOKEN"))
32
- res = await client.v1.video_projects.delete(id="cm6pvghix03bvyz0zwash6noj")
32
+ res = await client.v1.video_projects.delete(id="cuid-example")
33
33
 
34
34
  ```
35
35
 
@@ -52,7 +52,7 @@ The video can be one of the following status
52
52
 
53
53
  | Parameter | Required | Description | Example |
54
54
  |-----------|:--------:|-------------|--------|
55
- | `id` | ✓ | The id of the video | `"cm6pvghix03bvyz0zwash6noj"` |
55
+ | `id` | ✓ | Unique ID of the video project. This value is returned by all of the POST APIs that create a video. | `"cuid-example"` |
56
56
 
57
57
  #### Synchronous Client
58
58
 
@@ -61,7 +61,7 @@ from magic_hour import Client
61
61
  from os import getenv
62
62
 
63
63
  client = Client(token=getenv("API_TOKEN"))
64
- res = client.v1.video_projects.get(id="cm6pvghix03bvyz0zwash6noj")
64
+ res = client.v1.video_projects.get(id="cuid-example")
65
65
 
66
66
  ```
67
67
 
@@ -72,7 +72,7 @@ from magic_hour import AsyncClient
72
72
  from os import getenv
73
73
 
74
74
  client = AsyncClient(token=getenv("API_TOKEN"))
75
- res = await client.v1.video_projects.get(id="cm6pvghix03bvyz0zwash6noj")
75
+ res = await client.v1.video_projects.get(id="cuid-example")
76
76
 
77
77
  ```
78
78
 
@@ -82,4 +82,4 @@ res = await client.v1.video_projects.get(id="cm6pvghix03bvyz0zwash6noj")
82
82
  [V1VideoProjectsGetResponse](/magic_hour/types/models/v1_video_projects_get_response.py)
83
83
 
84
84
  ##### Example
85
- `{"created_at": "1970-01-01T00:00:00", "credits_charged": 450, "download": {"expires_at": "2024-10-19T05:16:19.027Z", "url": "https://videos.magichour.ai/id/output.mp4"}, "downloads": [{"expires_at": "2024-10-19T05:16:19.027Z", "url": "https://videos.magichour.ai/id/output.mp4"}], "enabled": True, "end_seconds": 15.0, "error": {"code": "no_source_face", "message": "Please use an image with a detectable face"}, "fps": 30.0, "height": 960, "id": "clx7uu86w0a5qp55yxz315r6r", "name": "Example Name", "start_seconds": 0.0, "status": "complete", "total_frame_cost": 450, "type_": "FACE_SWAP", "width": 512}`
85
+ `{"created_at": "1970-01-01T00:00:00", "credits_charged": 450, "download": {"expires_at": "2024-10-19T05:16:19.027Z", "url": "https://videos.magichour.ai/id/output.mp4"}, "downloads": [{"expires_at": "2024-10-19T05:16:19.027Z", "url": "https://videos.magichour.ai/id/output.mp4"}], "enabled": True, "end_seconds": 15.0, "error": {"code": "no_source_face", "message": "Please use an image with a detectable face"}, "fps": 30.0, "height": 960, "id": "cuid-example", "name": "Example Name", "start_seconds": 0.0, "status": "complete", "total_frame_cost": 450, "type_": "FACE_SWAP", "width": 512}`
@@ -24,7 +24,7 @@ class VideoProjectsClient:
24
24
  DELETE /v1/video-projects/{id}
25
25
 
26
26
  Args:
27
- id: The id of the video project
27
+ id: Unique ID of the video project. This value is returned by all of the POST APIs that create a video.
28
28
  request_options: Additional options to customize the HTTP request
29
29
 
30
30
  Returns:
@@ -36,7 +36,7 @@ class VideoProjectsClient:
36
36
 
37
37
  Examples:
38
38
  ```py
39
- client.v1.video_projects.delete(id="cm6pvghix03bvyz0zwash6noj")
39
+ client.v1.video_projects.delete(id="cuid-example")
40
40
  ```
41
41
  """
42
42
  self._base_client.request(
@@ -67,7 +67,7 @@ class VideoProjectsClient:
67
67
  GET /v1/video-projects/{id}
68
68
 
69
69
  Args:
70
- id: The id of the video
70
+ id: Unique ID of the video project. This value is returned by all of the POST APIs that create a video.
71
71
  request_options: Additional options to customize the HTTP request
72
72
 
73
73
  Returns:
@@ -79,7 +79,7 @@ class VideoProjectsClient:
79
79
 
80
80
  Examples:
81
81
  ```py
82
- client.v1.video_projects.get(id="cm6pvghix03bvyz0zwash6noj")
82
+ client.v1.video_projects.get(id="cuid-example")
83
83
  ```
84
84
  """
85
85
  return self._base_client.request(
@@ -106,7 +106,7 @@ class AsyncVideoProjectsClient:
106
106
  DELETE /v1/video-projects/{id}
107
107
 
108
108
  Args:
109
- id: The id of the video project
109
+ id: Unique ID of the video project. This value is returned by all of the POST APIs that create a video.
110
110
  request_options: Additional options to customize the HTTP request
111
111
 
112
112
  Returns:
@@ -118,7 +118,7 @@ class AsyncVideoProjectsClient:
118
118
 
119
119
  Examples:
120
120
  ```py
121
- await client.v1.video_projects.delete(id="cm6pvghix03bvyz0zwash6noj")
121
+ await client.v1.video_projects.delete(id="cuid-example")
122
122
  ```
123
123
  """
124
124
  await self._base_client.request(
@@ -149,7 +149,7 @@ class AsyncVideoProjectsClient:
149
149
  GET /v1/video-projects/{id}
150
150
 
151
151
  Args:
152
- id: The id of the video
152
+ id: Unique ID of the video project. This value is returned by all of the POST APIs that create a video.
153
153
  request_options: Additional options to customize the HTTP request
154
154
 
155
155
  Returns:
@@ -161,7 +161,7 @@ class AsyncVideoProjectsClient:
161
161
 
162
162
  Examples:
163
163
  ```py
164
- await client.v1.video_projects.get(id="cm6pvghix03bvyz0zwash6noj")
164
+ await client.v1.video_projects.get(id="cuid-example")
165
165
  ```
166
166
  """
167
167
  return await self._base_client.request(
@@ -13,12 +13,12 @@ Get more information about this mode at our [product page](https://magichour.ai/
13
13
  | Parameter | Required | Description | Example |
14
14
  |-----------|:--------:|-------------|--------|
15
15
  | `assets` | ✓ | Provide the assets for video-to-video. For video, The `video_source` field determines whether `video_file_path` or `youtube_url` field is used | `{"video_file_path": "api-assets/id/1234.mp4", "video_source": "file"}` |
16
- | `end_seconds` | ✓ | The end time of the input video in seconds | `15.0` |
17
- | `start_seconds` | ✓ | The start time of the input video in seconds | `0.0` |
18
- | `style` | ✓ | | `{"art_style": "3D Render", "model": "Absolute Reality", "prompt": "string", "prompt_type": "append_default", "version": "default"}` |
16
+ | `end_seconds` | ✓ | The end time of the input video in seconds. This value is used to trim the input video. The value must be greater than 0.1, and more than the start_seconds. | `15.0` |
17
+ | `start_seconds` | ✓ | The start time of the input video in seconds. This value is used to trim the input video. The value must be greater than 0. | `0.0` |
18
+ | `style` | ✓ | | `{"art_style": "3D Render", "model": "default", "prompt": "string", "prompt_type": "default", "version": "default"}` |
19
19
  | `fps_resolution` | ✗ | Determines whether the resulting video will have the same frame per second as the original video, or half. * `FULL` - the result video will have the same FPS as the input video * `HALF` - the result video will have half the FPS as the input video | `"HALF"` |
20
20
  | `height` | ✗ | Used to determine the dimensions of the output video. * If height is provided, width will also be required. The larger value between width and height will be used to determine the maximum output resolution while maintaining the original aspect ratio. * If both height and width are omitted, the video will be resized according to your subscription's maximum resolution, while preserving aspect ratio. Note: if the video's original resolution is less than the maximum, the video will not be resized. See our [pricing page](https://magichour.ai/pricing) for more details. | `960` |
21
- | `name` | ✗ | The name of video | `"Video To Video video"` |
21
+ | `name` | ✗ | The name of video. This value is mainly used for your own identification of the video. | `"Video To Video video"` |
22
22
  | `width` | ✗ | Used to determine the dimensions of the output video. * If width is provided, height will also be required. The larger value between width and height will be used to determine the maximum output resolution while maintaining the original aspect ratio. * If both height and width are omitted, the video will be resized according to your subscription's maximum resolution, while preserving aspect ratio. Note: if the video's original resolution is less than the maximum, the video will not be resized. See our [pricing page](https://magichour.ai/pricing) for more details. | `512` |
23
23
 
24
24
  #### Synchronous Client
@@ -34,9 +34,9 @@ res = client.v1.video_to_video.create(
34
34
  start_seconds=0.0,
35
35
  style={
36
36
  "art_style": "3D Render",
37
- "model": "Absolute Reality",
37
+ "model": "default",
38
38
  "prompt": "string",
39
- "prompt_type": "append_default",
39
+ "prompt_type": "default",
40
40
  "version": "default",
41
41
  },
42
42
  fps_resolution="HALF",
@@ -60,9 +60,9 @@ res = await client.v1.video_to_video.create(
60
60
  start_seconds=0.0,
61
61
  style={
62
62
  "art_style": "3D Render",
63
- "model": "Absolute Reality",
63
+ "model": "default",
64
64
  "prompt": "string",
65
- "prompt_type": "append_default",
65
+ "prompt_type": "default",
66
66
  "version": "default",
67
67
  },
68
68
  fps_resolution="HALF",
@@ -79,4 +79,4 @@ res = await client.v1.video_to_video.create(
79
79
  [V1VideoToVideoCreateResponse](/magic_hour/types/models/v1_video_to_video_create_response.py)
80
80
 
81
81
  ##### Example
82
- `{"credits_charged": 450, "estimated_frame_cost": 450, "id": "clx7uu86w0a5qp55yxz315r6r"}`
82
+ `{"credits_charged": 450, "estimated_frame_cost": 450, "id": "cuid-example"}`
@@ -60,7 +60,7 @@ class VideoToVideoClient:
60
60
  Note: if the video's original resolution is less than the maximum, the video will not be resized.
61
61
 
62
62
  See our [pricing page](https://magichour.ai/pricing) for more details.
63
- name: The name of video
63
+ name: The name of video. This value is mainly used for your own identification of the video.
64
64
  width: Used to determine the dimensions of the output video.
65
65
 
66
66
  * If width is provided, height will also be required. The larger value between width and height will be used to determine the maximum output resolution while maintaining the original aspect ratio.
@@ -70,8 +70,8 @@ class VideoToVideoClient:
70
70
 
71
71
  See our [pricing page](https://magichour.ai/pricing) for more details.
72
72
  assets: Provide the assets for video-to-video. For video, The `video_source` field determines whether `video_file_path` or `youtube_url` field is used
73
- end_seconds: The end time of the input video in seconds
74
- start_seconds: The start time of the input video in seconds
73
+ end_seconds: The end time of the input video in seconds. This value is used to trim the input video. The value must be greater than 0.1, and more than the start_seconds.
74
+ start_seconds: The start time of the input video in seconds. This value is used to trim the input video. The value must be greater than 0.
75
75
  style: V1VideoToVideoCreateBodyStyle
76
76
  request_options: Additional options to customize the HTTP request
77
77
 
@@ -93,9 +93,9 @@ class VideoToVideoClient:
93
93
  start_seconds=0.0,
94
94
  style={
95
95
  "art_style": "3D Render",
96
- "model": "Absolute Reality",
96
+ "model": "default",
97
97
  "prompt": "string",
98
- "prompt_type": "append_default",
98
+ "prompt_type": "default",
99
99
  "version": "default",
100
100
  },
101
101
  fps_resolution="HALF",
@@ -176,7 +176,7 @@ class AsyncVideoToVideoClient:
176
176
  Note: if the video's original resolution is less than the maximum, the video will not be resized.
177
177
 
178
178
  See our [pricing page](https://magichour.ai/pricing) for more details.
179
- name: The name of video
179
+ name: The name of video. This value is mainly used for your own identification of the video.
180
180
  width: Used to determine the dimensions of the output video.
181
181
 
182
182
  * If width is provided, height will also be required. The larger value between width and height will be used to determine the maximum output resolution while maintaining the original aspect ratio.
@@ -186,8 +186,8 @@ class AsyncVideoToVideoClient:
186
186
 
187
187
  See our [pricing page](https://magichour.ai/pricing) for more details.
188
188
  assets: Provide the assets for video-to-video. For video, The `video_source` field determines whether `video_file_path` or `youtube_url` field is used
189
- end_seconds: The end time of the input video in seconds
190
- start_seconds: The start time of the input video in seconds
189
+ end_seconds: The end time of the input video in seconds. This value is used to trim the input video. The value must be greater than 0.1, and more than the start_seconds.
190
+ start_seconds: The start time of the input video in seconds. This value is used to trim the input video. The value must be greater than 0.
191
191
  style: V1VideoToVideoCreateBodyStyle
192
192
  request_options: Additional options to customize the HTTP request
193
193
 
@@ -209,9 +209,9 @@ class AsyncVideoToVideoClient:
209
209
  start_seconds=0.0,
210
210
  style={
211
211
  "art_style": "3D Render",
212
- "model": "Absolute Reality",
212
+ "model": "default",
213
213
  "prompt": "string",
214
- "prompt_type": "append_default",
214
+ "prompt_type": "default",
215
215
  "version": "default",
216
216
  },
217
217
  fps_resolution="HALF",
@@ -21,5 +21,5 @@ class V1FaceDetectionCreateResponse(pydantic.BaseModel):
21
21
  alias="id",
22
22
  )
23
23
  """
24
- The id of the task
24
+ The id of the task. Use this value in the [get face detection details API](/api-reference/files/get-face-detection-details) to get the details of the face detection task.
25
25
  """
@@ -33,7 +33,7 @@ class V1FaceDetectionGetResponse(pydantic.BaseModel):
33
33
  alias="id",
34
34
  )
35
35
  """
36
- The id of the task
36
+ The id of the task. This value is returned by the [face detection API](/api-reference/files/face-detection#response-id).
37
37
  """
38
38
  status: typing_extensions.Literal["complete", "error", "queued", "rendering"] = (
39
39
  pydantic.Field(
@@ -19,3 +19,6 @@ class V1FilesUploadUrlsCreateResponse(pydantic.BaseModel):
19
19
  items: typing.List[V1FilesUploadUrlsCreateResponseItemsItem] = pydantic.Field(
20
20
  alias="items",
21
21
  )
22
+ """
23
+ The list of upload URLs and file paths for the assets. The response array will match the order of items in the request body. Refer to the [Input Files Guide](/integration/input-files) for more details.
24
+ """
@@ -49,7 +49,7 @@ class V1VideoProjectsGetResponse(pydantic.BaseModel):
49
49
  alias="end_seconds",
50
50
  )
51
51
  """
52
- The end time of the input video in seconds
52
+ The end time of the input video in seconds. This value is used to trim the input video. The value must be greater than 0.1, and more than the start_seconds.
53
53
  """
54
54
  error: typing.Optional[V1VideoProjectsGetResponseError] = pydantic.Field(
55
55
  alias="error",
@@ -85,7 +85,7 @@ class V1VideoProjectsGetResponse(pydantic.BaseModel):
85
85
  alias="start_seconds",
86
86
  )
87
87
  """
88
- The start time of the input video in seconds
88
+ The start time of the input video in seconds. This value is used to trim the input video. The value must be greater than 0.
89
89
  """
90
90
  status: typing_extensions.Literal[
91
91
  "canceled", "complete", "draft", "error", "queued", "rendering"
@@ -20,7 +20,7 @@ class V1AiClothesChangerCreateBody(typing_extensions.TypedDict):
20
20
 
21
21
  name: typing_extensions.NotRequired[str]
22
22
  """
23
- The name of image
23
+ The name of image. This value is mainly used for your own identification of the image.
24
24
  """
25
25
 
26
26
 
@@ -9,16 +9,29 @@ class V1AiClothesChangerCreateBodyAssets(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](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls), or the url of the file..
12
+ The image of the outfit. This value is either
13
+ - a direct URL to the video file
14
+ - `file_path` field from the response of the [upload urls API](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls).
15
+
16
+ Please refer to the [Input File documentation](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls#input-file) to learn more.
17
+
13
18
  """
14
19
 
15
20
  garment_type: typing_extensions.Required[
16
21
  typing_extensions.Literal["dresses", "lower_body", "upper_body"]
17
22
  ]
23
+ """
24
+ The type of the outfit.
25
+ """
18
26
 
19
27
  person_file_path: typing_extensions.Required[str]
20
28
  """
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..
29
+ The image with the person. This value is either
30
+ - a direct URL to the video file
31
+ - `file_path` field from the response of the [upload urls API](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls).
32
+
33
+ Please refer to the [Input File documentation](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls#input-file) to learn more.
34
+
22
35
  """
23
36
 
24
37
 
@@ -24,7 +24,7 @@ class V1AiFaceEditorCreateBody(typing_extensions.TypedDict):
24
24
 
25
25
  name: typing_extensions.NotRequired[str]
26
26
  """
27
- The name of image
27
+ The name of image. This value is mainly used for your own identification of the image.
28
28
  """
29
29
 
30
30
  style: typing_extensions.Required[V1AiFaceEditorCreateBodyStyle]
@@ -9,7 +9,12 @@ class V1AiFaceEditorCreateBodyAssets(typing_extensions.TypedDict):
9
9
 
10
10
  image_file_path: typing_extensions.Required[str]
11
11
  """
12
- This is the image whose face will be edited. 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.
12
+ This is the image whose face will be edited. This value is either
13
+ - a direct URL to the video file
14
+ - `file_path` field from the response of the [upload urls API](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls).
15
+
16
+ Please refer to the [Input File documentation](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls#input-file) to learn more.
17
+
13
18
  """
14
19
 
15
20