magic_hour 0.9.5__py3-none-any.whl → 0.44.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.
Files changed (264) hide show
  1. magic_hour/README.md +34 -0
  2. magic_hour/__init__.py +1 -1
  3. magic_hour/client.py +8 -17
  4. magic_hour/environment.py +13 -1
  5. magic_hour/helpers/__init__.py +4 -0
  6. magic_hour/helpers/download.py +77 -0
  7. magic_hour/helpers/logger.py +8 -0
  8. magic_hour/resources/v1/README.md +32 -0
  9. magic_hour/resources/v1/ai_clothes_changer/README.md +94 -5
  10. magic_hour/resources/v1/ai_clothes_changer/client.py +161 -16
  11. magic_hour/resources/v1/ai_face_editor/README.md +195 -0
  12. magic_hour/resources/v1/ai_face_editor/__init__.py +4 -0
  13. magic_hour/resources/v1/ai_face_editor/client.py +324 -0
  14. magic_hour/resources/v1/ai_gif_generator/README.md +116 -0
  15. magic_hour/resources/v1/ai_gif_generator/__init__.py +4 -0
  16. magic_hour/resources/v1/ai_gif_generator/client.py +257 -0
  17. magic_hour/resources/v1/ai_headshot_generator/README.md +81 -3
  18. magic_hour/resources/v1/ai_headshot_generator/client.py +167 -18
  19. magic_hour/resources/v1/ai_image_editor/README.md +125 -0
  20. magic_hour/resources/v1/ai_image_editor/__init__.py +4 -0
  21. magic_hour/resources/v1/ai_image_editor/client.py +290 -0
  22. magic_hour/resources/v1/ai_image_generator/README.md +99 -5
  23. magic_hour/resources/v1/ai_image_generator/client.py +170 -24
  24. magic_hour/resources/v1/ai_image_upscaler/README.md +89 -3
  25. magic_hour/resources/v1/ai_image_upscaler/client.py +173 -20
  26. magic_hour/resources/v1/ai_meme_generator/README.md +129 -0
  27. magic_hour/resources/v1/ai_meme_generator/__init__.py +4 -0
  28. magic_hour/resources/v1/ai_meme_generator/client.py +253 -0
  29. magic_hour/resources/v1/ai_photo_editor/README.md +119 -4
  30. magic_hour/resources/v1/ai_photo_editor/client.py +199 -18
  31. magic_hour/resources/v1/ai_qr_code_generator/README.md +84 -3
  32. magic_hour/resources/v1/ai_qr_code_generator/client.py +140 -18
  33. magic_hour/resources/v1/ai_talking_photo/README.md +137 -0
  34. magic_hour/resources/v1/ai_talking_photo/__init__.py +4 -0
  35. magic_hour/resources/v1/ai_talking_photo/client.py +326 -0
  36. magic_hour/resources/v1/ai_voice_cloner/README.md +62 -0
  37. magic_hour/resources/v1/ai_voice_cloner/__init__.py +4 -0
  38. magic_hour/resources/v1/ai_voice_cloner/client.py +272 -0
  39. magic_hour/resources/v1/ai_voice_generator/README.md +112 -0
  40. magic_hour/resources/v1/ai_voice_generator/__init__.py +4 -0
  41. magic_hour/resources/v1/ai_voice_generator/client.py +241 -0
  42. magic_hour/resources/v1/animation/README.md +128 -6
  43. magic_hour/resources/v1/animation/client.py +247 -22
  44. magic_hour/resources/v1/audio_projects/README.md +135 -0
  45. magic_hour/resources/v1/audio_projects/__init__.py +12 -0
  46. magic_hour/resources/v1/audio_projects/client.py +310 -0
  47. magic_hour/resources/v1/audio_projects/client_test.py +520 -0
  48. magic_hour/resources/v1/auto_subtitle_generator/README.md +128 -0
  49. magic_hour/resources/v1/auto_subtitle_generator/__init__.py +4 -0
  50. magic_hour/resources/v1/auto_subtitle_generator/client.py +346 -0
  51. magic_hour/resources/v1/client.py +75 -1
  52. magic_hour/resources/v1/face_detection/README.md +157 -0
  53. magic_hour/resources/v1/face_detection/__init__.py +12 -0
  54. magic_hour/resources/v1/face_detection/client.py +380 -0
  55. magic_hour/resources/v1/face_swap/README.md +137 -9
  56. magic_hour/resources/v1/face_swap/client.py +329 -38
  57. magic_hour/resources/v1/face_swap_photo/README.md +118 -3
  58. magic_hour/resources/v1/face_swap_photo/client.py +199 -14
  59. magic_hour/resources/v1/files/README.md +39 -0
  60. magic_hour/resources/v1/files/client.py +351 -1
  61. magic_hour/resources/v1/files/client_test.py +414 -0
  62. magic_hour/resources/v1/files/upload_urls/README.md +38 -17
  63. magic_hour/resources/v1/files/upload_urls/client.py +38 -34
  64. magic_hour/resources/v1/image_background_remover/README.md +96 -5
  65. magic_hour/resources/v1/image_background_remover/client.py +151 -16
  66. magic_hour/resources/v1/image_projects/README.md +82 -10
  67. magic_hour/resources/v1/image_projects/__init__.py +10 -2
  68. magic_hour/resources/v1/image_projects/client.py +154 -16
  69. magic_hour/resources/v1/image_projects/client_test.py +527 -0
  70. magic_hour/resources/v1/image_to_video/README.md +96 -11
  71. magic_hour/resources/v1/image_to_video/client.py +282 -38
  72. magic_hour/resources/v1/lip_sync/README.md +112 -9
  73. magic_hour/resources/v1/lip_sync/client.py +288 -34
  74. magic_hour/resources/v1/photo_colorizer/README.md +107 -0
  75. magic_hour/resources/v1/photo_colorizer/__init__.py +4 -0
  76. magic_hour/resources/v1/photo_colorizer/client.py +248 -0
  77. magic_hour/resources/v1/text_to_video/README.md +96 -7
  78. magic_hour/resources/v1/text_to_video/client.py +204 -18
  79. magic_hour/resources/v1/video_projects/README.md +81 -9
  80. magic_hour/resources/v1/video_projects/__init__.py +10 -2
  81. magic_hour/resources/v1/video_projects/client.py +151 -14
  82. magic_hour/resources/v1/video_projects/client_test.py +527 -0
  83. magic_hour/resources/v1/video_to_video/README.md +119 -15
  84. magic_hour/resources/v1/video_to_video/client.py +299 -46
  85. magic_hour/types/models/__init__.py +92 -56
  86. magic_hour/types/models/v1_ai_clothes_changer_create_response.py +33 -0
  87. magic_hour/types/models/v1_ai_face_editor_create_response.py +33 -0
  88. magic_hour/types/models/v1_ai_gif_generator_create_response.py +33 -0
  89. magic_hour/types/models/v1_ai_headshot_generator_create_response.py +33 -0
  90. magic_hour/types/models/v1_ai_image_editor_create_response.py +33 -0
  91. magic_hour/types/models/v1_ai_image_generator_create_response.py +33 -0
  92. magic_hour/types/models/v1_ai_image_upscaler_create_response.py +33 -0
  93. magic_hour/types/models/v1_ai_meme_generator_create_response.py +33 -0
  94. magic_hour/types/models/v1_ai_photo_editor_create_response.py +33 -0
  95. magic_hour/types/models/v1_ai_qr_code_generator_create_response.py +33 -0
  96. magic_hour/types/models/v1_ai_talking_photo_create_response.py +35 -0
  97. magic_hour/types/models/v1_ai_voice_cloner_create_response.py +27 -0
  98. magic_hour/types/models/v1_ai_voice_generator_create_response.py +27 -0
  99. magic_hour/types/models/v1_animation_create_response.py +35 -0
  100. magic_hour/types/models/v1_audio_projects_get_response.py +72 -0
  101. magic_hour/types/models/v1_audio_projects_get_response_downloads_item.py +19 -0
  102. magic_hour/types/models/{get_v1_image_projects_id_response_error.py → v1_audio_projects_get_response_error.py} +2 -2
  103. magic_hour/types/models/v1_auto_subtitle_generator_create_response.py +35 -0
  104. magic_hour/types/models/v1_face_detection_create_response.py +25 -0
  105. magic_hour/types/models/v1_face_detection_get_response.py +45 -0
  106. magic_hour/types/models/v1_face_detection_get_response_faces_item.py +25 -0
  107. magic_hour/types/models/v1_face_swap_create_response.py +35 -0
  108. magic_hour/types/models/v1_face_swap_photo_create_response.py +33 -0
  109. magic_hour/types/models/v1_files_upload_urls_create_response.py +24 -0
  110. magic_hour/types/models/{post_v1_files_upload_urls_response_items_item.py → v1_files_upload_urls_create_response_items_item.py} +2 -2
  111. magic_hour/types/models/v1_image_background_remover_create_response.py +33 -0
  112. magic_hour/types/models/{get_v1_image_projects_id_response.py → v1_image_projects_get_response.py} +20 -18
  113. magic_hour/types/models/{get_v1_video_projects_id_response_downloads_item.py → v1_image_projects_get_response_downloads_item.py} +1 -1
  114. magic_hour/types/models/{get_v1_video_projects_id_response_error.py → v1_image_projects_get_response_error.py} +2 -2
  115. magic_hour/types/models/v1_image_to_video_create_response.py +35 -0
  116. magic_hour/types/models/v1_lip_sync_create_response.py +35 -0
  117. magic_hour/types/models/v1_photo_colorizer_create_response.py +33 -0
  118. magic_hour/types/models/v1_text_to_video_create_response.py +35 -0
  119. magic_hour/types/models/{get_v1_video_projects_id_response.py → v1_video_projects_get_response.py} +26 -23
  120. magic_hour/types/models/{get_v1_video_projects_id_response_download.py → v1_video_projects_get_response_download.py} +1 -1
  121. magic_hour/types/models/{get_v1_image_projects_id_response_downloads_item.py → v1_video_projects_get_response_downloads_item.py} +1 -1
  122. magic_hour/types/models/v1_video_projects_get_response_error.py +25 -0
  123. magic_hour/types/models/v1_video_to_video_create_response.py +35 -0
  124. magic_hour/types/params/__init__.py +422 -176
  125. magic_hour/types/params/v1_ai_clothes_changer_create_body.py +40 -0
  126. magic_hour/types/params/v1_ai_clothes_changer_create_body_assets.py +58 -0
  127. magic_hour/types/params/v1_ai_clothes_changer_generate_body_assets.py +33 -0
  128. magic_hour/types/params/v1_ai_face_editor_create_body.py +52 -0
  129. magic_hour/types/params/v1_ai_face_editor_create_body_assets.py +33 -0
  130. magic_hour/types/params/v1_ai_face_editor_create_body_style.py +137 -0
  131. magic_hour/types/params/v1_ai_face_editor_generate_body_assets.py +17 -0
  132. magic_hour/types/params/v1_ai_gif_generator_create_body.py +47 -0
  133. magic_hour/types/params/{post_v1_ai_image_generator_body_style.py → v1_ai_gif_generator_create_body_style.py} +5 -5
  134. magic_hour/types/params/v1_ai_headshot_generator_create_body.py +49 -0
  135. magic_hour/types/params/v1_ai_headshot_generator_create_body_assets.py +33 -0
  136. magic_hour/types/params/v1_ai_headshot_generator_create_body_style.py +27 -0
  137. magic_hour/types/params/v1_ai_headshot_generator_generate_body_assets.py +17 -0
  138. magic_hour/types/params/v1_ai_image_editor_create_body.py +49 -0
  139. magic_hour/types/params/v1_ai_image_editor_create_body_assets.py +47 -0
  140. magic_hour/types/params/v1_ai_image_editor_create_body_style.py +41 -0
  141. magic_hour/types/params/v1_ai_image_editor_generate_body_assets.py +28 -0
  142. magic_hour/types/params/{post_v1_ai_image_generator_body.py → v1_ai_image_generator_create_body.py} +17 -11
  143. magic_hour/types/params/v1_ai_image_generator_create_body_style.py +127 -0
  144. magic_hour/types/params/v1_ai_image_upscaler_create_body.py +59 -0
  145. magic_hour/types/params/v1_ai_image_upscaler_create_body_assets.py +33 -0
  146. magic_hour/types/params/{post_v1_ai_image_upscaler_body_style.py → v1_ai_image_upscaler_create_body_style.py} +4 -4
  147. magic_hour/types/params/v1_ai_image_upscaler_generate_body_assets.py +17 -0
  148. magic_hour/types/params/v1_ai_meme_generator_create_body.py +37 -0
  149. magic_hour/types/params/v1_ai_meme_generator_create_body_style.py +73 -0
  150. magic_hour/types/params/{post_v1_ai_photo_editor_body.py → v1_ai_photo_editor_create_body.py} +15 -15
  151. magic_hour/types/params/v1_ai_photo_editor_create_body_assets.py +33 -0
  152. magic_hour/types/params/{post_v1_ai_photo_editor_body_style.py → v1_ai_photo_editor_create_body_style.py} +20 -4
  153. magic_hour/types/params/v1_ai_photo_editor_generate_body_assets.py +17 -0
  154. magic_hour/types/params/v1_ai_qr_code_generator_create_body.py +45 -0
  155. magic_hour/types/params/{post_v1_ai_qr_code_generator_body_style.py → v1_ai_qr_code_generator_create_body_style.py} +4 -4
  156. magic_hour/types/params/v1_ai_talking_photo_create_body.py +68 -0
  157. magic_hour/types/params/v1_ai_talking_photo_create_body_assets.py +46 -0
  158. magic_hour/types/params/v1_ai_talking_photo_create_body_style.py +44 -0
  159. magic_hour/types/params/v1_ai_talking_photo_generate_body_assets.py +26 -0
  160. magic_hour/types/params/v1_ai_voice_cloner_create_body.py +49 -0
  161. magic_hour/types/params/v1_ai_voice_cloner_create_body_assets.py +33 -0
  162. magic_hour/types/params/v1_ai_voice_cloner_create_body_style.py +28 -0
  163. magic_hour/types/params/v1_ai_voice_cloner_generate_body_assets.py +28 -0
  164. magic_hour/types/params/v1_ai_voice_generator_create_body.py +40 -0
  165. magic_hour/types/params/v1_ai_voice_generator_create_body_style.py +440 -0
  166. magic_hour/types/params/{post_v1_animation_body.py → v1_animation_create_body.py} +16 -16
  167. magic_hour/types/params/{post_v1_animation_body_assets.py → v1_animation_create_body_assets.py} +15 -5
  168. magic_hour/types/params/{post_v1_animation_body_style.py → v1_animation_create_body_style.py} +13 -10
  169. magic_hour/types/params/v1_animation_generate_body_assets.py +39 -0
  170. magic_hour/types/params/v1_auto_subtitle_generator_create_body.py +78 -0
  171. magic_hour/types/params/v1_auto_subtitle_generator_create_body_assets.py +33 -0
  172. magic_hour/types/params/v1_auto_subtitle_generator_create_body_style.py +56 -0
  173. magic_hour/types/params/v1_auto_subtitle_generator_create_body_style_custom_config.py +86 -0
  174. magic_hour/types/params/v1_auto_subtitle_generator_generate_body_assets.py +17 -0
  175. magic_hour/types/params/v1_face_detection_create_body.py +44 -0
  176. magic_hour/types/params/v1_face_detection_create_body_assets.py +33 -0
  177. magic_hour/types/params/v1_face_detection_generate_body_assets.py +17 -0
  178. magic_hour/types/params/v1_face_swap_create_body.py +92 -0
  179. magic_hour/types/params/v1_face_swap_create_body_assets.py +91 -0
  180. magic_hour/types/params/v1_face_swap_create_body_assets_face_mappings_item.py +44 -0
  181. magic_hour/types/params/v1_face_swap_create_body_style.py +33 -0
  182. magic_hour/types/params/v1_face_swap_generate_body_assets.py +56 -0
  183. magic_hour/types/params/v1_face_swap_generate_body_assets_face_mappings_item.py +25 -0
  184. magic_hour/types/params/v1_face_swap_photo_create_body.py +40 -0
  185. magic_hour/types/params/v1_face_swap_photo_create_body_assets.py +76 -0
  186. magic_hour/types/params/v1_face_swap_photo_create_body_assets_face_mappings_item.py +44 -0
  187. magic_hour/types/params/v1_face_swap_photo_generate_body_assets.py +47 -0
  188. magic_hour/types/params/v1_face_swap_photo_generate_body_assets_face_mappings_item.py +25 -0
  189. magic_hour/types/params/v1_files_upload_urls_create_body.py +36 -0
  190. magic_hour/types/params/v1_files_upload_urls_create_body_items_item.py +38 -0
  191. magic_hour/types/params/v1_image_background_remover_create_body.py +40 -0
  192. magic_hour/types/params/v1_image_background_remover_create_body_assets.py +49 -0
  193. magic_hour/types/params/v1_image_background_remover_generate_body_assets.py +27 -0
  194. magic_hour/types/params/v1_image_to_video_create_body.py +101 -0
  195. magic_hour/types/params/v1_image_to_video_create_body_assets.py +33 -0
  196. magic_hour/types/params/v1_image_to_video_create_body_style.py +53 -0
  197. magic_hour/types/params/v1_image_to_video_generate_body_assets.py +17 -0
  198. magic_hour/types/params/v1_lip_sync_create_body.py +100 -0
  199. magic_hour/types/params/{post_v1_lip_sync_body_assets.py → v1_lip_sync_create_body_assets.py} +15 -5
  200. magic_hour/types/params/v1_lip_sync_create_body_style.py +37 -0
  201. magic_hour/types/params/v1_lip_sync_generate_body_assets.py +36 -0
  202. magic_hour/types/params/v1_photo_colorizer_create_body.py +40 -0
  203. magic_hour/types/params/v1_photo_colorizer_create_body_assets.py +33 -0
  204. magic_hour/types/params/v1_photo_colorizer_generate_body_assets.py +17 -0
  205. magic_hour/types/params/v1_text_to_video_create_body.py +78 -0
  206. magic_hour/types/params/v1_text_to_video_create_body_style.py +43 -0
  207. magic_hour/types/params/v1_video_to_video_create_body.py +101 -0
  208. magic_hour/types/params/{post_v1_video_to_video_body_assets.py → v1_video_to_video_create_body_assets.py} +9 -4
  209. magic_hour/types/params/{post_v1_video_to_video_body_style.py → v1_video_to_video_create_body_style.py} +68 -26
  210. magic_hour/types/params/v1_video_to_video_generate_body_assets.py +27 -0
  211. magic_hour-0.44.0.dist-info/METADATA +328 -0
  212. magic_hour-0.44.0.dist-info/RECORD +231 -0
  213. magic_hour/core/__init__.py +0 -52
  214. magic_hour/core/api_error.py +0 -56
  215. magic_hour/core/auth.py +0 -314
  216. magic_hour/core/base_client.py +0 -618
  217. magic_hour/core/binary_response.py +0 -23
  218. magic_hour/core/query.py +0 -106
  219. magic_hour/core/request.py +0 -156
  220. magic_hour/core/response.py +0 -293
  221. magic_hour/core/type_utils.py +0 -28
  222. magic_hour/core/utils.py +0 -55
  223. magic_hour/types/models/post_v1_ai_clothes_changer_response.py +0 -25
  224. magic_hour/types/models/post_v1_ai_headshot_generator_response.py +0 -25
  225. magic_hour/types/models/post_v1_ai_image_generator_response.py +0 -25
  226. magic_hour/types/models/post_v1_ai_image_upscaler_response.py +0 -25
  227. magic_hour/types/models/post_v1_ai_photo_editor_response.py +0 -25
  228. magic_hour/types/models/post_v1_ai_qr_code_generator_response.py +0 -25
  229. magic_hour/types/models/post_v1_animation_response.py +0 -25
  230. magic_hour/types/models/post_v1_face_swap_photo_response.py +0 -25
  231. magic_hour/types/models/post_v1_face_swap_response.py +0 -25
  232. magic_hour/types/models/post_v1_files_upload_urls_response.py +0 -21
  233. magic_hour/types/models/post_v1_image_background_remover_response.py +0 -25
  234. magic_hour/types/models/post_v1_image_to_video_response.py +0 -25
  235. magic_hour/types/models/post_v1_lip_sync_response.py +0 -25
  236. magic_hour/types/models/post_v1_text_to_video_response.py +0 -25
  237. magic_hour/types/models/post_v1_video_to_video_response.py +0 -25
  238. magic_hour/types/params/post_v1_ai_clothes_changer_body.py +0 -40
  239. magic_hour/types/params/post_v1_ai_clothes_changer_body_assets.py +0 -45
  240. magic_hour/types/params/post_v1_ai_headshot_generator_body.py +0 -40
  241. magic_hour/types/params/post_v1_ai_headshot_generator_body_assets.py +0 -28
  242. magic_hour/types/params/post_v1_ai_image_upscaler_body.py +0 -57
  243. magic_hour/types/params/post_v1_ai_image_upscaler_body_assets.py +0 -28
  244. magic_hour/types/params/post_v1_ai_photo_editor_body_assets.py +0 -28
  245. magic_hour/types/params/post_v1_ai_qr_code_generator_body.py +0 -45
  246. magic_hour/types/params/post_v1_face_swap_body.py +0 -72
  247. magic_hour/types/params/post_v1_face_swap_body_assets.py +0 -52
  248. magic_hour/types/params/post_v1_face_swap_photo_body.py +0 -40
  249. magic_hour/types/params/post_v1_face_swap_photo_body_assets.py +0 -36
  250. magic_hour/types/params/post_v1_files_upload_urls_body.py +0 -31
  251. magic_hour/types/params/post_v1_files_upload_urls_body_items_item.py +0 -38
  252. magic_hour/types/params/post_v1_image_background_remover_body.py +0 -40
  253. magic_hour/types/params/post_v1_image_background_remover_body_assets.py +0 -28
  254. magic_hour/types/params/post_v1_image_to_video_body.py +0 -73
  255. magic_hour/types/params/post_v1_image_to_video_body_assets.py +0 -28
  256. magic_hour/types/params/post_v1_image_to_video_body_style.py +0 -37
  257. magic_hour/types/params/post_v1_lip_sync_body.py +0 -80
  258. magic_hour/types/params/post_v1_text_to_video_body.py +0 -57
  259. magic_hour/types/params/post_v1_text_to_video_body_style.py +0 -28
  260. magic_hour/types/params/post_v1_video_to_video_body.py +0 -93
  261. magic_hour-0.9.5.dist-info/METADATA +0 -133
  262. magic_hour-0.9.5.dist-info/RECORD +0 -132
  263. {magic_hour-0.9.5.dist-info → magic_hour-0.44.0.dist-info}/LICENSE +0 -0
  264. {magic_hour-0.9.5.dist-info → magic_hour-0.44.0.dist-info}/WHEEL +0 -0
@@ -1,25 +0,0 @@
1
- import pydantic
2
-
3
-
4
- class PostV1AiImageGeneratorResponse(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,25 +0,0 @@
1
- import pydantic
2
-
3
-
4
- class PostV1AiImageUpscalerResponse(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,25 +0,0 @@
1
- import pydantic
2
-
3
-
4
- class PostV1AiPhotoEditorResponse(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,25 +0,0 @@
1
- import pydantic
2
-
3
-
4
- class PostV1AiQrCodeGeneratorResponse(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,25 +0,0 @@
1
- import pydantic
2
-
3
-
4
- class PostV1AnimationResponse(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
- """
@@ -1,25 +0,0 @@
1
- import pydantic
2
-
3
-
4
- class PostV1FaceSwapPhotoResponse(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,25 +0,0 @@
1
- import pydantic
2
-
3
-
4
- class PostV1FaceSwapResponse(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 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,21 +0,0 @@
1
- import pydantic
2
- import typing
3
-
4
- from .post_v1_files_upload_urls_response_items_item import (
5
- PostV1FilesUploadUrlsResponseItemsItem,
6
- )
7
-
8
-
9
- class PostV1FilesUploadUrlsResponse(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[PostV1FilesUploadUrlsResponseItemsItem] = pydantic.Field(
20
- alias="items",
21
- )
@@ -1,25 +0,0 @@
1
- import pydantic
2
-
3
-
4
- class PostV1ImageBackgroundRemoverResponse(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,25 +0,0 @@
1
- import pydantic
2
-
3
-
4
- class PostV1ImageToVideoResponse(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
- """
@@ -1,25 +0,0 @@
1
- import pydantic
2
-
3
-
4
- class PostV1LipSyncResponse(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
- """
@@ -1,25 +0,0 @@
1
- import pydantic
2
-
3
-
4
- class PostV1TextToVideoResponse(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
- """
@@ -1,25 +0,0 @@
1
- import pydantic
2
-
3
-
4
- class PostV1VideoToVideoResponse(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
- """
@@ -1,40 +0,0 @@
1
- import pydantic
2
- import typing
3
- import typing_extensions
4
-
5
- from .post_v1_ai_clothes_changer_body_assets import (
6
- PostV1AiClothesChangerBodyAssets,
7
- _SerializerPostV1AiClothesChangerBodyAssets,
8
- )
9
-
10
-
11
- class PostV1AiClothesChangerBody(typing_extensions.TypedDict):
12
- """
13
- PostV1AiClothesChangerBody
14
- """
15
-
16
- assets: typing_extensions.Required[PostV1AiClothesChangerBodyAssets]
17
- """
18
- Provide the assets for clothes changer
19
- """
20
-
21
- name: typing_extensions.NotRequired[str]
22
- """
23
- The name of image
24
- """
25
-
26
-
27
- class _SerializerPostV1AiClothesChangerBody(pydantic.BaseModel):
28
- """
29
- Serializer for PostV1AiClothesChangerBody handling case conversions
30
- and file omissions as dictated by the API
31
- """
32
-
33
- model_config = pydantic.ConfigDict(
34
- populate_by_name=True,
35
- )
36
-
37
- assets: _SerializerPostV1AiClothesChangerBodyAssets = pydantic.Field(
38
- alias="assets",
39
- )
40
- name: typing.Optional[str] = pydantic.Field(alias="name", default=None)
@@ -1,45 +0,0 @@
1
- import pydantic
2
- import typing_extensions
3
-
4
-
5
- class PostV1AiClothesChangerBodyAssets(typing_extensions.TypedDict):
6
- """
7
- Provide the assets for clothes changer
8
- """
9
-
10
- garment_file_path: typing_extensions.Required[str]
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..
13
- """
14
-
15
- garment_type: typing_extensions.Required[
16
- typing_extensions.Literal["dresses", "lower_body", "upper_body"]
17
- ]
18
-
19
- person_file_path: typing_extensions.Required[str]
20
- """
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
- """
23
-
24
-
25
- class _SerializerPostV1AiClothesChangerBodyAssets(pydantic.BaseModel):
26
- """
27
- Serializer for PostV1AiClothesChangerBodyAssets handling case conversions
28
- and file omissions as dictated by the API
29
- """
30
-
31
- model_config = pydantic.ConfigDict(
32
- populate_by_name=True,
33
- )
34
-
35
- garment_file_path: str = pydantic.Field(
36
- alias="garment_file_path",
37
- )
38
- garment_type: typing_extensions.Literal["dresses", "lower_body", "upper_body"] = (
39
- pydantic.Field(
40
- alias="garment_type",
41
- )
42
- )
43
- person_file_path: str = pydantic.Field(
44
- alias="person_file_path",
45
- )
@@ -1,40 +0,0 @@
1
- import pydantic
2
- import typing
3
- import typing_extensions
4
-
5
- from .post_v1_ai_headshot_generator_body_assets import (
6
- PostV1AiHeadshotGeneratorBodyAssets,
7
- _SerializerPostV1AiHeadshotGeneratorBodyAssets,
8
- )
9
-
10
-
11
- class PostV1AiHeadshotGeneratorBody(typing_extensions.TypedDict):
12
- """
13
- PostV1AiHeadshotGeneratorBody
14
- """
15
-
16
- assets: typing_extensions.Required[PostV1AiHeadshotGeneratorBodyAssets]
17
- """
18
- Provide the assets for headshot photo
19
- """
20
-
21
- name: typing_extensions.NotRequired[str]
22
- """
23
- The name of image
24
- """
25
-
26
-
27
- class _SerializerPostV1AiHeadshotGeneratorBody(pydantic.BaseModel):
28
- """
29
- Serializer for PostV1AiHeadshotGeneratorBody handling case conversions
30
- and file omissions as dictated by the API
31
- """
32
-
33
- model_config = pydantic.ConfigDict(
34
- populate_by_name=True,
35
- )
36
-
37
- assets: _SerializerPostV1AiHeadshotGeneratorBodyAssets = pydantic.Field(
38
- alias="assets",
39
- )
40
- name: typing.Optional[str] = pydantic.Field(alias="name", default=None)
@@ -1,28 +0,0 @@
1
- import pydantic
2
- import typing_extensions
3
-
4
-
5
- class PostV1AiHeadshotGeneratorBodyAssets(typing_extensions.TypedDict):
6
- """
7
- Provide the assets for headshot photo
8
- """
9
-
10
- image_file_path: typing_extensions.Required[str]
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](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls), or the url of the file.
13
- """
14
-
15
-
16
- class _SerializerPostV1AiHeadshotGeneratorBodyAssets(pydantic.BaseModel):
17
- """
18
- Serializer for PostV1AiHeadshotGeneratorBodyAssets handling case conversions
19
- and file omissions as dictated by the API
20
- """
21
-
22
- model_config = pydantic.ConfigDict(
23
- populate_by_name=True,
24
- )
25
-
26
- image_file_path: str = pydantic.Field(
27
- alias="image_file_path",
28
- )
@@ -1,57 +0,0 @@
1
- import pydantic
2
- import typing
3
- import typing_extensions
4
-
5
- from .post_v1_ai_image_upscaler_body_assets import (
6
- PostV1AiImageUpscalerBodyAssets,
7
- _SerializerPostV1AiImageUpscalerBodyAssets,
8
- )
9
- from .post_v1_ai_image_upscaler_body_style import (
10
- PostV1AiImageUpscalerBodyStyle,
11
- _SerializerPostV1AiImageUpscalerBodyStyle,
12
- )
13
-
14
-
15
- class PostV1AiImageUpscalerBody(typing_extensions.TypedDict):
16
- """
17
- PostV1AiImageUpscalerBody
18
- """
19
-
20
- assets: typing_extensions.Required[PostV1AiImageUpscalerBodyAssets]
21
- """
22
- Provide the assets for upscaling
23
- """
24
-
25
- name: typing_extensions.NotRequired[str]
26
- """
27
- The name of image
28
- """
29
-
30
- scale_factor: typing_extensions.Required[float]
31
- """
32
- How much to scale the image. Must be either 2 or 4
33
- """
34
-
35
- style: typing_extensions.Required[PostV1AiImageUpscalerBodyStyle]
36
-
37
-
38
- class _SerializerPostV1AiImageUpscalerBody(pydantic.BaseModel):
39
- """
40
- Serializer for PostV1AiImageUpscalerBody handling case conversions
41
- and file omissions as dictated by the API
42
- """
43
-
44
- model_config = pydantic.ConfigDict(
45
- populate_by_name=True,
46
- )
47
-
48
- assets: _SerializerPostV1AiImageUpscalerBodyAssets = pydantic.Field(
49
- alias="assets",
50
- )
51
- name: typing.Optional[str] = pydantic.Field(alias="name", default=None)
52
- scale_factor: float = pydantic.Field(
53
- alias="scale_factor",
54
- )
55
- style: _SerializerPostV1AiImageUpscalerBodyStyle = pydantic.Field(
56
- alias="style",
57
- )
@@ -1,28 +0,0 @@
1
- import pydantic
2
- import typing_extensions
3
-
4
-
5
- class PostV1AiImageUpscalerBodyAssets(typing_extensions.TypedDict):
6
- """
7
- Provide the assets for upscaling
8
- """
9
-
10
- image_file_path: typing_extensions.Required[str]
11
- """
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
- """
14
-
15
-
16
- class _SerializerPostV1AiImageUpscalerBodyAssets(pydantic.BaseModel):
17
- """
18
- Serializer for PostV1AiImageUpscalerBodyAssets handling case conversions
19
- and file omissions as dictated by the API
20
- """
21
-
22
- model_config = pydantic.ConfigDict(
23
- populate_by_name=True,
24
- )
25
-
26
- image_file_path: str = pydantic.Field(
27
- alias="image_file_path",
28
- )
@@ -1,28 +0,0 @@
1
- import pydantic
2
- import typing_extensions
3
-
4
-
5
- class PostV1AiPhotoEditorBodyAssets(typing_extensions.TypedDict):
6
- """
7
- Provide the assets for photo editor
8
- """
9
-
10
- image_file_path: typing_extensions.Required[str]
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](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls), or the url of the file.
13
- """
14
-
15
-
16
- class _SerializerPostV1AiPhotoEditorBodyAssets(pydantic.BaseModel):
17
- """
18
- Serializer for PostV1AiPhotoEditorBodyAssets handling case conversions
19
- and file omissions as dictated by the API
20
- """
21
-
22
- model_config = pydantic.ConfigDict(
23
- populate_by_name=True,
24
- )
25
-
26
- image_file_path: str = pydantic.Field(
27
- alias="image_file_path",
28
- )
@@ -1,45 +0,0 @@
1
- import pydantic
2
- import typing
3
- import typing_extensions
4
-
5
- from .post_v1_ai_qr_code_generator_body_style import (
6
- PostV1AiQrCodeGeneratorBodyStyle,
7
- _SerializerPostV1AiQrCodeGeneratorBodyStyle,
8
- )
9
-
10
-
11
- class PostV1AiQrCodeGeneratorBody(typing_extensions.TypedDict):
12
- """
13
- PostV1AiQrCodeGeneratorBody
14
- """
15
-
16
- content: typing_extensions.Required[str]
17
- """
18
- The content of the QR code.
19
- """
20
-
21
- name: typing_extensions.NotRequired[str]
22
- """
23
- The name of image
24
- """
25
-
26
- style: typing_extensions.Required[PostV1AiQrCodeGeneratorBodyStyle]
27
-
28
-
29
- class _SerializerPostV1AiQrCodeGeneratorBody(pydantic.BaseModel):
30
- """
31
- Serializer for PostV1AiQrCodeGeneratorBody handling case conversions
32
- and file omissions as dictated by the API
33
- """
34
-
35
- model_config = pydantic.ConfigDict(
36
- populate_by_name=True,
37
- )
38
-
39
- content: str = pydantic.Field(
40
- alias="content",
41
- )
42
- name: typing.Optional[str] = pydantic.Field(alias="name", default=None)
43
- style: _SerializerPostV1AiQrCodeGeneratorBodyStyle = pydantic.Field(
44
- alias="style",
45
- )