magic_hour 0.33.1__py3-none-any.whl → 0.34.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of magic_hour might be problematic. Click here for more details.

Files changed (103) hide show
  1. magic_hour/environment.py +1 -1
  2. magic_hour/resources/v1/ai_clothes_changer/README.md +5 -5
  3. magic_hour/resources/v1/ai_clothes_changer/client.py +4 -4
  4. magic_hour/resources/v1/ai_face_editor/README.md +2 -2
  5. magic_hour/resources/v1/ai_face_editor/client.py +2 -2
  6. magic_hour/resources/v1/ai_gif_generator/README.md +2 -2
  7. magic_hour/resources/v1/ai_gif_generator/client.py +2 -2
  8. magic_hour/resources/v1/ai_headshot_generator/README.md +3 -3
  9. magic_hour/resources/v1/ai_headshot_generator/client.py +2 -2
  10. magic_hour/resources/v1/ai_image_editor/README.md +2 -2
  11. magic_hour/resources/v1/ai_image_editor/client.py +2 -2
  12. magic_hour/resources/v1/ai_image_generator/README.md +5 -5
  13. magic_hour/resources/v1/ai_image_generator/client.py +8 -8
  14. magic_hour/resources/v1/ai_image_upscaler/README.md +3 -3
  15. magic_hour/resources/v1/ai_image_upscaler/client.py +8 -4
  16. magic_hour/resources/v1/ai_meme_generator/README.md +1 -1
  17. magic_hour/resources/v1/ai_photo_editor/README.md +2 -2
  18. magic_hour/resources/v1/ai_photo_editor/client.py +2 -2
  19. magic_hour/resources/v1/ai_qr_code_generator/README.md +2 -2
  20. magic_hour/resources/v1/ai_qr_code_generator/client.py +2 -2
  21. magic_hour/resources/v1/ai_talking_photo/README.md +2 -2
  22. magic_hour/resources/v1/ai_talking_photo/client.py +2 -2
  23. magic_hour/resources/v1/animation/README.md +8 -8
  24. magic_hour/resources/v1/animation/client.py +8 -8
  25. magic_hour/resources/v1/auto_subtitle_generator/README.md +4 -4
  26. magic_hour/resources/v1/auto_subtitle_generator/client.py +6 -6
  27. magic_hour/resources/v1/face_detection/README.md +10 -6
  28. magic_hour/resources/v1/face_detection/client.py +12 -4
  29. magic_hour/resources/v1/face_swap/README.md +4 -4
  30. magic_hour/resources/v1/face_swap/client.py +6 -6
  31. magic_hour/resources/v1/face_swap_photo/README.md +2 -2
  32. magic_hour/resources/v1/face_swap_photo/client.py +2 -2
  33. magic_hour/resources/v1/files/upload_urls/README.md +7 -6
  34. magic_hour/resources/v1/files/upload_urls/client.py +14 -12
  35. magic_hour/resources/v1/image_background_remover/README.md +2 -2
  36. magic_hour/resources/v1/image_background_remover/client.py +2 -2
  37. magic_hour/resources/v1/image_projects/README.md +8 -8
  38. magic_hour/resources/v1/image_projects/client.py +10 -10
  39. magic_hour/resources/v1/image_to_video/README.md +5 -3
  40. magic_hour/resources/v1/image_to_video/client.py +10 -4
  41. magic_hour/resources/v1/lip_sync/README.md +4 -4
  42. magic_hour/resources/v1/lip_sync/client.py +6 -6
  43. magic_hour/resources/v1/photo_colorizer/README.md +2 -2
  44. magic_hour/resources/v1/photo_colorizer/client.py +2 -2
  45. magic_hour/resources/v1/text_to_video/README.md +6 -4
  46. magic_hour/resources/v1/text_to_video/client.py +18 -4
  47. magic_hour/resources/v1/video_projects/README.md +7 -7
  48. magic_hour/resources/v1/video_projects/client.py +8 -8
  49. magic_hour/resources/v1/video_to_video/README.md +9 -9
  50. magic_hour/resources/v1/video_to_video/client.py +10 -10
  51. magic_hour/types/models/v1_face_detection_create_response.py +1 -1
  52. magic_hour/types/models/v1_face_detection_get_response.py +1 -1
  53. magic_hour/types/models/v1_files_upload_urls_create_response.py +3 -0
  54. magic_hour/types/models/v1_video_projects_get_response.py +2 -2
  55. magic_hour/types/params/v1_ai_clothes_changer_create_body.py +1 -1
  56. magic_hour/types/params/v1_ai_clothes_changer_create_body_assets.py +15 -2
  57. magic_hour/types/params/v1_ai_face_editor_create_body.py +1 -1
  58. magic_hour/types/params/v1_ai_face_editor_create_body_assets.py +6 -1
  59. magic_hour/types/params/v1_ai_face_editor_create_body_style.py +44 -47
  60. magic_hour/types/params/v1_ai_gif_generator_create_body.py +1 -1
  61. magic_hour/types/params/v1_ai_headshot_generator_create_body.py +1 -1
  62. magic_hour/types/params/v1_ai_headshot_generator_create_body_assets.py +6 -1
  63. magic_hour/types/params/v1_ai_headshot_generator_create_body_style.py +1 -1
  64. magic_hour/types/params/v1_ai_image_editor_create_body.py +1 -1
  65. magic_hour/types/params/v1_ai_image_editor_create_body_assets.py +6 -1
  66. magic_hour/types/params/v1_ai_image_generator_create_body.py +8 -2
  67. magic_hour/types/params/v1_ai_image_generator_create_body_style.py +2 -2
  68. magic_hour/types/params/v1_ai_image_upscaler_create_body.py +4 -2
  69. magic_hour/types/params/v1_ai_image_upscaler_create_body_assets.py +6 -1
  70. magic_hour/types/params/v1_ai_photo_editor_create_body.py +1 -1
  71. magic_hour/types/params/v1_ai_photo_editor_create_body_assets.py +6 -1
  72. magic_hour/types/params/v1_ai_qr_code_generator_create_body.py +1 -1
  73. magic_hour/types/params/v1_ai_talking_photo_create_body.py +1 -1
  74. magic_hour/types/params/v1_ai_talking_photo_create_body_assets.py +12 -2
  75. magic_hour/types/params/v1_animation_create_body.py +2 -2
  76. magic_hour/types/params/v1_animation_create_body_assets.py +12 -2
  77. magic_hour/types/params/v1_animation_create_body_style.py +10 -7
  78. magic_hour/types/params/v1_auto_subtitle_generator_create_body.py +3 -3
  79. magic_hour/types/params/v1_auto_subtitle_generator_create_body_assets.py +6 -1
  80. magic_hour/types/params/v1_face_detection_create_body_assets.py +6 -1
  81. magic_hour/types/params/v1_face_swap_create_body.py +3 -3
  82. magic_hour/types/params/v1_face_swap_create_body_assets.py +12 -2
  83. magic_hour/types/params/v1_face_swap_create_body_assets_face_mappings_item.py +6 -1
  84. magic_hour/types/params/v1_face_swap_photo_create_body.py +1 -1
  85. magic_hour/types/params/v1_face_swap_photo_create_body_assets.py +12 -2
  86. magic_hour/types/params/v1_face_swap_photo_create_body_assets_face_mappings_item.py +6 -1
  87. magic_hour/types/params/v1_files_upload_urls_create_body.py +3 -0
  88. magic_hour/types/params/v1_files_upload_urls_create_body_items_item.py +2 -2
  89. magic_hour/types/params/v1_image_background_remover_create_body.py +1 -1
  90. magic_hour/types/params/v1_image_background_remover_create_body_assets.py +12 -2
  91. magic_hour/types/params/v1_image_to_video_create_body.py +4 -2
  92. magic_hour/types/params/v1_image_to_video_create_body_assets.py +6 -1
  93. magic_hour/types/params/v1_lip_sync_create_body.py +3 -3
  94. magic_hour/types/params/v1_lip_sync_create_body_assets.py +12 -2
  95. magic_hour/types/params/v1_photo_colorizer_create_body.py +1 -1
  96. magic_hour/types/params/v1_photo_colorizer_create_body_assets.py +6 -1
  97. magic_hour/types/params/v1_text_to_video_create_body.py +8 -2
  98. magic_hour/types/params/v1_video_to_video_create_body.py +3 -3
  99. magic_hour/types/params/v1_video_to_video_create_body_assets.py +6 -1
  100. {magic_hour-0.33.1.dist-info → magic_hour-0.34.0.dist-info}/METADATA +1 -1
  101. {magic_hour-0.33.1.dist-info → magic_hour-0.34.0.dist-info}/RECORD +103 -103
  102. {magic_hour-0.33.1.dist-info → magic_hour-0.34.0.dist-info}/LICENSE +0 -0
  103. {magic_hour-0.33.1.dist-info → magic_hour-0.34.0.dist-info}/WHEEL +0 -0
magic_hour/environment.py CHANGED
@@ -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.33.1"
9
+ MOCK_SERVER = "https://api.sideko.dev/v1/mock/magichour/magic-hour/0.34.0"
10
10
 
11
11
 
12
12
  def _get_base_url(
@@ -9,8 +9,8 @@ Change outfits in photos in seconds with just a photo reference. Each photo cost
9
9
 
10
10
  | Parameter | Required | Description | Example |
11
11
  |-----------|:--------:|-------------|--------|
12
- | `assets` | ✓ | Provide the assets for clothes changer | `{"garment_file_path": "api-assets/id/outfit.png", "garment_type": "dresses", "person_file_path": "api-assets/id/model.png"}` |
13
- | `name` | ✗ | The name of image | `"Clothes Changer image"` |
12
+ | `assets` | ✓ | Provide the assets for clothes changer | `{"garment_file_path": "api-assets/id/outfit.png", "garment_type": "upper_body", "person_file_path": "api-assets/id/model.png"}` |
13
+ | `name` | ✗ | The name of image. This value is mainly used for your own identification of the image. | `"Clothes Changer image"` |
14
14
 
15
15
  #### Synchronous Client
16
16
 
@@ -22,7 +22,7 @@ client = Client(token=getenv("API_TOKEN"))
22
22
  res = client.v1.ai_clothes_changer.create(
23
23
  assets={
24
24
  "garment_file_path": "api-assets/id/outfit.png",
25
- "garment_type": "dresses",
25
+ "garment_type": "upper_body",
26
26
  "person_file_path": "api-assets/id/model.png",
27
27
  },
28
28
  name="Clothes Changer image",
@@ -40,7 +40,7 @@ client = AsyncClient(token=getenv("API_TOKEN"))
40
40
  res = await client.v1.ai_clothes_changer.create(
41
41
  assets={
42
42
  "garment_file_path": "api-assets/id/outfit.png",
43
- "garment_type": "dresses",
43
+ "garment_type": "upper_body",
44
44
  "person_file_path": "api-assets/id/model.png",
45
45
  },
46
46
  name="Clothes Changer image",
@@ -54,4 +54,4 @@ res = await client.v1.ai_clothes_changer.create(
54
54
  [V1AiClothesChangerCreateResponse](/magic_hour/types/models/v1_ai_clothes_changer_create_response.py)
55
55
 
56
56
  ##### Example
57
- `{"credits_charged": 25, "frame_cost": 25, "id": "clx7uu86w0a5qp55yxz315r6r"}`
57
+ `{"credits_charged": 25, "frame_cost": 25, "id": "cuid-example"}`
@@ -32,7 +32,7 @@ class AiClothesChangerClient:
32
32
  POST /v1/ai-clothes-changer
33
33
 
34
34
  Args:
35
- name: The name of image
35
+ name: The name of image. This value is mainly used for your own identification of the image.
36
36
  assets: Provide the assets for clothes changer
37
37
  request_options: Additional options to customize the HTTP request
38
38
 
@@ -48,7 +48,7 @@ class AiClothesChangerClient:
48
48
  client.v1.ai_clothes_changer.create(
49
49
  assets={
50
50
  "garment_file_path": "api-assets/id/outfit.png",
51
- "garment_type": "dresses",
51
+ "garment_type": "upper_body",
52
52
  "person_file_path": "api-assets/id/model.png",
53
53
  },
54
54
  name="Clothes Changer image",
@@ -90,7 +90,7 @@ class AsyncAiClothesChangerClient:
90
90
  POST /v1/ai-clothes-changer
91
91
 
92
92
  Args:
93
- name: The name of image
93
+ name: The name of image. This value is mainly used for your own identification of the image.
94
94
  assets: Provide the assets for clothes changer
95
95
  request_options: Additional options to customize the HTTP request
96
96
 
@@ -106,7 +106,7 @@ class AsyncAiClothesChangerClient:
106
106
  await client.v1.ai_clothes_changer.create(
107
107
  assets={
108
108
  "garment_file_path": "api-assets/id/outfit.png",
109
- "garment_type": "dresses",
109
+ "garment_type": "upper_body",
110
110
  "person_file_path": "api-assets/id/model.png",
111
111
  },
112
112
  name="Clothes Changer image",
@@ -11,7 +11,7 @@ Edit facial features of an image using AI. Each edit costs 1 frame. The height/w
11
11
  |-----------|:--------:|-------------|--------|
12
12
  | `assets` | ✓ | Provide the assets for face editor | `{"image_file_path": "api-assets/id/1234.png"}` |
13
13
  | `style` | ✓ | Face editing parameters | `{"enhance_face": False, "eye_gaze_horizontal": 0.0, "eye_gaze_vertical": 0.0, "eye_open_ratio": 0.0, "eyebrow_direction": 0.0, "head_pitch": 0.0, "head_roll": 0.0, "head_yaw": 0.0, "lip_open_ratio": 0.0, "mouth_grim": 0.0, "mouth_position_horizontal": 0.0, "mouth_position_vertical": 0.0, "mouth_pout": 0.0, "mouth_purse": 0.0, "mouth_smile": 0.0}` |
14
- | `name` | ✗ | The name of image | `"Face Editor image"` |
14
+ | `name` | ✗ | The name of image. This value is mainly used for your own identification of the image. | `"Face Editor image"` |
15
15
 
16
16
  #### Synchronous Client
17
17
 
@@ -81,4 +81,4 @@ res = await client.v1.ai_face_editor.create(
81
81
  [V1AiFaceEditorCreateResponse](/magic_hour/types/models/v1_ai_face_editor_create_response.py)
82
82
 
83
83
  ##### Example
84
- `{"credits_charged": 1, "frame_cost": 1, "id": "clx7uu86w0a5qp55yxz315r6r"}`
84
+ `{"credits_charged": 1, "frame_cost": 1, "id": "cuid-example"}`
@@ -33,7 +33,7 @@ class AiFaceEditorClient:
33
33
  POST /v1/ai-face-editor
34
34
 
35
35
  Args:
36
- name: The name of image
36
+ name: The name of image. This value is mainly used for your own identification of the image.
37
37
  assets: Provide the assets for face editor
38
38
  style: Face editing parameters
39
39
  request_options: Additional options to customize the HTTP request
@@ -106,7 +106,7 @@ class AsyncAiFaceEditorClient:
106
106
  POST /v1/ai-face-editor
107
107
 
108
108
  Args:
109
- name: The name of image
109
+ name: The name of image. This value is mainly used for your own identification of the image.
110
110
  assets: Provide the assets for face editor
111
111
  style: Face editing parameters
112
112
  request_options: Additional options to customize the HTTP request
@@ -10,7 +10,7 @@ Create an AI GIF. Each GIF costs 50 credits.
10
10
  | Parameter | Required | Description | Example |
11
11
  |-----------|:--------:|-------------|--------|
12
12
  | `style` | ✓ | | `{"prompt": "Cute dancing cat, pixel art"}` |
13
- | `name` | ✗ | The name of gif | `"Ai Gif gif"` |
13
+ | `name` | ✗ | The name of gif. This value is mainly used for your own identification of the gif. | `"Ai Gif gif"` |
14
14
 
15
15
  #### Synchronous Client
16
16
 
@@ -44,4 +44,4 @@ res = await client.v1.ai_gif_generator.create(
44
44
  [V1AiGifGeneratorCreateResponse](/magic_hour/types/models/v1_ai_gif_generator_create_response.py)
45
45
 
46
46
  ##### Example
47
- `{"credits_charged": 50, "frame_cost": 50, "id": "clx7uu86w0a5qp55yxz315r6r"}`
47
+ `{"credits_charged": 50, "frame_cost": 50, "id": "cuid-example"}`
@@ -32,7 +32,7 @@ class AiGifGeneratorClient:
32
32
  POST /v1/ai-gif-generator
33
33
 
34
34
  Args:
35
- name: The name of gif
35
+ name: The name of gif. This value is mainly used for your own identification of the gif.
36
36
  style: V1AiGifGeneratorCreateBodyStyle
37
37
  request_options: Additional options to customize the HTTP request
38
38
 
@@ -85,7 +85,7 @@ class AsyncAiGifGeneratorClient:
85
85
  POST /v1/ai-gif-generator
86
86
 
87
87
  Args:
88
- name: The name of gif
88
+ name: The name of gif. This value is mainly used for your own identification of the gif.
89
89
  style: V1AiGifGeneratorCreateBodyStyle
90
90
  request_options: Additional options to customize the HTTP request
91
91
 
@@ -10,8 +10,8 @@ Create an AI headshot. Each headshot costs 50 credits.
10
10
  | Parameter | Required | Description | Example |
11
11
  |-----------|:--------:|-------------|--------|
12
12
  | `assets` | ✓ | Provide the assets for headshot photo | `{"image_file_path": "api-assets/id/1234.png"}` |
13
- | `name` | ✗ | The name of image | `"Ai Headshot image"` |
14
- | `style` | ✗ | | `{"prompt": "professional passport photo, business attire, smiling, good posture, light blue background, centered, plain background"}` |
13
+ | `name` | ✗ | The name of image. This value is mainly used for your own identification of the image. | `"Ai Headshot image"` |
14
+ | `style` | ✗ | | `{}` |
15
15
 
16
16
  #### Synchronous Client
17
17
 
@@ -45,4 +45,4 @@ res = await client.v1.ai_headshot_generator.create(
45
45
  [V1AiHeadshotGeneratorCreateResponse](/magic_hour/types/models/v1_ai_headshot_generator_create_response.py)
46
46
 
47
47
  ##### Example
48
- `{"credits_charged": 50, "frame_cost": 50, "id": "clx7uu86w0a5qp55yxz315r6r"}`
48
+ `{"credits_charged": 50, "frame_cost": 50, "id": "cuid-example"}`
@@ -36,7 +36,7 @@ class AiHeadshotGeneratorClient:
36
36
  POST /v1/ai-headshot-generator
37
37
 
38
38
  Args:
39
- name: The name of image
39
+ name: The name of image. This value is mainly used for your own identification of the image.
40
40
  style: V1AiHeadshotGeneratorCreateBodyStyle
41
41
  assets: Provide the assets for headshot photo
42
42
  request_options: Additional options to customize the HTTP request
@@ -95,7 +95,7 @@ class AsyncAiHeadshotGeneratorClient:
95
95
  POST /v1/ai-headshot-generator
96
96
 
97
97
  Args:
98
- name: The name of image
98
+ name: The name of image. This value is mainly used for your own identification of the image.
99
99
  style: V1AiHeadshotGeneratorCreateBodyStyle
100
100
  assets: Provide the assets for headshot photo
101
101
  request_options: Additional options to customize the HTTP request
@@ -11,7 +11,7 @@ Edit images with AI. Each edit costs 50 credits.
11
11
  |-----------|:--------:|-------------|--------|
12
12
  | `assets` | ✓ | Provide the assets for image edit | `{"image_file_path": "api-assets/id/1234.png"}` |
13
13
  | `style` | ✓ | | `{"prompt": "Give me sunglasses"}` |
14
- | `name` | ✗ | The name of image | `"Ai Image Editor image"` |
14
+ | `name` | ✗ | The name of image. This value is mainly used for your own identification of the image. | `"Ai Image Editor image"` |
15
15
 
16
16
  #### Synchronous Client
17
17
 
@@ -49,4 +49,4 @@ res = await client.v1.ai_image_editor.create(
49
49
  [V1AiImageEditorCreateResponse](/magic_hour/types/models/v1_ai_image_editor_create_response.py)
50
50
 
51
51
  ##### Example
52
- `{"credits_charged": 50, "frame_cost": 50, "id": "clx7uu86w0a5qp55yxz315r6r"}`
52
+ `{"credits_charged": 50, "frame_cost": 50, "id": "cuid-example"}`
@@ -33,7 +33,7 @@ class AiImageEditorClient:
33
33
  POST /v1/ai-image-editor
34
34
 
35
35
  Args:
36
- name: The name of image
36
+ name: The name of image. This value is mainly used for your own identification of the image.
37
37
  assets: Provide the assets for image edit
38
38
  style: V1AiImageEditorCreateBodyStyle
39
39
  request_options: Additional options to customize the HTTP request
@@ -90,7 +90,7 @@ class AsyncAiImageEditorClient:
90
90
  POST /v1/ai-image-editor
91
91
 
92
92
  Args:
93
- name: The name of image
93
+ name: The name of image. This value is mainly used for your own identification of the image.
94
94
  assets: Provide the assets for image edit
95
95
  style: V1AiImageEditorCreateBodyStyle
96
96
  request_options: Additional options to customize the HTTP request
@@ -9,10 +9,10 @@ Create an AI image. Each image costs 5 credits.
9
9
 
10
10
  | Parameter | Required | Description | Example |
11
11
  |-----------|:--------:|-------------|--------|
12
- | `image_count` | ✓ | number to images to generate | `1` |
13
- | `orientation` | ✓ | | `"landscape"` |
14
- | `style` | ✓ | | `{"prompt": "Cool image", "tool": "ai-anime-generator"}` |
15
- | `name` | ✗ | The name of image | `"Ai Image image"` |
12
+ | `image_count` | ✓ | Number of images to generate. | `1` |
13
+ | `orientation` | ✓ | The orientation of the output image(s). | `"landscape"` |
14
+ | `style` | ✓ | The art style to use for image generation. | `{"prompt": "Cool image", "tool": "ai-anime-generator"}` |
15
+ | `name` | ✗ | The name of image. This value is mainly used for your own identification of the image. | `"Ai Image image"` |
16
16
 
17
17
  #### Synchronous Client
18
18
 
@@ -52,4 +52,4 @@ res = await client.v1.ai_image_generator.create(
52
52
  [V1AiImageGeneratorCreateResponse](/magic_hour/types/models/v1_ai_image_generator_create_response.py)
53
53
 
54
54
  ##### Example
55
- `{"credits_charged": 5, "frame_cost": 5, "id": "clx7uu86w0a5qp55yxz315r6r"}`
55
+ `{"credits_charged": 5, "frame_cost": 5, "id": "cuid-example"}`
@@ -35,10 +35,10 @@ class AiImageGeneratorClient:
35
35
  POST /v1/ai-image-generator
36
36
 
37
37
  Args:
38
- name: The name of image
39
- image_count: number to images to generate
40
- orientation: typing_extensions.Literal["landscape", "portrait", "square"]
41
- style: V1AiImageGeneratorCreateBodyStyle
38
+ name: The name of image. This value is mainly used for your own identification of the image.
39
+ image_count: Number of images to generate.
40
+ orientation: The orientation of the output image(s).
41
+ style: The art style to use for image generation.
42
42
  request_options: Additional options to customize the HTTP request
43
43
 
44
44
  Returns:
@@ -100,10 +100,10 @@ class AsyncAiImageGeneratorClient:
100
100
  POST /v1/ai-image-generator
101
101
 
102
102
  Args:
103
- name: The name of image
104
- image_count: number to images to generate
105
- orientation: typing_extensions.Literal["landscape", "portrait", "square"]
106
- style: V1AiImageGeneratorCreateBodyStyle
103
+ name: The name of image. This value is mainly used for your own identification of the image.
104
+ image_count: Number of images to generate.
105
+ orientation: The orientation of the output image(s).
106
+ style: The art style to use for image generation.
107
107
  request_options: Additional options to customize the HTTP request
108
108
 
109
109
  Returns:
@@ -10,9 +10,9 @@ Upscale your image using AI. Each 2x upscale costs 50 credits, and 4x upscale co
10
10
  | Parameter | Required | Description | Example |
11
11
  |-----------|:--------:|-------------|--------|
12
12
  | `assets` | ✓ | Provide the assets for upscaling | `{"image_file_path": "api-assets/id/1234.png"}` |
13
- | `scale_factor` | ✓ | How much to scale the image. Must be either 2 or 4 | `2.0` |
13
+ | `scale_factor` | ✓ | How much to scale the image. Must be either 2 or 4. Note: 4x upscale is only available on Creator, Pro, or Business tier. | `2.0` |
14
14
  | `style` | ✓ | | `{"enhancement": "Balanced"}` |
15
- | `name` | ✗ | The name of image | `"Image Upscaler image"` |
15
+ | `name` | ✗ | The name of image. This value is mainly used for your own identification of the image. | `"Image Upscaler image"` |
16
16
 
17
17
  #### Synchronous Client
18
18
 
@@ -52,4 +52,4 @@ res = await client.v1.ai_image_upscaler.create(
52
52
  [V1AiImageUpscalerCreateResponse](/magic_hour/types/models/v1_ai_image_upscaler_create_response.py)
53
53
 
54
54
  ##### Example
55
- `{"credits_charged": 50, "frame_cost": 50, "id": "clx7uu86w0a5qp55yxz315r6r"}`
55
+ `{"credits_charged": 50, "frame_cost": 50, "id": "cuid-example"}`
@@ -34,9 +34,11 @@ class AiImageUpscalerClient:
34
34
  POST /v1/ai-image-upscaler
35
35
 
36
36
  Args:
37
- name: The name of image
37
+ name: The name of image. This value is mainly used for your own identification of the image.
38
38
  assets: Provide the assets for upscaling
39
- scale_factor: How much to scale the image. Must be either 2 or 4
39
+ scale_factor: How much to scale the image. Must be either 2 or 4.
40
+
41
+ Note: 4x upscale is only available on Creator, Pro, or Business tier.
40
42
  style: V1AiImageUpscalerCreateBodyStyle
41
43
  request_options: Additional options to customize the HTTP request
42
44
 
@@ -99,9 +101,11 @@ class AsyncAiImageUpscalerClient:
99
101
  POST /v1/ai-image-upscaler
100
102
 
101
103
  Args:
102
- name: The name of image
104
+ name: The name of image. This value is mainly used for your own identification of the image.
103
105
  assets: Provide the assets for upscaling
104
- scale_factor: How much to scale the image. Must be either 2 or 4
106
+ scale_factor: How much to scale the image. Must be either 2 or 4.
107
+
108
+ Note: 4x upscale is only available on Creator, Pro, or Business tier.
105
109
  style: V1AiImageUpscalerCreateBodyStyle
106
110
  request_options: Additional options to customize the HTTP request
107
111
 
@@ -54,4 +54,4 @@ res = await client.v1.ai_meme_generator.create(
54
54
  [V1AiMemeGeneratorCreateResponse](/magic_hour/types/models/v1_ai_meme_generator_create_response.py)
55
55
 
56
56
  ##### Example
57
- `{"credits_charged": 10, "frame_cost": 10, "id": "clx7uu86w0a5qp55yxz315r6r"}`
57
+ `{"credits_charged": 10, "frame_cost": 10, "id": "cuid-example"}`
@@ -14,7 +14,7 @@ Edit photo using AI. Each photo costs 10 credits.
14
14
  | `assets` | ✓ | Provide the assets for photo editor | `{"image_file_path": "api-assets/id/1234.png"}` |
15
15
  | `resolution` | ✓ | The resolution of the final output image. The allowed value is based on your subscription. Please refer to our [pricing page](https://magichour.ai/pricing) for more details | `768` |
16
16
  | `style` | ✓ | | `{"image_description": "A photo of a person", "likeness_strength": 5.2, "negative_prompt": "painting, cartoon, sketch", "prompt": "A photo portrait of a person wearing a hat", "prompt_strength": 3.75, "steps": 4, "upscale_factor": 2, "upscale_fidelity": 0.5}` |
17
- | `name` | ✗ | The name of image | `"Photo Editor image"` |
17
+ | `name` | ✗ | The name of image. This value is mainly used for your own identification of the image. | `"Photo Editor image"` |
18
18
  | `steps` | ✗ | Deprecated: Please use `.style.steps` instead. Number of iterations used to generate the output. Higher values improve quality and increase the strength of the prompt but increase processing time. | `123` |
19
19
 
20
20
  #### Synchronous Client
@@ -73,4 +73,4 @@ res = await client.v1.ai_photo_editor.create(
73
73
  [V1AiPhotoEditorCreateResponse](/magic_hour/types/models/v1_ai_photo_editor_create_response.py)
74
74
 
75
75
  ##### Example
76
- `{"credits_charged": 10, "frame_cost": 10, "id": "clx7uu86w0a5qp55yxz315r6r"}`
76
+ `{"credits_charged": 10, "frame_cost": 10, "id": "cuid-example"}`
@@ -39,7 +39,7 @@ class AiPhotoEditorClient:
39
39
  POST /v1/ai-photo-editor
40
40
 
41
41
  Args:
42
- name: The name of image
42
+ name: The name of image. This value is mainly used for your own identification of the image.
43
43
  steps: Deprecated: Please use `.style.steps` instead. Number of iterations used to generate the output. Higher values improve quality and increase the strength of the prompt but increase processing time.
44
44
  assets: Provide the assets for photo editor
45
45
  resolution: The resolution of the final output image. The allowed value is based on your subscription. Please refer to our [pricing page](https://magichour.ai/pricing) for more details
@@ -120,7 +120,7 @@ class AsyncAiPhotoEditorClient:
120
120
  POST /v1/ai-photo-editor
121
121
 
122
122
  Args:
123
- name: The name of image
123
+ name: The name of image. This value is mainly used for your own identification of the image.
124
124
  steps: Deprecated: Please use `.style.steps` instead. Number of iterations used to generate the output. Higher values improve quality and increase the strength of the prompt but increase processing time.
125
125
  assets: Provide the assets for photo editor
126
126
  resolution: The resolution of the final output image. The allowed value is based on your subscription. Please refer to our [pricing page](https://magichour.ai/pricing) for more details
@@ -11,7 +11,7 @@ Create an AI QR code. Each QR code costs 20 credits.
11
11
  |-----------|:--------:|-------------|--------|
12
12
  | `content` | ✓ | The content of the QR code. | `"https://magichour.ai"` |
13
13
  | `style` | ✓ | | `{"art_style": "Watercolor"}` |
14
- | `name` | ✗ | The name of image | `"Qr Code image"` |
14
+ | `name` | ✗ | The name of image. This value is mainly used for your own identification of the image. | `"Qr Code image"` |
15
15
 
16
16
  #### Synchronous Client
17
17
 
@@ -49,4 +49,4 @@ res = await client.v1.ai_qr_code_generator.create(
49
49
  [V1AiQrCodeGeneratorCreateResponse](/magic_hour/types/models/v1_ai_qr_code_generator_create_response.py)
50
50
 
51
51
  ##### Example
52
- `{"credits_charged": 20, "frame_cost": 20, "id": "clx7uu86w0a5qp55yxz315r6r"}`
52
+ `{"credits_charged": 20, "frame_cost": 20, "id": "cuid-example"}`
@@ -33,7 +33,7 @@ class AiQrCodeGeneratorClient:
33
33
  POST /v1/ai-qr-code-generator
34
34
 
35
35
  Args:
36
- name: The name of image
36
+ name: The name of image. This value is mainly used for your own identification of the image.
37
37
  content: The content of the QR code.
38
38
  style: V1AiQrCodeGeneratorCreateBodyStyle
39
39
  request_options: Additional options to customize the HTTP request
@@ -90,7 +90,7 @@ class AsyncAiQrCodeGeneratorClient:
90
90
  POST /v1/ai-qr-code-generator
91
91
 
92
92
  Args:
93
- name: The name of image
93
+ name: The name of image. This value is mainly used for your own identification of the image.
94
94
  content: The content of the QR code.
95
95
  style: V1AiQrCodeGeneratorCreateBodyStyle
96
96
  request_options: Additional options to customize the HTTP request
@@ -12,7 +12,7 @@ Create a talking photo from an image and audio or text input.
12
12
  | `assets` | ✓ | Provide the assets for creating a talking photo | `{"audio_file_path": "api-assets/id/1234.mp3", "image_file_path": "api-assets/id/1234.png"}` |
13
13
  | `end_seconds` | ✓ | The end time of the input audio in seconds. The maximum duration allowed is 60 seconds. | `15.0` |
14
14
  | `start_seconds` | ✓ | The start time of the input audio in seconds. The maximum duration allowed is 60 seconds. | `0.0` |
15
- | `name` | ✗ | The name of image | `"Talking Photo image"` |
15
+ | `name` | ✗ | The name of image. This value is mainly used for your own identification of the image. | `"Talking Photo image"` |
16
16
  | `style` | ✗ | Attributes used to dictate the style of the output | `{"generation_mode": "expressive", "intensity": 1.5}` |
17
17
 
18
18
  #### Synchronous Client
@@ -59,4 +59,4 @@ res = await client.v1.ai_talking_photo.create(
59
59
  [V1AiTalkingPhotoCreateResponse](/magic_hour/types/models/v1_ai_talking_photo_create_response.py)
60
60
 
61
61
  ##### Example
62
- `{"credits_charged": 450, "estimated_frame_cost": 450, "id": "clx7uu86w0a5qp55yxz315r6r"}`
62
+ `{"credits_charged": 450, "estimated_frame_cost": 450, "id": "cuid-example"}`
@@ -37,7 +37,7 @@ class AiTalkingPhotoClient:
37
37
  POST /v1/ai-talking-photo
38
38
 
39
39
  Args:
40
- name: The name of image
40
+ name: The name of image. This value is mainly used for your own identification of the image.
41
41
  style: Attributes used to dictate the style of the output
42
42
  assets: Provide the assets for creating a talking photo
43
43
  end_seconds: The end time of the input audio in seconds. The maximum duration allowed is 60 seconds.
@@ -110,7 +110,7 @@ class AsyncAiTalkingPhotoClient:
110
110
  POST /v1/ai-talking-photo
111
111
 
112
112
  Args:
113
- name: The name of image
113
+ name: The name of image. This value is mainly used for your own identification of the image.
114
114
  style: Attributes used to dictate the style of the output
115
115
  assets: Provide the assets for creating a talking photo
116
116
  end_seconds: The end time of the input audio in seconds. The maximum duration allowed is 60 seconds.
@@ -10,12 +10,12 @@ Create a Animation video. The estimated frame cost is calculated based on the `f
10
10
  | Parameter | Required | Description | Example |
11
11
  |-----------|:--------:|-------------|--------|
12
12
  | `assets` | ✓ | Provide the assets for animation. | `{"audio_file_path": "api-assets/id/1234.mp3", "audio_source": "file", "image_file_path": "api-assets/id/1234.png"}` |
13
- | `end_seconds` | ✓ | The end time of the input video in seconds | `15.0` |
13
+ | `end_seconds` | ✓ | This value determines the duration of the output video. | `15.0` |
14
14
  | `fps` | ✓ | The desire output video frame rate | `12.0` |
15
15
  | `height` | ✓ | 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 | `960` |
16
- | `style` | ✓ | Defines the style of the output video | `{"art_style": "Painterly Illustration", "camera_effect": "Accelerate", "prompt": "Cyberpunk city", "prompt_type": "ai_choose", "transition_speed": 5}` |
16
+ | `style` | ✓ | Defines the style of the output video | `{"art_style": "Painterly Illustration", "camera_effect": "Simple Zoom In", "prompt": "Cyberpunk city", "prompt_type": "custom", "transition_speed": 5}` |
17
17
  | `width` | ✓ | 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 | `512` |
18
- | `name` | ✗ | The name of video | `"Animation video"` |
18
+ | `name` | ✗ | The name of video. This value is mainly used for your own identification of the video. | `"Animation video"` |
19
19
 
20
20
  #### Synchronous Client
21
21
 
@@ -35,9 +35,9 @@ res = client.v1.animation.create(
35
35
  height=960,
36
36
  style={
37
37
  "art_style": "Painterly Illustration",
38
- "camera_effect": "Accelerate",
38
+ "camera_effect": "Simple Zoom In",
39
39
  "prompt": "Cyberpunk city",
40
- "prompt_type": "ai_choose",
40
+ "prompt_type": "custom",
41
41
  "transition_speed": 5,
42
42
  },
43
43
  width=512,
@@ -64,9 +64,9 @@ res = await client.v1.animation.create(
64
64
  height=960,
65
65
  style={
66
66
  "art_style": "Painterly Illustration",
67
- "camera_effect": "Accelerate",
67
+ "camera_effect": "Simple Zoom In",
68
68
  "prompt": "Cyberpunk city",
69
- "prompt_type": "ai_choose",
69
+ "prompt_type": "custom",
70
70
  "transition_speed": 5,
71
71
  },
72
72
  width=512,
@@ -81,4 +81,4 @@ res = await client.v1.animation.create(
81
81
  [V1AnimationCreateResponse](/magic_hour/types/models/v1_animation_create_response.py)
82
82
 
83
83
  ##### Example
84
- `{"credits_charged": 450, "estimated_frame_cost": 450, "id": "clx7uu86w0a5qp55yxz315r6r"}`
84
+ `{"credits_charged": 450, "estimated_frame_cost": 450, "id": "cuid-example"}`
@@ -37,9 +37,9 @@ class AnimationClient:
37
37
  POST /v1/animation
38
38
 
39
39
  Args:
40
- name: The name of video
40
+ name: The name of video. This value is mainly used for your own identification of the video.
41
41
  assets: Provide the assets for animation.
42
- end_seconds: The end time of the input video in seconds
42
+ end_seconds: This value determines the duration of the output video.
43
43
  fps: The desire output video frame rate
44
44
  height: 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
45
45
  style: Defines the style of the output video
@@ -66,9 +66,9 @@ class AnimationClient:
66
66
  height=960,
67
67
  style={
68
68
  "art_style": "Painterly Illustration",
69
- "camera_effect": "Accelerate",
69
+ "camera_effect": "Simple Zoom In",
70
70
  "prompt": "Cyberpunk city",
71
- "prompt_type": "ai_choose",
71
+ "prompt_type": "custom",
72
72
  "transition_speed": 5,
73
73
  },
74
74
  width=512,
@@ -124,9 +124,9 @@ class AsyncAnimationClient:
124
124
  POST /v1/animation
125
125
 
126
126
  Args:
127
- name: The name of video
127
+ name: The name of video. This value is mainly used for your own identification of the video.
128
128
  assets: Provide the assets for animation.
129
- end_seconds: The end time of the input video in seconds
129
+ end_seconds: This value determines the duration of the output video.
130
130
  fps: The desire output video frame rate
131
131
  height: 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
132
132
  style: Defines the style of the output video
@@ -153,9 +153,9 @@ class AsyncAnimationClient:
153
153
  height=960,
154
154
  style={
155
155
  "art_style": "Painterly Illustration",
156
- "camera_effect": "Accelerate",
156
+ "camera_effect": "Simple Zoom In",
157
157
  "prompt": "Cyberpunk city",
158
- "prompt_type": "ai_choose",
158
+ "prompt_type": "custom",
159
159
  "transition_speed": 5,
160
160
  },
161
161
  width=512,
@@ -10,10 +10,10 @@ Automatically generate subtitles for your video in multiple languages.
10
10
  | Parameter | Required | Description | Example |
11
11
  |-----------|:--------:|-------------|--------|
12
12
  | `assets` | ✓ | Provide the assets for auto subtitle generator | `{"video_file_path": "api-assets/id/1234.mp4"}` |
13
- | `end_seconds` | ✓ | The end time of the input video in seconds | `15.0` |
14
- | `start_seconds` | ✓ | The start time of the input video in seconds | `0.0` |
13
+ | `end_seconds` | ✓ | The end time of the input video in seconds. This value is used to trim the input video. The value must be greater than 0.1, and more than the start_seconds. | `15.0` |
14
+ | `start_seconds` | ✓ | The start time of the input video in seconds. This value is used to trim the input video. The value must be greater than 0. | `0.0` |
15
15
  | `style` | ✓ | Style of the subtitle. At least one of `.style.template` or `.style.custom_config` must be provided. * If only `.style.template` is provided, default values for the template will be used. * If both are provided, the fields in `.style.custom_config` will be used to overwrite the fields in `.style.template`. * If only `.style.custom_config` is provided, then all fields in `.style.custom_config` will be used. To use custom config only, the following `custom_config` params are required: * `.style.custom_config.font` * `.style.custom_config.text_color` * `.style.custom_config.vertical_position` * `.style.custom_config.horizontal_position` | `{}` |
16
- | `name` | ✗ | The name of video | `"Auto Subtitle video"` |
16
+ | `name` | ✗ | The name of video. This value is mainly used for your own identification of the video. | `"Auto Subtitle video"` |
17
17
 
18
18
  #### Synchronous Client
19
19
 
@@ -55,4 +55,4 @@ res = await client.v1.auto_subtitle_generator.create(
55
55
  [V1AutoSubtitleGeneratorCreateResponse](/magic_hour/types/models/v1_auto_subtitle_generator_create_response.py)
56
56
 
57
57
  ##### Example
58
- `{"credits_charged": 450, "estimated_frame_cost": 450, "id": "clx7uu86w0a5qp55yxz315r6r"}`
58
+ `{"credits_charged": 450, "estimated_frame_cost": 450, "id": "cuid-example"}`
@@ -35,10 +35,10 @@ class AutoSubtitleGeneratorClient:
35
35
  POST /v1/auto-subtitle-generator
36
36
 
37
37
  Args:
38
- name: The name of video
38
+ name: The name of video. This value is mainly used for your own identification of the video.
39
39
  assets: Provide the assets for auto subtitle generator
40
- end_seconds: The end time of the input video in seconds
41
- start_seconds: The start time of the input video in seconds
40
+ end_seconds: The end time of the input video in seconds. This value is used to trim the input video. The value must be greater than 0.1, and more than the start_seconds.
41
+ start_seconds: The start time of the input video in seconds. This value is used to trim the input video. The value must be greater than 0.
42
42
  style: Style of the subtitle. At least one of `.style.template` or `.style.custom_config` must be provided.
43
43
  * If only `.style.template` is provided, default values for the template will be used.
44
44
  * If both are provided, the fields in `.style.custom_config` will be used to overwrite the fields in `.style.template`.
@@ -114,10 +114,10 @@ class AsyncAutoSubtitleGeneratorClient:
114
114
  POST /v1/auto-subtitle-generator
115
115
 
116
116
  Args:
117
- name: The name of video
117
+ name: The name of video. This value is mainly used for your own identification of the video.
118
118
  assets: Provide the assets for auto subtitle generator
119
- end_seconds: The end time of the input video in seconds
120
- start_seconds: The start time of the input video in seconds
119
+ end_seconds: The end time of the input video in seconds. This value is used to trim the input video. The value must be greater than 0.1, and more than the start_seconds.
120
+ start_seconds: The start time of the input video in seconds. This value is used to trim the input video. The value must be greater than 0.
121
121
  style: Style of the subtitle. At least one of `.style.template` or `.style.custom_config` must be provided.
122
122
  * If only `.style.template` is provided, default values for the template will be used.
123
123
  * If both are provided, the fields in `.style.custom_config` will be used to overwrite the fields in `.style.template`.