magic_hour 0.30.1__tar.gz → 0.31.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.
- {magic_hour-0.30.1 → magic_hour-0.31.0}/PKG-INFO +1 -1
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/environment.py +1 -1
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/face_swap/README.md +16 -2
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/face_swap/client.py +16 -2
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/face_swap_photo/README.md +1 -1
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/face_swap_photo/client.py +2 -2
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/image_to_video/README.md +1 -1
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/image_to_video/client.py +2 -2
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/lip_sync/README.md +1 -1
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/lip_sync/client.py +2 -2
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/text_to_video/README.md +1 -1
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/text_to_video/client.py +2 -2
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/video_to_video/README.md +1 -1
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/video_to_video/client.py +2 -2
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/__init__.py +6 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_face_swap_create_body_assets.py +30 -1
- magic_hour-0.31.0/magic_hour/types/params/v1_face_swap_create_body_assets_face_mappings_item.py +39 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_face_swap_photo_create_body_assets.py +2 -2
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_face_swap_photo_create_body_assets_face_mappings_item.py +1 -1
- {magic_hour-0.30.1 → magic_hour-0.31.0}/pyproject.toml +1 -1
- {magic_hour-0.30.1 → magic_hour-0.31.0}/LICENSE +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/core/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/core/api_error.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/core/auth.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/core/base_client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/core/binary_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/core/query.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/core/request.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/core/response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/core/type_utils.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/core/utils.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_clothes_changer/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_clothes_changer/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_clothes_changer/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_face_editor/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_face_editor/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_face_editor/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_gif_generator/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_gif_generator/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_gif_generator/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_headshot_generator/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_headshot_generator/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_headshot_generator/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_image_editor/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_image_editor/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_image_editor/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_image_generator/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_image_generator/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_image_generator/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_image_upscaler/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_image_upscaler/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_image_upscaler/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_meme_generator/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_meme_generator/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_meme_generator/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_photo_editor/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_photo_editor/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_photo_editor/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_qr_code_generator/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_qr_code_generator/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_qr_code_generator/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_talking_photo/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_talking_photo/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_talking_photo/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/animation/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/animation/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/animation/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/auto_subtitle_generator/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/auto_subtitle_generator/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/auto_subtitle_generator/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/face_detection/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/face_detection/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/face_detection/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/face_swap/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/face_swap_photo/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/files/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/files/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/files/upload_urls/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/files/upload_urls/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/files/upload_urls/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/image_background_remover/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/image_background_remover/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/image_background_remover/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/image_projects/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/image_projects/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/image_projects/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/image_to_video/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/lip_sync/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/photo_colorizer/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/photo_colorizer/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/photo_colorizer/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/text_to_video/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/video_projects/README.md +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/video_projects/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/video_projects/client.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/video_to_video/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/__init__.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_ai_clothes_changer_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_ai_face_editor_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_ai_gif_generator_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_ai_headshot_generator_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_ai_image_editor_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_ai_image_generator_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_ai_image_upscaler_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_ai_meme_generator_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_ai_photo_editor_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_ai_qr_code_generator_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_ai_talking_photo_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_animation_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_auto_subtitle_generator_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_face_detection_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_face_detection_get_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_face_detection_get_response_faces_item.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_face_swap_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_face_swap_photo_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_files_upload_urls_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_files_upload_urls_create_response_items_item.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_image_background_remover_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_image_projects_get_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_image_projects_get_response_downloads_item.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_image_projects_get_response_error.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_image_to_video_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_lip_sync_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_photo_colorizer_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_text_to_video_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_video_projects_get_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_video_projects_get_response_download.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_video_projects_get_response_downloads_item.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_video_projects_get_response_error.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_video_to_video_create_response.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_clothes_changer_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_clothes_changer_create_body_assets.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_face_editor_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_face_editor_create_body_assets.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_face_editor_create_body_style.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_gif_generator_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_gif_generator_create_body_style.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_headshot_generator_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_headshot_generator_create_body_assets.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_headshot_generator_create_body_style.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_image_editor_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_image_editor_create_body_assets.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_image_editor_create_body_style.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_image_generator_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_image_generator_create_body_style.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_image_upscaler_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_image_upscaler_create_body_assets.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_image_upscaler_create_body_style.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_meme_generator_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_meme_generator_create_body_style.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_photo_editor_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_photo_editor_create_body_assets.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_photo_editor_create_body_style.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_qr_code_generator_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_qr_code_generator_create_body_style.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_talking_photo_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_talking_photo_create_body_assets.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_talking_photo_create_body_style.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_animation_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_animation_create_body_assets.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_animation_create_body_style.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_auto_subtitle_generator_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_auto_subtitle_generator_create_body_assets.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_auto_subtitle_generator_create_body_style.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_auto_subtitle_generator_create_body_style_custom_config.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_face_detection_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_face_detection_create_body_assets.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_face_swap_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_face_swap_photo_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_files_upload_urls_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_files_upload_urls_create_body_items_item.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_image_background_remover_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_image_background_remover_create_body_assets.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_image_to_video_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_image_to_video_create_body_assets.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_image_to_video_create_body_style.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_lip_sync_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_lip_sync_create_body_assets.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_photo_colorizer_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_photo_colorizer_create_body_assets.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_text_to_video_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_text_to_video_create_body_style.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_video_to_video_create_body.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_video_to_video_create_body_assets.py +0 -0
- {magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_video_to_video_create_body_style.py +0 -0
|
@@ -6,7 +6,7 @@ class Environment(enum.Enum):
|
|
|
6
6
|
"""Pre-defined base URLs for the API"""
|
|
7
7
|
|
|
8
8
|
ENVIRONMENT = "https://api.magichour.ai"
|
|
9
|
-
MOCK_SERVER = "https://api.sideko.dev/v1/mock/magichour/magic-hour/0.
|
|
9
|
+
MOCK_SERVER = "https://api.sideko.dev/v1/mock/magichour/magic-hour/0.31.0"
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
def _get_base_url(
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
Create a Face Swap video. The estimated frame cost is calculated using 30 FPS. This amount is deducted from your account balance when a video is queued. Once the video is complete, the cost will be updated based on the actual number of frames rendered.
|
|
5
5
|
|
|
6
|
-
Get more information about this mode at our [product page](/products/face-swap).
|
|
6
|
+
Get more information about this mode at our [product page](https://magichour.ai/products/face-swap).
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
**API Endpoint**: `POST /v1/face-swap`
|
|
@@ -12,7 +12,7 @@ Get more information about this mode at our [product page](/products/face-swap).
|
|
|
12
12
|
|
|
13
13
|
| Parameter | Required | Description | Example |
|
|
14
14
|
|-----------|:--------:|-------------|--------|
|
|
15
|
-
| `assets` | ✓ | Provide the assets for face swap. For video, The `video_source` field determines whether `video_file_path` or `youtube_url` field is used | `{"image_file_path": "image/id/1234.png", "video_file_path": "api-assets/id/1234.mp4", "video_source": "file"}` |
|
|
15
|
+
| `assets` | ✓ | Provide the assets for face swap. For video, The `video_source` field determines whether `video_file_path` or `youtube_url` field is used | `{"face_mappings": [{"new_face": "api-assets/id/1234.png", "original_face": "api-assets/id/0-0.png"}], "face_swap_mode": "all-faces", "image_file_path": "image/id/1234.png", "video_file_path": "api-assets/id/1234.mp4", "video_source": "file"}` |
|
|
16
16
|
| `end_seconds` | ✓ | The end time of the input video in seconds | `15.0` |
|
|
17
17
|
| `start_seconds` | ✓ | The start time of the input video in seconds | `0.0` |
|
|
18
18
|
| `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` |
|
|
@@ -28,6 +28,13 @@ from os import getenv
|
|
|
28
28
|
client = Client(token=getenv("API_TOKEN"))
|
|
29
29
|
res = client.v1.face_swap.create(
|
|
30
30
|
assets={
|
|
31
|
+
"face_mappings": [
|
|
32
|
+
{
|
|
33
|
+
"new_face": "api-assets/id/1234.png",
|
|
34
|
+
"original_face": "api-assets/id/0-0.png",
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"face_swap_mode": "all-faces",
|
|
31
38
|
"image_file_path": "image/id/1234.png",
|
|
32
39
|
"video_file_path": "api-assets/id/1234.mp4",
|
|
33
40
|
"video_source": "file",
|
|
@@ -50,6 +57,13 @@ from os import getenv
|
|
|
50
57
|
client = AsyncClient(token=getenv("API_TOKEN"))
|
|
51
58
|
res = await client.v1.face_swap.create(
|
|
52
59
|
assets={
|
|
60
|
+
"face_mappings": [
|
|
61
|
+
{
|
|
62
|
+
"new_face": "api-assets/id/1234.png",
|
|
63
|
+
"original_face": "api-assets/id/0-0.png",
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"face_swap_mode": "all-faces",
|
|
53
67
|
"image_file_path": "image/id/1234.png",
|
|
54
68
|
"video_file_path": "api-assets/id/1234.mp4",
|
|
55
69
|
"video_source": "file",
|
|
@@ -37,7 +37,7 @@ class FaceSwapClient:
|
|
|
37
37
|
|
|
38
38
|
Create a Face Swap video. The estimated frame cost is calculated using 30 FPS. This amount is deducted from your account balance when a video is queued. Once the video is complete, the cost will be updated based on the actual number of frames rendered.
|
|
39
39
|
|
|
40
|
-
Get more information about this mode at our [product page](/products/face-swap).
|
|
40
|
+
Get more information about this mode at our [product page](https://magichour.ai/products/face-swap).
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
POST /v1/face-swap
|
|
@@ -76,6 +76,13 @@ class FaceSwapClient:
|
|
|
76
76
|
```py
|
|
77
77
|
client.v1.face_swap.create(
|
|
78
78
|
assets={
|
|
79
|
+
"face_mappings": [
|
|
80
|
+
{
|
|
81
|
+
"new_face": "api-assets/id/1234.png",
|
|
82
|
+
"original_face": "api-assets/id/0-0.png",
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"face_swap_mode": "all-faces",
|
|
79
86
|
"image_file_path": "image/id/1234.png",
|
|
80
87
|
"video_file_path": "api-assets/id/1234.mp4",
|
|
81
88
|
"video_source": "file",
|
|
@@ -135,7 +142,7 @@ class AsyncFaceSwapClient:
|
|
|
135
142
|
|
|
136
143
|
Create a Face Swap video. The estimated frame cost is calculated using 30 FPS. This amount is deducted from your account balance when a video is queued. Once the video is complete, the cost will be updated based on the actual number of frames rendered.
|
|
137
144
|
|
|
138
|
-
Get more information about this mode at our [product page](/products/face-swap).
|
|
145
|
+
Get more information about this mode at our [product page](https://magichour.ai/products/face-swap).
|
|
139
146
|
|
|
140
147
|
|
|
141
148
|
POST /v1/face-swap
|
|
@@ -174,6 +181,13 @@ class AsyncFaceSwapClient:
|
|
|
174
181
|
```py
|
|
175
182
|
await client.v1.face_swap.create(
|
|
176
183
|
assets={
|
|
184
|
+
"face_mappings": [
|
|
185
|
+
{
|
|
186
|
+
"new_face": "api-assets/id/1234.png",
|
|
187
|
+
"original_face": "api-assets/id/0-0.png",
|
|
188
|
+
}
|
|
189
|
+
],
|
|
190
|
+
"face_swap_mode": "all-faces",
|
|
177
191
|
"image_file_path": "image/id/1234.png",
|
|
178
192
|
"video_file_path": "api-assets/id/1234.mp4",
|
|
179
193
|
"video_source": "file",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
### Face Swap Photo <a name="create"></a>
|
|
3
3
|
|
|
4
|
-
Create a face swap photo. Each photo costs 5 credits. The height/width of the output image depends on your subscription. Please refer to our [pricing](/pricing) page for more details
|
|
4
|
+
Create a face swap photo. Each photo costs 5 credits. The height/width of the output image depends on your subscription. Please refer to our [pricing](https://magichour.ai/pricing) page for more details
|
|
5
5
|
|
|
6
6
|
**API Endpoint**: `POST /v1/face-swap-photo`
|
|
7
7
|
|
|
@@ -27,7 +27,7 @@ class FaceSwapPhotoClient:
|
|
|
27
27
|
"""
|
|
28
28
|
Face Swap Photo
|
|
29
29
|
|
|
30
|
-
Create a face swap photo. Each photo costs 5 credits. The height/width of the output image depends on your subscription. Please refer to our [pricing](/pricing) page for more details
|
|
30
|
+
Create a face swap photo. Each photo costs 5 credits. The height/width of the output image depends on your subscription. Please refer to our [pricing](https://magichour.ai/pricing) page for more details
|
|
31
31
|
|
|
32
32
|
POST /v1/face-swap-photo
|
|
33
33
|
|
|
@@ -91,7 +91,7 @@ class AsyncFaceSwapPhotoClient:
|
|
|
91
91
|
"""
|
|
92
92
|
Face Swap Photo
|
|
93
93
|
|
|
94
|
-
Create a face swap photo. Each photo costs 5 credits. The height/width of the output image depends on your subscription. Please refer to our [pricing](/pricing) page for more details
|
|
94
|
+
Create a face swap photo. Each photo costs 5 credits. The height/width of the output image depends on your subscription. Please refer to our [pricing](https://magichour.ai/pricing) page for more details
|
|
95
95
|
|
|
96
96
|
POST /v1/face-swap-photo
|
|
97
97
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
Create a Image To Video video. The estimated frame cost is calculated using 30 FPS. This amount is deducted from your account balance when a video is queued. Once the video is complete, the cost will be updated based on the actual number of frames rendered.
|
|
5
5
|
|
|
6
|
-
Get more information about this mode at our [product page](/products/image-to-video).
|
|
6
|
+
Get more information about this mode at our [product page](https://magichour.ai/products/image-to-video).
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
**API Endpoint**: `POST /v1/image-to-video`
|
|
@@ -44,7 +44,7 @@ class ImageToVideoClient:
|
|
|
44
44
|
|
|
45
45
|
Create a Image To Video video. The estimated frame cost is calculated using 30 FPS. This amount is deducted from your account balance when a video is queued. Once the video is complete, the cost will be updated based on the actual number of frames rendered.
|
|
46
46
|
|
|
47
|
-
Get more information about this mode at our [product page](/products/image-to-video).
|
|
47
|
+
Get more information about this mode at our [product page](https://magichour.ai/products/image-to-video).
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
POST /v1/image-to-video
|
|
@@ -140,7 +140,7 @@ class AsyncImageToVideoClient:
|
|
|
140
140
|
|
|
141
141
|
Create a Image To Video video. The estimated frame cost is calculated using 30 FPS. This amount is deducted from your account balance when a video is queued. Once the video is complete, the cost will be updated based on the actual number of frames rendered.
|
|
142
142
|
|
|
143
|
-
Get more information about this mode at our [product page](/products/image-to-video).
|
|
143
|
+
Get more information about this mode at our [product page](https://magichour.ai/products/image-to-video).
|
|
144
144
|
|
|
145
145
|
|
|
146
146
|
POST /v1/image-to-video
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
Create a Lip Sync video. The estimated frame cost is calculated using 30 FPS. This amount is deducted from your account balance when a video is queued. Once the video is complete, the cost will be updated based on the actual number of frames rendered.
|
|
5
5
|
|
|
6
|
-
Get more information about this mode at our [product page](/products/lip-sync).
|
|
6
|
+
Get more information about this mode at our [product page](https://magichour.ai/products/lip-sync).
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
**API Endpoint**: `POST /v1/lip-sync`
|
|
@@ -40,7 +40,7 @@ class LipSyncClient:
|
|
|
40
40
|
|
|
41
41
|
Create a Lip Sync video. The estimated frame cost is calculated using 30 FPS. This amount is deducted from your account balance when a video is queued. Once the video is complete, the cost will be updated based on the actual number of frames rendered.
|
|
42
42
|
|
|
43
|
-
Get more information about this mode at our [product page](/products/lip-sync).
|
|
43
|
+
Get more information about this mode at our [product page](https://magichour.ai/products/lip-sync).
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
POST /v1/lip-sync
|
|
@@ -144,7 +144,7 @@ class AsyncLipSyncClient:
|
|
|
144
144
|
|
|
145
145
|
Create a Lip Sync video. The estimated frame cost is calculated using 30 FPS. This amount is deducted from your account balance when a video is queued. Once the video is complete, the cost will be updated based on the actual number of frames rendered.
|
|
146
146
|
|
|
147
|
-
Get more information about this mode at our [product page](/products/lip-sync).
|
|
147
|
+
Get more information about this mode at our [product page](https://magichour.ai/products/lip-sync).
|
|
148
148
|
|
|
149
149
|
|
|
150
150
|
POST /v1/lip-sync
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
Create a Text To Video video. The estimated frame cost is calculated using 30 FPS. This amount is deducted from your account balance when a video is queued. Once the video is complete, the cost will be updated based on the actual number of frames rendered.
|
|
5
5
|
|
|
6
|
-
Get more information about this mode at our [product page](/products/text-to-video).
|
|
6
|
+
Get more information about this mode at our [product page](https://magichour.ai/products/text-to-video).
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
**API Endpoint**: `POST /v1/text-to-video`
|
|
@@ -36,7 +36,7 @@ class TextToVideoClient:
|
|
|
36
36
|
|
|
37
37
|
Create a Text To Video video. The estimated frame cost is calculated using 30 FPS. This amount is deducted from your account balance when a video is queued. Once the video is complete, the cost will be updated based on the actual number of frames rendered.
|
|
38
38
|
|
|
39
|
-
Get more information about this mode at our [product page](/products/text-to-video).
|
|
39
|
+
Get more information about this mode at our [product page](https://magichour.ai/products/text-to-video).
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
POST /v1/text-to-video
|
|
@@ -115,7 +115,7 @@ class AsyncTextToVideoClient:
|
|
|
115
115
|
|
|
116
116
|
Create a Text To Video video. The estimated frame cost is calculated using 30 FPS. This amount is deducted from your account balance when a video is queued. Once the video is complete, the cost will be updated based on the actual number of frames rendered.
|
|
117
117
|
|
|
118
|
-
Get more information about this mode at our [product page](/products/text-to-video).
|
|
118
|
+
Get more information about this mode at our [product page](https://magichour.ai/products/text-to-video).
|
|
119
119
|
|
|
120
120
|
|
|
121
121
|
POST /v1/text-to-video
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
Create a Video To Video video. The estimated frame cost is calculated using 30 FPS. This amount is deducted from your account balance when a video is queued. Once the video is complete, the cost will be updated based on the actual number of frames rendered.
|
|
5
5
|
|
|
6
|
-
Get more information about this mode at our [product page](/products/video-to-video).
|
|
6
|
+
Get more information about this mode at our [product page](https://magichour.ai/products/video-to-video).
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
**API Endpoint**: `POST /v1/video-to-video`
|
|
@@ -43,7 +43,7 @@ class VideoToVideoClient:
|
|
|
43
43
|
|
|
44
44
|
Create a Video To Video video. The estimated frame cost is calculated using 30 FPS. This amount is deducted from your account balance when a video is queued. Once the video is complete, the cost will be updated based on the actual number of frames rendered.
|
|
45
45
|
|
|
46
|
-
Get more information about this mode at our [product page](/products/video-to-video).
|
|
46
|
+
Get more information about this mode at our [product page](https://magichour.ai/products/video-to-video).
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
POST /v1/video-to-video
|
|
@@ -159,7 +159,7 @@ class AsyncVideoToVideoClient:
|
|
|
159
159
|
|
|
160
160
|
Create a Video To Video video. The estimated frame cost is calculated using 30 FPS. This amount is deducted from your account balance when a video is queued. Once the video is complete, the cost will be updated based on the actual number of frames rendered.
|
|
161
161
|
|
|
162
|
-
Get more information about this mode at our [product page](/products/video-to-video).
|
|
162
|
+
Get more information about this mode at our [product page](https://magichour.ai/products/video-to-video).
|
|
163
163
|
|
|
164
164
|
|
|
165
165
|
POST /v1/video-to-video
|
|
@@ -154,6 +154,10 @@ from .v1_face_swap_create_body_assets import (
|
|
|
154
154
|
V1FaceSwapCreateBodyAssets,
|
|
155
155
|
_SerializerV1FaceSwapCreateBodyAssets,
|
|
156
156
|
)
|
|
157
|
+
from .v1_face_swap_create_body_assets_face_mappings_item import (
|
|
158
|
+
V1FaceSwapCreateBodyAssetsFaceMappingsItem,
|
|
159
|
+
_SerializerV1FaceSwapCreateBodyAssetsFaceMappingsItem,
|
|
160
|
+
)
|
|
157
161
|
from .v1_face_swap_photo_create_body import (
|
|
158
162
|
V1FaceSwapPhotoCreateBody,
|
|
159
163
|
_SerializerV1FaceSwapPhotoCreateBody,
|
|
@@ -269,6 +273,7 @@ __all__ = [
|
|
|
269
273
|
"V1FaceDetectionCreateBodyAssets",
|
|
270
274
|
"V1FaceSwapCreateBody",
|
|
271
275
|
"V1FaceSwapCreateBodyAssets",
|
|
276
|
+
"V1FaceSwapCreateBodyAssetsFaceMappingsItem",
|
|
272
277
|
"V1FaceSwapPhotoCreateBody",
|
|
273
278
|
"V1FaceSwapPhotoCreateBodyAssets",
|
|
274
279
|
"V1FaceSwapPhotoCreateBodyAssetsFaceMappingsItem",
|
|
@@ -327,6 +332,7 @@ __all__ = [
|
|
|
327
332
|
"_SerializerV1FaceDetectionCreateBodyAssets",
|
|
328
333
|
"_SerializerV1FaceSwapCreateBody",
|
|
329
334
|
"_SerializerV1FaceSwapCreateBodyAssets",
|
|
335
|
+
"_SerializerV1FaceSwapCreateBodyAssetsFaceMappingsItem",
|
|
330
336
|
"_SerializerV1FaceSwapPhotoCreateBody",
|
|
331
337
|
"_SerializerV1FaceSwapPhotoCreateBodyAssets",
|
|
332
338
|
"_SerializerV1FaceSwapPhotoCreateBodyAssetsFaceMappingsItem",
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_face_swap_create_body_assets.py
RENAMED
|
@@ -2,15 +2,38 @@ import pydantic
|
|
|
2
2
|
import typing
|
|
3
3
|
import typing_extensions
|
|
4
4
|
|
|
5
|
+
from .v1_face_swap_create_body_assets_face_mappings_item import (
|
|
6
|
+
V1FaceSwapCreateBodyAssetsFaceMappingsItem,
|
|
7
|
+
_SerializerV1FaceSwapCreateBodyAssetsFaceMappingsItem,
|
|
8
|
+
)
|
|
9
|
+
|
|
5
10
|
|
|
6
11
|
class V1FaceSwapCreateBodyAssets(typing_extensions.TypedDict):
|
|
7
12
|
"""
|
|
8
13
|
Provide the assets for face swap. For video, The `video_source` field determines whether `video_file_path` or `youtube_url` field is used
|
|
9
14
|
"""
|
|
10
15
|
|
|
16
|
+
face_mappings: typing_extensions.NotRequired[
|
|
17
|
+
typing.List[V1FaceSwapCreateBodyAssetsFaceMappingsItem]
|
|
18
|
+
]
|
|
19
|
+
"""
|
|
20
|
+
This is the array of face mappings used for multiple face swap. The value is required if `face_swap_mode` is `individual-faces`.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
face_swap_mode: typing_extensions.NotRequired[
|
|
24
|
+
typing_extensions.Literal["all-faces", "individual-faces"]
|
|
25
|
+
]
|
|
26
|
+
"""
|
|
27
|
+
The mode of face swap.
|
|
28
|
+
* `all-faces` - Swap all faces in the target image or video. `source_file_path` is required.
|
|
29
|
+
* `individual-faces` - Swap individual faces in the target image or video. `source_faces` is required.
|
|
30
|
+
"""
|
|
31
|
+
|
|
11
32
|
image_file_path: typing_extensions.Required[str]
|
|
12
33
|
"""
|
|
13
|
-
The path of the input image
|
|
34
|
+
The path of the input image with the face to be swapped. The value is required if `face_swap_mode` is `all-faces`.
|
|
35
|
+
|
|
36
|
+
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.
|
|
14
37
|
"""
|
|
15
38
|
|
|
16
39
|
video_file_path: typing_extensions.NotRequired[str]
|
|
@@ -38,6 +61,12 @@ class _SerializerV1FaceSwapCreateBodyAssets(pydantic.BaseModel):
|
|
|
38
61
|
populate_by_name=True,
|
|
39
62
|
)
|
|
40
63
|
|
|
64
|
+
face_mappings: typing.Optional[
|
|
65
|
+
typing.List[_SerializerV1FaceSwapCreateBodyAssetsFaceMappingsItem]
|
|
66
|
+
] = pydantic.Field(alias="face_mappings", default=None)
|
|
67
|
+
face_swap_mode: typing.Optional[
|
|
68
|
+
typing_extensions.Literal["all-faces", "individual-faces"]
|
|
69
|
+
] = pydantic.Field(alias="face_swap_mode", default=None)
|
|
41
70
|
image_file_path: str = pydantic.Field(
|
|
42
71
|
alias="image_file_path",
|
|
43
72
|
)
|
magic_hour-0.31.0/magic_hour/types/params/v1_face_swap_create_body_assets_face_mappings_item.py
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import pydantic
|
|
2
|
+
import typing_extensions
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class V1FaceSwapCreateBodyAssetsFaceMappingsItem(typing_extensions.TypedDict):
|
|
6
|
+
"""
|
|
7
|
+
V1FaceSwapCreateBodyAssetsFaceMappingsItem
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
new_face: typing_extensions.Required[str]
|
|
11
|
+
"""
|
|
12
|
+
The face image that will be used to replace the face in the `original_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
|
+
original_face: typing_extensions.Required[str]
|
|
16
|
+
"""
|
|
17
|
+
The face detected from the image in `target_file_path`. The file name is in the format of `<face_frame>-<face_index>.png`. This value is corresponds to the response in the [face detection API](https://docs.magichour.ai/api-reference/files/get-face-detection-details).
|
|
18
|
+
|
|
19
|
+
* The face_frame is the frame number of the face in the target image. For images, the frame number is always 0.
|
|
20
|
+
* The face_index is the index of the face in the target image, starting from 0 going left to right.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class _SerializerV1FaceSwapCreateBodyAssetsFaceMappingsItem(pydantic.BaseModel):
|
|
25
|
+
"""
|
|
26
|
+
Serializer for V1FaceSwapCreateBodyAssetsFaceMappingsItem handling case conversions
|
|
27
|
+
and file omissions as dictated by the API
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
model_config = pydantic.ConfigDict(
|
|
31
|
+
populate_by_name=True,
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
new_face: str = pydantic.Field(
|
|
35
|
+
alias="new_face",
|
|
36
|
+
)
|
|
37
|
+
original_face: str = pydantic.Field(
|
|
38
|
+
alias="original_face",
|
|
39
|
+
)
|
|
@@ -25,8 +25,8 @@ class V1FaceSwapPhotoCreateBodyAssets(typing_extensions.TypedDict):
|
|
|
25
25
|
]
|
|
26
26
|
"""
|
|
27
27
|
The mode of face swap.
|
|
28
|
-
* `all-faces` - Swap all faces in the target image. `source_file_path` is required.
|
|
29
|
-
* `individual-faces` - Swap individual faces in the target image. `source_faces` is required.
|
|
28
|
+
* `all-faces` - Swap all faces in the target image or video. `source_file_path` is required.
|
|
29
|
+
* `individual-faces` - Swap individual faces in the target image or video. `source_faces` is required.
|
|
30
30
|
"""
|
|
31
31
|
|
|
32
32
|
source_file_path: typing_extensions.NotRequired[str]
|
|
@@ -14,7 +14,7 @@ class V1FaceSwapPhotoCreateBodyAssetsFaceMappingsItem(typing_extensions.TypedDic
|
|
|
14
14
|
|
|
15
15
|
original_face: typing_extensions.Required[str]
|
|
16
16
|
"""
|
|
17
|
-
The face detected from the image in `target_file_path`. The file name is in the format of `<face_frame>-<face_index>.png`. This value is corresponds to the response in the face detection API
|
|
17
|
+
The face detected from the image in `target_file_path`. The file name is in the format of `<face_frame>-<face_index>.png`. This value is corresponds to the response in the [face detection API](https://docs.magichour.ai/api-reference/files/get-face-detection-details).
|
|
18
18
|
|
|
19
19
|
* The face_frame is the frame number of the face in the target image. For images, the frame number is always 0.
|
|
20
20
|
* The face_index is the index of the face in the target image, starting from 0 going left to right.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_clothes_changer/README.md
RENAMED
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_clothes_changer/__init__.py
RENAMED
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_clothes_changer/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_gif_generator/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_headshot_generator/README.md
RENAMED
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_headshot_generator/__init__.py
RENAMED
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_headshot_generator/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_image_generator/README.md
RENAMED
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_image_generator/__init__.py
RENAMED
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_image_generator/client.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_image_upscaler/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_meme_generator/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_qr_code_generator/README.md
RENAMED
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_qr_code_generator/__init__.py
RENAMED
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_qr_code_generator/client.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/ai_talking_photo/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/auto_subtitle_generator/README.md
RENAMED
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/auto_subtitle_generator/__init__.py
RENAMED
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/auto_subtitle_generator/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/files/upload_urls/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/image_background_remover/README.md
RENAMED
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/image_background_remover/__init__.py
RENAMED
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/resources/v1/image_background_remover/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_ai_face_editor_create_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_animation_create_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_face_detection_create_response.py
RENAMED
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_face_detection_get_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_face_swap_create_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_image_projects_get_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_image_to_video_create_response.py
RENAMED
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_lip_sync_create_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_text_to_video_create_response.py
RENAMED
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_video_projects_get_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/models/v1_video_to_video_create_response.py
RENAMED
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_clothes_changer_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_face_editor_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_gif_generator_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_image_editor_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_image_generator_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_image_upscaler_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_meme_generator_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_photo_editor_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_ai_talking_photo_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_animation_create_body_assets.py
RENAMED
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_animation_create_body_style.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_face_detection_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_face_swap_photo_create_body.py
RENAMED
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_files_upload_urls_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_image_to_video_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_lip_sync_create_body_assets.py
RENAMED
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_photo_colorizer_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_text_to_video_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_hour-0.30.1 → magic_hour-0.31.0}/magic_hour/types/params/v1_video_to_video_create_body.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|