diff --git a/.sdk.json b/.sdk.json index 0da877e..a288390 100644 --- a/.sdk.json +++ b/.sdk.json @@ -1,5 +1,5 @@ { - "id": "fb9e22f7-76b4-4b2f-99a4-d3223a35bdc4", + "id": "88c7735c-a5b9-4bd6-aac7-a4e1dbdd3200", "tracked_paths": [ { "editable": true, diff --git a/package-lock.json b/package-lock.json index beedd5a..2c42678 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "magic-hour", - "version": "0.74.0", + "version": "0.74.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "magic-hour", - "version": "0.74.0", + "version": "0.74.1", "license": "MIT", "dependencies": { "make-api-request-js": "^0.2.1", diff --git a/package.json b/package.json index 04a974a..7525a28 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "magic-hour", - "version": "0.74.0", + "version": "0.74.1", "main": "./dist/index.js", "types": "./dist/index.d.ts", "exports": { diff --git a/src/environment.ts b/src/environment.ts index 0048898..87e73f7 100644 --- a/src/environment.ts +++ b/src/environment.ts @@ -1,4 +1,4 @@ export enum Environment { Environment = "https://api.magichour.ai", - MockServer = "https://api.sideko.dev/v1/mock/magichour/magic-hour/0.78.0", + MockServer = "https://api.sideko.dev/v1/mock/magichour/magic-hour/0.78.1", } diff --git a/src/resources/v1/ai-clothes-changer/README.md b/src/resources/v1/ai-clothes-changer/README.md index 93b3be4..36faadd 100644 --- a/src/resources/v1/ai-clothes-changer/README.md +++ b/src/resources/v1/ai-clothes-changer/README.md @@ -90,5 +90,5 @@ const res = await client.v1.aiClothesChanger.create({ ##### Example ```typescript -{"creditsCharged": 25, "frameCost": 25, "id": "cuid-example"} +{"creditsCharged": 25, "frameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/ai-face-editor/README.md b/src/resources/v1/ai-face-editor/README.md index cfeb02a..4e2f642 100644 --- a/src/resources/v1/ai-face-editor/README.md +++ b/src/resources/v1/ai-face-editor/README.md @@ -130,5 +130,5 @@ const res = await client.v1.aiFaceEditor.create({ ##### Example ```typescript -{"creditsCharged": 1, "frameCost": 1, "id": "cuid-example"} +{"creditsCharged": 1, "frameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/ai-gif-generator/README.md b/src/resources/v1/ai-gif-generator/README.md index 9d0115b..fe26de0 100644 --- a/src/resources/v1/ai-gif-generator/README.md +++ b/src/resources/v1/ai-gif-generator/README.md @@ -82,5 +82,5 @@ const res = await client.v1.aiGifGenerator.create({ ##### Example ```typescript -{"creditsCharged": 50, "frameCost": 50, "id": "cuid-example"} +{"creditsCharged": 50, "frameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/ai-headshot-generator/README.md b/src/resources/v1/ai-headshot-generator/README.md index 06a72be..553af3d 100644 --- a/src/resources/v1/ai-headshot-generator/README.md +++ b/src/resources/v1/ai-headshot-generator/README.md @@ -82,5 +82,5 @@ const res = await client.v1.aiHeadshotGenerator.create({ ##### Example ```typescript -{"creditsCharged": 50, "frameCost": 50, "id": "cuid-example"} +{"creditsCharged": 50, "frameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/ai-image-editor/README.md b/src/resources/v1/ai-image-editor/README.md index 6d4d5c0..b0f2c51 100644 --- a/src/resources/v1/ai-image-editor/README.md +++ b/src/resources/v1/ai-image-editor/README.md @@ -96,5 +96,5 @@ const res = await client.v1.aiImageEditor.create({ ##### Example ```typescript -{"creditsCharged": 50, "frameCost": 50, "id": "cuid-example"} +{"creditsCharged": 50, "frameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/ai-image-generator/README.md b/src/resources/v1/ai-image-generator/README.md index a42aba2..750a87b 100644 --- a/src/resources/v1/ai-image-generator/README.md +++ b/src/resources/v1/ai-image-generator/README.md @@ -95,5 +95,5 @@ const res = await client.v1.aiImageGenerator.create({ ##### Example ```typescript -{"creditsCharged": 5, "frameCost": 5, "id": "cuid-example"} +{"creditsCharged": 5, "frameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/ai-image-upscaler/README.md b/src/resources/v1/ai-image-upscaler/README.md index 9ef91ba..51f3e62 100644 --- a/src/resources/v1/ai-image-upscaler/README.md +++ b/src/resources/v1/ai-image-upscaler/README.md @@ -88,5 +88,5 @@ const res = await client.v1.aiImageUpscaler.create({ ##### Example ```typescript -{"creditsCharged": 50, "frameCost": 50, "id": "cuid-example"} +{"creditsCharged": 50, "frameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/ai-meme-generator/README.md b/src/resources/v1/ai-meme-generator/README.md index c6dfbf0..3d064aa 100644 --- a/src/resources/v1/ai-meme-generator/README.md +++ b/src/resources/v1/ai-meme-generator/README.md @@ -90,5 +90,5 @@ const res = await client.v1.aiMemeGenerator.create({ ##### Example ```typescript -{"creditsCharged": 10, "frameCost": 10, "id": "cuid-example"} +{"creditsCharged": 10, "frameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/ai-qr-code-generator/README.md b/src/resources/v1/ai-qr-code-generator/README.md index 25ee133..0e3e6de 100644 --- a/src/resources/v1/ai-qr-code-generator/README.md +++ b/src/resources/v1/ai-qr-code-generator/README.md @@ -83,5 +83,5 @@ const res = await client.v1.aiQrCodeGenerator.create({ ##### Example ```typescript -{"creditsCharged": 0, "frameCost": 0, "id": "cuid-example"} +{"creditsCharged": 0, "frameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/ai-talking-photo/README.md b/src/resources/v1/ai-talking-photo/README.md index 8e9b41e..93b409a 100644 --- a/src/resources/v1/ai-talking-photo/README.md +++ b/src/resources/v1/ai-talking-photo/README.md @@ -99,5 +99,5 @@ const res = await client.v1.aiTalkingPhoto.create({ ##### Example ```typescript -{"creditsCharged": 450, "estimatedFrameCost": 450, "id": "cuid-example"} +{"creditsCharged": 450, "estimatedFrameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/ai-video-editor/README.md b/src/resources/v1/ai-video-editor/README.md index 6bbe996..1ca67c9 100644 --- a/src/resources/v1/ai-video-editor/README.md +++ b/src/resources/v1/ai-video-editor/README.md @@ -118,5 +118,5 @@ const res = await client.v1.aiVideoEditor.create({ ##### Example ```typescript -{"creditsCharged": 450, "estimatedFrameCost": 450, "id": "cuid-example"} +{"creditsCharged": 450, "estimatedFrameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/animation/README.md b/src/resources/v1/animation/README.md index 38372d2..732543e 100644 --- a/src/resources/v1/animation/README.md +++ b/src/resources/v1/animation/README.md @@ -124,5 +124,5 @@ const res = await client.v1.animation.create({ ##### Example ```typescript -{"creditsCharged": 450, "estimatedFrameCost": 450, "id": "cuid-example"} +{"creditsCharged": 450, "estimatedFrameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/audio-to-video/README.md b/src/resources/v1/audio-to-video/README.md index 41b2b6e..b8b9010 100644 --- a/src/resources/v1/audio-to-video/README.md +++ b/src/resources/v1/audio-to-video/README.md @@ -122,5 +122,5 @@ const res = await client.v1.audioToVideo.create({ ##### Example ```typescript -{"creditsCharged": 450, "estimatedFrameCost": 450, "id": "cuid-example"} +{"creditsCharged": 450, "estimatedFrameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/auto-subtitle-generator/README.md b/src/resources/v1/auto-subtitle-generator/README.md index 7891fcf..04aa7c1 100644 --- a/src/resources/v1/auto-subtitle-generator/README.md +++ b/src/resources/v1/auto-subtitle-generator/README.md @@ -91,5 +91,5 @@ const res = await client.v1.autoSubtitleGenerator.create({ ##### Example ```typescript -{"creditsCharged": 450, "estimatedFrameCost": 450, "id": "cuid-example"} +{"creditsCharged": 450, "estimatedFrameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/body-swap/README.md b/src/resources/v1/body-swap/README.md index 9fb1c1a..a6b14c2 100644 --- a/src/resources/v1/body-swap/README.md +++ b/src/resources/v1/body-swap/README.md @@ -90,5 +90,5 @@ const res = await client.v1.bodySwap.create({ ##### Example ```typescript -{"creditsCharged": 50, "frameCost": 50, "id": "cuid-example"} +{"creditsCharged": 50, "frameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/character-replace/README.md b/src/resources/v1/character-replace/README.md index 7c65d6b..88d5d05 100644 --- a/src/resources/v1/character-replace/README.md +++ b/src/resources/v1/character-replace/README.md @@ -126,5 +126,5 @@ const res = await client.v1.characterReplace.create({ ##### Example ```typescript -{"creditsCharged": 450, "estimatedFrameCost": 450, "id": "cuid-example"} +{"creditsCharged": 450, "estimatedFrameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/face-swap-photo/README.md b/src/resources/v1/face-swap-photo/README.md index 86a2d00..bf031c9 100644 --- a/src/resources/v1/face-swap-photo/README.md +++ b/src/resources/v1/face-swap-photo/README.md @@ -103,5 +103,5 @@ const res = await client.v1.faceSwapPhoto.create({ ##### Example ```typescript -{"creditsCharged": 10, "frameCost": 10, "id": "cuid-example"} +{"creditsCharged": 10, "frameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/face-swap/README.md b/src/resources/v1/face-swap/README.md index 7d74240..e466969 100644 --- a/src/resources/v1/face-swap/README.md +++ b/src/resources/v1/face-swap/README.md @@ -143,5 +143,5 @@ const res = await client.v1.faceSwap.create({ ##### Example ```typescript -{"creditsCharged": 450, "estimatedFrameCost": 450, "id": "cuid-example"} +{"creditsCharged": 450, "estimatedFrameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/head-swap/README.md b/src/resources/v1/head-swap/README.md index 5096ca5..720cf6a 100644 --- a/src/resources/v1/head-swap/README.md +++ b/src/resources/v1/head-swap/README.md @@ -43,5 +43,5 @@ const res = await client.v1.headSwap.create({ ##### Example ```typescript -{"creditsCharged": 10, "frameCost": 10, "id": "cuid-example"} +{"creditsCharged": 10, "frameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/image-background-remover/README.md b/src/resources/v1/image-background-remover/README.md index b35c278..e12099c 100644 --- a/src/resources/v1/image-background-remover/README.md +++ b/src/resources/v1/image-background-remover/README.md @@ -87,5 +87,5 @@ const res = await client.v1.imageBackgroundRemover.create({ ##### Example ```typescript -{"creditsCharged": 5, "frameCost": 5, "id": "cuid-example"} +{"creditsCharged": 5, "frameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/image-projects/README.md b/src/resources/v1/image-projects/README.md index 70d0689..ad6218f 100644 --- a/src/resources/v1/image-projects/README.md +++ b/src/resources/v1/image-projects/README.md @@ -96,5 +96,5 @@ const res = await client.v1.imageProjects.get({ id: "cuid-example" }); ##### Example ```typescript -{"createdAt": "1970-01-01T00:00:00", "creditsCharged": 5, "downloads": [{"expiresAt": "2024-10-19T05:16:19.027Z", "url": "https://videos.magichour.ai/id/output.png"}], "enabled": true, "error": {"code": "no_source_face", "message": "Please use an image with a detectable face"}, "id": "cuid-example", "imageCount": 1, "name": "Example Name", "status": "complete", "totalFrameCost": 5, "type": "AI_IMAGE"} +{"createdAt": "1970-01-01T00:00:00", "creditsCharged": 5, "downloads": [{"expiresAt": "2024-10-19T05:16:19.027Z", "url": "https://videos.magichour.ai/id/output.png"}], "enabled": true, "error": {"code": "no_source_face", "message": "Please use an image with a detectable face"}, "id": "cuid-example", "imageCount": 1, "name": "Example Name", "status": "complete", "totalFrameCost": 123, "type": "AI_IMAGE"} ``` diff --git a/src/resources/v1/image-to-video/README.md b/src/resources/v1/image-to-video/README.md index 452498b..0377f7d 100644 --- a/src/resources/v1/image-to-video/README.md +++ b/src/resources/v1/image-to-video/README.md @@ -87,7 +87,7 @@ For detailed examples, see the [product page](https://magichour.ai/products/imag | `endSeconds` | ✓ | ✗ | The total duration of the output video in seconds. Supported durations depend on the chosen model: * **`gemini-omni-1.1`**: 3, 4, 5, 6, 7, 8, 9, 10 * **`kling-2.6`**: 5, 10 * **`kling-3.0`**: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 * **`ltx-2.3`**: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30 * **`ltx-2.5`**: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 * **`minimax-h3`**: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30 * **`seedance-1.5`**: 4, 5, 6, 7, 8, 9, 10, 11, 12 * **`seedance-2.0`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 * **`seedance-2.0-mini`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 * **`seedance-2.5`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 * **`sora-2`**: 4, 8, 12, 24, 36, 48, 60 * **`veo3.1`**: 4, 6, 8, 16, 24, 32, 40, 48, 56 * **`veo3.1-lite`**: 4, 6, 8, 16, 24, 32, 40, 48, 56 * **`wan-2.2`**: 3, 4, 5, 6, 7, 8, 9, 10, 15 | `5.0` | | `audio` | ✗ | ✗ | Whether to include audio in the video. Defaults to `false` if not specified. Audio support varies by model: * **`gemini-omni-1.1`**: Not supported * **`kling-2.6`**: Not supported * **`kling-3.0`**: Toggle-able: audio adds extra credits when enabled * **`ltx-2.3`**: Toggle-able: no additional credits for audio * **`ltx-2.5`**: Toggle-able: no additional credits for audio * **`minimax-h3`**: Toggle-able: no additional credits for audio * **`seedance-1.5`**: Toggle-able: audio adds extra credits when enabled * **`seedance-2.0`**: Toggle-able: no additional credits for audio * **`seedance-2.0-mini`**: Toggle-able: no additional credits for audio * **`seedance-2.5`**: Toggle-able: no additional credits for audio * **`sora-2`**: Toggle-able: no additional credits for audio * **`veo3.1`**: Toggle-able: audio adds extra credits when enabled * **`veo3.1-lite`**: Toggle-able: audio adds extra credits when enabled * **`wan-2.2`**: 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.3`. * `gemini-omni-1.1`: Best for precise short clips, first/last frames, and high-resolution output. * `kling-2.6`: Best for action, motion blur, and controlled camera moves. * `kling-3.0`: Best for cinematic stories, references, and optional audio. * `ltx-2.3`: Fastest for general scenes, long clips, audio, and rapid iteration. * `ltx-2.5`: Fastest for general scenes, long clips, audio, and rapid iteration. * `minimax-h3`: Great for reference-driven clips with native audio and longer durations. * `seedance-1.5`: Best for smooth, consistent motion with an end frame. * `seedance-2.0`: Best for reference-led clips with precise subject control. * `seedance-2.0-mini`: Faster reference-led clips with consistent motion and audio. * `seedance-2.5`: Best for premium realism, detail, and natural motion. * `sora-2`: Best for creative concepts and longer clips with audio. * `veo3.1`: Best for romantic interactions and expressive action, with realistic detail. * `veo3.1-lite`: Balanced realism and audio at a lower cost than Veo 3.1. * `wan-2.2`: Best for physical motion, action, and camera movement. 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"` | +| `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.5`. * `gemini-omni-1.1`: Best for precise short clips, first/last frames, and high-resolution output. * `kling-2.6`: Best for action, motion blur, and controlled camera moves. * `kling-3.0`: Best for cinematic stories, references, and optional audio. * `ltx-2.3`: Fastest for general scenes, long clips, audio, and rapid iteration. * `ltx-2.5`: Fastest for general scenes, long clips, audio, and rapid iteration. * `minimax-h3`: Great for reference-driven clips with native audio and longer durations. * `seedance-1.5`: Best for smooth, consistent motion with an end frame. * `seedance-2.0`: Best for reference-led clips with precise subject control. * `seedance-2.0-mini`: Faster reference-led clips with consistent motion and audio. * `seedance-2.5`: Best for premium realism, detail, and natural motion. * `sora-2`: Best for creative concepts and longer clips with audio. * `veo3.1`: Best for romantic interactions and expressive action, with realistic detail. * `veo3.1-lite`: Balanced realism and audio at a lower cost than Veo 3.1. * `wan-2.2`: Best for physical motion, action, and camera movement. 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. * **`gemini-omni-1.1`**: Supports 360p, 720p, 1080p, 4k. * **`kling-2.6`**: Supports 720p, 1080p. * **`kling-3.0`**: Supports 720p, 1080p, 4k. * **`ltx-2.3`**: Supports 480p, 720p, 1080p. * **`ltx-2.5`**: Supports 480p, 720p, 1080p. * **`minimax-h3`**: Supports 480p, 720p, 1080p. * **`seedance-1.5`**: Supports 480p, 720p, 1080p. * **`seedance-2.0`**: Supports 480p, 720p. * **`seedance-2.0-mini`**: Supports 480p, 720p. * **`seedance-2.5`**: Supports 480p, 720p. * **`sora-2`**: Supports 720p. * **`veo3.1`**: Supports 720p, 1080p. * **`veo3.1-lite`**: Supports 720p, 1080p. * **`wan-2.2`**: Supports 480p, 720p, 1080p. | `"720p"` | | `style` | ✗ | ✗ | Attributed used to dictate the style of the output | `{"prompt": "a dog running"}` | @@ -124,5 +124,5 @@ const res = await client.v1.imageToVideo.create({ ##### Example ```typescript -{"creditsCharged": 450, "estimatedFrameCost": 450, "id": "cuid-example"} +{"creditsCharged": 450, "estimatedFrameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/image-to-video/request-types.ts b/src/resources/v1/image-to-video/request-types.ts index 19abfda..c5689c6 100644 --- a/src/resources/v1/image-to-video/request-types.ts +++ b/src/resources/v1/image-to-video/request-types.ts @@ -70,7 +70,7 @@ export type CreateRequest = { /** * 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`. + * * `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.5`. * * `gemini-omni-1.1`: Best for precise short clips, first/last frames, and high-resolution output. * * `kling-2.6`: Best for action, motion blur, and controlled camera moves. * * `kling-3.0`: Best for cinematic stories, references, and optional audio. diff --git a/src/resources/v1/lip-sync/README.md b/src/resources/v1/lip-sync/README.md index 94a85be..331180d 100644 --- a/src/resources/v1/lip-sync/README.md +++ b/src/resources/v1/lip-sync/README.md @@ -128,5 +128,5 @@ const res = await client.v1.lipSync.create({ ##### Example ```typescript -{"creditsCharged": 450, "estimatedFrameCost": 450, "id": "cuid-example"} +{"creditsCharged": 450, "estimatedFrameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/photo-colorizer/README.md b/src/resources/v1/photo-colorizer/README.md index 3ebb5a4..5b3a1e0 100644 --- a/src/resources/v1/photo-colorizer/README.md +++ b/src/resources/v1/photo-colorizer/README.md @@ -80,5 +80,5 @@ const res = await client.v1.photoColorizer.create({ ##### Example ```typescript -{"creditsCharged": 10, "frameCost": 10, "id": "cuid-example"} +{"creditsCharged": 10, "frameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/text-to-video/README.md b/src/resources/v1/text-to-video/README.md index f4d33e1..aeb4cc3 100644 --- a/src/resources/v1/text-to-video/README.md +++ b/src/resources/v1/text-to-video/README.md @@ -88,7 +88,7 @@ For detailed examples, see the [product page](https://magichour.ai/products/text | `└─ qualityMode` | ✗ | ✓ | 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"` | | `aspectRatio` | ✗ | ✗ | Determines the aspect ratio of the output video. * **`gemini-omni-1.1`**: Supports 16:9, 9:16. * **`kling-2.6`**: Supports 9:16, 16:9, 1:1. * **`kling-3.0`**: Supports 9:16, 16:9, 1:1. * **`ltx-2.3`**: Supports 9:16, 16:9, 1:1. * **`ltx-2.5`**: Supports 9:16, 16:9, 1:1. * **`minimax-h3`**: Supports 16:9, 9:16, 1:1. * **`seedance-1.5`**: Supports 9:16, 16:9, 1:1. * **`seedance-2.0`**: Supports 9:16, 16:9, 1:1. * **`seedance-2.0-mini`**: Supports 9:16, 16:9, 1:1. * **`seedance-2.5`**: 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. * **`wan-2.2`**: 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: * **`gemini-omni-1.1`**: Not supported * **`kling-2.6`**: Not supported * **`kling-3.0`**: Toggle-able: audio adds extra credits when enabled * **`ltx-2.3`**: Toggle-able: no additional credits for audio * **`ltx-2.5`**: Toggle-able: no additional credits for audio * **`minimax-h3`**: Toggle-able: no additional credits for audio * **`seedance-1.5`**: Toggle-able: audio adds extra credits when enabled * **`seedance-2.0`**: Toggle-able: no additional credits for audio * **`seedance-2.0-mini`**: Toggle-able: no additional credits for audio * **`seedance-2.5`**: Toggle-able: no additional credits for audio * **`sora-2`**: Toggle-able: no additional credits for audio * **`veo3.1`**: Toggle-able: audio adds extra credits when enabled * **`veo3.1-lite`**: Toggle-able: audio adds extra credits when enabled * **`wan-2.2`**: 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.3`. * `gemini-omni-1.1`: Best for precise short clips, first/last frames, and high-resolution output. * `kling-2.6`: Best for action, motion blur, and controlled camera moves. * `kling-3.0`: Best for cinematic stories, references, and optional audio. * `ltx-2.3`: Fastest for general scenes, long clips, audio, and rapid iteration. * `ltx-2.5`: Fastest for general scenes, long clips, audio, and rapid iteration. * `minimax-h3`: Great for reference-driven clips with native audio and longer durations. * `seedance-1.5`: Best for smooth, consistent motion with an end frame. * `seedance-2.0`: Best for reference-led clips with precise subject control. * `seedance-2.0-mini`: Faster reference-led clips with consistent motion and audio. * `seedance-2.5`: Best for premium realism, detail, and natural motion. * `sora-2`: Best for creative concepts and longer clips with audio. * `veo3.1`: Best for romantic interactions and expressive action, with realistic detail. * `veo3.1-lite`: Balanced realism and audio at a lower cost than Veo 3.1. * `wan-2.2`: Best for physical motion, action, and camera movement. 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"` | +| `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.5`. * `gemini-omni-1.1`: Best for precise short clips, first/last frames, and high-resolution output. * `kling-2.6`: Best for action, motion blur, and controlled camera moves. * `kling-3.0`: Best for cinematic stories, references, and optional audio. * `ltx-2.3`: Fastest for general scenes, long clips, audio, and rapid iteration. * `ltx-2.5`: Fastest for general scenes, long clips, audio, and rapid iteration. * `minimax-h3`: Great for reference-driven clips with native audio and longer durations. * `seedance-1.5`: Best for smooth, consistent motion with an end frame. * `seedance-2.0`: Best for reference-led clips with precise subject control. * `seedance-2.0-mini`: Faster reference-led clips with consistent motion and audio. * `seedance-2.5`: Best for premium realism, detail, and natural motion. * `sora-2`: Best for creative concepts and longer clips with audio. * `veo3.1`: Best for romantic interactions and expressive action, with realistic detail. * `veo3.1-lite`: Balanced realism and audio at a lower cost than Veo 3.1. * `wan-2.2`: Best for physical motion, action, and camera movement. 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. * **`gemini-omni-1.1`**: Supports 360p, 720p, 1080p, 4k. * **`kling-2.6`**: Supports 720p, 1080p. * **`kling-3.0`**: Supports 720p, 1080p, 4k. * **`ltx-2.3`**: Supports 480p, 720p, 1080p. * **`ltx-2.5`**: Supports 480p, 720p, 1080p. * **`minimax-h3`**: Supports 480p, 720p, 1080p. * **`seedance-1.5`**: Supports 480p, 720p, 1080p. * **`seedance-2.0`**: Supports 480p, 720p. * **`seedance-2.0-mini`**: Supports 480p, 720p. * **`seedance-2.5`**: Supports 480p, 720p. * **`sora-2`**: Supports 720p. * **`veo3.1`**: Supports 720p, 1080p. * **`veo3.1-lite`**: Supports 720p, 1080p. * **`wan-2.2`**: Supports 480p, 720p, 1080p. | `"720p"` | @@ -105,7 +105,6 @@ const res = await client.v1.textToVideo.create({ endSeconds: 5.0, model: "kling-3.0", name: "My Text To Video video", - orientation: "landscape", resolution: "720p", style: { prompt: "a dog running" }, }); @@ -120,5 +119,5 @@ const res = await client.v1.textToVideo.create({ ##### Example ```typescript -{"creditsCharged": 450, "estimatedFrameCost": 450, "id": "cuid-example"} +{"creditsCharged": 450, "estimatedFrameCost": 123, "id": "cuid-example"} ``` diff --git a/src/resources/v1/text-to-video/request-types.ts b/src/resources/v1/text-to-video/request-types.ts index 1e8479c..3902b65 100644 --- a/src/resources/v1/text-to-video/request-types.ts +++ b/src/resources/v1/text-to-video/request-types.ts @@ -75,7 +75,7 @@ export type CreateRequest = { /** * 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`. + * * `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.5`. * * `gemini-omni-1.1`: Best for precise short clips, first/last frames, and high-resolution output. * * `kling-2.6`: Best for action, motion blur, and controlled camera moves. * * `kling-3.0`: Best for cinematic stories, references, and optional audio. diff --git a/src/resources/v1/video-projects/README.md b/src/resources/v1/video-projects/README.md index 5286cac..a785958 100644 --- a/src/resources/v1/video-projects/README.md +++ b/src/resources/v1/video-projects/README.md @@ -96,5 +96,5 @@ const res = await client.v1.videoProjects.get({ id: "cuid-example" }); ##### Example ```typescript -{"createdAt": "1970-01-01T00:00:00", "creditsCharged": 450, "download": {"expiresAt": "2024-10-19T05:16:19.027Z", "url": "https://videos.magichour.ai/id/output.mp4"}, "downloads": [{"expiresAt": "2024-10-19T05:16:19.027Z", "url": "https://videos.magichour.ai/id/output.mp4"}], "enabled": true, "endSeconds": 15.0, "error": {"code": "no_source_face", "message": "Please use an image with a detectable face"}, "fps": 30.0, "height": 960, "id": "cuid-example", "name": "Example Name", "startSeconds": 0.0, "status": "complete", "totalFrameCost": 450, "type": "FACE_SWAP", "width": 512} +{"createdAt": "1970-01-01T00:00:00", "creditsCharged": 450, "download": {"expiresAt": "2024-10-19T05:16:19.027Z", "url": "https://videos.magichour.ai/id/output.mp4"}, "downloads": [{"expiresAt": "2024-10-19T05:16:19.027Z", "url": "https://videos.magichour.ai/id/output.mp4"}], "enabled": true, "endSeconds": 15.0, "error": {"code": "no_source_face", "message": "Please use an image with a detectable face"}, "fps": 30.0, "height": 960, "id": "cuid-example", "name": "Example Name", "startSeconds": 0.0, "status": "complete", "totalFrameCost": 123, "type": "FACE_SWAP", "width": 512} ``` diff --git a/src/resources/v1/video-to-video/README.md b/src/resources/v1/video-to-video/README.md index 37a6948..c009d64 100644 --- a/src/resources/v1/video-to-video/README.md +++ b/src/resources/v1/video-to-video/README.md @@ -136,5 +136,5 @@ const res = await client.v1.videoToVideo.create({ ##### Example ```typescript -{"creditsCharged": 450, "estimatedFrameCost": 450, "id": "cuid-example"} +{"creditsCharged": 450, "estimatedFrameCost": 123, "id": "cuid-example"} ``` diff --git a/src/types/v1-image-projects-get-response.ts b/src/types/v1-image-projects-get-response.ts index 3e8dfe4..d5bc651 100644 --- a/src/types/v1-image-projects-get-response.ts +++ b/src/types/v1-image-projects-get-response.ts @@ -62,7 +62,7 @@ export type V1ImageProjectsGetResponse = { */ totalFrameCost: number; /** - * The type of the image project. Possible values are FACE_EDITOR, AI_IMAGE_EDITOR, AI_SELFIE, AI_HEADSHOT, AI_INFLUENCER, AI_IMAGE, AI_MEME, CLOTHES_CHANGER, BACKGROUND_REMOVER, FACE_SWAP, IMAGE_UPSCALER, IMAGE_ENHANCER, AI_GIF, QR_CODE, PHOTO_EDITOR, PHOTO_COLORIZER, HEAD_SWAP, BODY_SWAP, STORYBOARD, IMAGE_EXPANDER + * The type of the image project. Possible values are FACE_EDITOR, AI_IMAGE_EDITOR, AI_SELFIE, AI_HEADSHOT, AI_INFLUENCER, AI_IMAGE, AI_MEME, CLOTHES_CHANGER, BACKGROUND_REMOVER, FACE_SWAP, IMAGE_UPSCALER, IMAGE_ENHANCER, AI_GIF, QR_CODE, PHOTO_EDITOR, PHOTO_COLORIZER, IMAGE_COLOR_GRADER, HEAD_SWAP, BODY_SWAP, STORYBOARD, IMAGE_EXPANDER */ type: string; }; diff --git a/src/types/v1-image-to-video-create-body-model-enum.ts b/src/types/v1-image-to-video-create-body-model-enum.ts index 7939c24..fe0cdcf 100644 --- a/src/types/v1-image-to-video-create-body-model-enum.ts +++ b/src/types/v1-image-to-video-create-body-model-enum.ts @@ -1,7 +1,7 @@ /** * 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`. + * * `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.5`. * * `gemini-omni-1.1`: Best for precise short clips, first/last frames, and high-resolution output. * * `kling-2.6`: Best for action, motion blur, and controlled camera moves. * * `kling-3.0`: Best for cinematic stories, references, and optional audio. diff --git a/src/types/v1-image-to-video-create-body.ts b/src/types/v1-image-to-video-create-body.ts index bfc29a0..ec4c4fc 100644 --- a/src/types/v1-image-to-video-create-body.ts +++ b/src/types/v1-image-to-video-create-body.ts @@ -70,7 +70,7 @@ export type V1ImageToVideoCreateBody = { /** * 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`. + * * `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.5`. * * `gemini-omni-1.1`: Best for precise short clips, first/last frames, and high-resolution output. * * `kling-2.6`: Best for action, motion blur, and controlled camera moves. * * `kling-3.0`: Best for cinematic stories, references, and optional audio. diff --git a/src/types/v1-text-to-video-create-body-model-enum.ts b/src/types/v1-text-to-video-create-body-model-enum.ts index 7199516..e575631 100644 --- a/src/types/v1-text-to-video-create-body-model-enum.ts +++ b/src/types/v1-text-to-video-create-body-model-enum.ts @@ -1,7 +1,7 @@ /** * 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`. + * * `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.5`. * * `gemini-omni-1.1`: Best for precise short clips, first/last frames, and high-resolution output. * * `kling-2.6`: Best for action, motion blur, and controlled camera moves. * * `kling-3.0`: Best for cinematic stories, references, and optional audio. diff --git a/src/types/v1-text-to-video-create-body.ts b/src/types/v1-text-to-video-create-body.ts index 4952172..798f660 100644 --- a/src/types/v1-text-to-video-create-body.ts +++ b/src/types/v1-text-to-video-create-body.ts @@ -75,7 +75,7 @@ export type V1TextToVideoCreateBody = { /** * 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`. + * * `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.5`. * * `gemini-omni-1.1`: Best for precise short clips, first/last frames, and high-resolution output. * * `kling-2.6`: Best for action, motion blur, and controlled camera moves. * * `kling-3.0`: Best for cinematic stories, references, and optional audio. diff --git a/src/types/v1-video-projects-get-response.ts b/src/types/v1-video-projects-get-response.ts index 863182a..940d488 100644 --- a/src/types/v1-video-projects-get-response.ts +++ b/src/types/v1-video-projects-get-response.ts @@ -85,7 +85,7 @@ export type V1VideoProjectsGetResponse = { */ totalFrameCost: number; /** - * 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, AVATAR, VIDEO_UPSCALER, VIDEO_EDITOR, CHARACTER_REPLACE, VIDEO_COLORIZER, VIDEO_TRANSLATOR, MUSIC_VIDEO, EXTEND, AUDIO_TO_VIDEO, VIDEO_EXPANDER, 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, AVATAR, VIDEO_UPSCALER, VIDEO_EDITOR, CHARACTER_REPLACE, VIDEO_COLORIZER, VIDEO_COLOR_GRADER, VIDEO_TRANSLATOR, MUSIC_VIDEO, EXTEND, AUDIO_TO_VIDEO, VIDEO_EXPANDER, UGC_AD */ type: string; /**