diff --git a/.sdk.json b/.sdk.json index 3f19ce7..39e8f88 100644 --- a/.sdk.json +++ b/.sdk.json @@ -1,5 +1,5 @@ { - "id": "1be4520e-0bec-4a18-81cf-2488a9d303f8", + "id": "0270e04f-dd51-4f01-9578-99d683c4ee44", "tracked_paths": [ { "editable": true, diff --git a/magic_hour/environment.py b/magic_hour/environment.py index 552ffde..feec9a0 100644 --- a/magic_hour/environment.py +++ b/magic_hour/environment.py @@ -6,7 +6,7 @@ class Environment(enum.Enum): """Pre-defined base URLs for the API""" ENVIRONMENT = "https://api.magichour.ai" - MOCK_SERVER = "https://api.sideko.dev/v1/mock/magichour/magic-hour/0.62.0" + MOCK_SERVER = "https://api.sideko.dev/v1/mock/magichour/magic-hour/0.63.0" def _get_base_url( diff --git a/magic_hour/resources/v1/ai_image_editor/README.md b/magic_hour/resources/v1/ai_image_editor/README.md index 40a7fd9..17c0205 100644 --- a/magic_hour/resources/v1/ai_image_editor/README.md +++ b/magic_hour/resources/v1/ai_image_editor/README.md @@ -68,19 +68,19 @@ Edit images with AI. #### Parameters -| Parameter | Required | Description | Example | -| --------------------- | :------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | -| `assets` | ✓ | Provide the assets for image edit | `{"image_file_paths": ["api-assets/id/1234.png", "api-assets/id/1235.png"]}` | -| `└─ image_file_path` | ✗ | Deprecated: Please use `image_file_paths` instead as edits with multiple images are now supported. The image used in the edit. This value is either - a direct URL to the video file - `file_path` field from the response of the [upload urls API](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls). See the [file upload guide](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls#input-file) for details. | `"string"` | -| `└─ image_file_paths` | ✗ | The image(s) used in the edit, maximum of 10 images. This value is either - a direct URL to the video file - `file_path` field from the response of the [upload urls API](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls). See the [file upload guide](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls#input-file) for details. | `["api-assets/id/1234.png", "api-assets/id/1235.png"]` | -| `style` | ✓ | | `{"prompt": "Give me sunglasses"}` | -| `└─ model` | ✗ | Deprecated: Please use `model` instead. The AI model to use for image editing. * `Nano Banana` - Precise, realistic edits with consistent results * `Seedream` - Creative, imaginative images with artistic freedom * `default` - Use the model we recommend, which will change over time. This is recommended unless you need a specific model. This is the default behavior. | `"Nano Banana"` | -| `└─ prompt` | ✓ | The prompt used to edit the image. | `"Give me sunglasses"` | -| `aspect_ratio` | ✗ | The aspect ratio of the output image(s). If not specified, defaults to `auto`. | `"1:1"` | -| `image_count` | ✗ | Number of images to generate. Maximum varies by model. Defaults to 1 if not specified. | `1.0` | -| `model` | ✗ | The AI model to use for image editing. Each model has different capabilities and costs. **Models:** - `default` - Use the model we recommend, which will change over time. This is recommended unless you need a specific model. This is the default behavior. - `qwen-edit` - from 10 credits/image - Supported resolutions: 640px, 1k, 2k - Available for tiers: free, creator, pro, business - Max additional input images: 2 - `nano-banana` - from 50 credits/image - Supported resolutions: 640px, 1k - Available for tiers: free, creator, pro, business - Max additional input images: 9 - `nano-banana-2` - from 100 credits/image - Supported resolutions: 640px, 1k, 2k, 4k - Available for tiers: free, creator, pro, business - Max additional input images: 9 - `seedream-v4` - from 40 credits/image - Supported resolutions: 640px, 1k, 2k, 4k - Available for tiers: free, creator, pro, business - Max additional input images: 9 - `nano-banana-pro` - from 150 credits/image - Supported resolutions: 1k, 2k, 4k - Available for tiers: creator, pro, business - Max additional input images: 9 - `seedream-v4.5` - from 50 credits/image - Supported resolutions: 640px, 1k, 2k, 4k - Available for tiers: creator, pro, business - Max additional input images: 9 | `"default"` | -| `name` | ✗ | Give your image a custom name for easy identification. | `"My Ai Image Editor image"` | -| `resolution` | ✗ | Maximum resolution (longest edge) for the output image. **Options:** - `640px` — up to 640px - `1k` — up to 1024px - `2k` — up to 2048px - `4k` — up to 4096px - `auto` — **Deprecated.** Mapped server-side from your subscription tier to the best matching resolution the model supports **Per-model support:** - `qwen-edit` - 640px, 1k, 2k - `nano-banana` - 640px, 1k - `nano-banana-2` - 640px, 1k, 2k, 4k - `seedream-v4` - 640px, 1k, 2k, 4k - `nano-banana-pro` - 1k, 2k, 4k - `seedream-v4.5` - 640px, 1k, 2k, 4k Note: Resolution availability depends on the model and your subscription tier. | `"1k"` | +| Parameter | Required | Description | Example | +| --------------------- | :------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | +| `assets` | ✓ | Provide the assets for image edit | `{"image_file_paths": ["api-assets/id/1234.png", "api-assets/id/1235.png"]}` | +| `└─ image_file_path` | ✗ | Deprecated: Please use `image_file_paths` instead as edits with multiple images are now supported. The image used in the edit. This value is either - a direct URL to the video file - `file_path` field from the response of the [upload urls API](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls). See the [file upload guide](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls#input-file) for details. | `"string"` | +| `└─ image_file_paths` | ✗ | The image(s) used in the edit, maximum of 10 images. This value is either - a direct URL to the video file - `file_path` field from the response of the [upload urls API](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls). See the [file upload guide](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls#input-file) for details. | `["api-assets/id/1234.png", "api-assets/id/1235.png"]` | +| `style` | ✓ | | `{"prompt": "Give me sunglasses"}` | +| `└─ model` | ✗ | Deprecated: Please use `model` instead. The AI model to use for image editing. * `Nano Banana` - Precise, realistic edits with consistent results * `Seedream` - Creative, imaginative images with artistic freedom * `default` - Use the model we recommend, which will change over time. This is recommended unless you need a specific model. This is the default behavior. | `"Nano Banana"` | +| `└─ prompt` | ✓ | The prompt used to edit the image. | `"Give me sunglasses"` | +| `aspect_ratio` | ✗ | The aspect ratio of the output image(s). If not specified, defaults to `auto`. | `"1:1"` | +| `image_count` | ✗ | Number of images to generate. Maximum varies by model. Defaults to 1 if not specified. | `1.0` | +| `model` | ✗ | The AI model to use for image editing. Each model has different capabilities and costs. **Models:** - `default` - Use the model we recommend, which will change over time. This is recommended unless you need a specific model. This is the default behavior. - `qwen-edit` - from 10 credits/image - Supported resolutions: 640px, 1k, 2k - Available for tiers: free, creator, pro, business - Max additional input images: 2 - `nano-banana` - from 50 credits/image - Supported resolutions: 640px, 1k - Available for tiers: free, creator, pro, business - Max additional input images: 9 - `nano-banana-2` - from 100 credits/image - Supported resolutions: 640px, 1k, 2k, 4k - Available for tiers: free, creator, pro, business - Max additional input images: 9 - `seedream-v4` - from 40 credits/image - Supported resolutions: 640px, 1k, 2k, 4k - Available for tiers: free, creator, pro, business - Max additional input images: 9 - `nano-banana-pro` - from 150 credits/image - Supported resolutions: 1k, 2k, 4k - Available for tiers: creator, pro, business - Max additional input images: 9 - `seedream-v4.5` - from 50 credits/image - Supported resolutions: 640px, 1k, 2k, 4k - Available for tiers: creator, pro, business - Max additional input images: 9 - `gpt-image-2` - from 50 credits/image - Supported resolutions: 640px, 1k, 2k, 4k - Available for tiers: creator, pro, business - Max additional input images: 9 | `"default"` | +| `name` | ✗ | Give your image a custom name for easy identification. | `"My Ai Image Editor image"` | +| `resolution` | ✗ | Maximum resolution (longest edge) for the output image. **Options:** - `640px` — up to 640px - `1k` — up to 1024px - `2k` — up to 2048px - `4k` — up to 4096px - `auto` — **Deprecated.** Mapped server-side from your subscription tier to the best matching resolution the model supports **Per-model support:** - `qwen-edit` - 640px, 1k, 2k - `nano-banana` - 640px, 1k - `nano-banana-2` - 640px, 1k, 2k, 4k - `seedream-v4` - 640px, 1k, 2k, 4k - `nano-banana-pro` - 1k, 2k, 4k - `seedream-v4.5` - 640px, 1k, 2k, 4k - `gpt-image-2` - 640px, 1k, 2k, 4k Note: Resolution availability depends on the model and your subscription tier. | `"1k"` | #### Synchronous Client diff --git a/magic_hour/resources/v1/ai_image_editor/client.py b/magic_hour/resources/v1/ai_image_editor/client.py index 6f04844..1fdd9c8 100644 --- a/magic_hour/resources/v1/ai_image_editor/client.py +++ b/magic_hour/resources/v1/ai_image_editor/client.py @@ -151,6 +151,7 @@ def create( typing.Optional[ typing_extensions.Literal[ "default", + "gpt-image-2", "nano-banana", "nano-banana-2", "nano-banana-pro", @@ -207,6 +208,10 @@ def create( - Available for tiers: creator, pro, business - Max additional input images: 9 - `seedream-v4.5` - from 50 credits/image + - Supported resolutions: 640px, 1k, 2k, 4k + - Available for tiers: creator, pro, business + - Max additional input images: 9 + - `gpt-image-2` - from 50 credits/image - Supported resolutions: 640px, 1k, 2k, 4k - Available for tiers: creator, pro, business - Max additional input images: 9 @@ -228,6 +233,7 @@ def create( - `seedream-v4` - 640px, 1k, 2k, 4k - `nano-banana-pro` - 1k, 2k, 4k - `seedream-v4.5` - 640px, 1k, 2k, 4k + - `gpt-image-2` - 640px, 1k, 2k, 4k Note: Resolution availability depends on the model and your subscription tier. assets: Provide the assets for image edit @@ -410,6 +416,7 @@ async def create( typing.Optional[ typing_extensions.Literal[ "default", + "gpt-image-2", "nano-banana", "nano-banana-2", "nano-banana-pro", @@ -466,6 +473,10 @@ async def create( - Available for tiers: creator, pro, business - Max additional input images: 9 - `seedream-v4.5` - from 50 credits/image + - Supported resolutions: 640px, 1k, 2k, 4k + - Available for tiers: creator, pro, business + - Max additional input images: 9 + - `gpt-image-2` - from 50 credits/image - Supported resolutions: 640px, 1k, 2k, 4k - Available for tiers: creator, pro, business - Max additional input images: 9 @@ -487,6 +498,7 @@ async def create( - `seedream-v4` - 640px, 1k, 2k, 4k - `nano-banana-pro` - 1k, 2k, 4k - `seedream-v4.5` - 640px, 1k, 2k, 4k + - `gpt-image-2` - 640px, 1k, 2k, 4k Note: Resolution availability depends on the model and your subscription tier. assets: Provide the assets for image edit diff --git a/magic_hour/resources/v1/ai_image_generator/README.md b/magic_hour/resources/v1/ai_image_generator/README.md index 543d78f..fd326d2 100644 --- a/magic_hour/resources/v1/ai_image_generator/README.md +++ b/magic_hour/resources/v1/ai_image_generator/README.md @@ -75,18 +75,18 @@ Create an AI image with advanced model selection and quality controls. #### Parameters -| Parameter | Required | Deprecated | Description | Example | -| ----------------- | :------: | :--------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | -| `image_count` | ✓ | ✗ | Number of images to generate. Maximum varies by model. | `1` | -| `style` | ✓ | ✗ | The art style to use for image generation. | `{"prompt": "Cool image", "tool": "ai-anime-generator"}` | -| `└─ prompt` | ✓ | — | The prompt used for the image(s). | `"Cool image"` | -| `└─ quality_mode` | ✗ | ✓ | DEPRECATED: Use `model` field instead for explicit model selection. Legacy quality mode mapping: - `standard` → `z-image-turbo` model - `pro` → `seedream-v4` model If model is specified, it will take precedence over the legacy quality_mode field. | `"pro"` | -| `└─ tool` | ✗ | — | The art style to use for image generation. Defaults to 'general' if not provided. | `"ai-anime-generator"` | -| `aspect_ratio` | ✗ | ✗ | The aspect ratio of the output image(s). If not specified, defaults to `1:1` (square). | `"1:1"` | -| `model` | ✗ | ✗ | The AI model to use for image generation. Each model has different capabilities and costs. **Models:** - `default` - Use the model we recommend, which will change over time. This is recommended unless you need a specific model. This is the default behavior. - `flux-schnell` - from 5 credits/image - Supported resolutions: 640px, 1k, 2k - Available for tiers: free, creator, pro, business - Image count allowed: 1, 2, 3, 4 - `z-image-turbo` - from 5 credits/image - Supported resolutions: 640px, 1k, 2k - Available for tiers: free, creator, pro, business - Image count allowed: 1, 2, 3, 4 - `seedream-v4` - from 40 credits/image - Supported resolutions: 640px, 1k, 2k, 4k - Available for tiers: free, creator, pro, business - Image count allowed: 1, 2, 3, 4 - `nano-banana` - from 50 credits/image - Supported resolutions: 640px, 1k - Available for tiers: free, creator, pro, business - Image count allowed: 1, 2, 3, 4 - `nano-banana-2` - from 100 credits/image - Supported resolutions: 640px, 1k, 2k, 4k - Available for tiers: free, creator, pro, business - Image count allowed: 1, 4, 9, 16 - `nano-banana-pro` - from 150 credits/image - Supported resolutions: 1k, 2k, 4k - Available for tiers: creator, pro, business - Image count allowed: 1, 4, 9, 16 **Deprecated Enum Values:** - `seedream` - Use `seedream-v4` instead. | `"default"` | -| `name` | ✗ | ✗ | Give your image a custom name for easy identification. | `"My Ai Image image"` | -| `orientation` | ✗ | ✓ | DEPRECATED: Use `aspect_ratio` instead. The orientation of the output image(s). `aspect_ratio` takes precedence when `orientation` if both are provided. | `"landscape"` | -| `resolution` | ✗ | ✗ | Maximum resolution (longest edge) for the output image. **Options:** - `640px` — up to 640px - `1k` — up to 1024px - `2k` — up to 2048px - `4k` — up to 4096px - `auto` — **Deprecated.** Mapped server-side from your subscription tier to the best matching resolution the model supports **Per-model support:** - `flux-schnell` - 640px, 1k, 2k - `z-image-turbo` - 640px, 1k, 2k - `seedream-v4` - 640px, 1k, 2k, 4k - `nano-banana` - 640px, 1k - `nano-banana-2` - 640px, 1k, 2k, 4k - `nano-banana-pro` - 1k, 2k, 4k Note: Resolution availability depends on the model and your subscription tier. | `"auto"` | +| Parameter | Required | Deprecated | Description | Example | +| ----------------- | :------: | :--------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | +| `image_count` | ✓ | ✗ | Number of images to generate. Maximum varies by model. | `1` | +| `style` | ✓ | ✗ | The art style to use for image generation. | `{"prompt": "Cool image", "tool": "ai-anime-generator"}` | +| `└─ prompt` | ✓ | — | The prompt used for the image(s). | `"Cool image"` | +| `└─ quality_mode` | ✗ | ✓ | DEPRECATED: Use `model` field instead for explicit model selection. Legacy quality mode mapping: - `standard` → `z-image-turbo` model - `pro` → `seedream-v4` model If model is specified, it will take precedence over the legacy quality_mode field. | `"pro"` | +| `└─ tool` | ✗ | — | The art style to use for image generation. Defaults to 'general' if not provided. | `"ai-anime-generator"` | +| `aspect_ratio` | ✗ | ✗ | The aspect ratio of the output image(s). If not specified, defaults to `1:1` (square). | `"1:1"` | +| `model` | ✗ | ✗ | The AI model to use for image generation. Each model has different capabilities and costs. **Models:** - `default` - Use the model we recommend, which will change over time. This is recommended unless you need a specific model. This is the default behavior. - `flux-schnell` - from 5 credits/image - Supported resolutions: 640px, 1k, 2k - Available for tiers: free, creator, pro, business - Image count allowed: 1, 2, 3, 4 - `z-image-turbo` - from 5 credits/image - Supported resolutions: 640px, 1k, 2k - Available for tiers: free, creator, pro, business - Image count allowed: 1, 2, 3, 4 - `seedream-v4` - from 40 credits/image - Supported resolutions: 640px, 1k, 2k, 4k - Available for tiers: free, creator, pro, business - Image count allowed: 1, 2, 3, 4 - `nano-banana` - from 50 credits/image - Supported resolutions: 640px, 1k - Available for tiers: free, creator, pro, business - Image count allowed: 1, 2, 3, 4 - `nano-banana-2` - from 100 credits/image - Supported resolutions: 640px, 1k, 2k, 4k - Available for tiers: free, creator, pro, business - Image count allowed: 1, 4, 9, 16 - `nano-banana-pro` - from 150 credits/image - Supported resolutions: 1k, 2k, 4k - Available for tiers: creator, pro, business - Image count allowed: 1, 4, 9, 16 - `gpt-image-2` - from 50 credits/image - Supported resolutions: 640px, 1k, 2k, 4k - Available for tiers: creator, pro, business - Image count allowed: 1, 2, 3, 4 **Deprecated Enum Values:** - `seedream` - Use `seedream-v4` instead. | `"default"` | +| `name` | ✗ | ✗ | Give your image a custom name for easy identification. | `"My Ai Image image"` | +| `orientation` | ✗ | ✓ | DEPRECATED: Use `aspect_ratio` instead. The orientation of the output image(s). `aspect_ratio` takes precedence when `orientation` if both are provided. | `"landscape"` | +| `resolution` | ✗ | ✗ | Maximum resolution (longest edge) for the output image. **Options:** - `640px` — up to 640px - `1k` — up to 1024px - `2k` — up to 2048px - `4k` — up to 4096px - `auto` — **Deprecated.** Mapped server-side from your subscription tier to the best matching resolution the model supports **Per-model support:** - `flux-schnell` - 640px, 1k, 2k - `z-image-turbo` - 640px, 1k, 2k - `seedream-v4` - 640px, 1k, 2k, 4k - `nano-banana` - 640px, 1k - `nano-banana-2` - 640px, 1k, 2k, 4k - `nano-banana-pro` - 1k, 2k, 4k - `gpt-image-2` - 640px, 1k, 2k, 4k Note: Resolution availability depends on the model and your subscription tier. | `"auto"` | #### Synchronous Client diff --git a/magic_hour/resources/v1/ai_image_generator/client.py b/magic_hour/resources/v1/ai_image_generator/client.py index 93d546b..4ab004f 100644 --- a/magic_hour/resources/v1/ai_image_generator/client.py +++ b/magic_hour/resources/v1/ai_image_generator/client.py @@ -132,6 +132,7 @@ def create( typing_extensions.Literal[ "default", "flux-schnell", + "gpt-image-2", "nano-banana", "nano-banana-2", "nano-banana-pro", @@ -196,6 +197,10 @@ def create( - Supported resolutions: 1k, 2k, 4k - Available for tiers: creator, pro, business - Image count allowed: 1, 4, 9, 16 + - `gpt-image-2` - from 50 credits/image + - Supported resolutions: 640px, 1k, 2k, 4k + - Available for tiers: creator, pro, business + - Image count allowed: 1, 2, 3, 4 **Deprecated Enum Values:** - `seedream` - Use `seedream-v4` instead. @@ -220,6 +225,7 @@ def create( - `nano-banana` - 640px, 1k - `nano-banana-2` - 640px, 1k, 2k, 4k - `nano-banana-pro` - 1k, 2k, 4k + - `gpt-image-2` - 640px, 1k, 2k, 4k Note: Resolution availability depends on the model and your subscription tier. image_count: Number of images to generate. Maximum varies by model. @@ -373,6 +379,7 @@ async def create( typing_extensions.Literal[ "default", "flux-schnell", + "gpt-image-2", "nano-banana", "nano-banana-2", "nano-banana-pro", @@ -437,6 +444,10 @@ async def create( - Supported resolutions: 1k, 2k, 4k - Available for tiers: creator, pro, business - Image count allowed: 1, 4, 9, 16 + - `gpt-image-2` - from 50 credits/image + - Supported resolutions: 640px, 1k, 2k, 4k + - Available for tiers: creator, pro, business + - Image count allowed: 1, 2, 3, 4 **Deprecated Enum Values:** - `seedream` - Use `seedream-v4` instead. @@ -461,6 +472,7 @@ async def create( - `nano-banana` - 640px, 1k - `nano-banana-2` - 640px, 1k, 2k, 4k - `nano-banana-pro` - 1k, 2k, 4k + - `gpt-image-2` - 640px, 1k, 2k, 4k Note: Resolution availability depends on the model and your subscription tier. image_count: Number of images to generate. Maximum varies by model. diff --git a/magic_hour/resources/v1/body_swap/client.py b/magic_hour/resources/v1/body_swap/client.py index faf71a1..b13568c 100644 --- a/magic_hour/resources/v1/body_swap/client.py +++ b/magic_hour/resources/v1/body_swap/client.py @@ -17,6 +17,7 @@ type_utils, ) + logger = get_sdk_logger(__name__) @@ -208,9 +209,7 @@ async def generate( assets["person_file_path"] = await file_client.upload_file( file=person_file_path ) - assets["scene_file_path"] = await file_client.upload_file( - file=scene_file_path - ) + assets["scene_file_path"] = await file_client.upload_file(file=scene_file_path) create_response = await self.create( assets=assets, diff --git a/magic_hour/resources/v1/files/upload_urls/README.md b/magic_hour/resources/v1/files/upload_urls/README.md index efa3998..66c09df 100644 --- a/magic_hour/resources/v1/files/upload_urls/README.md +++ b/magic_hour/resources/v1/files/upload_urls/README.md @@ -12,7 +12,7 @@ The response array will match the order of items in the request body. - video: mp4, m4v, mov, webm - audio: mp3, wav, aac, flac, webm, m4a -- image: png, jpg, jpeg, heic, webp, avif, jp2, tiff, bmp +- image: png, jpg, jpeg, heic, heif, webp, avif, jp2, tiff, bmp - gif: gif, webp, webm > Note: `gif` is only supported for face swap API `video_file_path` field. diff --git a/magic_hour/resources/v1/files/upload_urls/client.py b/magic_hour/resources/v1/files/upload_urls/client.py index dc2fcc1..108418a 100644 --- a/magic_hour/resources/v1/files/upload_urls/client.py +++ b/magic_hour/resources/v1/files/upload_urls/client.py @@ -30,7 +30,7 @@ def create( **Valid file extensions per asset type**: - video: mp4, m4v, mov, webm - audio: mp3, wav, aac, flac, webm, m4a - - image: png, jpg, jpeg, heic, webp, avif, jp2, tiff, bmp + - image: png, jpg, jpeg, heic, heif, webp, avif, jp2, tiff, bmp - gif: gif, webp, webm > Note: `gif` is only supported for face swap API `video_file_path` field. @@ -97,7 +97,7 @@ async def create( **Valid file extensions per asset type**: - video: mp4, m4v, mov, webm - audio: mp3, wav, aac, flac, webm, m4a - - image: png, jpg, jpeg, heic, webp, avif, jp2, tiff, bmp + - image: png, jpg, jpeg, heic, heif, webp, avif, jp2, tiff, bmp - gif: gif, webp, webm > Note: `gif` is only supported for face swap API `video_file_path` field. diff --git a/magic_hour/resources/v1/image_to_video/README.md b/magic_hour/resources/v1/image_to_video/README.md index 54f8e74..6d1503a 100644 --- a/magic_hour/resources/v1/image_to_video/README.md +++ b/magic_hour/resources/v1/image_to_video/README.md @@ -94,22 +94,22 @@ For detailed examples, see the [product page](https://magichour.ai/products/imag #### Parameters -| Parameter | Required | Deprecated | Description | Example | -| ------------------------ | :------: | :--------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | -| `assets` | ✓ | ✗ | Provide the assets for image-to-video. Sora 2 only supports images with an aspect ratio of `9:16` or `16:9`. | `{"end_image_file_path": "api-assets/id/1234.png", "image_file_path": "api-assets/id/1234.png"}` | -| `└─ end_image_file_path` | ✗ | — | The image to use as the last frame of the video. * **`ltx-2`**: Not supported * **`wan-2.2`**: Not supported * **`seedance`**: Supports 480p, 720p, 1080p. * **`seedance-2.0`**: Supports 480p, 720p. * **`kling-2.5`**: Supports 1080p. * **`kling-3.0`**: Supports 1080p. * **`sora-2`**: Not supported * **`veo3.1`**: Not supported * **`veo3.1-lite`**: Not supported Legacy models: * **`kling-1.6`**: Not supported | `"api-assets/id/1234.png"` | -| `└─ image_file_path` | ✓ | — | The path of the image file. This value is either - a direct URL to the video file - `file_path` field from the response of the [upload urls API](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls). See the [file upload guide](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls#input-file) for details. | `"api-assets/id/1234.png"` | -| `end_seconds` | ✓ | ✗ | The total duration of the output video in seconds. Supported durations depend on the chosen model: * **`ltx-2`**: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30 * **`wan-2.2`**: 3, 4, 5, 6, 7, 8, 9, 10, 15 * **`seedance`**: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 * **`seedance-2.0`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 * **`kling-2.5`**: 5, 10 * **`kling-3.0`**: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 * **`sora-2`**: 4, 8, 12, 24, 36, 48, 60 * **`veo3.1`**: 4, 6, 8, 16, 24, 32, 40, 48, 56 * **`veo3.1-lite`**: 8, 16, 24, 32, 40, 48, 56 Legacy models: * **`kling-1.6`**: 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 | `5.0` | -| `audio` | ✗ | ✗ | Whether to include audio in the video. Defaults to `false` if not specified. Audio support varies by model: * **`ltx-2`**: Automatically included with no extra credits * **`wan-2.2`**: Not supported * **`seedance`**: Not supported * **`seedance-2.0`**: Automatically included with no extra credits * **`kling-2.5`**: Automatically included with no extra credits * **`kling-3.0`**: Toggle-able (can enable/disable) * **`sora-2`**: Automatically included with no extra credits * **`veo3.1`**: Toggle-able (can enable/disable) * **`veo3.1-lite`**: Toggle-able (can enable/disable) Legacy models: * **`kling-1.6`**: Not supported | `True` | -| `height` | ✗ | ✓ | `height` is deprecated and no longer influences the output video's resolution. This field is retained only for backward compatibility and will be removed in a future release. | `123` | -| `model` | ✗ | ✗ | The AI model to use for video generation. * `default`: uses our currently recommended model for general use. For paid tiers, defaults to `kling-3.0`. For free tiers, it defaults to `ltx-2`. * `ltx-2`: Fast iteration with audio and lip-sync * `wan-2.2`: Fast, strong visuals with effects * `seedance`: Fast iteration and start/end frames * `seedance-2.0`: State-of-the-art quality and consistency * `kling-2.5`: Motion, action, and camera control * `kling-3.0`: Cinematic, multi-scene storytelling * `sora-2`: Story-first concepts and creativity * `veo3.1`: Realistic visuals and prompt adherence * `veo3.1-lite`: Good for fast, affordable, high-quality daily generation. Legacy models: * `kling-1.6`: Reliable baseline with smooth motion If you specify the deprecated model value that includes the `-audio` suffix, this will be the same as included `audio` as `true`. | `"kling-3.0"` | -| `name` | ✗ | ✗ | Give your video a custom name for easy identification. | `"My Image To Video video"` | -| `resolution` | ✗ | ✗ | Controls the output video resolution. Defaults to `720p` on paid tiers and `480p` on free tiers. * **`ltx-2`**: Supports 480p, 720p, 1080p. * **`wan-2.2`**: Supports 480p, 720p, 1080p. * **`seedance`**: Supports 480p, 720p, 1080p. * **`seedance-2.0`**: Supports 480p, 720p. * **`kling-2.5`**: Supports 720p, 1080p. * **`kling-3.0`**: Supports 720p, 1080p. * **`sora-2`**: Supports 720p. * **`veo3.1`**: Supports 720p, 1080p. * **`veo3.1-lite`**: Supports 720p, 1080p. Legacy models: * **`kling-1.6`**: Supports 720p, 1080p. | `"720p"` | -| `style` | ✗ | ✗ | Attributed used to dictate the style of the output | `{"prompt": "a dog running"}` | -| `└─ high_quality` | ✗ | ✓ | Deprecated: Please use `resolution` instead. For backward compatibility, * `false` maps to 720p resolution * `true` maps to 1080p resolution This field will be removed in a future version. Use the `resolution` field to directly specify the resolution. | `True` | -| `└─ prompt` | ✗ | — | The prompt used for the video. | `"a dog running"` | -| `└─ quality_mode` | ✗ | ✓ | DEPRECATED: Please use `resolution` field instead. For backward compatibility: * `quick` maps to 720p resolution * `studio` maps to 1080p resolution This field will be removed in a future version. Use the `resolution` field to directly to specify the resolution. | `"quick"` | -| `width` | ✗ | ✓ | `width` is deprecated and no longer influences the output video's resolution. This field is retained only for backward compatibility and will be removed in a future release. | `123` | +| Parameter | Required | Deprecated | Description | Example | +| ------------------------ | :------: | :--------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | +| `assets` | ✓ | ✗ | Provide the assets for image-to-video. Sora 2 only supports images with an aspect ratio of `9:16` or `16:9`. | `{"end_image_file_path": "api-assets/id/1234.png", "image_file_path": "api-assets/id/1234.png"}` | +| `└─ end_image_file_path` | ✗ | — | The image to use as the last frame of the video. * **`ltx-2.3`**: Supports 480p, 720p, 1080p. * **`wan-2.2`**: Not supported * **`kling-2.5`**: Supports 1080p. * **`kling-3.0`**: Supports 720p, 1080p, 4k. * **`veo3.1-lite`**: Not supported * **`veo3.1`**: Not supported * **`seedance`**: Supports 480p, 720p, 1080p. * **`seedance-2.0`**: Supports 480p, 720p. * **`sora-2`**: Not supported | `"api-assets/id/1234.png"` | +| `└─ image_file_path` | ✓ | — | The path of the image file. This value is either - a direct URL to the video file - `file_path` field from the response of the [upload urls API](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls). See the [file upload guide](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls#input-file) for details. | `"api-assets/id/1234.png"` | +| `end_seconds` | ✓ | ✗ | The total duration of the output video in seconds. Supported durations depend on the chosen model: * **`ltx-2.3`**: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30 * **`wan-2.2`**: 3, 4, 5, 6, 7, 8, 9, 10, 15 * **`kling-2.5`**: 5, 10 * **`kling-3.0`**: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 * **`veo3.1-lite`**: 8, 16, 24, 32, 40, 48, 56 * **`veo3.1`**: 4, 6, 8, 16, 24, 32, 40, 48, 56 * **`seedance`**: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 * **`seedance-2.0`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 * **`sora-2`**: 4, 8, 12, 24, 36, 48, 60 | `5.0` | +| `audio` | ✗ | ✗ | Whether to include audio in the video. Defaults to `false` if not specified. Audio support varies by model: * **`ltx-2.3`**: Toggle-able: no additional credits for audio * **`wan-2.2`**: Not supported * **`kling-2.5`**: Toggle-able: no additional credits for audio * **`kling-3.0`**: Toggle-able: audio adds extra credits when enabled * **`veo3.1-lite`**: Toggle-able: audio adds extra credits when enabled * **`veo3.1`**: Toggle-able: audio adds extra credits when enabled * **`seedance`**: Not supported * **`seedance-2.0`**: Toggle-able: no additional credits for audio * **`sora-2`**: Toggle-able: no additional credits for audio | `True` | +| `height` | ✗ | ✓ | `height` is deprecated and no longer influences the output video's resolution. This field is retained only for backward compatibility and will be removed in a future release. | `123` | +| `model` | ✗ | ✗ | The AI model to use for video generation. * `default`: uses our currently recommended model for general use. For paid tiers, defaults to `kling-3.0`. For free tiers, it defaults to `ltx-2.3`. * `ltx-2.3`: Fast iteration with audio, lip-sync, and end frame * `wan-2.2`: Fast, strong visuals with effects * `kling-2.5`: Motion, action, and camera control * `kling-3.0`: Cinematic, multi-scene storytelling * `veo3.1-lite`: Fast, affordable, high-quality * `veo3.1`: Realistic visuals and prompt adherence * `seedance`: Fast iteration and start/end frames * `seedance-2.0`: State-of-the-art quality and consistency * `sora-2`: Story-first concepts and creativity If you specify the deprecated model value that includes the `-audio` suffix, this will be the same as included `audio` as `true`. | `"kling-3.0"` | +| `name` | ✗ | ✗ | Give your video a custom name for easy identification. | `"My Image To Video video"` | +| `resolution` | ✗ | ✗ | Controls the output video resolution. Defaults to `720p` on paid tiers and `480p` on free tiers. * **`ltx-2.3`**: Supports 480p, 720p, 1080p. * **`wan-2.2`**: Supports 480p, 720p, 1080p. * **`kling-2.5`**: Supports 720p, 1080p. * **`kling-3.0`**: Supports 720p, 1080p, 4k. * **`veo3.1-lite`**: Supports 720p, 1080p. * **`veo3.1`**: Supports 720p, 1080p. * **`seedance`**: Supports 480p, 720p, 1080p. * **`seedance-2.0`**: Supports 480p, 720p. * **`sora-2`**: Supports 720p. | `"720p"` | +| `style` | ✗ | ✗ | Attributed used to dictate the style of the output | `{"prompt": "a dog running"}` | +| `└─ high_quality` | ✗ | ✓ | Deprecated: Please use `resolution` instead. For backward compatibility, * `false` maps to 720p resolution * `true` maps to 1080p resolution This field will be removed in a future version. Use the `resolution` field to directly specify the resolution. | `True` | +| `└─ prompt` | ✗ | — | The prompt used for the video. | `"a dog running"` | +| `└─ quality_mode` | ✗ | ✓ | DEPRECATED: Please use `resolution` field instead. For backward compatibility: * `quick` maps to 720p resolution * `studio` maps to 1080p resolution This field will be removed in a future version. Use the `resolution` field to directly to specify the resolution. | `"quick"` | +| `width` | ✗ | ✓ | `width` is deprecated and no longer influences the output video's resolution. This field is retained only for backward compatibility and will be removed in a future release. | `123` | #### Synchronous Client diff --git a/magic_hour/resources/v1/image_to_video/client.py b/magic_hour/resources/v1/image_to_video/client.py index d4e560e..e38fb0c 100644 --- a/magic_hour/resources/v1/image_to_video/client.py +++ b/magic_hour/resources/v1/image_to_video/client.py @@ -152,6 +152,7 @@ def create( "kling-2.5-audio", "kling-3.0", "ltx-2", + "ltx-2.3", "seedance", "seedance-2.0", "sora-2", @@ -167,7 +168,7 @@ def create( typing.Optional[str], type_utils.NotGiven ] = type_utils.NOT_GIVEN, resolution: typing.Union[ - typing.Optional[typing_extensions.Literal["1080p", "480p", "720p"]], + typing.Optional[typing_extensions.Literal["1080p", "480p", "4k", "720p"]], type_utils.NotGiven, ] = type_utils.NOT_GIVEN, style: typing.Union[ @@ -210,53 +211,46 @@ def create( audio: Whether to include audio in the video. Defaults to `false` if not specified. Audio support varies by model: - * **`ltx-2`**: Automatically included with no extra credits + * **`ltx-2.3`**: Toggle-able: no additional credits for audio * **`wan-2.2`**: Not supported + * **`kling-2.5`**: Toggle-able: no additional credits for audio + * **`kling-3.0`**: Toggle-able: audio adds extra credits when enabled + * **`veo3.1-lite`**: Toggle-able: audio adds extra credits when enabled + * **`veo3.1`**: Toggle-able: audio adds extra credits when enabled * **`seedance`**: Not supported - * **`seedance-2.0`**: Automatically included with no extra credits - * **`kling-2.5`**: Automatically included with no extra credits - * **`kling-3.0`**: Toggle-able (can enable/disable) - * **`sora-2`**: Automatically included with no extra credits - * **`veo3.1`**: Toggle-able (can enable/disable) - * **`veo3.1-lite`**: Toggle-able (can enable/disable) - - Legacy models: - * **`kling-1.6`**: Not supported + * **`seedance-2.0`**: Toggle-able: no additional credits for audio + * **`sora-2`**: Toggle-able: no additional credits for audio + height: `height` is deprecated and no longer influences the output video's resolution. This field is retained only for backward compatibility and will be removed in a future release. model: The AI model to use for video generation. - * `default`: uses our currently recommended model for general use. For paid tiers, defaults to `kling-3.0`. For free tiers, it defaults to `ltx-2`. - * `ltx-2`: Fast iteration with audio and lip-sync + * `default`: uses our currently recommended model for general use. For paid tiers, defaults to `kling-3.0`. For free tiers, it defaults to `ltx-2.3`. + * `ltx-2.3`: Fast iteration with audio, lip-sync, and end frame * `wan-2.2`: Fast, strong visuals with effects - * `seedance`: Fast iteration and start/end frames - * `seedance-2.0`: State-of-the-art quality and consistency * `kling-2.5`: Motion, action, and camera control * `kling-3.0`: Cinematic, multi-scene storytelling - * `sora-2`: Story-first concepts and creativity + * `veo3.1-lite`: Fast, affordable, high-quality * `veo3.1`: Realistic visuals and prompt adherence - * `veo3.1-lite`: Good for fast, affordable, high-quality daily generation. - - Legacy models: - * `kling-1.6`: Reliable baseline with smooth motion + * `seedance`: Fast iteration and start/end frames + * `seedance-2.0`: State-of-the-art quality and consistency + * `sora-2`: Story-first concepts and creativity If you specify the deprecated model value that includes the `-audio` suffix, this will be the same as included `audio` as `true`. name: Give your video a custom name for easy identification. resolution: Controls the output video resolution. Defaults to `720p` on paid tiers and `480p` on free tiers. - * **`ltx-2`**: Supports 480p, 720p, 1080p. + * **`ltx-2.3`**: Supports 480p, 720p, 1080p. * **`wan-2.2`**: Supports 480p, 720p, 1080p. + * **`kling-2.5`**: Supports 720p, 1080p. + * **`kling-3.0`**: Supports 720p, 1080p, 4k. + * **`veo3.1-lite`**: Supports 720p, 1080p. + * **`veo3.1`**: Supports 720p, 1080p. * **`seedance`**: Supports 480p, 720p, 1080p. * **`seedance-2.0`**: Supports 480p, 720p. - * **`kling-2.5`**: Supports 720p, 1080p. - * **`kling-3.0`**: Supports 720p, 1080p. * **`sora-2`**: Supports 720p. - * **`veo3.1`**: Supports 720p, 1080p. - * **`veo3.1-lite`**: Supports 720p, 1080p. - Legacy models: - * **`kling-1.6`**: Supports 720p, 1080p. style: Attributed used to dictate the style of the output width: `width` is deprecated and no longer influences the output video's resolution. @@ -264,18 +258,16 @@ def create( assets: Provide the assets for image-to-video. Sora 2 only supports images with an aspect ratio of `9:16` or `16:9`. end_seconds: The total duration of the output video in seconds. Supported durations depend on the chosen model: - * **`ltx-2`**: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30 + * **`ltx-2.3`**: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30 * **`wan-2.2`**: 3, 4, 5, 6, 7, 8, 9, 10, 15 - * **`seedance`**: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 - * **`seedance-2.0`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 * **`kling-2.5`**: 5, 10 * **`kling-3.0`**: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 - * **`sora-2`**: 4, 8, 12, 24, 36, 48, 60 - * **`veo3.1`**: 4, 6, 8, 16, 24, 32, 40, 48, 56 * **`veo3.1-lite`**: 8, 16, 24, 32, 40, 48, 56 + * **`veo3.1`**: 4, 6, 8, 16, 24, 32, 40, 48, 56 + * **`seedance`**: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 + * **`seedance-2.0`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 + * **`sora-2`**: 4, 8, 12, 24, 36, 48, 60 - Legacy models: - * **`kling-1.6`**: 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 request_options: Additional options to customize the HTTP request Returns: @@ -455,6 +447,7 @@ async def create( "kling-2.5-audio", "kling-3.0", "ltx-2", + "ltx-2.3", "seedance", "seedance-2.0", "sora-2", @@ -470,7 +463,7 @@ async def create( typing.Optional[str], type_utils.NotGiven ] = type_utils.NOT_GIVEN, resolution: typing.Union[ - typing.Optional[typing_extensions.Literal["1080p", "480p", "720p"]], + typing.Optional[typing_extensions.Literal["1080p", "480p", "4k", "720p"]], type_utils.NotGiven, ] = type_utils.NOT_GIVEN, style: typing.Union[ @@ -513,53 +506,46 @@ async def create( audio: Whether to include audio in the video. Defaults to `false` if not specified. Audio support varies by model: - * **`ltx-2`**: Automatically included with no extra credits + * **`ltx-2.3`**: Toggle-able: no additional credits for audio * **`wan-2.2`**: Not supported + * **`kling-2.5`**: Toggle-able: no additional credits for audio + * **`kling-3.0`**: Toggle-able: audio adds extra credits when enabled + * **`veo3.1-lite`**: Toggle-able: audio adds extra credits when enabled + * **`veo3.1`**: Toggle-able: audio adds extra credits when enabled * **`seedance`**: Not supported - * **`seedance-2.0`**: Automatically included with no extra credits - * **`kling-2.5`**: Automatically included with no extra credits - * **`kling-3.0`**: Toggle-able (can enable/disable) - * **`sora-2`**: Automatically included with no extra credits - * **`veo3.1`**: Toggle-able (can enable/disable) - * **`veo3.1-lite`**: Toggle-able (can enable/disable) - - Legacy models: - * **`kling-1.6`**: Not supported + * **`seedance-2.0`**: Toggle-able: no additional credits for audio + * **`sora-2`**: Toggle-able: no additional credits for audio + height: `height` is deprecated and no longer influences the output video's resolution. This field is retained only for backward compatibility and will be removed in a future release. model: The AI model to use for video generation. - * `default`: uses our currently recommended model for general use. For paid tiers, defaults to `kling-3.0`. For free tiers, it defaults to `ltx-2`. - * `ltx-2`: Fast iteration with audio and lip-sync + * `default`: uses our currently recommended model for general use. For paid tiers, defaults to `kling-3.0`. For free tiers, it defaults to `ltx-2.3`. + * `ltx-2.3`: Fast iteration with audio, lip-sync, and end frame * `wan-2.2`: Fast, strong visuals with effects - * `seedance`: Fast iteration and start/end frames - * `seedance-2.0`: State-of-the-art quality and consistency * `kling-2.5`: Motion, action, and camera control * `kling-3.0`: Cinematic, multi-scene storytelling - * `sora-2`: Story-first concepts and creativity + * `veo3.1-lite`: Fast, affordable, high-quality * `veo3.1`: Realistic visuals and prompt adherence - * `veo3.1-lite`: Good for fast, affordable, high-quality daily generation. - - Legacy models: - * `kling-1.6`: Reliable baseline with smooth motion + * `seedance`: Fast iteration and start/end frames + * `seedance-2.0`: State-of-the-art quality and consistency + * `sora-2`: Story-first concepts and creativity If you specify the deprecated model value that includes the `-audio` suffix, this will be the same as included `audio` as `true`. name: Give your video a custom name for easy identification. resolution: Controls the output video resolution. Defaults to `720p` on paid tiers and `480p` on free tiers. - * **`ltx-2`**: Supports 480p, 720p, 1080p. + * **`ltx-2.3`**: Supports 480p, 720p, 1080p. * **`wan-2.2`**: Supports 480p, 720p, 1080p. + * **`kling-2.5`**: Supports 720p, 1080p. + * **`kling-3.0`**: Supports 720p, 1080p, 4k. + * **`veo3.1-lite`**: Supports 720p, 1080p. + * **`veo3.1`**: Supports 720p, 1080p. * **`seedance`**: Supports 480p, 720p, 1080p. * **`seedance-2.0`**: Supports 480p, 720p. - * **`kling-2.5`**: Supports 720p, 1080p. - * **`kling-3.0`**: Supports 720p, 1080p. * **`sora-2`**: Supports 720p. - * **`veo3.1`**: Supports 720p, 1080p. - * **`veo3.1-lite`**: Supports 720p, 1080p. - Legacy models: - * **`kling-1.6`**: Supports 720p, 1080p. style: Attributed used to dictate the style of the output width: `width` is deprecated and no longer influences the output video's resolution. @@ -567,18 +553,16 @@ async def create( assets: Provide the assets for image-to-video. Sora 2 only supports images with an aspect ratio of `9:16` or `16:9`. end_seconds: The total duration of the output video in seconds. Supported durations depend on the chosen model: - * **`ltx-2`**: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30 + * **`ltx-2.3`**: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30 * **`wan-2.2`**: 3, 4, 5, 6, 7, 8, 9, 10, 15 - * **`seedance`**: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 - * **`seedance-2.0`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 * **`kling-2.5`**: 5, 10 * **`kling-3.0`**: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 - * **`sora-2`**: 4, 8, 12, 24, 36, 48, 60 - * **`veo3.1`**: 4, 6, 8, 16, 24, 32, 40, 48, 56 * **`veo3.1-lite`**: 8, 16, 24, 32, 40, 48, 56 + * **`veo3.1`**: 4, 6, 8, 16, 24, 32, 40, 48, 56 + * **`seedance`**: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 + * **`seedance-2.0`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 + * **`sora-2`**: 4, 8, 12, 24, 36, 48, 60 - Legacy models: - * **`kling-1.6`**: 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 request_options: Additional options to customize the HTTP request Returns: diff --git a/magic_hour/resources/v1/text_to_video/README.md b/magic_hour/resources/v1/text_to_video/README.md index 5a33366..5c8f385 100644 --- a/magic_hour/resources/v1/text_to_video/README.md +++ b/magic_hour/resources/v1/text_to_video/README.md @@ -96,18 +96,18 @@ For detailed examples, see the [product page](https://magichour.ai/products/text #### Parameters -| Parameter | Required | Deprecated | Description | Example | -| ----------------- | :------: | :--------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | -| `end_seconds` | ✓ | ✗ | The total duration of the output video in seconds. Supported durations depend on the chosen model: * **`ltx-2`**: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30 * **`wan-2.2`**: 3, 4, 5, 6, 7, 8, 9, 10, 15 * **`seedance`**: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 * **`seedance-2.0`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 * **`kling-2.5`**: 5, 10 * **`kling-3.0`**: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 * **`sora-2`**: 4, 8, 12, 24, 36, 48, 60 * **`veo3.1`**: 4, 6, 8, 16, 24, 32, 40, 48, 56 * **`veo3.1-lite`**: 8, 16, 24, 32, 40, 48, 56 Legacy models: * **`kling-1.6`**: 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 | `5.0` | -| `style` | ✓ | ✗ | | `{"prompt": "a dog running"}` | -| `└─ prompt` | ✓ | — | The prompt used for the video. | `"a dog running"` | -| `└─ quality_mode` | ✗ | ✓ | DEPRECATED: Please use `resolution` field instead. For backward compatibility: * `quick` maps to 720p resolution * `studio` maps to 1080p resolution This field will be removed in a future version. Use the `resolution` field to directly to specify the resolution. | `"quick"` | -| `aspect_ratio` | ✗ | ✗ | Determines the aspect ratio of the output video. * **`ltx-2`**: Supports 9:16, 16:9, 1:1. * **`wan-2.2`**: Supports 9:16, 16:9, 1:1. * **`seedance`**: Supports 9:16, 16:9, 1:1. * **`seedance-2.0`**: Supports 9:16, 16:9, 1:1. * **`kling-2.5`**: Supports 9:16, 16:9, 1:1. * **`kling-3.0`**: Supports 9:16, 16:9, 1:1. * **`sora-2`**: Supports 9:16, 16:9. * **`veo3.1`**: Supports 9:16, 16:9. * **`veo3.1-lite`**: Supports 9:16, 16:9. Legacy models: * **`kling-1.6`**: Supports 9:16, 16:9, 1:1. | `"16:9"` | -| `audio` | ✗ | ✗ | Whether to include audio in the video. Defaults to `false` if not specified. Audio support varies by model: * **`ltx-2`**: Automatically included with no extra credits * **`wan-2.2`**: Not supported * **`seedance`**: Not supported * **`seedance-2.0`**: Automatically included with no extra credits * **`kling-2.5`**: Automatically included with no extra credits * **`kling-3.0`**: Toggle-able (can enable/disable) * **`sora-2`**: Automatically included with no extra credits * **`veo3.1`**: Toggle-able (can enable/disable) * **`veo3.1-lite`**: Toggle-able (can enable/disable) Legacy models: * **`kling-1.6`**: Not supported | `True` | -| `model` | ✗ | ✗ | The AI model to use for video generation. * `default`: uses our currently recommended model for general use. For paid tiers, defaults to `kling-3.0`. For free tiers, it defaults to `ltx-2`. * `ltx-2`: Fast iteration with audio and lip-sync * `wan-2.2`: Fast, strong visuals with effects * `seedance`: Fast iteration and start/end frames * `seedance-2.0`: State-of-the-art quality and consistency * `kling-2.5`: Motion, action, and camera control * `kling-3.0`: Cinematic, multi-scene storytelling * `sora-2`: Story-first concepts and creativity * `veo3.1`: Realistic visuals and prompt adherence * `veo3.1-lite`: Good for fast, affordable, high-quality daily generation. Legacy models: * `kling-1.6`: Reliable baseline with smooth motion If you specify the deprecated model value that includes the `-audio` suffix, this will be the same as included `audio` as `true`. | `"kling-3.0"` | -| `name` | ✗ | ✗ | Give your video a custom name for easy identification. | `"My Text To Video video"` | -| `orientation` | ✗ | ✓ | Deprecated. Use `aspect_ratio` instead. | `"landscape"` | -| `resolution` | ✗ | ✗ | Controls the output video resolution. Defaults to `720p` on paid tiers and `480p` on free tiers. * **`ltx-2`**: Supports 480p, 720p, 1080p. * **`wan-2.2`**: Supports 480p, 720p, 1080p. * **`seedance`**: Supports 480p, 720p, 1080p. * **`seedance-2.0`**: Supports 480p, 720p. * **`kling-2.5`**: Supports 720p, 1080p. * **`kling-3.0`**: Supports 720p, 1080p. * **`sora-2`**: Supports 720p. * **`veo3.1`**: Supports 720p, 1080p. * **`veo3.1-lite`**: Supports 720p, 1080p. Legacy models: * **`kling-1.6`**: Supports 720p, 1080p. | `"720p"` | +| Parameter | Required | Deprecated | Description | Example | +| ----------------- | :------: | :--------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | +| `end_seconds` | ✓ | ✗ | The total duration of the output video in seconds. Supported durations depend on the chosen model: * **`ltx-2.3`**: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30 * **`wan-2.2`**: 3, 4, 5, 6, 7, 8, 9, 10, 15 * **`kling-2.5`**: 5, 10 * **`kling-3.0`**: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 * **`veo3.1-lite`**: 8, 16, 24, 32, 40, 48, 56 * **`veo3.1`**: 4, 6, 8, 16, 24, 32, 40, 48, 56 * **`seedance`**: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 * **`seedance-2.0`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 * **`sora-2`**: 4, 8, 12, 24, 36, 48, 60 | `5.0` | +| `style` | ✓ | ✗ | | `{"prompt": "a dog running"}` | +| `└─ prompt` | ✓ | — | The prompt used for the video. | `"a dog running"` | +| `└─ quality_mode` | ✗ | ✓ | DEPRECATED: Please use `resolution` field instead. For backward compatibility: * `quick` maps to 720p resolution * `studio` maps to 1080p resolution This field will be removed in a future version. Use the `resolution` field to directly to specify the resolution. | `"quick"` | +| `aspect_ratio` | ✗ | ✗ | Determines the aspect ratio of the output video. * **`ltx-2.3`**: Supports 9:16, 16:9, 1:1. * **`wan-2.2`**: Supports 9:16, 16:9, 1:1. * **`kling-2.5`**: Supports 9:16, 16:9, 1:1. * **`kling-3.0`**: Supports 9:16, 16:9, 1:1. * **`veo3.1-lite`**: Supports 9:16, 16:9. * **`veo3.1`**: Supports 9:16, 16:9. * **`seedance`**: Supports 9:16, 16:9, 1:1. * **`seedance-2.0`**: Supports 9:16, 16:9, 1:1. * **`sora-2`**: Supports 9:16, 16:9. | `"16:9"` | +| `audio` | ✗ | ✗ | Whether to include audio in the video. Defaults to `false` if not specified. Audio support varies by model: * **`ltx-2.3`**: Toggle-able: no additional credits for audio * **`wan-2.2`**: Not supported * **`kling-2.5`**: Toggle-able: no additional credits for audio * **`kling-3.0`**: Toggle-able: audio adds extra credits when enabled * **`veo3.1-lite`**: Toggle-able: audio adds extra credits when enabled * **`veo3.1`**: Toggle-able: audio adds extra credits when enabled * **`seedance`**: Not supported * **`seedance-2.0`**: Toggle-able: no additional credits for audio * **`sora-2`**: Toggle-able: no additional credits for audio | `True` | +| `model` | ✗ | ✗ | The AI model to use for video generation. * `default`: uses our currently recommended model for general use. For paid tiers, defaults to `kling-3.0`. For free tiers, it defaults to `ltx-2.3`. * `ltx-2.3`: Fast iteration with audio, lip-sync, and end frame * `wan-2.2`: Fast, strong visuals with effects * `kling-2.5`: Motion, action, and camera control * `kling-3.0`: Cinematic, multi-scene storytelling * `veo3.1-lite`: Fast, affordable, high-quality * `veo3.1`: Realistic visuals and prompt adherence * `seedance`: Fast iteration and start/end frames * `seedance-2.0`: State-of-the-art quality and consistency * `sora-2`: Story-first concepts and creativity If you specify the deprecated model value that includes the `-audio` suffix, this will be the same as included `audio` as `true`. | `"kling-3.0"` | +| `name` | ✗ | ✗ | Give your video a custom name for easy identification. | `"My Text To Video video"` | +| `orientation` | ✗ | ✓ | Deprecated. Use `aspect_ratio` instead. | `"landscape"` | +| `resolution` | ✗ | ✗ | Controls the output video resolution. Defaults to `720p` on paid tiers and `480p` on free tiers. * **`ltx-2.3`**: Supports 480p, 720p, 1080p. * **`wan-2.2`**: Supports 480p, 720p, 1080p. * **`kling-2.5`**: Supports 720p, 1080p. * **`kling-3.0`**: Supports 720p, 1080p, 4k. * **`veo3.1-lite`**: Supports 720p, 1080p. * **`veo3.1`**: Supports 720p, 1080p. * **`seedance`**: Supports 480p, 720p, 1080p. * **`seedance-2.0`**: Supports 480p, 720p. * **`sora-2`**: Supports 720p. | `"720p"` | #### Synchronous Client diff --git a/magic_hour/resources/v1/text_to_video/client.py b/magic_hour/resources/v1/text_to_video/client.py index 80bd090..c8c8dad 100644 --- a/magic_hour/resources/v1/text_to_video/client.py +++ b/magic_hour/resources/v1/text_to_video/client.py @@ -145,6 +145,7 @@ def create( "kling-2.5-audio", "kling-3.0", "ltx-2", + "ltx-2.3", "seedance", "seedance-2.0", "sora-2", @@ -166,7 +167,7 @@ def create( type_utils.NotGiven, ] = type_utils.NOT_GIVEN, resolution: typing.Union[ - typing.Optional[typing_extensions.Literal["1080p", "480p", "720p"]], + typing.Optional[typing_extensions.Literal["1080p", "480p", "4k", "720p"]], type_utils.NotGiven, ] = type_utils.NOT_GIVEN, request_options: typing.Optional[RequestOptions] = None, @@ -202,80 +203,69 @@ def create( Args: aspect_ratio: Determines the aspect ratio of the output video. - * **`ltx-2`**: Supports 9:16, 16:9, 1:1. + * **`ltx-2.3`**: Supports 9:16, 16:9, 1:1. * **`wan-2.2`**: Supports 9:16, 16:9, 1:1. - * **`seedance`**: Supports 9:16, 16:9, 1:1. - * **`seedance-2.0`**: Supports 9:16, 16:9, 1:1. * **`kling-2.5`**: Supports 9:16, 16:9, 1:1. * **`kling-3.0`**: Supports 9:16, 16:9, 1:1. - * **`sora-2`**: Supports 9:16, 16:9. - * **`veo3.1`**: Supports 9:16, 16:9. * **`veo3.1-lite`**: Supports 9:16, 16:9. + * **`veo3.1`**: Supports 9:16, 16:9. + * **`seedance`**: Supports 9:16, 16:9, 1:1. + * **`seedance-2.0`**: Supports 9:16, 16:9, 1:1. + * **`sora-2`**: Supports 9:16, 16:9. - Legacy models: - * **`kling-1.6`**: Supports 9:16, 16:9, 1:1. audio: Whether to include audio in the video. Defaults to `false` if not specified. Audio support varies by model: - * **`ltx-2`**: Automatically included with no extra credits + * **`ltx-2.3`**: Toggle-able: no additional credits for audio * **`wan-2.2`**: Not supported + * **`kling-2.5`**: Toggle-able: no additional credits for audio + * **`kling-3.0`**: Toggle-able: audio adds extra credits when enabled + * **`veo3.1-lite`**: Toggle-able: audio adds extra credits when enabled + * **`veo3.1`**: Toggle-able: audio adds extra credits when enabled * **`seedance`**: Not supported - * **`seedance-2.0`**: Automatically included with no extra credits - * **`kling-2.5`**: Automatically included with no extra credits - * **`kling-3.0`**: Toggle-able (can enable/disable) - * **`sora-2`**: Automatically included with no extra credits - * **`veo3.1`**: Toggle-able (can enable/disable) - * **`veo3.1-lite`**: Toggle-able (can enable/disable) - - Legacy models: - * **`kling-1.6`**: Not supported + * **`seedance-2.0`**: Toggle-able: no additional credits for audio + * **`sora-2`**: Toggle-able: no additional credits for audio + model: The AI model to use for video generation. - * `default`: uses our currently recommended model for general use. For paid tiers, defaults to `kling-3.0`. For free tiers, it defaults to `ltx-2`. - * `ltx-2`: Fast iteration with audio and lip-sync + * `default`: uses our currently recommended model for general use. For paid tiers, defaults to `kling-3.0`. For free tiers, it defaults to `ltx-2.3`. + * `ltx-2.3`: Fast iteration with audio, lip-sync, and end frame * `wan-2.2`: Fast, strong visuals with effects - * `seedance`: Fast iteration and start/end frames - * `seedance-2.0`: State-of-the-art quality and consistency * `kling-2.5`: Motion, action, and camera control * `kling-3.0`: Cinematic, multi-scene storytelling - * `sora-2`: Story-first concepts and creativity + * `veo3.1-lite`: Fast, affordable, high-quality * `veo3.1`: Realistic visuals and prompt adherence - * `veo3.1-lite`: Good for fast, affordable, high-quality daily generation. - - Legacy models: - * `kling-1.6`: Reliable baseline with smooth motion + * `seedance`: Fast iteration and start/end frames + * `seedance-2.0`: State-of-the-art quality and consistency + * `sora-2`: Story-first concepts and creativity If you specify the deprecated model value that includes the `-audio` suffix, this will be the same as included `audio` as `true`. name: Give your video a custom name for easy identification. orientation: Deprecated. Use `aspect_ratio` instead. resolution: Controls the output video resolution. Defaults to `720p` on paid tiers and `480p` on free tiers. - * **`ltx-2`**: Supports 480p, 720p, 1080p. + * **`ltx-2.3`**: Supports 480p, 720p, 1080p. * **`wan-2.2`**: Supports 480p, 720p, 1080p. + * **`kling-2.5`**: Supports 720p, 1080p. + * **`kling-3.0`**: Supports 720p, 1080p, 4k. + * **`veo3.1-lite`**: Supports 720p, 1080p. + * **`veo3.1`**: Supports 720p, 1080p. * **`seedance`**: Supports 480p, 720p, 1080p. * **`seedance-2.0`**: Supports 480p, 720p. - * **`kling-2.5`**: Supports 720p, 1080p. - * **`kling-3.0`**: Supports 720p, 1080p. * **`sora-2`**: Supports 720p. - * **`veo3.1`**: Supports 720p, 1080p. - * **`veo3.1-lite`**: Supports 720p, 1080p. - Legacy models: - * **`kling-1.6`**: Supports 720p, 1080p. end_seconds: The total duration of the output video in seconds. Supported durations depend on the chosen model: - * **`ltx-2`**: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30 + * **`ltx-2.3`**: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30 * **`wan-2.2`**: 3, 4, 5, 6, 7, 8, 9, 10, 15 - * **`seedance`**: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 - * **`seedance-2.0`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 * **`kling-2.5`**: 5, 10 * **`kling-3.0`**: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 - * **`sora-2`**: 4, 8, 12, 24, 36, 48, 60 - * **`veo3.1`**: 4, 6, 8, 16, 24, 32, 40, 48, 56 * **`veo3.1-lite`**: 8, 16, 24, 32, 40, 48, 56 + * **`veo3.1`**: 4, 6, 8, 16, 24, 32, 40, 48, 56 + * **`seedance`**: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 + * **`seedance-2.0`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 + * **`sora-2`**: 4, 8, 12, 24, 36, 48, 60 - Legacy models: - * **`kling-1.6`**: 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 style: V1TextToVideoCreateBodyStyle request_options: Additional options to customize the HTTP request @@ -443,6 +433,7 @@ async def create( "kling-2.5-audio", "kling-3.0", "ltx-2", + "ltx-2.3", "seedance", "seedance-2.0", "sora-2", @@ -464,7 +455,7 @@ async def create( type_utils.NotGiven, ] = type_utils.NOT_GIVEN, resolution: typing.Union[ - typing.Optional[typing_extensions.Literal["1080p", "480p", "720p"]], + typing.Optional[typing_extensions.Literal["1080p", "480p", "4k", "720p"]], type_utils.NotGiven, ] = type_utils.NOT_GIVEN, request_options: typing.Optional[RequestOptions] = None, @@ -500,80 +491,69 @@ async def create( Args: aspect_ratio: Determines the aspect ratio of the output video. - * **`ltx-2`**: Supports 9:16, 16:9, 1:1. + * **`ltx-2.3`**: Supports 9:16, 16:9, 1:1. * **`wan-2.2`**: Supports 9:16, 16:9, 1:1. - * **`seedance`**: Supports 9:16, 16:9, 1:1. - * **`seedance-2.0`**: Supports 9:16, 16:9, 1:1. * **`kling-2.5`**: Supports 9:16, 16:9, 1:1. * **`kling-3.0`**: Supports 9:16, 16:9, 1:1. - * **`sora-2`**: Supports 9:16, 16:9. - * **`veo3.1`**: Supports 9:16, 16:9. * **`veo3.1-lite`**: Supports 9:16, 16:9. + * **`veo3.1`**: Supports 9:16, 16:9. + * **`seedance`**: Supports 9:16, 16:9, 1:1. + * **`seedance-2.0`**: Supports 9:16, 16:9, 1:1. + * **`sora-2`**: Supports 9:16, 16:9. - Legacy models: - * **`kling-1.6`**: Supports 9:16, 16:9, 1:1. audio: Whether to include audio in the video. Defaults to `false` if not specified. Audio support varies by model: - * **`ltx-2`**: Automatically included with no extra credits + * **`ltx-2.3`**: Toggle-able: no additional credits for audio * **`wan-2.2`**: Not supported + * **`kling-2.5`**: Toggle-able: no additional credits for audio + * **`kling-3.0`**: Toggle-able: audio adds extra credits when enabled + * **`veo3.1-lite`**: Toggle-able: audio adds extra credits when enabled + * **`veo3.1`**: Toggle-able: audio adds extra credits when enabled * **`seedance`**: Not supported - * **`seedance-2.0`**: Automatically included with no extra credits - * **`kling-2.5`**: Automatically included with no extra credits - * **`kling-3.0`**: Toggle-able (can enable/disable) - * **`sora-2`**: Automatically included with no extra credits - * **`veo3.1`**: Toggle-able (can enable/disable) - * **`veo3.1-lite`**: Toggle-able (can enable/disable) - - Legacy models: - * **`kling-1.6`**: Not supported + * **`seedance-2.0`**: Toggle-able: no additional credits for audio + * **`sora-2`**: Toggle-able: no additional credits for audio + model: The AI model to use for video generation. - * `default`: uses our currently recommended model for general use. For paid tiers, defaults to `kling-3.0`. For free tiers, it defaults to `ltx-2`. - * `ltx-2`: Fast iteration with audio and lip-sync + * `default`: uses our currently recommended model for general use. For paid tiers, defaults to `kling-3.0`. For free tiers, it defaults to `ltx-2.3`. + * `ltx-2.3`: Fast iteration with audio, lip-sync, and end frame * `wan-2.2`: Fast, strong visuals with effects - * `seedance`: Fast iteration and start/end frames - * `seedance-2.0`: State-of-the-art quality and consistency * `kling-2.5`: Motion, action, and camera control * `kling-3.0`: Cinematic, multi-scene storytelling - * `sora-2`: Story-first concepts and creativity + * `veo3.1-lite`: Fast, affordable, high-quality * `veo3.1`: Realistic visuals and prompt adherence - * `veo3.1-lite`: Good for fast, affordable, high-quality daily generation. - - Legacy models: - * `kling-1.6`: Reliable baseline with smooth motion + * `seedance`: Fast iteration and start/end frames + * `seedance-2.0`: State-of-the-art quality and consistency + * `sora-2`: Story-first concepts and creativity If you specify the deprecated model value that includes the `-audio` suffix, this will be the same as included `audio` as `true`. name: Give your video a custom name for easy identification. orientation: Deprecated. Use `aspect_ratio` instead. resolution: Controls the output video resolution. Defaults to `720p` on paid tiers and `480p` on free tiers. - * **`ltx-2`**: Supports 480p, 720p, 1080p. + * **`ltx-2.3`**: Supports 480p, 720p, 1080p. * **`wan-2.2`**: Supports 480p, 720p, 1080p. + * **`kling-2.5`**: Supports 720p, 1080p. + * **`kling-3.0`**: Supports 720p, 1080p, 4k. + * **`veo3.1-lite`**: Supports 720p, 1080p. + * **`veo3.1`**: Supports 720p, 1080p. * **`seedance`**: Supports 480p, 720p, 1080p. * **`seedance-2.0`**: Supports 480p, 720p. - * **`kling-2.5`**: Supports 720p, 1080p. - * **`kling-3.0`**: Supports 720p, 1080p. * **`sora-2`**: Supports 720p. - * **`veo3.1`**: Supports 720p, 1080p. - * **`veo3.1-lite`**: Supports 720p, 1080p. - Legacy models: - * **`kling-1.6`**: Supports 720p, 1080p. end_seconds: The total duration of the output video in seconds. Supported durations depend on the chosen model: - * **`ltx-2`**: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30 + * **`ltx-2.3`**: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30 * **`wan-2.2`**: 3, 4, 5, 6, 7, 8, 9, 10, 15 - * **`seedance`**: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 - * **`seedance-2.0`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 * **`kling-2.5`**: 5, 10 * **`kling-3.0`**: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 - * **`sora-2`**: 4, 8, 12, 24, 36, 48, 60 - * **`veo3.1`**: 4, 6, 8, 16, 24, 32, 40, 48, 56 * **`veo3.1-lite`**: 8, 16, 24, 32, 40, 48, 56 + * **`veo3.1`**: 4, 6, 8, 16, 24, 32, 40, 48, 56 + * **`seedance`**: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 + * **`seedance-2.0`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 + * **`sora-2`**: 4, 8, 12, 24, 36, 48, 60 - Legacy models: - * **`kling-1.6`**: 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 style: V1TextToVideoCreateBodyStyle request_options: Additional options to customize the HTTP request diff --git a/magic_hour/types/models/v1_video_projects_get_response.py b/magic_hour/types/models/v1_video_projects_get_response.py index bfc26c2..7a029f9 100644 --- a/magic_hour/types/models/v1_video_projects_get_response.py +++ b/magic_hour/types/models/v1_video_projects_get_response.py @@ -107,7 +107,7 @@ class V1VideoProjectsGetResponse(pydantic.BaseModel): alias="type", ) """ - The type of the video project. Possible values are ANIMATION, AUTO_SUBTITLE, VIDEO_TO_VIDEO, FACE_SWAP, TEXT_TO_VIDEO, IMAGE_TO_VIDEO, LIP_SYNC, TALKING_PHOTO, VIDEO_UPSCALER, EXTEND, AUDIO_TO_VIDEO, UGC_AD + The type of the video project. Possible values are ANIMATION, AUTO_SUBTITLE, VIDEO_TO_VIDEO, FACE_SWAP, TEXT_TO_VIDEO, IMAGE_TO_VIDEO, LIP_SYNC, TALKING_PHOTO, VIDEO_UPSCALER, EXTEND, AUDIO_TO_VIDEO, VIDEO_EXPANDER, UGC_AD """ width: int = pydantic.Field( alias="width", diff --git a/magic_hour/types/params/v1_ai_image_editor_create_body.py b/magic_hour/types/params/v1_ai_image_editor_create_body.py index 927a3b6..b48652f 100644 --- a/magic_hour/types/params/v1_ai_image_editor_create_body.py +++ b/magic_hour/types/params/v1_ai_image_editor_create_body.py @@ -39,6 +39,7 @@ class V1AiImageEditorCreateBody(typing_extensions.TypedDict): model: typing_extensions.NotRequired[ typing_extensions.Literal[ "default", + "gpt-image-2", "nano-banana", "nano-banana-2", "nano-banana-pro", @@ -76,6 +77,10 @@ class V1AiImageEditorCreateBody(typing_extensions.TypedDict): - Supported resolutions: 640px, 1k, 2k, 4k - Available for tiers: creator, pro, business - Max additional input images: 9 + - `gpt-image-2` - from 50 credits/image + - Supported resolutions: 640px, 1k, 2k, 4k + - Available for tiers: creator, pro, business + - Max additional input images: 9 """ @@ -104,6 +109,7 @@ class V1AiImageEditorCreateBody(typing_extensions.TypedDict): - `seedream-v4` - 640px, 1k, 2k, 4k - `nano-banana-pro` - 1k, 2k, 4k - `seedream-v4.5` - 640px, 1k, 2k, 4k + - `gpt-image-2` - 640px, 1k, 2k, 4k Note: Resolution availability depends on the model and your subscription tier. """ @@ -135,6 +141,7 @@ class _SerializerV1AiImageEditorCreateBody(pydantic.BaseModel): model: typing.Optional[ typing_extensions.Literal[ "default", + "gpt-image-2", "nano-banana", "nano-banana-2", "nano-banana-pro", diff --git a/magic_hour/types/params/v1_ai_image_generator_create_body.py b/magic_hour/types/params/v1_ai_image_generator_create_body.py index cc4c3b0..27c03f5 100644 --- a/magic_hour/types/params/v1_ai_image_generator_create_body.py +++ b/magic_hour/types/params/v1_ai_image_generator_create_body.py @@ -29,6 +29,7 @@ class V1AiImageGeneratorCreateBody(typing_extensions.TypedDict): typing_extensions.Literal[ "default", "flux-schnell", + "gpt-image-2", "nano-banana", "nano-banana-2", "nano-banana-pro", @@ -66,6 +67,10 @@ class V1AiImageGeneratorCreateBody(typing_extensions.TypedDict): - Supported resolutions: 1k, 2k, 4k - Available for tiers: creator, pro, business - Image count allowed: 1, 4, 9, 16 + - `gpt-image-2` - from 50 credits/image + - Supported resolutions: 640px, 1k, 2k, 4k + - Available for tiers: creator, pro, business + - Image count allowed: 1, 2, 3, 4 **Deprecated Enum Values:** - `seedream` - Use `seedream-v4` instead. @@ -106,6 +111,7 @@ class V1AiImageGeneratorCreateBody(typing_extensions.TypedDict): - `nano-banana` - 640px, 1k - `nano-banana-2` - 640px, 1k, 2k, 4k - `nano-banana-pro` - 1k, 2k, 4k + - `gpt-image-2` - 640px, 1k, 2k, 4k Note: Resolution availability depends on the model and your subscription tier. """ @@ -136,6 +142,7 @@ class _SerializerV1AiImageGeneratorCreateBody(pydantic.BaseModel): typing_extensions.Literal[ "default", "flux-schnell", + "gpt-image-2", "nano-banana", "nano-banana-2", "nano-banana-pro", diff --git a/magic_hour/types/params/v1_files_upload_urls_create_body_items_item.py b/magic_hour/types/params/v1_files_upload_urls_create_body_items_item.py index f70f7c3..d6c4cb8 100644 --- a/magic_hour/types/params/v1_files_upload_urls_create_body_items_item.py +++ b/magic_hour/types/params/v1_files_upload_urls_create_body_items_item.py @@ -9,7 +9,7 @@ class V1FilesUploadUrlsCreateBodyItemsItem(typing_extensions.TypedDict): extension: typing_extensions.Required[str] """ - The extension of the file to upload. Do not include the dot (.) before the extension. Possible extensions are mp4,m4v,mov,webm,mp3,wav,aac,flac,webm,m4a,png,jpg,jpeg,heic,webp,avif,jp2,tiff,bmp,gif,webp,webm + The extension of the file to upload. Do not include the dot (.) before the extension. Possible extensions are mp4,m4v,mov,webm,mp3,wav,aac,flac,webm,m4a,png,jpg,jpeg,heic,heif,webp,avif,jp2,tiff,bmp,gif,webp,webm """ type_: typing_extensions.Required[ diff --git a/magic_hour/types/params/v1_image_to_video_create_body.py b/magic_hour/types/params/v1_image_to_video_create_body.py index 8f28017..8098732 100644 --- a/magic_hour/types/params/v1_image_to_video_create_body.py +++ b/magic_hour/types/params/v1_image_to_video_create_body.py @@ -27,36 +27,32 @@ class V1ImageToVideoCreateBody(typing_extensions.TypedDict): Whether to include audio in the video. Defaults to `false` if not specified. Audio support varies by model: - * **`ltx-2`**: Automatically included with no extra credits + * **`ltx-2.3`**: Toggle-able: no additional credits for audio * **`wan-2.2`**: Not supported + * **`kling-2.5`**: Toggle-able: no additional credits for audio + * **`kling-3.0`**: Toggle-able: audio adds extra credits when enabled + * **`veo3.1-lite`**: Toggle-able: audio adds extra credits when enabled + * **`veo3.1`**: Toggle-able: audio adds extra credits when enabled * **`seedance`**: Not supported - * **`seedance-2.0`**: Automatically included with no extra credits - * **`kling-2.5`**: Automatically included with no extra credits - * **`kling-3.0`**: Toggle-able (can enable/disable) - * **`sora-2`**: Automatically included with no extra credits - * **`veo3.1`**: Toggle-able (can enable/disable) - * **`veo3.1-lite`**: Toggle-able (can enable/disable) + * **`seedance-2.0`**: Toggle-able: no additional credits for audio + * **`sora-2`**: Toggle-able: no additional credits for audio - Legacy models: - * **`kling-1.6`**: Not supported """ end_seconds: typing_extensions.Required[float] """ The total duration of the output video in seconds. Supported durations depend on the chosen model: - * **`ltx-2`**: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30 + * **`ltx-2.3`**: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30 * **`wan-2.2`**: 3, 4, 5, 6, 7, 8, 9, 10, 15 - * **`seedance`**: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 - * **`seedance-2.0`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 * **`kling-2.5`**: 5, 10 * **`kling-3.0`**: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 - * **`sora-2`**: 4, 8, 12, 24, 36, 48, 60 - * **`veo3.1`**: 4, 6, 8, 16, 24, 32, 40, 48, 56 * **`veo3.1-lite`**: 8, 16, 24, 32, 40, 48, 56 + * **`veo3.1`**: 4, 6, 8, 16, 24, 32, 40, 48, 56 + * **`seedance`**: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 + * **`seedance-2.0`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 + * **`sora-2`**: 4, 8, 12, 24, 36, 48, 60 - Legacy models: - * **`kling-1.6`**: 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 """ height: typing_extensions.NotRequired[typing.Optional[int]] @@ -74,6 +70,7 @@ class V1ImageToVideoCreateBody(typing_extensions.TypedDict): "kling-2.5-audio", "kling-3.0", "ltx-2", + "ltx-2.3", "seedance", "seedance-2.0", "sora-2", @@ -86,19 +83,16 @@ class V1ImageToVideoCreateBody(typing_extensions.TypedDict): """ The AI model to use for video generation. - * `default`: uses our currently recommended model for general use. For paid tiers, defaults to `kling-3.0`. For free tiers, it defaults to `ltx-2`. - * `ltx-2`: Fast iteration with audio and lip-sync + * `default`: uses our currently recommended model for general use. For paid tiers, defaults to `kling-3.0`. For free tiers, it defaults to `ltx-2.3`. + * `ltx-2.3`: Fast iteration with audio, lip-sync, and end frame * `wan-2.2`: Fast, strong visuals with effects - * `seedance`: Fast iteration and start/end frames - * `seedance-2.0`: State-of-the-art quality and consistency * `kling-2.5`: Motion, action, and camera control * `kling-3.0`: Cinematic, multi-scene storytelling - * `sora-2`: Story-first concepts and creativity + * `veo3.1-lite`: Fast, affordable, high-quality * `veo3.1`: Realistic visuals and prompt adherence - * `veo3.1-lite`: Good for fast, affordable, high-quality daily generation. - - Legacy models: - * `kling-1.6`: Reliable baseline with smooth motion + * `seedance`: Fast iteration and start/end frames + * `seedance-2.0`: State-of-the-art quality and consistency + * `sora-2`: Story-first concepts and creativity If you specify the deprecated model value that includes the `-audio` suffix, this will be the same as included `audio` as `true`. """ @@ -109,23 +103,21 @@ class V1ImageToVideoCreateBody(typing_extensions.TypedDict): """ resolution: typing_extensions.NotRequired[ - typing_extensions.Literal["1080p", "480p", "720p"] + typing_extensions.Literal["1080p", "480p", "4k", "720p"] ] """ Controls the output video resolution. Defaults to `720p` on paid tiers and `480p` on free tiers. - * **`ltx-2`**: Supports 480p, 720p, 1080p. + * **`ltx-2.3`**: Supports 480p, 720p, 1080p. * **`wan-2.2`**: Supports 480p, 720p, 1080p. + * **`kling-2.5`**: Supports 720p, 1080p. + * **`kling-3.0`**: Supports 720p, 1080p, 4k. + * **`veo3.1-lite`**: Supports 720p, 1080p. + * **`veo3.1`**: Supports 720p, 1080p. * **`seedance`**: Supports 480p, 720p, 1080p. * **`seedance-2.0`**: Supports 480p, 720p. - * **`kling-2.5`**: Supports 720p, 1080p. - * **`kling-3.0`**: Supports 720p, 1080p. * **`sora-2`**: Supports 720p. - * **`veo3.1`**: Supports 720p, 1080p. - * **`veo3.1-lite`**: Supports 720p, 1080p. - Legacy models: - * **`kling-1.6`**: Supports 720p, 1080p. """ style: typing_extensions.NotRequired[V1ImageToVideoCreateBodyStyle] @@ -167,6 +159,7 @@ class _SerializerV1ImageToVideoCreateBody(pydantic.BaseModel): "kling-2.5-audio", "kling-3.0", "ltx-2", + "ltx-2.3", "seedance", "seedance-2.0", "sora-2", @@ -177,9 +170,9 @@ class _SerializerV1ImageToVideoCreateBody(pydantic.BaseModel): ] ] = pydantic.Field(alias="model", default=None) name: typing.Optional[str] = pydantic.Field(alias="name", default=None) - resolution: typing.Optional[typing_extensions.Literal["1080p", "480p", "720p"]] = ( - pydantic.Field(alias="resolution", default=None) - ) + resolution: typing.Optional[ + typing_extensions.Literal["1080p", "480p", "4k", "720p"] + ] = pydantic.Field(alias="resolution", default=None) style: typing.Optional[_SerializerV1ImageToVideoCreateBodyStyle] = pydantic.Field( alias="style", default=None ) diff --git a/magic_hour/types/params/v1_image_to_video_create_body_assets.py b/magic_hour/types/params/v1_image_to_video_create_body_assets.py index fc0c321..ffe8e33 100644 --- a/magic_hour/types/params/v1_image_to_video_create_body_assets.py +++ b/magic_hour/types/params/v1_image_to_video_create_body_assets.py @@ -12,18 +12,16 @@ class V1ImageToVideoCreateBodyAssets(typing_extensions.TypedDict): """ The image to use as the last frame of the video. - * **`ltx-2`**: Not supported + * **`ltx-2.3`**: Supports 480p, 720p, 1080p. * **`wan-2.2`**: Not supported + * **`kling-2.5`**: Supports 1080p. + * **`kling-3.0`**: Supports 720p, 1080p, 4k. + * **`veo3.1-lite`**: Not supported + * **`veo3.1`**: Not supported * **`seedance`**: Supports 480p, 720p, 1080p. * **`seedance-2.0`**: Supports 480p, 720p. - * **`kling-2.5`**: Supports 1080p. - * **`kling-3.0`**: Supports 1080p. * **`sora-2`**: Not supported - * **`veo3.1`**: Not supported - * **`veo3.1-lite`**: Not supported - Legacy models: - * **`kling-1.6`**: Not supported """ image_file_path: typing_extensions.Required[str] diff --git a/magic_hour/types/params/v1_text_to_video_create_body.py b/magic_hour/types/params/v1_text_to_video_create_body.py index 3048c17..622be53 100644 --- a/magic_hour/types/params/v1_text_to_video_create_body.py +++ b/magic_hour/types/params/v1_text_to_video_create_body.py @@ -19,18 +19,16 @@ class V1TextToVideoCreateBody(typing_extensions.TypedDict): """ Determines the aspect ratio of the output video. - * **`ltx-2`**: Supports 9:16, 16:9, 1:1. + * **`ltx-2.3`**: Supports 9:16, 16:9, 1:1. * **`wan-2.2`**: Supports 9:16, 16:9, 1:1. - * **`seedance`**: Supports 9:16, 16:9, 1:1. - * **`seedance-2.0`**: Supports 9:16, 16:9, 1:1. * **`kling-2.5`**: Supports 9:16, 16:9, 1:1. * **`kling-3.0`**: Supports 9:16, 16:9, 1:1. - * **`sora-2`**: Supports 9:16, 16:9. - * **`veo3.1`**: Supports 9:16, 16:9. * **`veo3.1-lite`**: Supports 9:16, 16:9. + * **`veo3.1`**: Supports 9:16, 16:9. + * **`seedance`**: Supports 9:16, 16:9, 1:1. + * **`seedance-2.0`**: Supports 9:16, 16:9, 1:1. + * **`sora-2`**: Supports 9:16, 16:9. - Legacy models: - * **`kling-1.6`**: Supports 9:16, 16:9, 1:1. """ audio: typing_extensions.NotRequired[bool] @@ -38,36 +36,32 @@ class V1TextToVideoCreateBody(typing_extensions.TypedDict): Whether to include audio in the video. Defaults to `false` if not specified. Audio support varies by model: - * **`ltx-2`**: Automatically included with no extra credits + * **`ltx-2.3`**: Toggle-able: no additional credits for audio * **`wan-2.2`**: Not supported + * **`kling-2.5`**: Toggle-able: no additional credits for audio + * **`kling-3.0`**: Toggle-able: audio adds extra credits when enabled + * **`veo3.1-lite`**: Toggle-able: audio adds extra credits when enabled + * **`veo3.1`**: Toggle-able: audio adds extra credits when enabled * **`seedance`**: Not supported - * **`seedance-2.0`**: Automatically included with no extra credits - * **`kling-2.5`**: Automatically included with no extra credits - * **`kling-3.0`**: Toggle-able (can enable/disable) - * **`sora-2`**: Automatically included with no extra credits - * **`veo3.1`**: Toggle-able (can enable/disable) - * **`veo3.1-lite`**: Toggle-able (can enable/disable) + * **`seedance-2.0`**: Toggle-able: no additional credits for audio + * **`sora-2`**: Toggle-able: no additional credits for audio - Legacy models: - * **`kling-1.6`**: Not supported """ end_seconds: typing_extensions.Required[float] """ The total duration of the output video in seconds. Supported durations depend on the chosen model: - * **`ltx-2`**: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30 + * **`ltx-2.3`**: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30 * **`wan-2.2`**: 3, 4, 5, 6, 7, 8, 9, 10, 15 - * **`seedance`**: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 - * **`seedance-2.0`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 * **`kling-2.5`**: 5, 10 * **`kling-3.0`**: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 - * **`sora-2`**: 4, 8, 12, 24, 36, 48, 60 - * **`veo3.1`**: 4, 6, 8, 16, 24, 32, 40, 48, 56 * **`veo3.1-lite`**: 8, 16, 24, 32, 40, 48, 56 + * **`veo3.1`**: 4, 6, 8, 16, 24, 32, 40, 48, 56 + * **`seedance`**: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 + * **`seedance-2.0`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 + * **`sora-2`**: 4, 8, 12, 24, 36, 48, 60 - Legacy models: - * **`kling-1.6`**: 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 """ model: typing_extensions.NotRequired[ @@ -78,6 +72,7 @@ class V1TextToVideoCreateBody(typing_extensions.TypedDict): "kling-2.5-audio", "kling-3.0", "ltx-2", + "ltx-2.3", "seedance", "seedance-2.0", "sora-2", @@ -90,19 +85,16 @@ class V1TextToVideoCreateBody(typing_extensions.TypedDict): """ The AI model to use for video generation. - * `default`: uses our currently recommended model for general use. For paid tiers, defaults to `kling-3.0`. For free tiers, it defaults to `ltx-2`. - * `ltx-2`: Fast iteration with audio and lip-sync + * `default`: uses our currently recommended model for general use. For paid tiers, defaults to `kling-3.0`. For free tiers, it defaults to `ltx-2.3`. + * `ltx-2.3`: Fast iteration with audio, lip-sync, and end frame * `wan-2.2`: Fast, strong visuals with effects - * `seedance`: Fast iteration and start/end frames - * `seedance-2.0`: State-of-the-art quality and consistency * `kling-2.5`: Motion, action, and camera control * `kling-3.0`: Cinematic, multi-scene storytelling - * `sora-2`: Story-first concepts and creativity + * `veo3.1-lite`: Fast, affordable, high-quality * `veo3.1`: Realistic visuals and prompt adherence - * `veo3.1-lite`: Good for fast, affordable, high-quality daily generation. - - Legacy models: - * `kling-1.6`: Reliable baseline with smooth motion + * `seedance`: Fast iteration and start/end frames + * `seedance-2.0`: State-of-the-art quality and consistency + * `sora-2`: Story-first concepts and creativity If you specify the deprecated model value that includes the `-audio` suffix, this will be the same as included `audio` as `true`. """ @@ -120,23 +112,21 @@ class V1TextToVideoCreateBody(typing_extensions.TypedDict): """ resolution: typing_extensions.NotRequired[ - typing_extensions.Literal["1080p", "480p", "720p"] + typing_extensions.Literal["1080p", "480p", "4k", "720p"] ] """ Controls the output video resolution. Defaults to `720p` on paid tiers and `480p` on free tiers. - * **`ltx-2`**: Supports 480p, 720p, 1080p. + * **`ltx-2.3`**: Supports 480p, 720p, 1080p. * **`wan-2.2`**: Supports 480p, 720p, 1080p. + * **`kling-2.5`**: Supports 720p, 1080p. + * **`kling-3.0`**: Supports 720p, 1080p, 4k. + * **`veo3.1-lite`**: Supports 720p, 1080p. + * **`veo3.1`**: Supports 720p, 1080p. * **`seedance`**: Supports 480p, 720p, 1080p. * **`seedance-2.0`**: Supports 480p, 720p. - * **`kling-2.5`**: Supports 720p, 1080p. - * **`kling-3.0`**: Supports 720p, 1080p. * **`sora-2`**: Supports 720p. - * **`veo3.1`**: Supports 720p, 1080p. - * **`veo3.1-lite`**: Supports 720p, 1080p. - Legacy models: - * **`kling-1.6`**: Supports 720p, 1080p. """ style: typing_extensions.Required[V1TextToVideoCreateBodyStyle] @@ -167,6 +157,7 @@ class _SerializerV1TextToVideoCreateBody(pydantic.BaseModel): "kling-2.5-audio", "kling-3.0", "ltx-2", + "ltx-2.3", "seedance", "seedance-2.0", "sora-2", @@ -180,9 +171,9 @@ class _SerializerV1TextToVideoCreateBody(pydantic.BaseModel): orientation: typing.Optional[ typing_extensions.Literal["landscape", "portrait", "square"] ] = pydantic.Field(alias="orientation", default=None) - resolution: typing.Optional[typing_extensions.Literal["1080p", "480p", "720p"]] = ( - pydantic.Field(alias="resolution", default=None) - ) + resolution: typing.Optional[ + typing_extensions.Literal["1080p", "480p", "4k", "720p"] + ] = pydantic.Field(alias="resolution", default=None) style: _SerializerV1TextToVideoCreateBodyStyle = pydantic.Field( alias="style", ) diff --git a/pyproject.toml b/pyproject.toml index 8071444..1c7e432 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "magic_hour" -version = "0.62.0" +version = "0.63.0" description = "Python SDK for Magic Hour API" readme = "README.md" authors = []