magic_hour 0.16.1__tar.gz → 0.17.0__tar.gz

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 (158) hide show
  1. {magic_hour-0.16.1 → magic_hour-0.17.0}/PKG-INFO +5 -1
  2. {magic_hour-0.16.1 → magic_hour-0.17.0}/README.md +4 -0
  3. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/environment.py +1 -1
  4. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/client.py +6 -0
  5. magic_hour-0.17.0/magic_hour/resources/v1/photo_colorizer/README.md +31 -0
  6. magic_hour-0.17.0/magic_hour/resources/v1/photo_colorizer/__init__.py +4 -0
  7. magic_hour-0.17.0/magic_hour/resources/v1/photo_colorizer/client.py +119 -0
  8. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/__init__.py +2 -0
  9. magic_hour-0.17.0/magic_hour/types/models/v1_photo_colorizer_create_response.py +25 -0
  10. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/__init__.py +12 -0
  11. magic_hour-0.17.0/magic_hour/types/params/v1_photo_colorizer_create_body.py +40 -0
  12. magic_hour-0.17.0/magic_hour/types/params/v1_photo_colorizer_create_body_assets.py +28 -0
  13. {magic_hour-0.16.1 → magic_hour-0.17.0}/pyproject.toml +1 -1
  14. {magic_hour-0.16.1 → magic_hour-0.17.0}/LICENSE +0 -0
  15. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/__init__.py +0 -0
  16. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/client.py +0 -0
  17. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/core/__init__.py +0 -0
  18. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/core/api_error.py +0 -0
  19. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/core/auth.py +0 -0
  20. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/core/base_client.py +0 -0
  21. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/core/binary_response.py +0 -0
  22. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/core/query.py +0 -0
  23. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/core/request.py +0 -0
  24. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/core/response.py +0 -0
  25. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/core/type_utils.py +0 -0
  26. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/core/utils.py +0 -0
  27. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/__init__.py +0 -0
  28. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_clothes_changer/README.md +0 -0
  29. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_clothes_changer/__init__.py +0 -0
  30. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_clothes_changer/client.py +0 -0
  31. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_face_editor/README.md +0 -0
  32. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_face_editor/__init__.py +0 -0
  33. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_face_editor/client.py +0 -0
  34. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_headshot_generator/README.md +0 -0
  35. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_headshot_generator/__init__.py +0 -0
  36. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_headshot_generator/client.py +0 -0
  37. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_image_generator/README.md +0 -0
  38. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_image_generator/__init__.py +0 -0
  39. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_image_generator/client.py +0 -0
  40. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_image_upscaler/README.md +0 -0
  41. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_image_upscaler/__init__.py +0 -0
  42. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_image_upscaler/client.py +0 -0
  43. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_meme_generator/README.md +0 -0
  44. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_meme_generator/__init__.py +0 -0
  45. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_meme_generator/client.py +0 -0
  46. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_photo_editor/README.md +0 -0
  47. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_photo_editor/__init__.py +0 -0
  48. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_photo_editor/client.py +0 -0
  49. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_qr_code_generator/README.md +0 -0
  50. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_qr_code_generator/__init__.py +0 -0
  51. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_qr_code_generator/client.py +0 -0
  52. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_talking_photo/README.md +0 -0
  53. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_talking_photo/__init__.py +0 -0
  54. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/ai_talking_photo/client.py +0 -0
  55. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/animation/README.md +0 -0
  56. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/animation/__init__.py +0 -0
  57. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/animation/client.py +0 -0
  58. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/face_swap/README.md +0 -0
  59. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/face_swap/__init__.py +0 -0
  60. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/face_swap/client.py +0 -0
  61. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/face_swap_photo/README.md +0 -0
  62. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/face_swap_photo/__init__.py +0 -0
  63. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/face_swap_photo/client.py +0 -0
  64. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/files/__init__.py +0 -0
  65. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/files/client.py +0 -0
  66. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/files/upload_urls/README.md +0 -0
  67. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/files/upload_urls/__init__.py +0 -0
  68. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/files/upload_urls/client.py +0 -0
  69. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/image_background_remover/README.md +0 -0
  70. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/image_background_remover/__init__.py +0 -0
  71. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/image_background_remover/client.py +0 -0
  72. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/image_projects/README.md +0 -0
  73. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/image_projects/__init__.py +0 -0
  74. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/image_projects/client.py +0 -0
  75. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/image_to_video/README.md +0 -0
  76. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/image_to_video/__init__.py +0 -0
  77. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/image_to_video/client.py +0 -0
  78. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/lip_sync/README.md +0 -0
  79. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/lip_sync/__init__.py +0 -0
  80. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/lip_sync/client.py +0 -0
  81. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/text_to_video/README.md +0 -0
  82. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/text_to_video/__init__.py +0 -0
  83. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/text_to_video/client.py +0 -0
  84. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/video_projects/README.md +0 -0
  85. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/video_projects/__init__.py +0 -0
  86. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/video_projects/client.py +0 -0
  87. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/video_to_video/README.md +0 -0
  88. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/video_to_video/__init__.py +0 -0
  89. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/resources/v1/video_to_video/client.py +0 -0
  90. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_ai_clothes_changer_create_response.py +0 -0
  91. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_ai_face_editor_create_response.py +0 -0
  92. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_ai_headshot_generator_create_response.py +0 -0
  93. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_ai_image_generator_create_response.py +0 -0
  94. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_ai_image_upscaler_create_response.py +0 -0
  95. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_ai_meme_generator_create_response.py +0 -0
  96. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_ai_photo_editor_create_response.py +0 -0
  97. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_ai_qr_code_generator_create_response.py +0 -0
  98. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_ai_talking_photo_create_response.py +0 -0
  99. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_animation_create_response.py +0 -0
  100. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_face_swap_create_response.py +0 -0
  101. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_face_swap_photo_create_response.py +0 -0
  102. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_files_upload_urls_create_response.py +0 -0
  103. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_files_upload_urls_create_response_items_item.py +0 -0
  104. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_image_background_remover_create_response.py +0 -0
  105. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_image_projects_get_response.py +0 -0
  106. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_image_projects_get_response_downloads_item.py +0 -0
  107. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_image_projects_get_response_error.py +0 -0
  108. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_image_to_video_create_response.py +0 -0
  109. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_lip_sync_create_response.py +0 -0
  110. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_text_to_video_create_response.py +0 -0
  111. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_video_projects_get_response.py +0 -0
  112. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_video_projects_get_response_download.py +0 -0
  113. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_video_projects_get_response_downloads_item.py +0 -0
  114. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_video_projects_get_response_error.py +0 -0
  115. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/models/v1_video_to_video_create_response.py +0 -0
  116. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_clothes_changer_create_body.py +0 -0
  117. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_clothes_changer_create_body_assets.py +0 -0
  118. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_face_editor_create_body.py +0 -0
  119. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_face_editor_create_body_assets.py +0 -0
  120. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_face_editor_create_body_style.py +0 -0
  121. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_headshot_generator_create_body.py +0 -0
  122. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_headshot_generator_create_body_assets.py +0 -0
  123. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_headshot_generator_create_body_style.py +0 -0
  124. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_image_generator_create_body.py +0 -0
  125. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_image_generator_create_body_style.py +0 -0
  126. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_image_upscaler_create_body.py +0 -0
  127. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_image_upscaler_create_body_assets.py +0 -0
  128. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_image_upscaler_create_body_style.py +0 -0
  129. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_meme_generator_create_body.py +0 -0
  130. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_meme_generator_create_body_style.py +0 -0
  131. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_photo_editor_create_body.py +0 -0
  132. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_photo_editor_create_body_assets.py +0 -0
  133. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_photo_editor_create_body_style.py +0 -0
  134. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_qr_code_generator_create_body.py +0 -0
  135. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_qr_code_generator_create_body_style.py +0 -0
  136. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_talking_photo_create_body.py +0 -0
  137. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_ai_talking_photo_create_body_assets.py +0 -0
  138. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_animation_create_body.py +0 -0
  139. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_animation_create_body_assets.py +0 -0
  140. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_animation_create_body_style.py +0 -0
  141. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_face_swap_create_body.py +0 -0
  142. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_face_swap_create_body_assets.py +0 -0
  143. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_face_swap_photo_create_body.py +0 -0
  144. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_face_swap_photo_create_body_assets.py +0 -0
  145. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_files_upload_urls_create_body.py +0 -0
  146. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_files_upload_urls_create_body_items_item.py +0 -0
  147. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_image_background_remover_create_body.py +0 -0
  148. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_image_background_remover_create_body_assets.py +0 -0
  149. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_image_to_video_create_body.py +0 -0
  150. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_image_to_video_create_body_assets.py +0 -0
  151. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_image_to_video_create_body_style.py +0 -0
  152. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_lip_sync_create_body.py +0 -0
  153. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_lip_sync_create_body_assets.py +0 -0
  154. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_text_to_video_create_body.py +0 -0
  155. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_text_to_video_create_body_style.py +0 -0
  156. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_video_to_video_create_body.py +0 -0
  157. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_video_to_video_create_body_assets.py +0 -0
  158. {magic_hour-0.16.1 → magic_hour-0.17.0}/magic_hour/types/params/v1_video_to_video_create_body_style.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: magic_hour
3
- Version: 0.16.1
3
+ Version: 0.17.0
4
4
  Summary: Python SDK for Magic Hour API
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Programming Language :: Python :: 3
@@ -128,6 +128,10 @@ client = AsyncClient(token="my api key")
128
128
 
129
129
  * [create](magic_hour/resources/v1/lip_sync/README.md#create) - Lip Sync
130
130
 
131
+ ### [v1.photo_colorizer](magic_hour/resources/v1/photo_colorizer/README.md)
132
+
133
+ * [create](magic_hour/resources/v1/photo_colorizer/README.md#create) - Photo Colorizer
134
+
131
135
  ### [v1.text_to_video](magic_hour/resources/v1/text_to_video/README.md)
132
136
 
133
137
  * [create](magic_hour/resources/v1/text_to_video/README.md#create) - Text-to-Video
@@ -110,6 +110,10 @@ client = AsyncClient(token="my api key")
110
110
 
111
111
  * [create](magic_hour/resources/v1/lip_sync/README.md#create) - Lip Sync
112
112
 
113
+ ### [v1.photo_colorizer](magic_hour/resources/v1/photo_colorizer/README.md)
114
+
115
+ * [create](magic_hour/resources/v1/photo_colorizer/README.md#create) - Photo Colorizer
116
+
113
117
  ### [v1.text_to_video](magic_hour/resources/v1/text_to_video/README.md)
114
118
 
115
119
  * [create](magic_hour/resources/v1/text_to_video/README.md#create) - Text-to-Video
@@ -5,4 +5,4 @@ class Environment(enum.Enum):
5
5
  """Pre-defined base URLs for the API"""
6
6
 
7
7
  ENVIRONMENT = "https://api.magichour.ai"
8
- MOCK_SERVER = "https://api.sideko.dev/v1/mock/magichour/magic-hour/0.16.1"
8
+ MOCK_SERVER = "https://api.sideko.dev/v1/mock/magichour/magic-hour/0.17.0"
@@ -55,6 +55,10 @@ from magic_hour.resources.v1.image_to_video import (
55
55
  ImageToVideoClient,
56
56
  )
57
57
  from magic_hour.resources.v1.lip_sync import AsyncLipSyncClient, LipSyncClient
58
+ from magic_hour.resources.v1.photo_colorizer import (
59
+ AsyncPhotoColorizerClient,
60
+ PhotoColorizerClient,
61
+ )
58
62
  from magic_hour.resources.v1.text_to_video import (
59
63
  AsyncTextToVideoClient,
60
64
  TextToVideoClient,
@@ -96,6 +100,7 @@ class V1Client:
96
100
  )
97
101
  self.image_to_video = ImageToVideoClient(base_client=self._base_client)
98
102
  self.lip_sync = LipSyncClient(base_client=self._base_client)
103
+ self.photo_colorizer = PhotoColorizerClient(base_client=self._base_client)
99
104
  self.text_to_video = TextToVideoClient(base_client=self._base_client)
100
105
  self.video_to_video = VideoToVideoClient(base_client=self._base_client)
101
106
 
@@ -135,5 +140,6 @@ class AsyncV1Client:
135
140
  )
136
141
  self.image_to_video = AsyncImageToVideoClient(base_client=self._base_client)
137
142
  self.lip_sync = AsyncLipSyncClient(base_client=self._base_client)
143
+ self.photo_colorizer = AsyncPhotoColorizerClient(base_client=self._base_client)
138
144
  self.text_to_video = AsyncTextToVideoClient(base_client=self._base_client)
139
145
  self.video_to_video = AsyncVideoToVideoClient(base_client=self._base_client)
@@ -0,0 +1,31 @@
1
+
2
+ ### create <a name="create"></a>
3
+ Photo Colorizer
4
+
5
+ Colorize image. Each image costs 5 frames.
6
+
7
+ **API Endpoint**: `POST /v1/photo-colorizer`
8
+
9
+ #### Synchronous Client
10
+
11
+ ```python
12
+ from magic_hour import Client
13
+ from os import getenv
14
+
15
+ client = Client(token=getenv("API_TOKEN"))
16
+ res = client.v1.photo_colorizer.create(
17
+ assets={"image_file_path": "api-assets/id/1234.png"}, name="Photo Colorizer image"
18
+ )
19
+ ```
20
+
21
+ #### Asynchronous Client
22
+
23
+ ```python
24
+ from magic_hour import AsyncClient
25
+ from os import getenv
26
+
27
+ client = AsyncClient(token=getenv("API_TOKEN"))
28
+ res = await client.v1.photo_colorizer.create(
29
+ assets={"image_file_path": "api-assets/id/1234.png"}, name="Photo Colorizer image"
30
+ )
31
+ ```
@@ -0,0 +1,4 @@
1
+ from .client import AsyncPhotoColorizerClient, PhotoColorizerClient
2
+
3
+
4
+ __all__ = ["AsyncPhotoColorizerClient", "PhotoColorizerClient"]
@@ -0,0 +1,119 @@
1
+ import typing
2
+
3
+ from magic_hour.core import (
4
+ AsyncBaseClient,
5
+ RequestOptions,
6
+ SyncBaseClient,
7
+ default_request_options,
8
+ to_encodable,
9
+ type_utils,
10
+ )
11
+ from magic_hour.types import models, params
12
+
13
+
14
+ class PhotoColorizerClient:
15
+ def __init__(self, *, base_client: SyncBaseClient):
16
+ self._base_client = base_client
17
+
18
+ def create(
19
+ self,
20
+ *,
21
+ assets: params.V1PhotoColorizerCreateBodyAssets,
22
+ name: typing.Union[
23
+ typing.Optional[str], type_utils.NotGiven
24
+ ] = type_utils.NOT_GIVEN,
25
+ request_options: typing.Optional[RequestOptions] = None,
26
+ ) -> models.V1PhotoColorizerCreateResponse:
27
+ """
28
+ Photo Colorizer
29
+
30
+ Colorize image. Each image costs 5 frames.
31
+
32
+ POST /v1/photo-colorizer
33
+
34
+ Args:
35
+ name: The name of image
36
+ assets: Provide the assets for photo colorization
37
+ request_options: Additional options to customize the HTTP request
38
+
39
+ Returns:
40
+ Success
41
+
42
+ Raises:
43
+ ApiError: A custom exception class that provides additional context
44
+ for API errors, including the HTTP status code and response body.
45
+
46
+ Examples:
47
+ ```py
48
+ client.v1.photo_colorizer.create(
49
+ assets={"image_file_path": "api-assets/id/1234.png"},
50
+ name="Photo Colorizer image",
51
+ )
52
+ ```
53
+ """
54
+ _json = to_encodable(
55
+ item={"name": name, "assets": assets},
56
+ dump_with=params._SerializerV1PhotoColorizerCreateBody,
57
+ )
58
+ return self._base_client.request(
59
+ method="POST",
60
+ path="/v1/photo-colorizer",
61
+ auth_names=["bearerAuth"],
62
+ json=_json,
63
+ cast_to=models.V1PhotoColorizerCreateResponse,
64
+ request_options=request_options or default_request_options(),
65
+ )
66
+
67
+
68
+ class AsyncPhotoColorizerClient:
69
+ def __init__(self, *, base_client: AsyncBaseClient):
70
+ self._base_client = base_client
71
+
72
+ async def create(
73
+ self,
74
+ *,
75
+ assets: params.V1PhotoColorizerCreateBodyAssets,
76
+ name: typing.Union[
77
+ typing.Optional[str], type_utils.NotGiven
78
+ ] = type_utils.NOT_GIVEN,
79
+ request_options: typing.Optional[RequestOptions] = None,
80
+ ) -> models.V1PhotoColorizerCreateResponse:
81
+ """
82
+ Photo Colorizer
83
+
84
+ Colorize image. Each image costs 5 frames.
85
+
86
+ POST /v1/photo-colorizer
87
+
88
+ Args:
89
+ name: The name of image
90
+ assets: Provide the assets for photo colorization
91
+ request_options: Additional options to customize the HTTP request
92
+
93
+ Returns:
94
+ Success
95
+
96
+ Raises:
97
+ ApiError: A custom exception class that provides additional context
98
+ for API errors, including the HTTP status code and response body.
99
+
100
+ Examples:
101
+ ```py
102
+ await client.v1.photo_colorizer.create(
103
+ assets={"image_file_path": "api-assets/id/1234.png"},
104
+ name="Photo Colorizer image",
105
+ )
106
+ ```
107
+ """
108
+ _json = to_encodable(
109
+ item={"name": name, "assets": assets},
110
+ dump_with=params._SerializerV1PhotoColorizerCreateBody,
111
+ )
112
+ return await self._base_client.request(
113
+ method="POST",
114
+ path="/v1/photo-colorizer",
115
+ auth_names=["bearerAuth"],
116
+ json=_json,
117
+ cast_to=models.V1PhotoColorizerCreateResponse,
118
+ request_options=request_options or default_request_options(),
119
+ )
@@ -26,6 +26,7 @@ from .v1_image_projects_get_response_downloads_item import (
26
26
  from .v1_image_projects_get_response_error import V1ImageProjectsGetResponseError
27
27
  from .v1_image_to_video_create_response import V1ImageToVideoCreateResponse
28
28
  from .v1_lip_sync_create_response import V1LipSyncCreateResponse
29
+ from .v1_photo_colorizer_create_response import V1PhotoColorizerCreateResponse
29
30
  from .v1_text_to_video_create_response import V1TextToVideoCreateResponse
30
31
  from .v1_video_projects_get_response import V1VideoProjectsGetResponse
31
32
  from .v1_video_projects_get_response_download import V1VideoProjectsGetResponseDownload
@@ -57,6 +58,7 @@ __all__ = [
57
58
  "V1ImageProjectsGetResponseError",
58
59
  "V1ImageToVideoCreateResponse",
59
60
  "V1LipSyncCreateResponse",
61
+ "V1PhotoColorizerCreateResponse",
60
62
  "V1TextToVideoCreateResponse",
61
63
  "V1VideoProjectsGetResponse",
62
64
  "V1VideoProjectsGetResponseDownload",
@@ -0,0 +1,25 @@
1
+ import pydantic
2
+
3
+
4
+ class V1PhotoColorizerCreateResponse(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
+ """
@@ -147,6 +147,14 @@ from .v1_lip_sync_create_body_assets import (
147
147
  V1LipSyncCreateBodyAssets,
148
148
  _SerializerV1LipSyncCreateBodyAssets,
149
149
  )
150
+ from .v1_photo_colorizer_create_body import (
151
+ V1PhotoColorizerCreateBody,
152
+ _SerializerV1PhotoColorizerCreateBody,
153
+ )
154
+ from .v1_photo_colorizer_create_body_assets import (
155
+ V1PhotoColorizerCreateBodyAssets,
156
+ _SerializerV1PhotoColorizerCreateBodyAssets,
157
+ )
150
158
  from .v1_text_to_video_create_body import (
151
159
  V1TextToVideoCreateBody,
152
160
  _SerializerV1TextToVideoCreateBody,
@@ -208,6 +216,8 @@ __all__ = [
208
216
  "V1ImageToVideoCreateBodyStyle",
209
217
  "V1LipSyncCreateBody",
210
218
  "V1LipSyncCreateBodyAssets",
219
+ "V1PhotoColorizerCreateBody",
220
+ "V1PhotoColorizerCreateBodyAssets",
211
221
  "V1TextToVideoCreateBody",
212
222
  "V1TextToVideoCreateBodyStyle",
213
223
  "V1VideoToVideoCreateBody",
@@ -251,6 +261,8 @@ __all__ = [
251
261
  "_SerializerV1ImageToVideoCreateBodyStyle",
252
262
  "_SerializerV1LipSyncCreateBody",
253
263
  "_SerializerV1LipSyncCreateBodyAssets",
264
+ "_SerializerV1PhotoColorizerCreateBody",
265
+ "_SerializerV1PhotoColorizerCreateBodyAssets",
254
266
  "_SerializerV1TextToVideoCreateBody",
255
267
  "_SerializerV1TextToVideoCreateBodyStyle",
256
268
  "_SerializerV1VideoToVideoCreateBody",
@@ -0,0 +1,40 @@
1
+ import pydantic
2
+ import typing
3
+ import typing_extensions
4
+
5
+ from .v1_photo_colorizer_create_body_assets import (
6
+ V1PhotoColorizerCreateBodyAssets,
7
+ _SerializerV1PhotoColorizerCreateBodyAssets,
8
+ )
9
+
10
+
11
+ class V1PhotoColorizerCreateBody(typing_extensions.TypedDict):
12
+ """
13
+ V1PhotoColorizerCreateBody
14
+ """
15
+
16
+ assets: typing_extensions.Required[V1PhotoColorizerCreateBodyAssets]
17
+ """
18
+ Provide the assets for photo colorization
19
+ """
20
+
21
+ name: typing_extensions.NotRequired[str]
22
+ """
23
+ The name of image
24
+ """
25
+
26
+
27
+ class _SerializerV1PhotoColorizerCreateBody(pydantic.BaseModel):
28
+ """
29
+ Serializer for V1PhotoColorizerCreateBody 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: _SerializerV1PhotoColorizerCreateBodyAssets = pydantic.Field(
38
+ alias="assets",
39
+ )
40
+ name: typing.Optional[str] = pydantic.Field(alias="name", default=None)
@@ -0,0 +1,28 @@
1
+ import pydantic
2
+ import typing_extensions
3
+
4
+
5
+ class V1PhotoColorizerCreateBodyAssets(typing_extensions.TypedDict):
6
+ """
7
+ Provide the assets for photo colorization
8
+ """
9
+
10
+ image_file_path: typing_extensions.Required[str]
11
+ """
12
+ The image used to generate the colorized image. 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 _SerializerV1PhotoColorizerCreateBodyAssets(pydantic.BaseModel):
17
+ """
18
+ Serializer for V1PhotoColorizerCreateBodyAssets 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,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "magic_hour"
3
- version = "0.16.1"
3
+ version = "0.17.0"
4
4
  description = "Python SDK for Magic Hour API"
5
5
  readme = "README.md"
6
6
  authors = []
File without changes