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.
- magic_hour/README.md +34 -0
- magic_hour/__init__.py +1 -1
- magic_hour/client.py +8 -17
- magic_hour/environment.py +13 -1
- magic_hour/helpers/__init__.py +4 -0
- magic_hour/helpers/download.py +77 -0
- magic_hour/helpers/logger.py +8 -0
- magic_hour/resources/v1/README.md +32 -0
- magic_hour/resources/v1/ai_clothes_changer/README.md +94 -5
- magic_hour/resources/v1/ai_clothes_changer/client.py +161 -16
- magic_hour/resources/v1/ai_face_editor/README.md +195 -0
- magic_hour/resources/v1/ai_face_editor/__init__.py +4 -0
- magic_hour/resources/v1/ai_face_editor/client.py +324 -0
- magic_hour/resources/v1/ai_gif_generator/README.md +116 -0
- magic_hour/resources/v1/ai_gif_generator/__init__.py +4 -0
- magic_hour/resources/v1/ai_gif_generator/client.py +257 -0
- magic_hour/resources/v1/ai_headshot_generator/README.md +81 -3
- magic_hour/resources/v1/ai_headshot_generator/client.py +167 -18
- magic_hour/resources/v1/ai_image_editor/README.md +125 -0
- magic_hour/resources/v1/ai_image_editor/__init__.py +4 -0
- magic_hour/resources/v1/ai_image_editor/client.py +290 -0
- magic_hour/resources/v1/ai_image_generator/README.md +99 -5
- magic_hour/resources/v1/ai_image_generator/client.py +170 -24
- magic_hour/resources/v1/ai_image_upscaler/README.md +89 -3
- magic_hour/resources/v1/ai_image_upscaler/client.py +173 -20
- magic_hour/resources/v1/ai_meme_generator/README.md +129 -0
- magic_hour/resources/v1/ai_meme_generator/__init__.py +4 -0
- magic_hour/resources/v1/ai_meme_generator/client.py +253 -0
- magic_hour/resources/v1/ai_photo_editor/README.md +119 -4
- magic_hour/resources/v1/ai_photo_editor/client.py +199 -18
- magic_hour/resources/v1/ai_qr_code_generator/README.md +84 -3
- magic_hour/resources/v1/ai_qr_code_generator/client.py +140 -18
- magic_hour/resources/v1/ai_talking_photo/README.md +137 -0
- magic_hour/resources/v1/ai_talking_photo/__init__.py +4 -0
- magic_hour/resources/v1/ai_talking_photo/client.py +326 -0
- magic_hour/resources/v1/ai_voice_cloner/README.md +62 -0
- magic_hour/resources/v1/ai_voice_cloner/__init__.py +4 -0
- magic_hour/resources/v1/ai_voice_cloner/client.py +272 -0
- magic_hour/resources/v1/ai_voice_generator/README.md +112 -0
- magic_hour/resources/v1/ai_voice_generator/__init__.py +4 -0
- magic_hour/resources/v1/ai_voice_generator/client.py +241 -0
- magic_hour/resources/v1/animation/README.md +128 -6
- magic_hour/resources/v1/animation/client.py +247 -22
- magic_hour/resources/v1/audio_projects/README.md +135 -0
- magic_hour/resources/v1/audio_projects/__init__.py +12 -0
- magic_hour/resources/v1/audio_projects/client.py +310 -0
- magic_hour/resources/v1/audio_projects/client_test.py +520 -0
- magic_hour/resources/v1/auto_subtitle_generator/README.md +128 -0
- magic_hour/resources/v1/auto_subtitle_generator/__init__.py +4 -0
- magic_hour/resources/v1/auto_subtitle_generator/client.py +346 -0
- magic_hour/resources/v1/client.py +75 -1
- magic_hour/resources/v1/face_detection/README.md +157 -0
- magic_hour/resources/v1/face_detection/__init__.py +12 -0
- magic_hour/resources/v1/face_detection/client.py +380 -0
- magic_hour/resources/v1/face_swap/README.md +137 -9
- magic_hour/resources/v1/face_swap/client.py +329 -38
- magic_hour/resources/v1/face_swap_photo/README.md +118 -3
- magic_hour/resources/v1/face_swap_photo/client.py +199 -14
- magic_hour/resources/v1/files/README.md +39 -0
- magic_hour/resources/v1/files/client.py +351 -1
- magic_hour/resources/v1/files/client_test.py +414 -0
- magic_hour/resources/v1/files/upload_urls/README.md +38 -17
- magic_hour/resources/v1/files/upload_urls/client.py +38 -34
- magic_hour/resources/v1/image_background_remover/README.md +96 -5
- magic_hour/resources/v1/image_background_remover/client.py +151 -16
- magic_hour/resources/v1/image_projects/README.md +82 -10
- magic_hour/resources/v1/image_projects/__init__.py +10 -2
- magic_hour/resources/v1/image_projects/client.py +154 -16
- magic_hour/resources/v1/image_projects/client_test.py +527 -0
- magic_hour/resources/v1/image_to_video/README.md +96 -11
- magic_hour/resources/v1/image_to_video/client.py +282 -38
- magic_hour/resources/v1/lip_sync/README.md +112 -9
- magic_hour/resources/v1/lip_sync/client.py +288 -34
- magic_hour/resources/v1/photo_colorizer/README.md +107 -0
- magic_hour/resources/v1/photo_colorizer/__init__.py +4 -0
- magic_hour/resources/v1/photo_colorizer/client.py +248 -0
- magic_hour/resources/v1/text_to_video/README.md +96 -7
- magic_hour/resources/v1/text_to_video/client.py +204 -18
- magic_hour/resources/v1/video_projects/README.md +81 -9
- magic_hour/resources/v1/video_projects/__init__.py +10 -2
- magic_hour/resources/v1/video_projects/client.py +151 -14
- magic_hour/resources/v1/video_projects/client_test.py +527 -0
- magic_hour/resources/v1/video_to_video/README.md +119 -15
- magic_hour/resources/v1/video_to_video/client.py +299 -46
- magic_hour/types/models/__init__.py +92 -56
- magic_hour/types/models/v1_ai_clothes_changer_create_response.py +33 -0
- magic_hour/types/models/v1_ai_face_editor_create_response.py +33 -0
- magic_hour/types/models/v1_ai_gif_generator_create_response.py +33 -0
- magic_hour/types/models/v1_ai_headshot_generator_create_response.py +33 -0
- magic_hour/types/models/v1_ai_image_editor_create_response.py +33 -0
- magic_hour/types/models/v1_ai_image_generator_create_response.py +33 -0
- magic_hour/types/models/v1_ai_image_upscaler_create_response.py +33 -0
- magic_hour/types/models/v1_ai_meme_generator_create_response.py +33 -0
- magic_hour/types/models/v1_ai_photo_editor_create_response.py +33 -0
- magic_hour/types/models/v1_ai_qr_code_generator_create_response.py +33 -0
- magic_hour/types/models/v1_ai_talking_photo_create_response.py +35 -0
- magic_hour/types/models/v1_ai_voice_cloner_create_response.py +27 -0
- magic_hour/types/models/v1_ai_voice_generator_create_response.py +27 -0
- magic_hour/types/models/v1_animation_create_response.py +35 -0
- magic_hour/types/models/v1_audio_projects_get_response.py +72 -0
- magic_hour/types/models/v1_audio_projects_get_response_downloads_item.py +19 -0
- magic_hour/types/models/{get_v1_image_projects_id_response_error.py → v1_audio_projects_get_response_error.py} +2 -2
- magic_hour/types/models/v1_auto_subtitle_generator_create_response.py +35 -0
- magic_hour/types/models/v1_face_detection_create_response.py +25 -0
- magic_hour/types/models/v1_face_detection_get_response.py +45 -0
- magic_hour/types/models/v1_face_detection_get_response_faces_item.py +25 -0
- magic_hour/types/models/v1_face_swap_create_response.py +35 -0
- magic_hour/types/models/v1_face_swap_photo_create_response.py +33 -0
- magic_hour/types/models/v1_files_upload_urls_create_response.py +24 -0
- magic_hour/types/models/{post_v1_files_upload_urls_response_items_item.py → v1_files_upload_urls_create_response_items_item.py} +2 -2
- magic_hour/types/models/v1_image_background_remover_create_response.py +33 -0
- magic_hour/types/models/{get_v1_image_projects_id_response.py → v1_image_projects_get_response.py} +20 -18
- magic_hour/types/models/{get_v1_video_projects_id_response_downloads_item.py → v1_image_projects_get_response_downloads_item.py} +1 -1
- magic_hour/types/models/{get_v1_video_projects_id_response_error.py → v1_image_projects_get_response_error.py} +2 -2
- magic_hour/types/models/v1_image_to_video_create_response.py +35 -0
- magic_hour/types/models/v1_lip_sync_create_response.py +35 -0
- magic_hour/types/models/v1_photo_colorizer_create_response.py +33 -0
- magic_hour/types/models/v1_text_to_video_create_response.py +35 -0
- magic_hour/types/models/{get_v1_video_projects_id_response.py → v1_video_projects_get_response.py} +26 -23
- magic_hour/types/models/{get_v1_video_projects_id_response_download.py → v1_video_projects_get_response_download.py} +1 -1
- magic_hour/types/models/{get_v1_image_projects_id_response_downloads_item.py → v1_video_projects_get_response_downloads_item.py} +1 -1
- magic_hour/types/models/v1_video_projects_get_response_error.py +25 -0
- magic_hour/types/models/v1_video_to_video_create_response.py +35 -0
- magic_hour/types/params/__init__.py +422 -176
- magic_hour/types/params/v1_ai_clothes_changer_create_body.py +40 -0
- magic_hour/types/params/v1_ai_clothes_changer_create_body_assets.py +58 -0
- magic_hour/types/params/v1_ai_clothes_changer_generate_body_assets.py +33 -0
- magic_hour/types/params/v1_ai_face_editor_create_body.py +52 -0
- magic_hour/types/params/v1_ai_face_editor_create_body_assets.py +33 -0
- magic_hour/types/params/v1_ai_face_editor_create_body_style.py +137 -0
- magic_hour/types/params/v1_ai_face_editor_generate_body_assets.py +17 -0
- magic_hour/types/params/v1_ai_gif_generator_create_body.py +47 -0
- magic_hour/types/params/{post_v1_ai_image_generator_body_style.py → v1_ai_gif_generator_create_body_style.py} +5 -5
- magic_hour/types/params/v1_ai_headshot_generator_create_body.py +49 -0
- magic_hour/types/params/v1_ai_headshot_generator_create_body_assets.py +33 -0
- magic_hour/types/params/v1_ai_headshot_generator_create_body_style.py +27 -0
- magic_hour/types/params/v1_ai_headshot_generator_generate_body_assets.py +17 -0
- magic_hour/types/params/v1_ai_image_editor_create_body.py +49 -0
- magic_hour/types/params/v1_ai_image_editor_create_body_assets.py +47 -0
- magic_hour/types/params/v1_ai_image_editor_create_body_style.py +41 -0
- magic_hour/types/params/v1_ai_image_editor_generate_body_assets.py +28 -0
- magic_hour/types/params/{post_v1_ai_image_generator_body.py → v1_ai_image_generator_create_body.py} +17 -11
- magic_hour/types/params/v1_ai_image_generator_create_body_style.py +127 -0
- magic_hour/types/params/v1_ai_image_upscaler_create_body.py +59 -0
- magic_hour/types/params/v1_ai_image_upscaler_create_body_assets.py +33 -0
- magic_hour/types/params/{post_v1_ai_image_upscaler_body_style.py → v1_ai_image_upscaler_create_body_style.py} +4 -4
- magic_hour/types/params/v1_ai_image_upscaler_generate_body_assets.py +17 -0
- magic_hour/types/params/v1_ai_meme_generator_create_body.py +37 -0
- magic_hour/types/params/v1_ai_meme_generator_create_body_style.py +73 -0
- magic_hour/types/params/{post_v1_ai_photo_editor_body.py → v1_ai_photo_editor_create_body.py} +15 -15
- magic_hour/types/params/v1_ai_photo_editor_create_body_assets.py +33 -0
- magic_hour/types/params/{post_v1_ai_photo_editor_body_style.py → v1_ai_photo_editor_create_body_style.py} +20 -4
- magic_hour/types/params/v1_ai_photo_editor_generate_body_assets.py +17 -0
- magic_hour/types/params/v1_ai_qr_code_generator_create_body.py +45 -0
- magic_hour/types/params/{post_v1_ai_qr_code_generator_body_style.py → v1_ai_qr_code_generator_create_body_style.py} +4 -4
- magic_hour/types/params/v1_ai_talking_photo_create_body.py +68 -0
- magic_hour/types/params/v1_ai_talking_photo_create_body_assets.py +46 -0
- magic_hour/types/params/v1_ai_talking_photo_create_body_style.py +44 -0
- magic_hour/types/params/v1_ai_talking_photo_generate_body_assets.py +26 -0
- magic_hour/types/params/v1_ai_voice_cloner_create_body.py +49 -0
- magic_hour/types/params/v1_ai_voice_cloner_create_body_assets.py +33 -0
- magic_hour/types/params/v1_ai_voice_cloner_create_body_style.py +28 -0
- magic_hour/types/params/v1_ai_voice_cloner_generate_body_assets.py +28 -0
- magic_hour/types/params/v1_ai_voice_generator_create_body.py +40 -0
- magic_hour/types/params/v1_ai_voice_generator_create_body_style.py +440 -0
- magic_hour/types/params/{post_v1_animation_body.py → v1_animation_create_body.py} +16 -16
- magic_hour/types/params/{post_v1_animation_body_assets.py → v1_animation_create_body_assets.py} +15 -5
- magic_hour/types/params/{post_v1_animation_body_style.py → v1_animation_create_body_style.py} +13 -10
- magic_hour/types/params/v1_animation_generate_body_assets.py +39 -0
- magic_hour/types/params/v1_auto_subtitle_generator_create_body.py +78 -0
- magic_hour/types/params/v1_auto_subtitle_generator_create_body_assets.py +33 -0
- magic_hour/types/params/v1_auto_subtitle_generator_create_body_style.py +56 -0
- magic_hour/types/params/v1_auto_subtitle_generator_create_body_style_custom_config.py +86 -0
- magic_hour/types/params/v1_auto_subtitle_generator_generate_body_assets.py +17 -0
- magic_hour/types/params/v1_face_detection_create_body.py +44 -0
- magic_hour/types/params/v1_face_detection_create_body_assets.py +33 -0
- magic_hour/types/params/v1_face_detection_generate_body_assets.py +17 -0
- magic_hour/types/params/v1_face_swap_create_body.py +92 -0
- magic_hour/types/params/v1_face_swap_create_body_assets.py +91 -0
- magic_hour/types/params/v1_face_swap_create_body_assets_face_mappings_item.py +44 -0
- magic_hour/types/params/v1_face_swap_create_body_style.py +33 -0
- magic_hour/types/params/v1_face_swap_generate_body_assets.py +56 -0
- magic_hour/types/params/v1_face_swap_generate_body_assets_face_mappings_item.py +25 -0
- magic_hour/types/params/v1_face_swap_photo_create_body.py +40 -0
- magic_hour/types/params/v1_face_swap_photo_create_body_assets.py +76 -0
- magic_hour/types/params/v1_face_swap_photo_create_body_assets_face_mappings_item.py +44 -0
- magic_hour/types/params/v1_face_swap_photo_generate_body_assets.py +47 -0
- magic_hour/types/params/v1_face_swap_photo_generate_body_assets_face_mappings_item.py +25 -0
- magic_hour/types/params/v1_files_upload_urls_create_body.py +36 -0
- magic_hour/types/params/v1_files_upload_urls_create_body_items_item.py +38 -0
- magic_hour/types/params/v1_image_background_remover_create_body.py +40 -0
- magic_hour/types/params/v1_image_background_remover_create_body_assets.py +49 -0
- magic_hour/types/params/v1_image_background_remover_generate_body_assets.py +27 -0
- magic_hour/types/params/v1_image_to_video_create_body.py +101 -0
- magic_hour/types/params/v1_image_to_video_create_body_assets.py +33 -0
- magic_hour/types/params/v1_image_to_video_create_body_style.py +53 -0
- magic_hour/types/params/v1_image_to_video_generate_body_assets.py +17 -0
- magic_hour/types/params/v1_lip_sync_create_body.py +100 -0
- magic_hour/types/params/{post_v1_lip_sync_body_assets.py → v1_lip_sync_create_body_assets.py} +15 -5
- magic_hour/types/params/v1_lip_sync_create_body_style.py +37 -0
- magic_hour/types/params/v1_lip_sync_generate_body_assets.py +36 -0
- magic_hour/types/params/v1_photo_colorizer_create_body.py +40 -0
- magic_hour/types/params/v1_photo_colorizer_create_body_assets.py +33 -0
- magic_hour/types/params/v1_photo_colorizer_generate_body_assets.py +17 -0
- magic_hour/types/params/v1_text_to_video_create_body.py +78 -0
- magic_hour/types/params/v1_text_to_video_create_body_style.py +43 -0
- magic_hour/types/params/v1_video_to_video_create_body.py +101 -0
- magic_hour/types/params/{post_v1_video_to_video_body_assets.py → v1_video_to_video_create_body_assets.py} +9 -4
- magic_hour/types/params/{post_v1_video_to_video_body_style.py → v1_video_to_video_create_body_style.py} +68 -26
- magic_hour/types/params/v1_video_to_video_generate_body_assets.py +27 -0
- magic_hour-0.44.0.dist-info/METADATA +328 -0
- magic_hour-0.44.0.dist-info/RECORD +231 -0
- magic_hour/core/__init__.py +0 -52
- magic_hour/core/api_error.py +0 -56
- magic_hour/core/auth.py +0 -314
- magic_hour/core/base_client.py +0 -618
- magic_hour/core/binary_response.py +0 -23
- magic_hour/core/query.py +0 -106
- magic_hour/core/request.py +0 -156
- magic_hour/core/response.py +0 -293
- magic_hour/core/type_utils.py +0 -28
- magic_hour/core/utils.py +0 -55
- magic_hour/types/models/post_v1_ai_clothes_changer_response.py +0 -25
- magic_hour/types/models/post_v1_ai_headshot_generator_response.py +0 -25
- magic_hour/types/models/post_v1_ai_image_generator_response.py +0 -25
- magic_hour/types/models/post_v1_ai_image_upscaler_response.py +0 -25
- magic_hour/types/models/post_v1_ai_photo_editor_response.py +0 -25
- magic_hour/types/models/post_v1_ai_qr_code_generator_response.py +0 -25
- magic_hour/types/models/post_v1_animation_response.py +0 -25
- magic_hour/types/models/post_v1_face_swap_photo_response.py +0 -25
- magic_hour/types/models/post_v1_face_swap_response.py +0 -25
- magic_hour/types/models/post_v1_files_upload_urls_response.py +0 -21
- magic_hour/types/models/post_v1_image_background_remover_response.py +0 -25
- magic_hour/types/models/post_v1_image_to_video_response.py +0 -25
- magic_hour/types/models/post_v1_lip_sync_response.py +0 -25
- magic_hour/types/models/post_v1_text_to_video_response.py +0 -25
- magic_hour/types/models/post_v1_video_to_video_response.py +0 -25
- magic_hour/types/params/post_v1_ai_clothes_changer_body.py +0 -40
- magic_hour/types/params/post_v1_ai_clothes_changer_body_assets.py +0 -45
- magic_hour/types/params/post_v1_ai_headshot_generator_body.py +0 -40
- magic_hour/types/params/post_v1_ai_headshot_generator_body_assets.py +0 -28
- magic_hour/types/params/post_v1_ai_image_upscaler_body.py +0 -57
- magic_hour/types/params/post_v1_ai_image_upscaler_body_assets.py +0 -28
- magic_hour/types/params/post_v1_ai_photo_editor_body_assets.py +0 -28
- magic_hour/types/params/post_v1_ai_qr_code_generator_body.py +0 -45
- magic_hour/types/params/post_v1_face_swap_body.py +0 -72
- magic_hour/types/params/post_v1_face_swap_body_assets.py +0 -52
- magic_hour/types/params/post_v1_face_swap_photo_body.py +0 -40
- magic_hour/types/params/post_v1_face_swap_photo_body_assets.py +0 -36
- magic_hour/types/params/post_v1_files_upload_urls_body.py +0 -31
- magic_hour/types/params/post_v1_files_upload_urls_body_items_item.py +0 -38
- magic_hour/types/params/post_v1_image_background_remover_body.py +0 -40
- magic_hour/types/params/post_v1_image_background_remover_body_assets.py +0 -28
- magic_hour/types/params/post_v1_image_to_video_body.py +0 -73
- magic_hour/types/params/post_v1_image_to_video_body_assets.py +0 -28
- magic_hour/types/params/post_v1_image_to_video_body_style.py +0 -37
- magic_hour/types/params/post_v1_lip_sync_body.py +0 -80
- magic_hour/types/params/post_v1_text_to_video_body.py +0 -57
- magic_hour/types/params/post_v1_text_to_video_body_style.py +0 -28
- magic_hour/types/params/post_v1_video_to_video_body.py +0 -93
- magic_hour-0.9.5.dist-info/METADATA +0 -133
- magic_hour-0.9.5.dist-info/RECORD +0 -132
- {magic_hour-0.9.5.dist-info → magic_hour-0.44.0.dist-info}/LICENSE +0 -0
- {magic_hour-0.9.5.dist-info → magic_hour-0.44.0.dist-info}/WHEEL +0 -0
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import pydantic
|
|
2
|
-
import typing
|
|
3
|
-
import typing_extensions
|
|
4
|
-
|
|
5
|
-
from .post_v1_face_swap_body_assets import (
|
|
6
|
-
PostV1FaceSwapBodyAssets,
|
|
7
|
-
_SerializerPostV1FaceSwapBodyAssets,
|
|
8
|
-
)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class PostV1FaceSwapBody(typing_extensions.TypedDict):
|
|
12
|
-
"""
|
|
13
|
-
PostV1FaceSwapBody
|
|
14
|
-
"""
|
|
15
|
-
|
|
16
|
-
assets: typing_extensions.Required[PostV1FaceSwapBodyAssets]
|
|
17
|
-
"""
|
|
18
|
-
Provide the assets for face swap. For video, The `video_source` field determines whether `video_file_path` or `youtube_url` field is used
|
|
19
|
-
"""
|
|
20
|
-
|
|
21
|
-
end_seconds: typing_extensions.Required[float]
|
|
22
|
-
"""
|
|
23
|
-
The end time of the input video in seconds
|
|
24
|
-
"""
|
|
25
|
-
|
|
26
|
-
height: typing_extensions.Required[int]
|
|
27
|
-
"""
|
|
28
|
-
The height of the final output video. The maximum height depends on your subscription. Please refer to our [pricing page](https://magichour.ai/pricing) for more details
|
|
29
|
-
"""
|
|
30
|
-
|
|
31
|
-
name: typing_extensions.NotRequired[str]
|
|
32
|
-
"""
|
|
33
|
-
The name of video
|
|
34
|
-
"""
|
|
35
|
-
|
|
36
|
-
start_seconds: typing_extensions.Required[float]
|
|
37
|
-
"""
|
|
38
|
-
The start time of the input video in seconds
|
|
39
|
-
"""
|
|
40
|
-
|
|
41
|
-
width: typing_extensions.Required[int]
|
|
42
|
-
"""
|
|
43
|
-
The width of the final output video. The maximum width depends on your subscription. Please refer to our [pricing page](https://magichour.ai/pricing) for more details
|
|
44
|
-
"""
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
class _SerializerPostV1FaceSwapBody(pydantic.BaseModel):
|
|
48
|
-
"""
|
|
49
|
-
Serializer for PostV1FaceSwapBody handling case conversions
|
|
50
|
-
and file omissions as dictated by the API
|
|
51
|
-
"""
|
|
52
|
-
|
|
53
|
-
model_config = pydantic.ConfigDict(
|
|
54
|
-
populate_by_name=True,
|
|
55
|
-
)
|
|
56
|
-
|
|
57
|
-
assets: _SerializerPostV1FaceSwapBodyAssets = pydantic.Field(
|
|
58
|
-
alias="assets",
|
|
59
|
-
)
|
|
60
|
-
end_seconds: float = pydantic.Field(
|
|
61
|
-
alias="end_seconds",
|
|
62
|
-
)
|
|
63
|
-
height: int = pydantic.Field(
|
|
64
|
-
alias="height",
|
|
65
|
-
)
|
|
66
|
-
name: typing.Optional[str] = pydantic.Field(alias="name", default=None)
|
|
67
|
-
start_seconds: float = pydantic.Field(
|
|
68
|
-
alias="start_seconds",
|
|
69
|
-
)
|
|
70
|
-
width: int = pydantic.Field(
|
|
71
|
-
alias="width",
|
|
72
|
-
)
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import pydantic
|
|
2
|
-
import typing
|
|
3
|
-
import typing_extensions
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class PostV1FaceSwapBodyAssets(typing_extensions.TypedDict):
|
|
7
|
-
"""
|
|
8
|
-
Provide the assets for face swap. For video, The `video_source` field determines whether `video_file_path` or `youtube_url` field is used
|
|
9
|
-
"""
|
|
10
|
-
|
|
11
|
-
image_file_path: typing_extensions.Required[str]
|
|
12
|
-
"""
|
|
13
|
-
The path of the input 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.
|
|
14
|
-
"""
|
|
15
|
-
|
|
16
|
-
video_file_path: typing_extensions.NotRequired[str]
|
|
17
|
-
"""
|
|
18
|
-
The path of the input video. This field is required if `video_source` is `file`. 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.
|
|
19
|
-
"""
|
|
20
|
-
|
|
21
|
-
video_source: typing_extensions.Required[
|
|
22
|
-
typing_extensions.Literal["file", "youtube"]
|
|
23
|
-
]
|
|
24
|
-
|
|
25
|
-
youtube_url: typing_extensions.NotRequired[str]
|
|
26
|
-
"""
|
|
27
|
-
Using a youtube video as the input source. This field is required if `video_source` is `youtube`
|
|
28
|
-
"""
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
class _SerializerPostV1FaceSwapBodyAssets(pydantic.BaseModel):
|
|
32
|
-
"""
|
|
33
|
-
Serializer for PostV1FaceSwapBodyAssets handling case conversions
|
|
34
|
-
and file omissions as dictated by the API
|
|
35
|
-
"""
|
|
36
|
-
|
|
37
|
-
model_config = pydantic.ConfigDict(
|
|
38
|
-
populate_by_name=True,
|
|
39
|
-
)
|
|
40
|
-
|
|
41
|
-
image_file_path: str = pydantic.Field(
|
|
42
|
-
alias="image_file_path",
|
|
43
|
-
)
|
|
44
|
-
video_file_path: typing.Optional[str] = pydantic.Field(
|
|
45
|
-
alias="video_file_path", default=None
|
|
46
|
-
)
|
|
47
|
-
video_source: typing_extensions.Literal["file", "youtube"] = pydantic.Field(
|
|
48
|
-
alias="video_source",
|
|
49
|
-
)
|
|
50
|
-
youtube_url: typing.Optional[str] = pydantic.Field(
|
|
51
|
-
alias="youtube_url", default=None
|
|
52
|
-
)
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import pydantic
|
|
2
|
-
import typing
|
|
3
|
-
import typing_extensions
|
|
4
|
-
|
|
5
|
-
from .post_v1_face_swap_photo_body_assets import (
|
|
6
|
-
PostV1FaceSwapPhotoBodyAssets,
|
|
7
|
-
_SerializerPostV1FaceSwapPhotoBodyAssets,
|
|
8
|
-
)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class PostV1FaceSwapPhotoBody(typing_extensions.TypedDict):
|
|
12
|
-
"""
|
|
13
|
-
PostV1FaceSwapPhotoBody
|
|
14
|
-
"""
|
|
15
|
-
|
|
16
|
-
assets: typing_extensions.Required[PostV1FaceSwapPhotoBodyAssets]
|
|
17
|
-
"""
|
|
18
|
-
Provide the assets for face swap photo
|
|
19
|
-
"""
|
|
20
|
-
|
|
21
|
-
name: typing_extensions.NotRequired[str]
|
|
22
|
-
"""
|
|
23
|
-
The name of image
|
|
24
|
-
"""
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
class _SerializerPostV1FaceSwapPhotoBody(pydantic.BaseModel):
|
|
28
|
-
"""
|
|
29
|
-
Serializer for PostV1FaceSwapPhotoBody 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: _SerializerPostV1FaceSwapPhotoBodyAssets = pydantic.Field(
|
|
38
|
-
alias="assets",
|
|
39
|
-
)
|
|
40
|
-
name: typing.Optional[str] = pydantic.Field(alias="name", default=None)
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import pydantic
|
|
2
|
-
import typing_extensions
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
class PostV1FaceSwapPhotoBodyAssets(typing_extensions.TypedDict):
|
|
6
|
-
"""
|
|
7
|
-
Provide the assets for face swap photo
|
|
8
|
-
"""
|
|
9
|
-
|
|
10
|
-
source_file_path: typing_extensions.Required[str]
|
|
11
|
-
"""
|
|
12
|
-
This is the image from which the face is extracted. 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
|
-
target_file_path: typing_extensions.Required[str]
|
|
16
|
-
"""
|
|
17
|
-
This is the image where the face from the source image will be placed. 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.
|
|
18
|
-
"""
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class _SerializerPostV1FaceSwapPhotoBodyAssets(pydantic.BaseModel):
|
|
22
|
-
"""
|
|
23
|
-
Serializer for PostV1FaceSwapPhotoBodyAssets handling case conversions
|
|
24
|
-
and file omissions as dictated by the API
|
|
25
|
-
"""
|
|
26
|
-
|
|
27
|
-
model_config = pydantic.ConfigDict(
|
|
28
|
-
populate_by_name=True,
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
source_file_path: str = pydantic.Field(
|
|
32
|
-
alias="source_file_path",
|
|
33
|
-
)
|
|
34
|
-
target_file_path: str = pydantic.Field(
|
|
35
|
-
alias="target_file_path",
|
|
36
|
-
)
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import pydantic
|
|
2
|
-
import typing
|
|
3
|
-
import typing_extensions
|
|
4
|
-
|
|
5
|
-
from .post_v1_files_upload_urls_body_items_item import (
|
|
6
|
-
PostV1FilesUploadUrlsBodyItemsItem,
|
|
7
|
-
_SerializerPostV1FilesUploadUrlsBodyItemsItem,
|
|
8
|
-
)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class PostV1FilesUploadUrlsBody(typing_extensions.TypedDict):
|
|
12
|
-
"""
|
|
13
|
-
PostV1FilesUploadUrlsBody
|
|
14
|
-
"""
|
|
15
|
-
|
|
16
|
-
items: typing_extensions.Required[typing.List[PostV1FilesUploadUrlsBodyItemsItem]]
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class _SerializerPostV1FilesUploadUrlsBody(pydantic.BaseModel):
|
|
20
|
-
"""
|
|
21
|
-
Serializer for PostV1FilesUploadUrlsBody handling case conversions
|
|
22
|
-
and file omissions as dictated by the API
|
|
23
|
-
"""
|
|
24
|
-
|
|
25
|
-
model_config = pydantic.ConfigDict(
|
|
26
|
-
populate_by_name=True,
|
|
27
|
-
)
|
|
28
|
-
|
|
29
|
-
items: typing.List[_SerializerPostV1FilesUploadUrlsBodyItemsItem] = pydantic.Field(
|
|
30
|
-
alias="items",
|
|
31
|
-
)
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import pydantic
|
|
2
|
-
import typing_extensions
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
class PostV1FilesUploadUrlsBodyItemsItem(typing_extensions.TypedDict):
|
|
6
|
-
"""
|
|
7
|
-
PostV1FilesUploadUrlsBodyItemsItem
|
|
8
|
-
"""
|
|
9
|
-
|
|
10
|
-
extension: typing_extensions.Required[str]
|
|
11
|
-
"""
|
|
12
|
-
the extension of the file to upload. Do not include the dot (.) before the extension.
|
|
13
|
-
"""
|
|
14
|
-
|
|
15
|
-
type_field: typing_extensions.Required[
|
|
16
|
-
typing_extensions.Literal["audio", "image", "video"]
|
|
17
|
-
]
|
|
18
|
-
"""
|
|
19
|
-
The type of asset to upload
|
|
20
|
-
"""
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
class _SerializerPostV1FilesUploadUrlsBodyItemsItem(pydantic.BaseModel):
|
|
24
|
-
"""
|
|
25
|
-
Serializer for PostV1FilesUploadUrlsBodyItemsItem handling case conversions
|
|
26
|
-
and file omissions as dictated by the API
|
|
27
|
-
"""
|
|
28
|
-
|
|
29
|
-
model_config = pydantic.ConfigDict(
|
|
30
|
-
populate_by_name=True,
|
|
31
|
-
)
|
|
32
|
-
|
|
33
|
-
extension: str = pydantic.Field(
|
|
34
|
-
alias="extension",
|
|
35
|
-
)
|
|
36
|
-
type_field: typing_extensions.Literal["audio", "image", "video"] = pydantic.Field(
|
|
37
|
-
alias="type",
|
|
38
|
-
)
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import pydantic
|
|
2
|
-
import typing
|
|
3
|
-
import typing_extensions
|
|
4
|
-
|
|
5
|
-
from .post_v1_image_background_remover_body_assets import (
|
|
6
|
-
PostV1ImageBackgroundRemoverBodyAssets,
|
|
7
|
-
_SerializerPostV1ImageBackgroundRemoverBodyAssets,
|
|
8
|
-
)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class PostV1ImageBackgroundRemoverBody(typing_extensions.TypedDict):
|
|
12
|
-
"""
|
|
13
|
-
PostV1ImageBackgroundRemoverBody
|
|
14
|
-
"""
|
|
15
|
-
|
|
16
|
-
assets: typing_extensions.Required[PostV1ImageBackgroundRemoverBodyAssets]
|
|
17
|
-
"""
|
|
18
|
-
Provide the assets for background removal
|
|
19
|
-
"""
|
|
20
|
-
|
|
21
|
-
name: typing_extensions.NotRequired[str]
|
|
22
|
-
"""
|
|
23
|
-
The name of image
|
|
24
|
-
"""
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
class _SerializerPostV1ImageBackgroundRemoverBody(pydantic.BaseModel):
|
|
28
|
-
"""
|
|
29
|
-
Serializer for PostV1ImageBackgroundRemoverBody 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: _SerializerPostV1ImageBackgroundRemoverBodyAssets = 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 PostV1ImageBackgroundRemoverBodyAssets(typing_extensions.TypedDict):
|
|
6
|
-
"""
|
|
7
|
-
Provide the assets for background removal
|
|
8
|
-
"""
|
|
9
|
-
|
|
10
|
-
image_file_path: typing_extensions.Required[str]
|
|
11
|
-
"""
|
|
12
|
-
The image used to generate the 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 _SerializerPostV1ImageBackgroundRemoverBodyAssets(pydantic.BaseModel):
|
|
17
|
-
"""
|
|
18
|
-
Serializer for PostV1ImageBackgroundRemoverBodyAssets 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,73 +0,0 @@
|
|
|
1
|
-
import pydantic
|
|
2
|
-
import typing
|
|
3
|
-
import typing_extensions
|
|
4
|
-
|
|
5
|
-
from .post_v1_image_to_video_body_assets import (
|
|
6
|
-
PostV1ImageToVideoBodyAssets,
|
|
7
|
-
_SerializerPostV1ImageToVideoBodyAssets,
|
|
8
|
-
)
|
|
9
|
-
from .post_v1_image_to_video_body_style import (
|
|
10
|
-
PostV1ImageToVideoBodyStyle,
|
|
11
|
-
_SerializerPostV1ImageToVideoBodyStyle,
|
|
12
|
-
)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
class PostV1ImageToVideoBody(typing_extensions.TypedDict):
|
|
16
|
-
"""
|
|
17
|
-
PostV1ImageToVideoBody
|
|
18
|
-
"""
|
|
19
|
-
|
|
20
|
-
assets: typing_extensions.Required[PostV1ImageToVideoBodyAssets]
|
|
21
|
-
"""
|
|
22
|
-
Provide the assets for image-to-video.
|
|
23
|
-
"""
|
|
24
|
-
|
|
25
|
-
end_seconds: typing_extensions.Required[float]
|
|
26
|
-
"""
|
|
27
|
-
The total duration of the output video in seconds.
|
|
28
|
-
"""
|
|
29
|
-
|
|
30
|
-
height: typing_extensions.Required[int]
|
|
31
|
-
"""
|
|
32
|
-
The height of the input video. This value will help determine the final orientation of the output video. The output video resolution may not match the input.
|
|
33
|
-
"""
|
|
34
|
-
|
|
35
|
-
name: typing_extensions.NotRequired[str]
|
|
36
|
-
"""
|
|
37
|
-
The name of video
|
|
38
|
-
"""
|
|
39
|
-
|
|
40
|
-
style: typing_extensions.Required[PostV1ImageToVideoBodyStyle]
|
|
41
|
-
|
|
42
|
-
width: typing_extensions.Required[int]
|
|
43
|
-
"""
|
|
44
|
-
The width of the input video. This value will help determine the final orientation of the output video. The output video resolution may not match the input.
|
|
45
|
-
"""
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
class _SerializerPostV1ImageToVideoBody(pydantic.BaseModel):
|
|
49
|
-
"""
|
|
50
|
-
Serializer for PostV1ImageToVideoBody handling case conversions
|
|
51
|
-
and file omissions as dictated by the API
|
|
52
|
-
"""
|
|
53
|
-
|
|
54
|
-
model_config = pydantic.ConfigDict(
|
|
55
|
-
populate_by_name=True,
|
|
56
|
-
)
|
|
57
|
-
|
|
58
|
-
assets: _SerializerPostV1ImageToVideoBodyAssets = pydantic.Field(
|
|
59
|
-
alias="assets",
|
|
60
|
-
)
|
|
61
|
-
end_seconds: float = pydantic.Field(
|
|
62
|
-
alias="end_seconds",
|
|
63
|
-
)
|
|
64
|
-
height: int = pydantic.Field(
|
|
65
|
-
alias="height",
|
|
66
|
-
)
|
|
67
|
-
name: typing.Optional[str] = pydantic.Field(alias="name", default=None)
|
|
68
|
-
style: _SerializerPostV1ImageToVideoBodyStyle = pydantic.Field(
|
|
69
|
-
alias="style",
|
|
70
|
-
)
|
|
71
|
-
width: int = pydantic.Field(
|
|
72
|
-
alias="width",
|
|
73
|
-
)
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import pydantic
|
|
2
|
-
import typing_extensions
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
class PostV1ImageToVideoBodyAssets(typing_extensions.TypedDict):
|
|
6
|
-
"""
|
|
7
|
-
Provide the assets for image-to-video.
|
|
8
|
-
"""
|
|
9
|
-
|
|
10
|
-
image_file_path: typing_extensions.Required[str]
|
|
11
|
-
"""
|
|
12
|
-
The path of the image file. 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 _SerializerPostV1ImageToVideoBodyAssets(pydantic.BaseModel):
|
|
17
|
-
"""
|
|
18
|
-
Serializer for PostV1ImageToVideoBodyAssets 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,37 +0,0 @@
|
|
|
1
|
-
import pydantic
|
|
2
|
-
import typing
|
|
3
|
-
import typing_extensions
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class PostV1ImageToVideoBodyStyle(typing_extensions.TypedDict):
|
|
7
|
-
"""
|
|
8
|
-
PostV1ImageToVideoBodyStyle
|
|
9
|
-
"""
|
|
10
|
-
|
|
11
|
-
high_quality: typing_extensions.NotRequired[bool]
|
|
12
|
-
"""
|
|
13
|
-
High Quality mode enhances detail, sharpness, and realism, making it ideal for portraits, animals, and intricate landscapes.
|
|
14
|
-
"""
|
|
15
|
-
|
|
16
|
-
prompt: typing_extensions.Required[typing.Optional[str]]
|
|
17
|
-
"""
|
|
18
|
-
The prompt used for the video.
|
|
19
|
-
"""
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
class _SerializerPostV1ImageToVideoBodyStyle(pydantic.BaseModel):
|
|
23
|
-
"""
|
|
24
|
-
Serializer for PostV1ImageToVideoBodyStyle handling case conversions
|
|
25
|
-
and file omissions as dictated by the API
|
|
26
|
-
"""
|
|
27
|
-
|
|
28
|
-
model_config = pydantic.ConfigDict(
|
|
29
|
-
populate_by_name=True,
|
|
30
|
-
)
|
|
31
|
-
|
|
32
|
-
high_quality: typing.Optional[bool] = pydantic.Field(
|
|
33
|
-
alias="high_quality", default=None
|
|
34
|
-
)
|
|
35
|
-
prompt: typing.Optional[str] = pydantic.Field(
|
|
36
|
-
alias="prompt",
|
|
37
|
-
)
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import pydantic
|
|
2
|
-
import typing
|
|
3
|
-
import typing_extensions
|
|
4
|
-
|
|
5
|
-
from .post_v1_lip_sync_body_assets import (
|
|
6
|
-
PostV1LipSyncBodyAssets,
|
|
7
|
-
_SerializerPostV1LipSyncBodyAssets,
|
|
8
|
-
)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class PostV1LipSyncBody(typing_extensions.TypedDict):
|
|
12
|
-
"""
|
|
13
|
-
PostV1LipSyncBody
|
|
14
|
-
"""
|
|
15
|
-
|
|
16
|
-
assets: typing_extensions.Required[PostV1LipSyncBodyAssets]
|
|
17
|
-
"""
|
|
18
|
-
Provide the assets for lip-sync. For video, The `video_source` field determines whether `video_file_path` or `youtube_url` field is used
|
|
19
|
-
"""
|
|
20
|
-
|
|
21
|
-
end_seconds: typing_extensions.Required[float]
|
|
22
|
-
"""
|
|
23
|
-
The end time of the input video in seconds
|
|
24
|
-
"""
|
|
25
|
-
|
|
26
|
-
height: typing_extensions.Required[int]
|
|
27
|
-
"""
|
|
28
|
-
The height of the final output video. The maximum height depends on your subscription. Please refer to our [pricing page](https://magichour.ai/pricing) for more details
|
|
29
|
-
"""
|
|
30
|
-
|
|
31
|
-
max_fps_limit: typing_extensions.NotRequired[float]
|
|
32
|
-
"""
|
|
33
|
-
Defines the maximum FPS (frames per second) for the output video. If the input video's FPS is lower than this limit, the output video will retain the input FPS. This is useful for reducing unnecessary frame usage in scenarios where high FPS is not required.
|
|
34
|
-
"""
|
|
35
|
-
|
|
36
|
-
name: typing_extensions.NotRequired[str]
|
|
37
|
-
"""
|
|
38
|
-
The name of video
|
|
39
|
-
"""
|
|
40
|
-
|
|
41
|
-
start_seconds: typing_extensions.Required[float]
|
|
42
|
-
"""
|
|
43
|
-
The start time of the input video in seconds
|
|
44
|
-
"""
|
|
45
|
-
|
|
46
|
-
width: typing_extensions.Required[int]
|
|
47
|
-
"""
|
|
48
|
-
The width of the final output video. The maximum width depends on your subscription. Please refer to our [pricing page](https://magichour.ai/pricing) for more details
|
|
49
|
-
"""
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
class _SerializerPostV1LipSyncBody(pydantic.BaseModel):
|
|
53
|
-
"""
|
|
54
|
-
Serializer for PostV1LipSyncBody handling case conversions
|
|
55
|
-
and file omissions as dictated by the API
|
|
56
|
-
"""
|
|
57
|
-
|
|
58
|
-
model_config = pydantic.ConfigDict(
|
|
59
|
-
populate_by_name=True,
|
|
60
|
-
)
|
|
61
|
-
|
|
62
|
-
assets: _SerializerPostV1LipSyncBodyAssets = pydantic.Field(
|
|
63
|
-
alias="assets",
|
|
64
|
-
)
|
|
65
|
-
end_seconds: float = pydantic.Field(
|
|
66
|
-
alias="end_seconds",
|
|
67
|
-
)
|
|
68
|
-
height: int = pydantic.Field(
|
|
69
|
-
alias="height",
|
|
70
|
-
)
|
|
71
|
-
max_fps_limit: typing.Optional[float] = pydantic.Field(
|
|
72
|
-
alias="max_fps_limit", default=None
|
|
73
|
-
)
|
|
74
|
-
name: typing.Optional[str] = pydantic.Field(alias="name", default=None)
|
|
75
|
-
start_seconds: float = pydantic.Field(
|
|
76
|
-
alias="start_seconds",
|
|
77
|
-
)
|
|
78
|
-
width: int = pydantic.Field(
|
|
79
|
-
alias="width",
|
|
80
|
-
)
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import pydantic
|
|
2
|
-
import typing
|
|
3
|
-
import typing_extensions
|
|
4
|
-
|
|
5
|
-
from .post_v1_text_to_video_body_style import (
|
|
6
|
-
PostV1TextToVideoBodyStyle,
|
|
7
|
-
_SerializerPostV1TextToVideoBodyStyle,
|
|
8
|
-
)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class PostV1TextToVideoBody(typing_extensions.TypedDict):
|
|
12
|
-
"""
|
|
13
|
-
PostV1TextToVideoBody
|
|
14
|
-
"""
|
|
15
|
-
|
|
16
|
-
end_seconds: typing_extensions.Required[float]
|
|
17
|
-
"""
|
|
18
|
-
The total duration of the output video in seconds.
|
|
19
|
-
"""
|
|
20
|
-
|
|
21
|
-
name: typing_extensions.NotRequired[str]
|
|
22
|
-
"""
|
|
23
|
-
The name of video
|
|
24
|
-
"""
|
|
25
|
-
|
|
26
|
-
orientation: typing_extensions.Required[
|
|
27
|
-
typing_extensions.Literal["landscape", "portrait", "square"]
|
|
28
|
-
]
|
|
29
|
-
"""
|
|
30
|
-
Determines the orientation of the output video
|
|
31
|
-
"""
|
|
32
|
-
|
|
33
|
-
style: typing_extensions.Required[PostV1TextToVideoBodyStyle]
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
class _SerializerPostV1TextToVideoBody(pydantic.BaseModel):
|
|
37
|
-
"""
|
|
38
|
-
Serializer for PostV1TextToVideoBody handling case conversions
|
|
39
|
-
and file omissions as dictated by the API
|
|
40
|
-
"""
|
|
41
|
-
|
|
42
|
-
model_config = pydantic.ConfigDict(
|
|
43
|
-
populate_by_name=True,
|
|
44
|
-
)
|
|
45
|
-
|
|
46
|
-
end_seconds: float = pydantic.Field(
|
|
47
|
-
alias="end_seconds",
|
|
48
|
-
)
|
|
49
|
-
name: typing.Optional[str] = pydantic.Field(alias="name", default=None)
|
|
50
|
-
orientation: typing_extensions.Literal["landscape", "portrait", "square"] = (
|
|
51
|
-
pydantic.Field(
|
|
52
|
-
alias="orientation",
|
|
53
|
-
)
|
|
54
|
-
)
|
|
55
|
-
style: _SerializerPostV1TextToVideoBodyStyle = pydantic.Field(
|
|
56
|
-
alias="style",
|
|
57
|
-
)
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import pydantic
|
|
2
|
-
import typing_extensions
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
class PostV1TextToVideoBodyStyle(typing_extensions.TypedDict):
|
|
6
|
-
"""
|
|
7
|
-
PostV1TextToVideoBodyStyle
|
|
8
|
-
"""
|
|
9
|
-
|
|
10
|
-
prompt: typing_extensions.Required[str]
|
|
11
|
-
"""
|
|
12
|
-
The prompt used for the video.
|
|
13
|
-
"""
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
class _SerializerPostV1TextToVideoBodyStyle(pydantic.BaseModel):
|
|
17
|
-
"""
|
|
18
|
-
Serializer for PostV1TextToVideoBodyStyle 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
|
-
prompt: str = pydantic.Field(
|
|
27
|
-
alias="prompt",
|
|
28
|
-
)
|