From de79adc03a326126781b0d9ef0896331e7da2f29 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 21 Oct 2026 11:25:12 +0000 Subject: [PATCH] feat: Updated OpenAPI spec --- ...r.AudioProjects.JsonSerializerContext.g.cs | 223 ++- ...ctsClient.AiMusicGeneratorCreateAudio.g.cs | 695 ++++++++ ...ctsClient.AiMusicGeneratorCreateAudio.g.cs | 57 + ...ient.AiTalkingPhotoCreateTalkingPhoto.g.cs | 4 +- ...ideoProjectsClient.AiUgcAdCreateVideo.g.cs | 38 +- ...ojectsClient.AiVideoEditorCreateVideo.g.cs | 12 +- ...tsClient.AiVideoTranslatorCreateVideo.g.cs | 12 +- ...ectsClient.AiVideoUpscalerCreateVideo.g.cs | 154 ++ ...rojectsClient.AudioToVideoCreateVideo.g.cs | 12 +- ...ctsClient.CharacterReplaceCreateVideo.g.cs | 12 +- ...deoProjectsClient.FaceSwapCreateVideo.g.cs | 12 +- ...rojectsClient.ImageToVideoCreateVideo.g.cs | 12 +- ...ideoProjectsClient.LipSyncCreateVideo.g.cs | 12 +- ...ProjectsClient.TextToVideoCreateVideo.g.cs | 14 +- ...rojectsClient.VideoToVideoCreateVideo.g.cs | 12 +- ...MusicGeneratorCreateAudioResponseCode.g.cs | 53 + ...usicGeneratorCreateAudioResponseCode2.g.cs | 53 + ...ratorCreateAudioResponseCode2Nullable.g.cs | 60 + ...usicGeneratorCreateAudioResponseCode3.g.cs | 53 + ...ratorCreateAudioResponseCode3Nullable.g.cs | 60 + ...usicGeneratorCreateAudioResponseCode4.g.cs | 53 + ...ratorCreateAudioResponseCode4Nullable.g.cs | 60 + ...usicGeneratorCreateAudioResponseCode5.g.cs | 53 + ...ratorCreateAudioResponseCode5Nullable.g.cs | 60 + ...usicGeneratorCreateAudioResponseCode6.g.cs | 53 + ...ratorCreateAudioResponseCode6Nullable.g.cs | 60 + ...eratorCreateAudioResponseCodeNullable.g.cs | 60 + ...oUpscalerCreateVideoRequestResolution.g.cs | 53 + ...rCreateVideoRequestResolutionNullable.g.cs | 60 + ...iVideoUpscalerCreateVideoResponseCode.g.cs | 53 + ...VideoUpscalerCreateVideoResponseCode2.g.cs | 53 + ...calerCreateVideoResponseCode2Nullable.g.cs | 60 + ...VideoUpscalerCreateVideoResponseCode3.g.cs | 53 + ...calerCreateVideoResponseCode3Nullable.g.cs | 60 + ...VideoUpscalerCreateVideoResponseCode4.g.cs | 53 + ...calerCreateVideoResponseCode4Nullable.g.cs | 60 + ...VideoUpscalerCreateVideoResponseCode5.g.cs | 53 + ...calerCreateVideoResponseCode5Nullable.g.cs | 60 + ...VideoUpscalerCreateVideoResponseCode6.g.cs | 53 + ...calerCreateVideoResponseCode6Nullable.g.cs | 60 + ...scalerCreateVideoResponseCodeNullable.g.cs | 60 + .../MagicHour.JsonSerializerContext.g.cs | 380 ++++- .../MagicHour.JsonSerializerContextTypes.g.cs | 1402 ++++++++------- ...MusicGeneratorCreateAudioRequest.Json.g.cs | 141 ++ ...ls.AiMusicGeneratorCreateAudioRequest.g.cs | 76 + ...GeneratorCreateAudioRequestStyle.Json.g.cs | 141 ++ ...MusicGeneratorCreateAudioRequestStyle.g.cs | 80 + ...usicGeneratorCreateAudioResponse.Json.g.cs | 141 ++ ...s.AiMusicGeneratorCreateAudioResponse.g.cs | 67 + ...sicGeneratorCreateAudioResponse2.Json.g.cs | 141 ++ ....AiMusicGeneratorCreateAudioResponse2.g.cs | 61 + ...sicGeneratorCreateAudioResponse3.Json.g.cs | 141 ++ ....AiMusicGeneratorCreateAudioResponse3.g.cs | 61 + ...sicGeneratorCreateAudioResponse4.Json.g.cs | 141 ++ ....AiMusicGeneratorCreateAudioResponse4.g.cs | 66 + ...sicGeneratorCreateAudioResponse5.Json.g.cs | 141 ++ ....AiMusicGeneratorCreateAudioResponse5.g.cs | 61 + ...sicGeneratorCreateAudioResponse6.Json.g.cs | 141 ++ ....AiMusicGeneratorCreateAudioResponse6.g.cs | 61 + ...sicGeneratorCreateAudioResponse7.Json.g.cs | 141 ++ ....AiMusicGeneratorCreateAudioResponse7.g.cs | 61 + ...MusicGeneratorCreateAudioResponseCode.g.cs | 46 + ...usicGeneratorCreateAudioResponseCode2.g.cs | 46 + ...usicGeneratorCreateAudioResponseCode3.g.cs | 60 + ...usicGeneratorCreateAudioResponseCode4.g.cs | 46 + ...usicGeneratorCreateAudioResponseCode5.g.cs | 46 + ...usicGeneratorCreateAudioResponseCode6.g.cs | 46 + ...Hour.Models.AiUgcAdCreateVideoRequest.g.cs | 4 +- ...iVideoUpscalerCreateVideoRequest.Json.g.cs | 141 ++ ...els.AiVideoUpscalerCreateVideoRequest.g.cs | 110 ++ ...UpscalerCreateVideoRequestAssets.Json.g.cs | 141 ++ ...VideoUpscalerCreateVideoRequestAssets.g.cs | 56 + ...oUpscalerCreateVideoRequestResolution.g.cs | 64 + ...VideoUpscalerCreateVideoResponse.Json.g.cs | 141 ++ ...ls.AiVideoUpscalerCreateVideoResponse.g.cs | 67 + ...ideoUpscalerCreateVideoResponse2.Json.g.cs | 141 ++ ...s.AiVideoUpscalerCreateVideoResponse2.g.cs | 61 + ...ideoUpscalerCreateVideoResponse3.Json.g.cs | 141 ++ ...s.AiVideoUpscalerCreateVideoResponse3.g.cs | 61 + ...ideoUpscalerCreateVideoResponse4.Json.g.cs | 141 ++ ...s.AiVideoUpscalerCreateVideoResponse4.g.cs | 66 + ...ideoUpscalerCreateVideoResponse5.Json.g.cs | 141 ++ ...s.AiVideoUpscalerCreateVideoResponse5.g.cs | 61 + ...ideoUpscalerCreateVideoResponse6.Json.g.cs | 141 ++ ...s.AiVideoUpscalerCreateVideoResponse6.g.cs | 61 + ...ideoUpscalerCreateVideoResponse7.Json.g.cs | 141 ++ ...s.AiVideoUpscalerCreateVideoResponse7.g.cs | 61 + ...iVideoUpscalerCreateVideoResponseCode.g.cs | 46 + ...VideoUpscalerCreateVideoResponseCode2.g.cs | 46 + ...VideoUpscalerCreateVideoResponseCode3.g.cs | 60 + ...VideoUpscalerCreateVideoResponseCode4.g.cs | 46 + ...VideoUpscalerCreateVideoResponseCode5.g.cs | 46 + ...VideoUpscalerCreateVideoResponseCode6.g.cs | 46 + ....Models.TextToVideoCreateVideoRequest.g.cs | 4 + ...ient.AiTalkingPhotoCreateTalkingPhoto.g.cs | 4 +- ...ideoProjectsClient.AiUgcAdCreateVideo.g.cs | 38 +- ...ojectsClient.AiVideoEditorCreateVideo.g.cs | 12 +- ...tsClient.AiVideoTranslatorCreateVideo.g.cs | 12 +- ...ectsClient.AiVideoUpscalerCreateVideo.g.cs | 794 +++++++++ ...rojectsClient.AudioToVideoCreateVideo.g.cs | 12 +- ...ctsClient.CharacterReplaceCreateVideo.g.cs | 12 +- ...deoProjectsClient.FaceSwapCreateVideo.g.cs | 12 +- ...rojectsClient.ImageToVideoCreateVideo.g.cs | 12 +- ...ideoProjectsClient.LipSyncCreateVideo.g.cs | 12 +- ...ProjectsClient.TextToVideoCreateVideo.g.cs | 14 +- ...rojectsClient.VideoToVideoCreateVideo.g.cs | 12 +- .../Generated/autosdk.generated-examples.json | 2 +- src/libs/MagicHour/openapi.yaml | 1506 +++++++++++------ 108 files changed, 9964 insertions(+), 1410 deletions(-) create mode 100644 src/libs/MagicHour/Generated/MagicHour.AudioProjectsClient.AiMusicGeneratorCreateAudio.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.IAudioProjectsClient.AiMusicGeneratorCreateAudio.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiVideoUpscalerCreateVideo.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode2.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode2Nullable.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode3.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode3Nullable.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode4.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode4Nullable.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode5.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode5Nullable.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode6.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode6Nullable.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCodeNullable.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoRequestResolution.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoRequestResolutionNullable.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode2.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode2Nullable.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode3.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode3Nullable.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode4.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode4Nullable.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode5.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode5Nullable.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode6.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode6Nullable.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCodeNullable.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioRequest.Json.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioRequest.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioRequestStyle.Json.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioRequestStyle.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse.Json.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse2.Json.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse2.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse3.Json.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse3.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse4.Json.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse4.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse5.Json.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse5.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse6.Json.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse6.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse7.Json.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse7.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode2.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode3.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode4.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode5.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode6.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequest.Json.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequest.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequestAssets.Json.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequestAssets.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequestResolution.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse.Json.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse2.Json.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse2.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse3.Json.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse3.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse4.Json.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse4.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse5.Json.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse5.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse6.Json.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse6.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse7.Json.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse7.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode2.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode3.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode4.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode5.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode6.g.cs create mode 100644 src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiVideoUpscalerCreateVideo.g.cs diff --git a/src/libs/MagicHour/Generated/MagicHour.AudioProjects.JsonSerializerContext.g.cs b/src/libs/MagicHour/Generated/MagicHour.AudioProjects.JsonSerializerContext.g.cs index f31929b..33cc4b6 100644 --- a/src/libs/MagicHour/Generated/MagicHour.AudioProjects.JsonSerializerContext.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.AudioProjects.JsonSerializerContext.g.cs @@ -16,12 +16,14 @@ namespace MagicHour [global::System.Text.Json.Serialization.JsonSerializable(typeof(string))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(int))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioRequest))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioRequestStyle))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioRequestStyleVoiceName), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioRequestStyleVoiceName2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioRequest))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioRequestStyle))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioRequestAssets))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioRequestStyle))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioRequest))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioRequestStyle))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioRequestStyleVoiceName), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioRequestStyleVoiceName2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AudioProjectsGetDetailsResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AudioProjectsGetDetailsResponseStatus), TypeInfoPropertyName = "AudioProjectsGetDetailsResponseStatus2")] @@ -48,19 +50,19 @@ namespace MagicHour [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AudioProjectsDeleteResponseCode4), TypeInfoPropertyName = "AudioProjectsDeleteResponseCode42")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AudioProjectsDeleteResponse5))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AudioProjectsDeleteResponseCode5), TypeInfoPropertyName = "AudioProjectsDeleteResponseCode52")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse2))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode2_3")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse3))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode22")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse4))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode32")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse5))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode42")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse6))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode52")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse7))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode), TypeInfoPropertyName = "AiMusicGeneratorCreateAudioResponseCode2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2), TypeInfoPropertyName = "AiMusicGeneratorCreateAudioResponseCode22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3), TypeInfoPropertyName = "AiMusicGeneratorCreateAudioResponseCode32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4), TypeInfoPropertyName = "AiMusicGeneratorCreateAudioResponseCode42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse6))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5), TypeInfoPropertyName = "AiMusicGeneratorCreateAudioResponseCode52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse7))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6), TypeInfoPropertyName = "AiMusicGeneratorCreateAudioResponseCode62")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponse2))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode), TypeInfoPropertyName = "AiVoiceClonerCreateAudioResponseCode2_3")] @@ -74,6 +76,19 @@ namespace MagicHour [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode5), TypeInfoPropertyName = "AiVoiceClonerCreateAudioResponseCode52")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponse7))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode6), TypeInfoPropertyName = "AiVoiceClonerCreateAudioResponseCode62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse6))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse7))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode62")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(int?))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool?))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioRequestStyleVoiceName?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioRequestStyleVoiceName2")] @@ -89,18 +104,24 @@ namespace MagicHour [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AudioProjectsDeleteResponseCode3?), TypeInfoPropertyName = "NullableAudioProjectsDeleteResponseCode32")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AudioProjectsDeleteResponseCode4?), TypeInfoPropertyName = "NullableAudioProjectsDeleteResponseCode42")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AudioProjectsDeleteResponseCode5?), TypeInfoPropertyName = "NullableAudioProjectsDeleteResponseCode52")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode2_3")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode22")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode32")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode42")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode52")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode?), TypeInfoPropertyName = "NullableAiMusicGeneratorCreateAudioResponseCode2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2?), TypeInfoPropertyName = "NullableAiMusicGeneratorCreateAudioResponseCode22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3?), TypeInfoPropertyName = "NullableAiMusicGeneratorCreateAudioResponseCode32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4?), TypeInfoPropertyName = "NullableAiMusicGeneratorCreateAudioResponseCode42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5?), TypeInfoPropertyName = "NullableAiMusicGeneratorCreateAudioResponseCode52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6?), TypeInfoPropertyName = "NullableAiMusicGeneratorCreateAudioResponseCode62")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode?), TypeInfoPropertyName = "NullableAiVoiceClonerCreateAudioResponseCode2_3")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode2?), TypeInfoPropertyName = "NullableAiVoiceClonerCreateAudioResponseCode22")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode3?), TypeInfoPropertyName = "NullableAiVoiceClonerCreateAudioResponseCode32")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode4?), TypeInfoPropertyName = "NullableAiVoiceClonerCreateAudioResponseCode42")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode5?), TypeInfoPropertyName = "NullableAiVoiceClonerCreateAudioResponseCode52")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode6?), TypeInfoPropertyName = "NullableAiVoiceClonerCreateAudioResponseCode62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode62")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] internal sealed partial class AudioProjectsSourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext { @@ -219,29 +240,29 @@ public override bool CanConvert(global::System.Type typeToConvert) || typeToConvert == typeof(global::MagicHour.AudioProjectsDeleteResponseCode5?) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode?) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode?) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2?) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2?) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3?) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3?) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4?) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4?) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5?) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5?) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6?) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6?) || typeToConvert == typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode) @@ -265,7 +286,31 @@ public override bool CanConvert(global::System.Type typeToConvert) || typeToConvert == typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode6) - || typeToConvert == typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode6?); + || typeToConvert == typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode6?) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode?) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2?) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3?) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4?) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5?) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6?); } public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( @@ -392,64 +437,64 @@ public override bool CanConvert(global::System.Type typeToConvert) return new global::MagicHour.JsonConverters.AudioProjectsDeleteResponseCode5NullableJsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCodeJsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCodeJsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode?)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode?)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCodeNullableJsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCodeNullableJsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode2JsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode2JsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2?)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2?)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode2NullableJsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode2NullableJsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode3JsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode3JsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3?)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3?)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode3NullableJsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode3NullableJsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode4JsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode4JsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4?)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4?)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode4NullableJsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode4NullableJsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode5JsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode5JsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5?)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5?)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode5NullableJsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode5NullableJsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode6JsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode6JsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6?)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6?)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode6NullableJsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode6NullableJsonConverter(); } if (typeToConvert == typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode)) @@ -511,6 +556,66 @@ public override bool CanConvert(global::System.Type typeToConvert) { return new global::MagicHour.JsonConverters.AiVoiceClonerCreateAudioResponseCode6NullableJsonConverter(); } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCodeJsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode?)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCodeNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode2JsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2?)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode2NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode3JsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3?)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode3NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode4JsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4?)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode4NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode5JsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5?)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode5NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode6JsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6?)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode6NullableJsonConverter(); + } throw new global::System.NotSupportedException($"No generated enum converter is registered for '{typeToConvert}'."); } } diff --git a/src/libs/MagicHour/Generated/MagicHour.AudioProjectsClient.AiMusicGeneratorCreateAudio.g.cs b/src/libs/MagicHour/Generated/MagicHour.AudioProjectsClient.AiMusicGeneratorCreateAudio.g.cs new file mode 100644 index 0000000..40118c8 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.AudioProjectsClient.AiMusicGeneratorCreateAudio.g.cs @@ -0,0 +1,695 @@ + +#nullable enable + +namespace MagicHour +{ + public partial class AudioProjectsClient + { + + + private static readonly global::MagicHour.EndPointSecurityRequirement s_AiMusicGeneratorCreateAudioSecurityRequirement0 = + new global::MagicHour.EndPointSecurityRequirement + { + Authorizations = new global::MagicHour.EndPointAuthorizationRequirement[] + { new global::MagicHour.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::MagicHour.EndPointSecurityRequirement[] s_AiMusicGeneratorCreateAudioSecurityRequirements = + new global::MagicHour.EndPointSecurityRequirement[] + { s_AiMusicGeneratorCreateAudioSecurityRequirement0, + }; + partial void PrepareAiMusicGeneratorCreateAudioArguments( + global::System.Net.Http.HttpClient httpClient, + global::MagicHour.AiMusicGeneratorCreateAudioRequest request); + partial void PrepareAiMusicGeneratorCreateAudioRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + global::MagicHour.AiMusicGeneratorCreateAudioRequest request); + partial void ProcessAiMusicGeneratorCreateAudioResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessAiMusicGeneratorCreateAudioResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// AI Music Generator
+ /// Generate music from a description, with optional custom lyrics or instrumental-only output. Costs 1 credits per requested second. Returns a project ID; poll GET /v1/audio-projects/{id} for status and downloads. + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task AiMusicGeneratorCreateAudioAsync( + + global::MagicHour.AiMusicGeneratorCreateAudioRequest request, + global::MagicHour.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __response = await AiMusicGeneratorCreateAudioAsResponseAsync( + + request: request, + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + + return __response.Body; + } + /// + /// AI Music Generator
+ /// Generate music from a description, with optional custom lyrics or instrumental-only output. Costs 1 credits per requested second. Returns a project ID; poll GET /v1/audio-projects/{id} for status and downloads. + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> AiMusicGeneratorCreateAudioAsResponseAsync( + + global::MagicHour.AiMusicGeneratorCreateAudioRequest request, + global::MagicHour.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: HttpClient); + PrepareAiMusicGeneratorCreateAudioArguments( + httpClient: HttpClient, + request: request); + + + var __authorizations = global::MagicHour.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_AiMusicGeneratorCreateAudioSecurityRequirements, + operationName: "AiMusicGeneratorCreateAudioAsync"); + + using var __timeoutCancellationTokenSource = global::MagicHour.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::MagicHour.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::MagicHour.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: true); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::MagicHour.PathBuilder( + path: "/v1/ai-music-generator", + baseUri: HttpClient.BaseAddress); + var __path = __pathBuilder.ToString(); + __path = global::MagicHour.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + var __httpRequestContentBody = request.ToJson(JsonSerializerContext); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: __httpRequestContentBody, + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + __httpRequest.Content = __httpRequestContent; + global::MagicHour.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PrepareAiMusicGeneratorCreateAudioRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest, + request: request); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::MagicHour.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::MagicHour.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "AiMusicGeneratorCreateAudio", + methodName: "AiMusicGeneratorCreateAudioAsync", + pathTemplate: "\"/v1/ai-music-generator\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest ?? throw new global::System.InvalidOperationException("The HTTP request was not created before invoking a request hook."), + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::MagicHour.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::MagicHour.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::MagicHour.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "AiMusicGeneratorCreateAudio", + methodName: "AiMusicGeneratorCreateAudioAsync", + pathTemplate: "\"/v1/ai-music-generator\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest ?? throw new global::System.InvalidOperationException("The HTTP request was not created before invoking a request hook."), + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::MagicHour.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::MagicHour.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::MagicHour.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::MagicHour.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::MagicHour.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "AiMusicGeneratorCreateAudio", + methodName: "AiMusicGeneratorCreateAudioAsync", + pathTemplate: "\"/v1/ai-music-generator\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest ?? throw new global::System.InvalidOperationException("The HTTP request was not created before invoking a request hook."), + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::MagicHour.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessAiMusicGeneratorCreateAudioResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::MagicHour.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::MagicHour.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "AiMusicGeneratorCreateAudio", + methodName: "AiMusicGeneratorCreateAudioAsync", + pathTemplate: "\"/v1/ai-music-generator\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest ?? throw new global::System.InvalidOperationException("The HTTP request was not created before invoking a request hook."), + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::MagicHour.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::MagicHour.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "AiMusicGeneratorCreateAudio", + methodName: "AiMusicGeneratorCreateAudioAsync", + pathTemplate: "\"/v1/ai-music-generator\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest ?? throw new global::System.InvalidOperationException("The HTTP request was not created before invoking a request hook."), + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + // Invalid Request + if ((int)__response.StatusCode == 400) + { + string? __content_400 = null; + global::System.Exception? __exception_400 = null; + global::MagicHour.AiMusicGeneratorCreateAudioResponse2? __value_400 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_400 = global::MagicHour.AiMusicGeneratorCreateAudioResponse2.FromJson(__content_400, JsonSerializerContext); + } + else + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_400 = global::MagicHour.AiMusicGeneratorCreateAudioResponse2.FromJson(__content_400, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_400 = __ex; + } + + + throw global::MagicHour.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_400 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_400, + responseBody: __content_400, + responseObject: __value_400, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Unauthorized + if ((int)__response.StatusCode == 401) + { + string? __content_401 = null; + global::System.Exception? __exception_401 = null; + global::MagicHour.AiMusicGeneratorCreateAudioResponse3? __value_401 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_401 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_401 = global::MagicHour.AiMusicGeneratorCreateAudioResponse3.FromJson(__content_401, JsonSerializerContext); + } + else + { + __content_401 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_401 = global::MagicHour.AiMusicGeneratorCreateAudioResponse3.FromJson(__content_401, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_401 = __ex; + } + + + throw global::MagicHour.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_401 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_401, + responseBody: __content_401, + responseObject: __value_401, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Payment Required + if ((int)__response.StatusCode == 402) + { + string? __content_402 = null; + global::System.Exception? __exception_402 = null; + global::MagicHour.AiMusicGeneratorCreateAudioResponse4? __value_402 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_402 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_402 = global::MagicHour.AiMusicGeneratorCreateAudioResponse4.FromJson(__content_402, JsonSerializerContext); + } + else + { + __content_402 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_402 = global::MagicHour.AiMusicGeneratorCreateAudioResponse4.FromJson(__content_402, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_402 = __ex; + } + + + throw global::MagicHour.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_402 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_402, + responseBody: __content_402, + responseObject: __value_402, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Not Found + if ((int)__response.StatusCode == 404) + { + string? __content_404 = null; + global::System.Exception? __exception_404 = null; + global::MagicHour.AiMusicGeneratorCreateAudioResponse5? __value_404 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_404 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_404 = global::MagicHour.AiMusicGeneratorCreateAudioResponse5.FromJson(__content_404, JsonSerializerContext); + } + else + { + __content_404 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_404 = global::MagicHour.AiMusicGeneratorCreateAudioResponse5.FromJson(__content_404, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_404 = __ex; + } + + + throw global::MagicHour.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_404 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_404, + responseBody: __content_404, + responseObject: __value_404, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // 422 + if ((int)__response.StatusCode == 422) + { + string? __content_422 = null; + global::System.Exception? __exception_422 = null; + global::MagicHour.AiMusicGeneratorCreateAudioResponse6? __value_422 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_422 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_422 = global::MagicHour.AiMusicGeneratorCreateAudioResponse6.FromJson(__content_422, JsonSerializerContext); + } + else + { + __content_422 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_422 = global::MagicHour.AiMusicGeneratorCreateAudioResponse6.FromJson(__content_422, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_422 = __ex; + } + + + throw global::MagicHour.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_422 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_422, + responseBody: __content_422, + responseObject: __value_422, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Internal Server Error + if ((int)__response.StatusCode == 500) + { + string? __content_500 = null; + global::System.Exception? __exception_500 = null; + global::MagicHour.AiMusicGeneratorCreateAudioResponse7? __value_500 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_500 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_500 = global::MagicHour.AiMusicGeneratorCreateAudioResponse7.FromJson(__content_500, JsonSerializerContext); + } + else + { + __content_500 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_500 = global::MagicHour.AiMusicGeneratorCreateAudioResponse7.FromJson(__content_500, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_500 = __ex; + } + + + throw global::MagicHour.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_500 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_500, + responseBody: __content_500, + responseObject: __value_500, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + ProcessAiMusicGeneratorCreateAudioResponseContent( + httpClient: HttpClient, + httpResponseMessage: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + var __value = global::MagicHour.AiMusicGeneratorCreateAudioResponse.FromJson(__content, JsonSerializerContext) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + return new global::MagicHour.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::MagicHour.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + throw global::MagicHour.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + using var __content = await __response.Content.ReadAsStreamAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + var __value = await global::MagicHour.AiMusicGeneratorCreateAudioResponse.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ?? + throw new global::System.InvalidOperationException("Response deserialization failed."); + return new global::MagicHour.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::MagicHour.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw global::MagicHour.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + /// + /// AI Music Generator
+ /// Generate music from a description, with optional custom lyrics or instrumental-only output. Costs 1 credits per requested second. Returns a project ID; poll GET /v1/audio-projects/{id} for status and downloads. + ///
+ /// + /// Give your audio a custom name for easy identification.
+ /// Default Value: AI Music Generator
+ /// Example: My Music Generator audio + /// + /// + /// Requested track duration in seconds, from 15 to 300. Determines credits charged.
+ /// Example: 120 + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task AiMusicGeneratorCreateAudioAsync( + int duration, + global::MagicHour.AiMusicGeneratorCreateAudioRequestStyle style, + string? name = default, + global::MagicHour.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __request = new global::MagicHour.AiMusicGeneratorCreateAudioRequest + { + Name = name, + Duration = duration, + Style = style, + }; + + return await AiMusicGeneratorCreateAudioAsync( + request: __request, + requestOptions: requestOptions, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.IAudioProjectsClient.AiMusicGeneratorCreateAudio.g.cs b/src/libs/MagicHour/Generated/MagicHour.IAudioProjectsClient.AiMusicGeneratorCreateAudio.g.cs new file mode 100644 index 0000000..6952f00 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.IAudioProjectsClient.AiMusicGeneratorCreateAudio.g.cs @@ -0,0 +1,57 @@ +#nullable enable + +namespace MagicHour +{ + public partial interface IAudioProjectsClient + { + /// + /// AI Music Generator
+ /// Generate music from a description, with optional custom lyrics or instrumental-only output. Costs 1 credits per requested second. Returns a project ID; poll GET /v1/audio-projects/{id} for status and downloads. + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task AiMusicGeneratorCreateAudioAsync( + + global::MagicHour.AiMusicGeneratorCreateAudioRequest request, + global::MagicHour.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// AI Music Generator
+ /// Generate music from a description, with optional custom lyrics or instrumental-only output. Costs 1 credits per requested second. Returns a project ID; poll GET /v1/audio-projects/{id} for status and downloads. + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task> AiMusicGeneratorCreateAudioAsResponseAsync( + + global::MagicHour.AiMusicGeneratorCreateAudioRequest request, + global::MagicHour.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// AI Music Generator
+ /// Generate music from a description, with optional custom lyrics or instrumental-only output. Costs 1 credits per requested second. Returns a project ID; poll GET /v1/audio-projects/{id} for status and downloads. + ///
+ /// + /// Give your audio a custom name for easy identification.
+ /// Default Value: AI Music Generator
+ /// Example: My Music Generator audio + /// + /// + /// Requested track duration in seconds, from 15 to 300. Determines credits charged.
+ /// Example: 120 + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task AiMusicGeneratorCreateAudioAsync( + int duration, + global::MagicHour.AiMusicGeneratorCreateAudioRequestStyle style, + string? name = default, + global::MagicHour.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiTalkingPhotoCreateTalkingPhoto.g.cs b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiTalkingPhotoCreateTalkingPhoto.g.cs index ce45118..1f5fded 100644 --- a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiTalkingPhotoCreateTalkingPhoto.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiTalkingPhotoCreateTalkingPhoto.g.cs @@ -31,7 +31,7 @@ public partial interface IVideoProjectsClient /// "generation_mode": "realistic",
/// "prompt": "A person smiling and speaking naturally to the camera"
/// },
- /// "max_resolution": 512
+ /// "resolution": "480p"
/// }
/// ' /// @@ -67,7 +67,7 @@ public partial interface IVideoProjectsClient /// "generation_mode": "realistic",
/// "prompt": "A person smiling and speaking naturally to the camera"
/// },
- /// "max_resolution": 512
+ /// "resolution": "480p"
/// }
/// ' /// diff --git a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiUgcAdCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiUgcAdCreateVideo.g.cs index 9ccfebf..53adb8d 100644 --- a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiUgcAdCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiUgcAdCreateVideo.g.cs @@ -12,6 +12,24 @@ public partial interface IVideoProjectsClient /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// + /// + /// curl --request POST \
+ /// --url https://api.magichour.ai/v1/ai-ugc-ad \
+ /// --header 'accept: application/json' \
+ /// --header "authorization: Bearer $MAGIC_HOUR_API_KEY" \
+ /// --header 'content-type: application/json' \
+ /// --data '
+ /// {
+ /// "assets": {
+ /// "image_file_path": "api-assets/id/image.jpg"
+ /// },
+ /// "script": "Meet your new everyday essential.",
+ /// "end_seconds": 4,
+ /// "model": "kling-3.0",
+ /// "resolution": "480p"
+ /// }
+ /// ' + ///
global::System.Threading.Tasks.Task AiUgcAdCreateVideoAsync( global::MagicHour.AiUgcAdCreateVideoRequest request, @@ -25,6 +43,24 @@ public partial interface IVideoProjectsClient /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// + /// + /// curl --request POST \
+ /// --url https://api.magichour.ai/v1/ai-ugc-ad \
+ /// --header 'accept: application/json' \
+ /// --header "authorization: Bearer $MAGIC_HOUR_API_KEY" \
+ /// --header 'content-type: application/json' \
+ /// --data '
+ /// {
+ /// "assets": {
+ /// "image_file_path": "api-assets/id/image.jpg"
+ /// },
+ /// "script": "Meet your new everyday essential.",
+ /// "end_seconds": 4,
+ /// "model": "kling-3.0",
+ /// "resolution": "480p"
+ /// }
+ /// ' + ///
global::System.Threading.Tasks.Task> AiUgcAdCreateVideoAsResponseAsync( global::MagicHour.AiUgcAdCreateVideoRequest request, @@ -38,7 +74,7 @@ public partial interface IVideoProjectsClient /// /// The words the actor should speak. Character limits apply after trimming:
/// * kling-3.0: 2500 characters.
- /// * ltx-2.5: 1981 characters.
+ /// * ltx-2.5: 1804 characters.
/// * veo3.1: 2500 characters.
/// LTX's dialogue wrapper counts toward its model prompt limit.
/// Example: Meet your new everyday essential. diff --git a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiVideoEditorCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiVideoEditorCreateVideo.g.cs index 66ddb9f..fe84362 100644 --- a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiVideoEditorCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiVideoEditorCreateVideo.g.cs @@ -18,10 +18,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/ai-video-editor). /// /// @@ -69,10 +69,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/ai-video-editor). /// /// @@ -120,10 +120,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/ai-video-editor). /// /// diff --git a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiVideoTranslatorCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiVideoTranslatorCreateVideo.g.cs index 09cdfee..35719de 100644 --- a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiVideoTranslatorCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiVideoTranslatorCreateVideo.g.cs @@ -18,10 +18,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/ai-video-translator). /// /// @@ -66,10 +66,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/ai-video-translator). /// /// @@ -114,10 +114,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/ai-video-translator). /// /// diff --git a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiVideoUpscalerCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiVideoUpscalerCreateVideo.g.cs new file mode 100644 index 0000000..92509ff --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AiVideoUpscalerCreateVideo.g.cs @@ -0,0 +1,154 @@ +#nullable enable + +namespace MagicHour +{ + public partial interface IVideoProjectsClient + { + /// + /// AI Video Upscaler
+ /// **What this API does**
+ /// Create the same Video Upscaler you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.
+ ///
+ /// **Good for**
+ /// - Automation and batch processing
+ /// - Adding video upscaler into apps, pipelines, or tools
+ /// **How it works (3 steps)**
+ /// 1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`.
+ /// 2) Send a request to create a video upscaler job with the basic fields.
+ /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
+ /// **Key options**
+ /// - Inputs: usually a file, sometimes a YouTube link, depending on project type
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
+ /// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
+ /// **Cost**
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
+ /// For detailed examples, see the [product page](https://magichour.ai/products/video-upscaler). + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + /// + /// curl --request POST \
+ /// --url https://api.magichour.ai/v1/ai-video-upscaler \
+ /// --header 'accept: application/json' \
+ /// --header "authorization: Bearer $MAGIC_HOUR_API_KEY" \
+ /// --header 'content-type: application/json' \
+ /// --data '
+ /// {
+ /// "name": "My Video Upscaler video",
+ /// "start_seconds": 0,
+ /// "end_seconds": 5,
+ /// "resolution": "1080p",
+ /// "assets": {
+ /// "video_file_path": "api-assets/id/1234.mp4"
+ /// }
+ /// }
+ /// ' + ///
+ global::System.Threading.Tasks.Task AiVideoUpscalerCreateVideoAsync( + + global::MagicHour.AiVideoUpscalerCreateVideoRequest request, + global::MagicHour.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// AI Video Upscaler
+ /// **What this API does**
+ /// Create the same Video Upscaler you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.
+ ///
+ /// **Good for**
+ /// - Automation and batch processing
+ /// - Adding video upscaler into apps, pipelines, or tools
+ /// **How it works (3 steps)**
+ /// 1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`.
+ /// 2) Send a request to create a video upscaler job with the basic fields.
+ /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
+ /// **Key options**
+ /// - Inputs: usually a file, sometimes a YouTube link, depending on project type
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
+ /// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
+ /// **Cost**
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
+ /// For detailed examples, see the [product page](https://magichour.ai/products/video-upscaler). + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + /// + /// curl --request POST \
+ /// --url https://api.magichour.ai/v1/ai-video-upscaler \
+ /// --header 'accept: application/json' \
+ /// --header "authorization: Bearer $MAGIC_HOUR_API_KEY" \
+ /// --header 'content-type: application/json' \
+ /// --data '
+ /// {
+ /// "name": "My Video Upscaler video",
+ /// "start_seconds": 0,
+ /// "end_seconds": 5,
+ /// "resolution": "1080p",
+ /// "assets": {
+ /// "video_file_path": "api-assets/id/1234.mp4"
+ /// }
+ /// }
+ /// ' + ///
+ global::System.Threading.Tasks.Task> AiVideoUpscalerCreateVideoAsResponseAsync( + + global::MagicHour.AiVideoUpscalerCreateVideoRequest request, + global::MagicHour.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// AI Video Upscaler
+ /// **What this API does**
+ /// Create the same Video Upscaler you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.
+ ///
+ /// **Good for**
+ /// - Automation and batch processing
+ /// - Adding video upscaler into apps, pipelines, or tools
+ /// **How it works (3 steps)**
+ /// 1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`.
+ /// 2) Send a request to create a video upscaler job with the basic fields.
+ /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
+ /// **Key options**
+ /// - Inputs: usually a file, sometimes a YouTube link, depending on project type
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
+ /// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
+ /// **Cost**
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
+ /// For detailed examples, see the [product page](https://magichour.ai/products/video-upscaler). + ///
+ /// + /// Give your video a custom name for easy identification.
+ /// Default Value: Video Upscaler - dateTime
+ /// Example: My Video Upscaler video + /// + /// + /// Start time of your clip (seconds). Must be ≥ 0.
+ /// Default Value: 0
+ /// Example: 0 + /// + /// + /// End time of your clip (seconds). Must be greater than start_seconds.
+ /// Example: 5 + /// + /// + /// Output resolution. `720p` and `1080p` set the output's short side, `2k` and `4k` its long side; the aspect ratio is kept. Requires a paid plan.
+ /// Example: 1080p + /// + /// + /// Source video for the upscale job. + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task AiVideoUpscalerCreateVideoAsync( + float endSeconds, + global::MagicHour.AiVideoUpscalerCreateVideoRequestResolution resolution, + global::MagicHour.AiVideoUpscalerCreateVideoRequestAssets assets, + string? name = default, + float? startSeconds = default, + global::MagicHour.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AudioToVideoCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AudioToVideoCreateVideo.g.cs index 873dee0..16e5ca4 100644 --- a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AudioToVideoCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.AudioToVideoCreateVideo.g.cs @@ -18,10 +18,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/audio-to-video). /// /// @@ -69,10 +69,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/audio-to-video). /// /// @@ -120,10 +120,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/audio-to-video). /// /// diff --git a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.CharacterReplaceCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.CharacterReplaceCreateVideo.g.cs index 223e75d..55fef8e 100644 --- a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.CharacterReplaceCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.CharacterReplaceCreateVideo.g.cs @@ -18,10 +18,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/character-replace). /// /// @@ -71,10 +71,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/character-replace). /// /// @@ -124,10 +124,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/character-replace). /// /// diff --git a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.FaceSwapCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.FaceSwapCreateVideo.g.cs index 18d1f1d..6ab543f 100644 --- a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.FaceSwapCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.FaceSwapCreateVideo.g.cs @@ -18,10 +18,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/face-swap). /// /// @@ -70,10 +70,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/face-swap). /// /// @@ -122,10 +122,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/face-swap). /// /// diff --git a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.ImageToVideoCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.ImageToVideoCreateVideo.g.cs index 0abdd42..2ef96d6 100644 --- a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.ImageToVideoCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.ImageToVideoCreateVideo.g.cs @@ -18,10 +18,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/image-to-video). /// /// @@ -70,10 +70,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/image-to-video). /// /// @@ -122,10 +122,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/image-to-video). /// /// diff --git a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.LipSyncCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.LipSyncCreateVideo.g.cs index 6f87588..97173d1 100644 --- a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.LipSyncCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.LipSyncCreateVideo.g.cs @@ -18,10 +18,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/lip-sync). /// /// @@ -70,10 +70,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/lip-sync). /// /// @@ -122,10 +122,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/lip-sync). /// /// diff --git a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.TextToVideoCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.TextToVideoCreateVideo.g.cs index e3cff68..7e246b6 100644 --- a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.TextToVideoCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.TextToVideoCreateVideo.g.cs @@ -18,10 +18,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/text-to-video). /// /// @@ -63,10 +63,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/text-to-video). /// /// @@ -108,10 +108,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/text-to-video). /// /// @@ -217,12 +217,14 @@ public partial interface IVideoProjectsClient /// /// Reference media for video generation. Name references without @ and refer to them as @name in style.prompt. Maximum 10 references total.
/// Supported models and reference media:
+ /// * **`gemini-omni-1.1`**: Supports images, videos. Up to 13 references.
/// * **`kling-3.0`**: Supports images, videos.
/// * **`minimax-h3`**: Supports images, videos, audio.
/// * **`seedance-2.0`**: Supports images, videos, audio.
/// * **`seedance-2.0-fast`**: Supports images, videos, audio.
/// * **`seedance-2.0-mini`**: Supports images, videos, audio.
/// * **`seedance-2.5`**: Supports images, videos, audio.
+ /// * **`veo3.1`**: Supports images. Up to 3 references. Requires `end_seconds` of 8.
/// * **`wan-3.0`**: Supports images, videos, audio. /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. diff --git a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.VideoToVideoCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.VideoToVideoCreateVideo.g.cs index cbf2301..196e193 100644 --- a/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.VideoToVideoCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.IVideoProjectsClient.VideoToVideoCreateVideo.g.cs @@ -18,10 +18,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/video-to-video). /// /// @@ -73,10 +73,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/video-to-video). /// /// @@ -128,10 +128,10 @@ public partial interface IVideoProjectsClient /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/video-to-video). /// /// diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode.g.cs new file mode 100644 index 0000000..6131ef4 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiMusicGeneratorCreateAudioResponseCodeJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiMusicGeneratorCreateAudioResponseCode Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiMusicGeneratorCreateAudioResponseCodeExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiMusicGeneratorCreateAudioResponseCode)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiMusicGeneratorCreateAudioResponseCode value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::MagicHour.AiMusicGeneratorCreateAudioResponseCodeExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode2.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode2.g.cs new file mode 100644 index 0000000..96fe37f --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode2.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiMusicGeneratorCreateAudioResponseCode2JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode2Nullable.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode2Nullable.g.cs new file mode 100644 index 0000000..04289af --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode2Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiMusicGeneratorCreateAudioResponseCode2NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode3.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode3.g.cs new file mode 100644 index 0000000..c56b774 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode3.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiMusicGeneratorCreateAudioResponseCode3JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode3Nullable.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode3Nullable.g.cs new file mode 100644 index 0000000..cb02dfe --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode3Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiMusicGeneratorCreateAudioResponseCode3NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode4.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode4.g.cs new file mode 100644 index 0000000..6a3a166 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode4.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiMusicGeneratorCreateAudioResponseCode4JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode4Nullable.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode4Nullable.g.cs new file mode 100644 index 0000000..636d1b5 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode4Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiMusicGeneratorCreateAudioResponseCode4NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode5.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode5.g.cs new file mode 100644 index 0000000..7be67ba --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode5.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiMusicGeneratorCreateAudioResponseCode5JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode5Nullable.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode5Nullable.g.cs new file mode 100644 index 0000000..43eb82f --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode5Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiMusicGeneratorCreateAudioResponseCode5NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode6.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode6.g.cs new file mode 100644 index 0000000..9c127e6 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode6.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiMusicGeneratorCreateAudioResponseCode6JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode6Nullable.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode6Nullable.g.cs new file mode 100644 index 0000000..eda44c3 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode6Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiMusicGeneratorCreateAudioResponseCode6NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCodeNullable.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCodeNullable.g.cs new file mode 100644 index 0000000..2c82447 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCodeNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiMusicGeneratorCreateAudioResponseCodeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiMusicGeneratorCreateAudioResponseCode? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiMusicGeneratorCreateAudioResponseCodeExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiMusicGeneratorCreateAudioResponseCode)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiMusicGeneratorCreateAudioResponseCode? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::MagicHour.AiMusicGeneratorCreateAudioResponseCodeExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoRequestResolution.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoRequestResolution.g.cs new file mode 100644 index 0000000..93b8158 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoRequestResolution.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiVideoUpscalerCreateVideoRequestResolutionJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiVideoUpscalerCreateVideoRequestResolution Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiVideoUpscalerCreateVideoRequestResolutionExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiVideoUpscalerCreateVideoRequestResolution)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiVideoUpscalerCreateVideoRequestResolution); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiVideoUpscalerCreateVideoRequestResolution value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::MagicHour.AiVideoUpscalerCreateVideoRequestResolutionExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoRequestResolutionNullable.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoRequestResolutionNullable.g.cs new file mode 100644 index 0000000..209508d --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoRequestResolutionNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiVideoUpscalerCreateVideoRequestResolutionNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiVideoUpscalerCreateVideoRequestResolution? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiVideoUpscalerCreateVideoRequestResolutionExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiVideoUpscalerCreateVideoRequestResolution)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiVideoUpscalerCreateVideoRequestResolution?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiVideoUpscalerCreateVideoRequestResolution? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::MagicHour.AiVideoUpscalerCreateVideoRequestResolutionExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode.g.cs new file mode 100644 index 0000000..0e85ecc --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiVideoUpscalerCreateVideoResponseCodeJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiVideoUpscalerCreateVideoResponseCode Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiVideoUpscalerCreateVideoResponseCodeExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiVideoUpscalerCreateVideoResponseCode)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiVideoUpscalerCreateVideoResponseCode value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::MagicHour.AiVideoUpscalerCreateVideoResponseCodeExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode2.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode2.g.cs new file mode 100644 index 0000000..a896b13 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode2.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiVideoUpscalerCreateVideoResponseCode2JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode2Nullable.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode2Nullable.g.cs new file mode 100644 index 0000000..fbc9013 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode2Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiVideoUpscalerCreateVideoResponseCode2NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode3.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode3.g.cs new file mode 100644 index 0000000..9ba1815 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode3.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiVideoUpscalerCreateVideoResponseCode3JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode3Nullable.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode3Nullable.g.cs new file mode 100644 index 0000000..d9e1101 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode3Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiVideoUpscalerCreateVideoResponseCode3NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode4.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode4.g.cs new file mode 100644 index 0000000..5c0a3d3 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode4.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiVideoUpscalerCreateVideoResponseCode4JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode4Nullable.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode4Nullable.g.cs new file mode 100644 index 0000000..ffd9a41 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode4Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiVideoUpscalerCreateVideoResponseCode4NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode5.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode5.g.cs new file mode 100644 index 0000000..bbc9a9c --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode5.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiVideoUpscalerCreateVideoResponseCode5JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode5Nullable.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode5Nullable.g.cs new file mode 100644 index 0000000..90cdbf5 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode5Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiVideoUpscalerCreateVideoResponseCode5NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode6.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode6.g.cs new file mode 100644 index 0000000..e619562 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode6.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiVideoUpscalerCreateVideoResponseCode6JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode6Nullable.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode6Nullable.g.cs new file mode 100644 index 0000000..8ca7fc4 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode6Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiVideoUpscalerCreateVideoResponseCode6NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCodeNullable.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCodeNullable.g.cs new file mode 100644 index 0000000..ad0ebee --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCodeNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace MagicHour.JsonConverters +{ + /// + public sealed class AiVideoUpscalerCreateVideoResponseCodeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::MagicHour.AiVideoUpscalerCreateVideoResponseCode? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::MagicHour.AiVideoUpscalerCreateVideoResponseCodeExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::MagicHour.AiVideoUpscalerCreateVideoResponseCode)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::MagicHour.AiVideoUpscalerCreateVideoResponseCode? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::MagicHour.AiVideoUpscalerCreateVideoResponseCodeExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonSerializerContext.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonSerializerContext.g.cs index 2e41352..16349a8 100644 --- a/src/libs/MagicHour/Generated/MagicHour.JsonSerializerContext.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.JsonSerializerContext.g.cs @@ -40,6 +40,9 @@ namespace MagicHour [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoTranslatorCreateVideoRequestTargetLanguage), TypeInfoPropertyName = "AiVideoTranslatorCreateVideoRequestTargetLanguage2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoTranslatorCreateVideoRequestResolution), TypeInfoPropertyName = "AiVideoTranslatorCreateVideoRequestResolution2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoTranslatorCreateVideoRequestAssets))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoRequest))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoRequestResolution), TypeInfoPropertyName = "AiVideoUpscalerCreateVideoRequestResolution2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoRequestAssets))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AnimationCreateVideoRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(int))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AnimationCreateVideoRequestStyle))] @@ -149,12 +152,14 @@ namespace MagicHour [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.ImageBackgroundRemoverCreateImageRequestAssets))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.PhotoColorizerCreateImageRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.PhotoColorizerCreateImageRequestAssets))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioRequest))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioRequestStyle))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioRequestStyleVoiceName), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioRequestStyleVoiceName2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioRequest))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioRequestStyle))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioRequestAssets))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioRequestStyle))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioRequest))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioRequestStyle))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioRequestStyleVoiceName), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioRequestStyleVoiceName2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.SavedItemsListType), TypeInfoPropertyName = "SavedItemsListType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AccountGetResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AccountGetResponseTier), TypeInfoPropertyName = "AccountGetResponseTier2")] @@ -304,6 +309,19 @@ namespace MagicHour [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoTranslatorCreateVideoResponseCode5), TypeInfoPropertyName = "AiVideoTranslatorCreateVideoResponseCode52")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoTranslatorCreateVideoResponse7))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoTranslatorCreateVideoResponseCode6), TypeInfoPropertyName = "AiVideoTranslatorCreateVideoResponseCode62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode), TypeInfoPropertyName = "AiVideoUpscalerCreateVideoResponseCode2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2), TypeInfoPropertyName = "AiVideoUpscalerCreateVideoResponseCode22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3), TypeInfoPropertyName = "AiVideoUpscalerCreateVideoResponseCode32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4), TypeInfoPropertyName = "AiVideoUpscalerCreateVideoResponseCode42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse6))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5), TypeInfoPropertyName = "AiVideoUpscalerCreateVideoResponseCode52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse7))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6), TypeInfoPropertyName = "AiVideoUpscalerCreateVideoResponseCode62")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AnimationCreateVideoResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AnimationCreateVideoResponse2))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AnimationCreateVideoResponseCode), TypeInfoPropertyName = "AnimationCreateVideoResponseCode2_3")] @@ -491,6 +509,16 @@ namespace MagicHour [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiImageEditorCreateImageResponse3))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiImageEditorCreateImageResponseCode2), TypeInfoPropertyName = "AiImageEditorCreateImageResponseCode22")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiImageEditorCreateImageResponse4))] + internal sealed partial class SourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext + { + } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonSourceGenerationOptions( + DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull + )] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiImageEditorCreateImageResponseCode3), TypeInfoPropertyName = "AiImageEditorCreateImageResponseCode32")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiImageEditorCreateImageResponse5))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiImageEditorCreateImageResponseCode4), TypeInfoPropertyName = "AiImageEditorCreateImageResponseCode42")] @@ -509,16 +537,6 @@ namespace MagicHour [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiHeadshotGeneratorCreateImageResponseCode4), TypeInfoPropertyName = "AiHeadshotGeneratorCreateImageResponseCode42")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiHeadshotGeneratorCreateImageResponse6))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiHeadshotGeneratorCreateImageResponseCode5), TypeInfoPropertyName = "AiHeadshotGeneratorCreateImageResponseCode52")] - internal sealed partial class SourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext - { - } - - /// - /// - /// - [global::System.Text.Json.Serialization.JsonSourceGenerationOptions( - DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull - )] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiHeadshotGeneratorCreateImageResponse7))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiHeadshotGeneratorCreateImageResponseCode6), TypeInfoPropertyName = "AiHeadshotGeneratorCreateImageResponseCode62")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiImageGeneratorCreateImageResponse))] @@ -663,19 +681,19 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AudioProjectsDeleteResponseCode4), TypeInfoPropertyName = "AudioProjectsDeleteResponseCode42")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AudioProjectsDeleteResponse5))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AudioProjectsDeleteResponseCode5), TypeInfoPropertyName = "AudioProjectsDeleteResponseCode52")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse2))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode2_3")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse3))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode22")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse4))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode32")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse5))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode42")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse6))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode52")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse7))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode), TypeInfoPropertyName = "AiMusicGeneratorCreateAudioResponseCode2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2), TypeInfoPropertyName = "AiMusicGeneratorCreateAudioResponseCode22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3), TypeInfoPropertyName = "AiMusicGeneratorCreateAudioResponseCode32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4), TypeInfoPropertyName = "AiMusicGeneratorCreateAudioResponseCode42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse6))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5), TypeInfoPropertyName = "AiMusicGeneratorCreateAudioResponseCode52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse7))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6), TypeInfoPropertyName = "AiMusicGeneratorCreateAudioResponseCode62")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponse2))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode), TypeInfoPropertyName = "AiVoiceClonerCreateAudioResponseCode2_3")] @@ -689,6 +707,19 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode5), TypeInfoPropertyName = "AiVoiceClonerCreateAudioResponseCode52")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponse7))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode6), TypeInfoPropertyName = "AiVoiceClonerCreateAudioResponseCode62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse6))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponse7))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6), TypeInfoPropertyName = "AiVoiceGeneratorCreateAudioResponseCode62")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.VideoAssetsGeneratePresignedUrlRequestItemType?), TypeInfoPropertyName = "NullableVideoAssetsGeneratePresignedUrlRequestItemType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(double?))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(float?))] @@ -700,6 +731,7 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoEditorCreateVideoRequestResolution?), TypeInfoPropertyName = "NullableAiVideoEditorCreateVideoRequestResolution2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoTranslatorCreateVideoRequestTargetLanguage?), TypeInfoPropertyName = "NullableAiVideoTranslatorCreateVideoRequestTargetLanguage2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoTranslatorCreateVideoRequestResolution?), TypeInfoPropertyName = "NullableAiVideoTranslatorCreateVideoRequestResolution2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoRequestResolution?), TypeInfoPropertyName = "NullableAiVideoUpscalerCreateVideoRequestResolution2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(int?))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AnimationCreateVideoRequestStyleArtStyle?), TypeInfoPropertyName = "NullableAnimationCreateVideoRequestStyleArtStyle2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AnimationCreateVideoRequestStyleCameraEffect?), TypeInfoPropertyName = "NullableAnimationCreateVideoRequestStyleCameraEffect2")] @@ -809,6 +841,12 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoTranslatorCreateVideoResponseCode4?), TypeInfoPropertyName = "NullableAiVideoTranslatorCreateVideoResponseCode42")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoTranslatorCreateVideoResponseCode5?), TypeInfoPropertyName = "NullableAiVideoTranslatorCreateVideoResponseCode52")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoTranslatorCreateVideoResponseCode6?), TypeInfoPropertyName = "NullableAiVideoTranslatorCreateVideoResponseCode62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode?), TypeInfoPropertyName = "NullableAiVideoUpscalerCreateVideoResponseCode2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2?), TypeInfoPropertyName = "NullableAiVideoUpscalerCreateVideoResponseCode22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3?), TypeInfoPropertyName = "NullableAiVideoUpscalerCreateVideoResponseCode32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4?), TypeInfoPropertyName = "NullableAiVideoUpscalerCreateVideoResponseCode42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5?), TypeInfoPropertyName = "NullableAiVideoUpscalerCreateVideoResponseCode52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6?), TypeInfoPropertyName = "NullableAiVideoUpscalerCreateVideoResponseCode62")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AnimationCreateVideoResponseCode?), TypeInfoPropertyName = "NullableAnimationCreateVideoResponseCode2_3")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AnimationCreateVideoResponseCode2?), TypeInfoPropertyName = "NullableAnimationCreateVideoResponseCode22")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AnimationCreateVideoResponseCode3?), TypeInfoPropertyName = "NullableAnimationCreateVideoResponseCode32")] @@ -969,18 +1007,34 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AudioProjectsDeleteResponseCode3?), TypeInfoPropertyName = "NullableAudioProjectsDeleteResponseCode32")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AudioProjectsDeleteResponseCode4?), TypeInfoPropertyName = "NullableAudioProjectsDeleteResponseCode42")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AudioProjectsDeleteResponseCode5?), TypeInfoPropertyName = "NullableAudioProjectsDeleteResponseCode52")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode2_3")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode22")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode32")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode42")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode52")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode?), TypeInfoPropertyName = "NullableAiMusicGeneratorCreateAudioResponseCode2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2?), TypeInfoPropertyName = "NullableAiMusicGeneratorCreateAudioResponseCode22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3?), TypeInfoPropertyName = "NullableAiMusicGeneratorCreateAudioResponseCode32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4?), TypeInfoPropertyName = "NullableAiMusicGeneratorCreateAudioResponseCode42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5?), TypeInfoPropertyName = "NullableAiMusicGeneratorCreateAudioResponseCode52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6?), TypeInfoPropertyName = "NullableAiMusicGeneratorCreateAudioResponseCode62")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode?), TypeInfoPropertyName = "NullableAiVoiceClonerCreateAudioResponseCode2_3")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode2?), TypeInfoPropertyName = "NullableAiVoiceClonerCreateAudioResponseCode22")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode3?), TypeInfoPropertyName = "NullableAiVoiceClonerCreateAudioResponseCode32")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode4?), TypeInfoPropertyName = "NullableAiVoiceClonerCreateAudioResponseCode42")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode5?), TypeInfoPropertyName = "NullableAiVoiceClonerCreateAudioResponseCode52")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode6?), TypeInfoPropertyName = "NullableAiVoiceClonerCreateAudioResponseCode62")] + internal sealed partial class SourceGenerationContextChunk1 : global::System.Text.Json.Serialization.JsonSerializerContext + { + } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonSourceGenerationOptions( + DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull + )] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6?), TypeInfoPropertyName = "NullableAiVoiceGeneratorCreateAudioResponseCode62")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] @@ -994,7 +1048,7 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - internal sealed partial class SourceGenerationContextChunk1 : global::System.Text.Json.Serialization.JsonSerializerContext + internal sealed partial class SourceGenerationContextChunk2 : global::System.Text.Json.Serialization.JsonSerializerContext { } /// @@ -1089,6 +1143,10 @@ public override bool CanConvert(global::System.Type typeToConvert) || typeToConvert == typeof(global::MagicHour.AiVideoTranslatorCreateVideoRequestResolution?) + || typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoRequestResolution) + + || typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoRequestResolution?) + || typeToConvert == typeof(global::MagicHour.AnimationCreateVideoRequestStyleArtStyle) || typeToConvert == typeof(global::MagicHour.AnimationCreateVideoRequestStyleArtStyle?) @@ -1513,6 +1571,30 @@ public override bool CanConvert(global::System.Type typeToConvert) || typeToConvert == typeof(global::MagicHour.AiVideoTranslatorCreateVideoResponseCode6?) + || typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode) + + || typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode?) + + || typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2) + + || typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2?) + + || typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3) + + || typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3?) + + || typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4) + + || typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4?) + + || typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5) + + || typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5?) + + || typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6) + + || typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6?) + || typeToConvert == typeof(global::MagicHour.AnimationCreateVideoResponseCode) || typeToConvert == typeof(global::MagicHour.AnimationCreateVideoResponseCode?) @@ -2153,29 +2235,29 @@ public override bool CanConvert(global::System.Type typeToConvert) || typeToConvert == typeof(global::MagicHour.AudioProjectsDeleteResponseCode5?) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode?) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode?) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2?) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2?) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3?) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3?) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4?) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4?) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5?) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5?) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6) - || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6?) + || typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6?) || typeToConvert == typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode) @@ -2199,7 +2281,31 @@ public override bool CanConvert(global::System.Type typeToConvert) || typeToConvert == typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode6) - || typeToConvert == typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode6?); + || typeToConvert == typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode6?) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode?) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2?) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3?) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4?) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5?) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6) + + || typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6?); } public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( @@ -2296,6 +2402,16 @@ public override bool CanConvert(global::System.Type typeToConvert) return new global::MagicHour.JsonConverters.AiVideoTranslatorCreateVideoRequestResolutionNullableJsonConverter(); } + if (typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoRequestResolution)) + { + return new global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoRequestResolutionJsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoRequestResolution?)) + { + return new global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoRequestResolutionNullableJsonConverter(); + } + if (typeToConvert == typeof(global::MagicHour.AnimationCreateVideoRequestStyleArtStyle)) { return new global::MagicHour.JsonConverters.AnimationCreateVideoRequestStyleArtStyleJsonConverter(); @@ -3356,6 +3472,66 @@ public override bool CanConvert(global::System.Type typeToConvert) return new global::MagicHour.JsonConverters.AiVideoTranslatorCreateVideoResponseCode6NullableJsonConverter(); } + if (typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode)) + { + return new global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCodeJsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode?)) + { + return new global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCodeNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2)) + { + return new global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode2JsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2?)) + { + return new global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode2NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3)) + { + return new global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode3JsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3?)) + { + return new global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode3NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4)) + { + return new global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode4JsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4?)) + { + return new global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode4NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5)) + { + return new global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode5JsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5?)) + { + return new global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode5NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6)) + { + return new global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode6JsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6?)) + { + return new global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode6NullableJsonConverter(); + } + if (typeToConvert == typeof(global::MagicHour.AnimationCreateVideoResponseCode)) { return new global::MagicHour.JsonConverters.AnimationCreateVideoResponseCodeJsonConverter(); @@ -4956,64 +5132,64 @@ public override bool CanConvert(global::System.Type typeToConvert) return new global::MagicHour.JsonConverters.AudioProjectsDeleteResponseCode5NullableJsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCodeJsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCodeJsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode?)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode?)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCodeNullableJsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCodeNullableJsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode2JsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode2JsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2?)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2?)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode2NullableJsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode2NullableJsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode3JsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode3JsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3?)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3?)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode3NullableJsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode3NullableJsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode4JsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode4JsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4?)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4?)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode4NullableJsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode4NullableJsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode5JsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode5JsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5?)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5?)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode5NullableJsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode5NullableJsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode6JsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode6JsonConverter(); } - if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6?)) + if (typeToConvert == typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6?)) { - return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode6NullableJsonConverter(); + return new global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode6NullableJsonConverter(); } if (typeToConvert == typeof(global::MagicHour.AiVoiceClonerCreateAudioResponseCode)) @@ -5075,6 +5251,66 @@ public override bool CanConvert(global::System.Type typeToConvert) { return new global::MagicHour.JsonConverters.AiVoiceClonerCreateAudioResponseCode6NullableJsonConverter(); } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCodeJsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode?)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCodeNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode2JsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2?)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode2NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode3JsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3?)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode3NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode4JsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4?)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode4NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode5JsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5?)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode5NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode6JsonConverter(); + } + + if (typeToConvert == typeof(global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6?)) + { + return new global::MagicHour.JsonConverters.AiVoiceGeneratorCreateAudioResponseCode6NullableJsonConverter(); + } throw new global::System.NotSupportedException($"No generated enum converter is registered for '{typeToConvert}'."); } } @@ -5082,7 +5318,7 @@ public override bool CanConvert(global::System.Type typeToConvert) private sealed class LazyChunkResolver : global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver { private readonly object _gate = new(); - private readonly global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver?[] _resolvers = new global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver?[2]; + private readonly global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver?[] _resolvers = new global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver?[3]; public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo? GetTypeInfo( global::System.Type type, @@ -5121,6 +5357,8 @@ private sealed class LazyChunkResolver : global::System.Text.Json.Serialization. 0 => new SourceGenerationContextChunk0(new global::System.Text.Json.JsonSerializerOptions()), 1 => new SourceGenerationContextChunk1(new global::System.Text.Json.JsonSerializerOptions()), + + 2 => new SourceGenerationContextChunk2(new global::System.Text.Json.JsonSerializerOptions()), _ => throw new global::System.ArgumentOutOfRangeException(nameof(index)), }; } diff --git a/src/libs/MagicHour/Generated/MagicHour.JsonSerializerContextTypes.g.cs b/src/libs/MagicHour/Generated/MagicHour.JsonSerializerContextTypes.g.cs index 30d1ae5..336c488 100644 --- a/src/libs/MagicHour/Generated/MagicHour.JsonSerializerContextTypes.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.JsonSerializerContextTypes.g.cs @@ -141,2559 +141,2683 @@ public sealed partial class JsonSerializerContextTypes /// /// /// - public global::MagicHour.AnimationCreateVideoRequest? Type27 { get; set; } + public global::MagicHour.AiVideoUpscalerCreateVideoRequest? Type27 { get; set; } /// /// /// - public int? Type28 { get; set; } + public global::MagicHour.AiVideoUpscalerCreateVideoRequestResolution? Type28 { get; set; } /// /// /// - public global::MagicHour.AnimationCreateVideoRequestStyle? Type29 { get; set; } + public global::MagicHour.AiVideoUpscalerCreateVideoRequestAssets? Type29 { get; set; } /// /// /// - public global::MagicHour.AnimationCreateVideoRequestStyleArtStyle? Type30 { get; set; } + public global::MagicHour.AnimationCreateVideoRequest? Type30 { get; set; } /// /// /// - public global::MagicHour.AnimationCreateVideoRequestStyleCameraEffect? Type31 { get; set; } + public int? Type31 { get; set; } /// /// /// - public global::MagicHour.AnimationCreateVideoRequestStylePromptType? Type32 { get; set; } + public global::MagicHour.AnimationCreateVideoRequestStyle? Type32 { get; set; } /// /// /// - public global::MagicHour.AnimationCreateVideoRequestAssets? Type33 { get; set; } + public global::MagicHour.AnimationCreateVideoRequestStyleArtStyle? Type33 { get; set; } /// /// /// - public global::MagicHour.AnimationCreateVideoRequestAssetsAudioSource? Type34 { get; set; } + public global::MagicHour.AnimationCreateVideoRequestStyleCameraEffect? Type34 { get; set; } /// /// /// - public global::MagicHour.AudioToVideoCreateVideoRequest? Type35 { get; set; } + public global::MagicHour.AnimationCreateVideoRequestStylePromptType? Type35 { get; set; } /// /// /// - public global::MagicHour.AudioToVideoCreateVideoRequestResolution? Type36 { get; set; } + public global::MagicHour.AnimationCreateVideoRequestAssets? Type36 { get; set; } /// /// /// - public global::MagicHour.AudioToVideoCreateVideoRequestAssets? Type37 { get; set; } + public global::MagicHour.AnimationCreateVideoRequestAssetsAudioSource? Type37 { get; set; } /// /// /// - public global::MagicHour.AudioToVideoCreateVideoRequestStyle? Type38 { get; set; } + public global::MagicHour.AudioToVideoCreateVideoRequest? Type38 { get; set; } /// /// /// - public global::MagicHour.AutoSubtitleGeneratorCreateVideoRequest? Type39 { get; set; } + public global::MagicHour.AudioToVideoCreateVideoRequestResolution? Type39 { get; set; } /// /// /// - public global::MagicHour.AutoSubtitleGeneratorCreateVideoRequestAssets? Type40 { get; set; } + public global::MagicHour.AudioToVideoCreateVideoRequestAssets? Type40 { get; set; } /// /// /// - public global::MagicHour.AutoSubtitleGeneratorCreateVideoRequestStyle? Type41 { get; set; } + public global::MagicHour.AudioToVideoCreateVideoRequestStyle? Type41 { get; set; } /// /// /// - public global::MagicHour.AutoSubtitleGeneratorCreateVideoRequestStyleTemplate? Type42 { get; set; } + public global::MagicHour.AutoSubtitleGeneratorCreateVideoRequest? Type42 { get; set; } /// /// /// - public global::MagicHour.AutoSubtitleGeneratorCreateVideoRequestStyleCustomConfig? Type43 { get; set; } + public global::MagicHour.AutoSubtitleGeneratorCreateVideoRequestAssets? Type43 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoRequest? Type44 { get; set; } + public global::MagicHour.AutoSubtitleGeneratorCreateVideoRequestStyle? Type44 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoRequestModel? Type45 { get; set; } + public global::MagicHour.AutoSubtitleGeneratorCreateVideoRequestStyleTemplate? Type45 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoRequestResolution? Type46 { get; set; } + public global::MagicHour.AutoSubtitleGeneratorCreateVideoRequestStyleCustomConfig? Type46 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoRequestAssets? Type47 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoRequest? Type47 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoRequestStyle? Type48 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoRequestModel? Type48 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoRequestStyleMode? Type49 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoRequestResolution? Type49 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoRequestStyleSelectionMode? Type50 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoRequestAssets? Type50 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type51 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoRequestStyle? Type51 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoRequestStylePoint? Type52 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoRequestStyleMode? Type52 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoRequest? Type53 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoRequestStyleSelectionMode? Type53 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoRequestStyle? Type54 { get; set; } + public global::System.Collections.Generic.IList? Type54 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoRequestStyleVersion? Type55 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoRequestStylePoint? Type55 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoRequestAssets? Type56 { get; set; } + public global::MagicHour.FaceSwapCreateVideoRequest? Type56 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoRequestAssetsFaceSwapMode? Type57 { get; set; } + public global::MagicHour.FaceSwapCreateVideoRequestStyle? Type57 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type58 { get; set; } + public global::MagicHour.FaceSwapCreateVideoRequestStyleVersion? Type58 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoRequestAssetsFaceMapping? Type59 { get; set; } + public global::MagicHour.FaceSwapCreateVideoRequestAssets? Type59 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoRequestAssetsVideoSource? Type60 { get; set; } + public global::MagicHour.FaceSwapCreateVideoRequestAssetsFaceSwapMode? Type60 { get; set; } /// /// /// - public global::MagicHour.ImageToVideoCreateVideoRequest? Type61 { get; set; } + public global::System.Collections.Generic.IList? Type61 { get; set; } /// /// /// - public global::MagicHour.ImageToVideoCreateVideoRequestModel? Type62 { get; set; } + public global::MagicHour.FaceSwapCreateVideoRequestAssetsFaceMapping? Type62 { get; set; } /// /// /// - public global::MagicHour.ImageToVideoCreateVideoRequestResolution? Type63 { get; set; } + public global::MagicHour.FaceSwapCreateVideoRequestAssetsVideoSource? Type63 { get; set; } /// /// /// - public bool? Type64 { get; set; } + public global::MagicHour.ImageToVideoCreateVideoRequest? Type64 { get; set; } /// /// /// - public global::MagicHour.ImageToVideoCreateVideoRequestStyle? Type65 { get; set; } + public global::MagicHour.ImageToVideoCreateVideoRequestModel? Type65 { get; set; } /// /// /// - public global::MagicHour.ImageToVideoCreateVideoRequestAssets? Type66 { get; set; } + public global::MagicHour.ImageToVideoCreateVideoRequestResolution? Type66 { get; set; } /// /// /// - public global::MagicHour.LipSyncCreateVideoRequest? Type67 { get; set; } + public bool? Type67 { get; set; } /// /// /// - public global::MagicHour.LipSyncCreateVideoRequestAssets? Type68 { get; set; } + public global::MagicHour.ImageToVideoCreateVideoRequestStyle? Type68 { get; set; } /// /// /// - public global::MagicHour.LipSyncCreateVideoRequestAssetsVideoSource? Type69 { get; set; } + public global::MagicHour.ImageToVideoCreateVideoRequestAssets? Type69 { get; set; } /// /// /// - public global::MagicHour.LipSyncCreateVideoRequestStyle? Type70 { get; set; } + public global::MagicHour.LipSyncCreateVideoRequest? Type70 { get; set; } /// /// /// - public global::MagicHour.LipSyncCreateVideoRequestStyleGenerationMode? Type71 { get; set; } + public global::MagicHour.LipSyncCreateVideoRequestAssets? Type71 { get; set; } /// /// /// - public global::MagicHour.TextToVideoCreateVideoRequest? Type72 { get; set; } + public global::MagicHour.LipSyncCreateVideoRequestAssetsVideoSource? Type72 { get; set; } /// /// /// - public global::MagicHour.TextToVideoCreateVideoRequestAspectRatio? Type73 { get; set; } + public global::MagicHour.LipSyncCreateVideoRequestStyle? Type73 { get; set; } /// /// /// - public global::MagicHour.TextToVideoCreateVideoRequestResolution? Type74 { get; set; } + public global::MagicHour.LipSyncCreateVideoRequestStyleGenerationMode? Type74 { get; set; } /// /// /// - public global::MagicHour.TextToVideoCreateVideoRequestModel? Type75 { get; set; } + public global::MagicHour.TextToVideoCreateVideoRequest? Type75 { get; set; } /// /// /// - public global::MagicHour.TextToVideoCreateVideoRequestStyle? Type76 { get; set; } + public global::MagicHour.TextToVideoCreateVideoRequestAspectRatio? Type76 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type77 { get; set; } + public global::MagicHour.TextToVideoCreateVideoRequestResolution? Type77 { get; set; } /// /// /// - public global::MagicHour.TextToVideoCreateVideoRequestReference? Type78 { get; set; } + public global::MagicHour.TextToVideoCreateVideoRequestModel? Type78 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoRequest? Type79 { get; set; } + public global::MagicHour.TextToVideoCreateVideoRequestStyle? Type79 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoRequestFpsResolution? Type80 { get; set; } + public global::System.Collections.Generic.IList? Type80 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoRequestStyle? Type81 { get; set; } + public global::MagicHour.TextToVideoCreateVideoRequestReference? Type81 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoRequestStyleArtStyle? Type82 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoRequest? Type82 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoRequestStyleVersion? Type83 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoRequestFpsResolution? Type83 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoRequestStylePromptType? Type84 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoRequestStyle? Type84 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoRequestStyleModel? Type85 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoRequestStyleArtStyle? Type85 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoRequestAssets? Type86 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoRequestStyleVersion? Type86 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoRequestAssetsVideoSource? Type87 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoRequestStylePromptType? Type87 { get; set; } /// /// /// - public global::MagicHour.AiClothesChangerCreateImageRequest? Type88 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoRequestStyleModel? Type88 { get; set; } /// /// /// - public global::MagicHour.AiClothesChangerCreateImageRequestAssets? Type89 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoRequestAssets? Type89 { get; set; } /// /// /// - public global::MagicHour.AiClothesChangerCreateImageRequestAssetsGarmentType? Type90 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoRequestAssetsVideoSource? Type90 { get; set; } /// /// /// - public global::MagicHour.AiFaceEditorEditImageRequest? Type91 { get; set; } + public global::MagicHour.AiClothesChangerCreateImageRequest? Type91 { get; set; } /// /// /// - public global::MagicHour.AiFaceEditorEditImageRequestAssets? Type92 { get; set; } + public global::MagicHour.AiClothesChangerCreateImageRequestAssets? Type92 { get; set; } /// /// /// - public global::MagicHour.AiFaceEditorEditImageRequestStyle? Type93 { get; set; } + public global::MagicHour.AiClothesChangerCreateImageRequestAssetsGarmentType? Type93 { get; set; } /// /// /// - public global::MagicHour.AiGifGeneratorCreateImageRequest? Type94 { get; set; } + public global::MagicHour.AiFaceEditorEditImageRequest? Type94 { get; set; } /// /// /// - public global::MagicHour.AiGifGeneratorCreateImageRequestStyle? Type95 { get; set; } + public global::MagicHour.AiFaceEditorEditImageRequestAssets? Type95 { get; set; } /// /// /// - public global::MagicHour.AiGifGeneratorCreateImageRequestOutputFormat? Type96 { get; set; } + public global::MagicHour.AiFaceEditorEditImageRequestStyle? Type96 { get; set; } /// /// /// - public global::MagicHour.AiImageEditorCreateImageRequest? Type97 { get; set; } + public global::MagicHour.AiGifGeneratorCreateImageRequest? Type97 { get; set; } /// /// /// - public global::MagicHour.AiImageEditorCreateImageRequestModel? Type98 { get; set; } + public global::MagicHour.AiGifGeneratorCreateImageRequestStyle? Type98 { get; set; } /// /// /// - public global::MagicHour.AiImageEditorCreateImageRequestAspectRatio? Type99 { get; set; } + public global::MagicHour.AiGifGeneratorCreateImageRequestOutputFormat? Type99 { get; set; } /// /// /// - public global::MagicHour.AiImageEditorCreateImageRequestResolution? Type100 { get; set; } + public global::MagicHour.AiImageEditorCreateImageRequest? Type100 { get; set; } /// /// /// - public global::MagicHour.AiImageEditorCreateImageRequestStyle? Type101 { get; set; } + public global::MagicHour.AiImageEditorCreateImageRequestModel? Type101 { get; set; } /// /// /// - public global::MagicHour.AiImageEditorCreateImageRequestAssets? Type102 { get; set; } + public global::MagicHour.AiImageEditorCreateImageRequestAspectRatio? Type102 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type103 { get; set; } + public global::MagicHour.AiImageEditorCreateImageRequestResolution? Type103 { get; set; } /// /// /// - public global::MagicHour.AiHeadshotGeneratorCreateImageRequest? Type104 { get; set; } + public global::MagicHour.AiImageEditorCreateImageRequestStyle? Type104 { get; set; } /// /// /// - public global::MagicHour.AiHeadshotGeneratorCreateImageRequestStyle? Type105 { get; set; } + public global::MagicHour.AiImageEditorCreateImageRequestAssets? Type105 { get; set; } /// /// /// - public global::MagicHour.AiHeadshotGeneratorCreateImageRequestAssets? Type106 { get; set; } + public global::System.Collections.Generic.IList? Type106 { get; set; } /// /// /// - public global::MagicHour.AiImageGeneratorCreateImageRequest? Type107 { get; set; } + public global::MagicHour.AiHeadshotGeneratorCreateImageRequest? Type107 { get; set; } /// /// /// - public global::MagicHour.AiImageGeneratorCreateImageRequestModel? Type108 { get; set; } + public global::MagicHour.AiHeadshotGeneratorCreateImageRequestStyle? Type108 { get; set; } /// /// /// - public global::MagicHour.AiImageGeneratorCreateImageRequestAspectRatio? Type109 { get; set; } + public global::MagicHour.AiHeadshotGeneratorCreateImageRequestAssets? Type109 { get; set; } /// /// /// - public global::MagicHour.AiImageGeneratorCreateImageRequestResolution? Type110 { get; set; } + public global::MagicHour.AiImageGeneratorCreateImageRequest? Type110 { get; set; } /// /// /// - public global::MagicHour.AiImageGeneratorCreateImageRequestStyle? Type111 { get; set; } + public global::MagicHour.AiImageGeneratorCreateImageRequestModel? Type111 { get; set; } /// /// /// - public global::MagicHour.AiImageGeneratorCreateImageRequestStyleTool? Type112 { get; set; } + public global::MagicHour.AiImageGeneratorCreateImageRequestAspectRatio? Type112 { get; set; } /// /// /// - public global::MagicHour.AiImageUpscalerCreateImageRequest? Type113 { get; set; } + public global::MagicHour.AiImageGeneratorCreateImageRequestResolution? Type113 { get; set; } /// /// /// - public global::MagicHour.AiImageUpscalerCreateImageRequestStyle? Type114 { get; set; } + public global::MagicHour.AiImageGeneratorCreateImageRequestStyle? Type114 { get; set; } /// /// /// - public global::MagicHour.AiImageUpscalerCreateImageRequestStyleMode? Type115 { get; set; } + public global::MagicHour.AiImageGeneratorCreateImageRequestStyleTool? Type115 { get; set; } /// /// /// - public global::MagicHour.AiImageUpscalerCreateImageRequestAssets? Type116 { get; set; } + public global::MagicHour.AiImageUpscalerCreateImageRequest? Type116 { get; set; } /// /// /// - public global::MagicHour.AiMemeGeneratorCreateImageRequest? Type117 { get; set; } + public global::MagicHour.AiImageUpscalerCreateImageRequestStyle? Type117 { get; set; } /// /// /// - public global::MagicHour.AiMemeGeneratorCreateImageRequestStyle? Type118 { get; set; } + public global::MagicHour.AiImageUpscalerCreateImageRequestStyleMode? Type118 { get; set; } /// /// /// - public global::MagicHour.AiMemeGeneratorCreateImageRequestStyleTemplate? Type119 { get; set; } + public global::MagicHour.AiImageUpscalerCreateImageRequestAssets? Type119 { get; set; } /// /// /// - public global::MagicHour.AiQrCodeGeneratorCreateImageRequest? Type120 { get; set; } + public global::MagicHour.AiMemeGeneratorCreateImageRequest? Type120 { get; set; } /// /// /// - public global::MagicHour.AiQrCodeGeneratorCreateImageRequestStyle? Type121 { get; set; } + public global::MagicHour.AiMemeGeneratorCreateImageRequestStyle? Type121 { get; set; } /// /// /// - public global::MagicHour.BodySwapCreateImageRequest? Type122 { get; set; } + public global::MagicHour.AiMemeGeneratorCreateImageRequestStyleTemplate? Type122 { get; set; } /// /// /// - public global::MagicHour.BodySwapCreateImageRequestResolution? Type123 { get; set; } + public global::MagicHour.AiQrCodeGeneratorCreateImageRequest? Type123 { get; set; } /// /// /// - public global::MagicHour.BodySwapCreateImageRequestAssets? Type124 { get; set; } + public global::MagicHour.AiQrCodeGeneratorCreateImageRequestStyle? Type124 { get; set; } /// /// /// - public global::MagicHour.FaceSwapPhotoCreateImageRequest? Type125 { get; set; } + public global::MagicHour.BodySwapCreateImageRequest? Type125 { get; set; } /// /// /// - public global::MagicHour.FaceSwapPhotoCreateImageRequestAssets? Type126 { get; set; } + public global::MagicHour.BodySwapCreateImageRequestResolution? Type126 { get; set; } /// /// /// - public global::MagicHour.FaceSwapPhotoCreateImageRequestAssetsFaceSwapMode? Type127 { get; set; } + public global::MagicHour.BodySwapCreateImageRequestAssets? Type127 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type128 { get; set; } + public global::MagicHour.FaceSwapPhotoCreateImageRequest? Type128 { get; set; } /// /// /// - public global::MagicHour.FaceSwapPhotoCreateImageRequestAssetsFaceMapping? Type129 { get; set; } + public global::MagicHour.FaceSwapPhotoCreateImageRequestAssets? Type129 { get; set; } /// /// /// - public global::MagicHour.HeadSwapCreateImageRequest? Type130 { get; set; } + public global::MagicHour.FaceSwapPhotoCreateImageRequestAssetsFaceSwapMode? Type130 { get; set; } /// /// /// - public global::MagicHour.HeadSwapCreateImageRequestAssets? Type131 { get; set; } + public global::System.Collections.Generic.IList? Type131 { get; set; } /// /// /// - public global::MagicHour.ImageBackgroundRemoverCreateImageRequest? Type132 { get; set; } + public global::MagicHour.FaceSwapPhotoCreateImageRequestAssetsFaceMapping? Type132 { get; set; } /// /// /// - public global::MagicHour.ImageBackgroundRemoverCreateImageRequestAssets? Type133 { get; set; } + public global::MagicHour.HeadSwapCreateImageRequest? Type133 { get; set; } /// /// /// - public global::MagicHour.PhotoColorizerCreateImageRequest? Type134 { get; set; } + public global::MagicHour.HeadSwapCreateImageRequestAssets? Type134 { get; set; } /// /// /// - public global::MagicHour.PhotoColorizerCreateImageRequestAssets? Type135 { get; set; } + public global::MagicHour.ImageBackgroundRemoverCreateImageRequest? Type135 { get; set; } /// /// /// - public global::MagicHour.AiVoiceGeneratorCreateAudioRequest? Type136 { get; set; } + public global::MagicHour.ImageBackgroundRemoverCreateImageRequestAssets? Type136 { get; set; } /// /// /// - public global::MagicHour.AiVoiceGeneratorCreateAudioRequestStyle? Type137 { get; set; } + public global::MagicHour.PhotoColorizerCreateImageRequest? Type137 { get; set; } /// /// /// - public global::MagicHour.AiVoiceGeneratorCreateAudioRequestStyleVoiceName? Type138 { get; set; } + public global::MagicHour.PhotoColorizerCreateImageRequestAssets? Type138 { get; set; } /// /// /// - public global::MagicHour.AiVoiceClonerCreateAudioRequest? Type139 { get; set; } + public global::MagicHour.AiMusicGeneratorCreateAudioRequest? Type139 { get; set; } /// /// /// - public global::MagicHour.AiVoiceClonerCreateAudioRequestAssets? Type140 { get; set; } + public global::MagicHour.AiMusicGeneratorCreateAudioRequestStyle? Type140 { get; set; } /// /// /// - public global::MagicHour.AiVoiceClonerCreateAudioRequestStyle? Type141 { get; set; } + public global::MagicHour.AiVoiceClonerCreateAudioRequest? Type141 { get; set; } /// /// /// - public global::MagicHour.SavedItemsListType? Type142 { get; set; } + public global::MagicHour.AiVoiceClonerCreateAudioRequestAssets? Type142 { get; set; } /// /// /// - public global::MagicHour.AccountGetResponse? Type143 { get; set; } + public global::MagicHour.AiVoiceClonerCreateAudioRequestStyle? Type143 { get; set; } /// /// /// - public global::MagicHour.AccountGetResponseTier? Type144 { get; set; } + public global::MagicHour.AiVoiceGeneratorCreateAudioRequest? Type144 { get; set; } /// /// /// - public global::MagicHour.AccountGetResponseSubscription? Type145 { get; set; } + public global::MagicHour.AiVoiceGeneratorCreateAudioRequestStyle? Type145 { get; set; } /// /// /// - public global::MagicHour.AccountGetResponseSubscriptionStatus? Type146 { get; set; } + public global::MagicHour.AiVoiceGeneratorCreateAudioRequestStyleVoiceName? Type146 { get; set; } /// /// /// - public global::MagicHour.AccountGetResponseSubscriptionPrice? Type147 { get; set; } + public global::MagicHour.SavedItemsListType? Type147 { get; set; } /// /// /// - public global::MagicHour.AccountGetResponseSubscriptionDiscount? Type148 { get; set; } + public global::MagicHour.AccountGetResponse? Type148 { get; set; } /// /// /// - public global::MagicHour.AccountGetResponseSubscriptionBillingInterval? Type149 { get; set; } + public global::MagicHour.AccountGetResponseTier? Type149 { get; set; } /// /// /// - public global::System.DateTime? Type150 { get; set; } + public global::MagicHour.AccountGetResponseSubscription? Type150 { get; set; } /// /// /// - public global::MagicHour.AccountGetResponse2? Type151 { get; set; } + public global::MagicHour.AccountGetResponseSubscriptionStatus? Type151 { get; set; } /// /// /// - public global::MagicHour.AccountGetResponseCode? Type152 { get; set; } + public global::MagicHour.AccountGetResponseSubscriptionPrice? Type152 { get; set; } /// /// /// - public global::MagicHour.AccountGetResponse3? Type153 { get; set; } + public global::MagicHour.AccountGetResponseSubscriptionDiscount? Type153 { get; set; } /// /// /// - public global::MagicHour.AccountGetResponseCode2? Type154 { get; set; } + public global::MagicHour.AccountGetResponseSubscriptionBillingInterval? Type154 { get; set; } /// /// /// - public global::MagicHour.SavedItemsListResponse? Type155 { get; set; } + public global::System.DateTime? Type155 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type156 { get; set; } + public global::MagicHour.AccountGetResponse2? Type156 { get; set; } /// /// /// - public global::MagicHour.SavedItemsListResponseItem? Type157 { get; set; } + public global::MagicHour.AccountGetResponseCode? Type157 { get; set; } /// /// /// - public global::MagicHour.SavedItemsListResponseItemType? Type158 { get; set; } + public global::MagicHour.AccountGetResponse3? Type158 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type159 { get; set; } + public global::MagicHour.AccountGetResponseCode2? Type159 { get; set; } /// /// /// - public global::MagicHour.SavedItemsListResponseItemAsset? Type160 { get; set; } + public global::MagicHour.SavedItemsListResponse? Type160 { get; set; } /// /// /// - public global::MagicHour.SavedItemsListResponseItemAssetMediaKind? Type161 { get; set; } + public global::System.Collections.Generic.IList? Type161 { get; set; } /// /// /// - public global::MagicHour.SavedItemsListResponse2? Type162 { get; set; } + public global::MagicHour.SavedItemsListResponseItem? Type162 { get; set; } /// /// /// - public global::MagicHour.SavedItemsListResponseCode? Type163 { get; set; } + public global::MagicHour.SavedItemsListResponseItemType? Type163 { get; set; } /// /// /// - public global::MagicHour.SavedItemsListResponse3? Type164 { get; set; } + public global::System.Collections.Generic.IList? Type164 { get; set; } /// /// /// - public global::MagicHour.SavedItemsListResponseCode2? Type165 { get; set; } + public global::MagicHour.SavedItemsListResponseItemAsset? Type165 { get; set; } /// /// /// - public global::MagicHour.SavedItemsListResponse4? Type166 { get; set; } + public global::MagicHour.SavedItemsListResponseItemAssetMediaKind? Type166 { get; set; } /// /// /// - public global::MagicHour.SavedItemsListResponseCode3? Type167 { get; set; } + public global::MagicHour.SavedItemsListResponse2? Type167 { get; set; } /// /// /// - public global::MagicHour.VideoAssetsGeneratePresignedUrlResponse? Type168 { get; set; } + public global::MagicHour.SavedItemsListResponseCode? Type168 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type169 { get; set; } + public global::MagicHour.SavedItemsListResponse3? Type169 { get; set; } /// /// /// - public global::MagicHour.VideoAssetsGeneratePresignedUrlResponseItem? Type170 { get; set; } + public global::MagicHour.SavedItemsListResponseCode2? Type170 { get; set; } /// /// /// - public global::MagicHour.VideoAssetsGeneratePresignedUrlResponse2? Type171 { get; set; } + public global::MagicHour.SavedItemsListResponse4? Type171 { get; set; } /// /// /// - public global::MagicHour.VideoAssetsGeneratePresignedUrlResponseCode? Type172 { get; set; } + public global::MagicHour.SavedItemsListResponseCode3? Type172 { get; set; } /// /// /// - public global::MagicHour.VideoAssetsGeneratePresignedUrlResponse3? Type173 { get; set; } + public global::MagicHour.VideoAssetsGeneratePresignedUrlResponse? Type173 { get; set; } /// /// /// - public global::MagicHour.VideoAssetsGeneratePresignedUrlResponseCode2? Type174 { get; set; } + public global::System.Collections.Generic.IList? Type174 { get; set; } /// /// /// - public global::MagicHour.VideoAssetsGeneratePresignedUrlResponse4? Type175 { get; set; } + public global::MagicHour.VideoAssetsGeneratePresignedUrlResponseItem? Type175 { get; set; } /// /// /// - public global::MagicHour.VideoAssetsGeneratePresignedUrlResponseCode3? Type176 { get; set; } + public global::MagicHour.VideoAssetsGeneratePresignedUrlResponse2? Type176 { get; set; } /// /// /// - public global::MagicHour.VideoAssetsGeneratePresignedUrlResponse5? Type177 { get; set; } + public global::MagicHour.VideoAssetsGeneratePresignedUrlResponseCode? Type177 { get; set; } /// /// /// - public global::MagicHour.VideoAssetsGeneratePresignedUrlResponseCode4? Type178 { get; set; } + public global::MagicHour.VideoAssetsGeneratePresignedUrlResponse3? Type178 { get; set; } /// /// /// - public global::MagicHour.VideoAssetsGeneratePresignedUrlResponse6? Type179 { get; set; } + public global::MagicHour.VideoAssetsGeneratePresignedUrlResponseCode2? Type179 { get; set; } /// /// /// - public global::MagicHour.VideoAssetsGeneratePresignedUrlResponseCode5? Type180 { get; set; } + public global::MagicHour.VideoAssetsGeneratePresignedUrlResponse4? Type180 { get; set; } /// /// /// - public global::MagicHour.VideoAssetsGeneratePresignedUrlResponse7? Type181 { get; set; } + public global::MagicHour.VideoAssetsGeneratePresignedUrlResponseCode3? Type181 { get; set; } /// /// /// - public global::MagicHour.VideoAssetsGeneratePresignedUrlResponseCode6? Type182 { get; set; } + public global::MagicHour.VideoAssetsGeneratePresignedUrlResponse5? Type182 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionGetDetailsResponse? Type183 { get; set; } + public global::MagicHour.VideoAssetsGeneratePresignedUrlResponseCode4? Type183 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionGetDetailsResponseStatus? Type184 { get; set; } + public global::MagicHour.VideoAssetsGeneratePresignedUrlResponse6? Type184 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type185 { get; set; } + public global::MagicHour.VideoAssetsGeneratePresignedUrlResponseCode5? Type185 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionGetDetailsResponseFace? Type186 { get; set; } + public global::MagicHour.VideoAssetsGeneratePresignedUrlResponse7? Type186 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionGetDetailsResponse2? Type187 { get; set; } + public global::MagicHour.VideoAssetsGeneratePresignedUrlResponseCode6? Type187 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionGetDetailsResponseCode? Type188 { get; set; } + public global::MagicHour.FaceDetectionGetDetailsResponse? Type188 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionGetDetailsResponse3? Type189 { get; set; } + public global::MagicHour.FaceDetectionGetDetailsResponseStatus? Type189 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionGetDetailsResponseCode2? Type190 { get; set; } + public global::System.Collections.Generic.IList? Type190 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionGetDetailsResponse4? Type191 { get; set; } + public global::MagicHour.FaceDetectionGetDetailsResponseFace? Type191 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionGetDetailsResponseCode3? Type192 { get; set; } + public global::MagicHour.FaceDetectionGetDetailsResponse2? Type192 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionGetDetailsResponse5? Type193 { get; set; } + public global::MagicHour.FaceDetectionGetDetailsResponseCode? Type193 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionGetDetailsResponseCode4? Type194 { get; set; } + public global::MagicHour.FaceDetectionGetDetailsResponse3? Type194 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionGetDetailsResponse6? Type195 { get; set; } + public global::MagicHour.FaceDetectionGetDetailsResponseCode2? Type195 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionGetDetailsResponseCode5? Type196 { get; set; } + public global::MagicHour.FaceDetectionGetDetailsResponse4? Type196 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionGetDetailsResponse7? Type197 { get; set; } + public global::MagicHour.FaceDetectionGetDetailsResponseCode3? Type197 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionGetDetailsResponseCode6? Type198 { get; set; } + public global::MagicHour.FaceDetectionGetDetailsResponse5? Type198 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionDetectFacesResponse? Type199 { get; set; } + public global::MagicHour.FaceDetectionGetDetailsResponseCode4? Type199 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionDetectFacesResponse2? Type200 { get; set; } + public global::MagicHour.FaceDetectionGetDetailsResponse6? Type200 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionDetectFacesResponseCode? Type201 { get; set; } + public global::MagicHour.FaceDetectionGetDetailsResponseCode5? Type201 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionDetectFacesResponse3? Type202 { get; set; } + public global::MagicHour.FaceDetectionGetDetailsResponse7? Type202 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionDetectFacesResponseCode2? Type203 { get; set; } + public global::MagicHour.FaceDetectionGetDetailsResponseCode6? Type203 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionDetectFacesResponse4? Type204 { get; set; } + public global::MagicHour.FaceDetectionDetectFacesResponse? Type204 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionDetectFacesResponseCode3? Type205 { get; set; } + public global::MagicHour.FaceDetectionDetectFacesResponse2? Type205 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionDetectFacesResponse5? Type206 { get; set; } + public global::MagicHour.FaceDetectionDetectFacesResponseCode? Type206 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionDetectFacesResponseCode4? Type207 { get; set; } + public global::MagicHour.FaceDetectionDetectFacesResponse3? Type207 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionDetectFacesResponse6? Type208 { get; set; } + public global::MagicHour.FaceDetectionDetectFacesResponseCode2? Type208 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionDetectFacesResponseCode5? Type209 { get; set; } + public global::MagicHour.FaceDetectionDetectFacesResponse4? Type209 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionDetectFacesResponse7? Type210 { get; set; } + public global::MagicHour.FaceDetectionDetectFacesResponseCode3? Type210 { get; set; } /// /// /// - public global::MagicHour.FaceDetectionDetectFacesResponseCode6? Type211 { get; set; } + public global::MagicHour.FaceDetectionDetectFacesResponse5? Type211 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsGetDetailsResponse? Type212 { get; set; } + public global::MagicHour.FaceDetectionDetectFacesResponseCode4? Type212 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsGetDetailsResponseStatus? Type213 { get; set; } + public global::MagicHour.FaceDetectionDetectFacesResponse6? Type213 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsGetDetailsResponseError? Type214 { get; set; } + public global::MagicHour.FaceDetectionDetectFacesResponseCode5? Type214 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type215 { get; set; } + public global::MagicHour.FaceDetectionDetectFacesResponse7? Type215 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsGetDetailsResponseDownload? Type216 { get; set; } + public global::MagicHour.FaceDetectionDetectFacesResponseCode6? Type216 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsGetDetailsResponse2? Type217 { get; set; } + public global::MagicHour.VideoProjectsGetDetailsResponse? Type217 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsGetDetailsResponseCode? Type218 { get; set; } + public global::MagicHour.VideoProjectsGetDetailsResponseStatus? Type218 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsGetDetailsResponse3? Type219 { get; set; } + public global::MagicHour.VideoProjectsGetDetailsResponseError? Type219 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsGetDetailsResponseCode2? Type220 { get; set; } + public global::System.Collections.Generic.IList? Type220 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsGetDetailsResponse4? Type221 { get; set; } + public global::MagicHour.VideoProjectsGetDetailsResponseDownload? Type221 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsGetDetailsResponseCode3? Type222 { get; set; } + public global::MagicHour.VideoProjectsGetDetailsResponse2? Type222 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsGetDetailsResponse5? Type223 { get; set; } + public global::MagicHour.VideoProjectsGetDetailsResponseCode? Type223 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsGetDetailsResponseCode4? Type224 { get; set; } + public global::MagicHour.VideoProjectsGetDetailsResponse3? Type224 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsGetDetailsResponse6? Type225 { get; set; } + public global::MagicHour.VideoProjectsGetDetailsResponseCode2? Type225 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsGetDetailsResponseCode5? Type226 { get; set; } + public global::MagicHour.VideoProjectsGetDetailsResponse4? Type226 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsDeleteResponse? Type227 { get; set; } + public global::MagicHour.VideoProjectsGetDetailsResponseCode3? Type227 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsDeleteResponseCode? Type228 { get; set; } + public global::MagicHour.VideoProjectsGetDetailsResponse5? Type228 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsDeleteResponse2? Type229 { get; set; } + public global::MagicHour.VideoProjectsGetDetailsResponseCode4? Type229 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsDeleteResponseCode2? Type230 { get; set; } + public global::MagicHour.VideoProjectsGetDetailsResponse6? Type230 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsDeleteResponse3? Type231 { get; set; } + public global::MagicHour.VideoProjectsGetDetailsResponseCode5? Type231 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsDeleteResponseCode3? Type232 { get; set; } + public global::MagicHour.VideoProjectsDeleteResponse? Type232 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsDeleteResponse4? Type233 { get; set; } + public global::MagicHour.VideoProjectsDeleteResponseCode? Type233 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsDeleteResponseCode4? Type234 { get; set; } + public global::MagicHour.VideoProjectsDeleteResponse2? Type234 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsDeleteResponse5? Type235 { get; set; } + public global::MagicHour.VideoProjectsDeleteResponseCode2? Type235 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsDeleteResponseCode5? Type236 { get; set; } + public global::MagicHour.VideoProjectsDeleteResponse3? Type236 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsDeleteResponse6? Type237 { get; set; } + public global::MagicHour.VideoProjectsDeleteResponseCode3? Type237 { get; set; } /// /// /// - public global::MagicHour.VideoProjectsDeleteResponseCode6? Type238 { get; set; } + public global::MagicHour.VideoProjectsDeleteResponse4? Type238 { get; set; } /// /// /// - public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponse? Type239 { get; set; } + public global::MagicHour.VideoProjectsDeleteResponseCode4? Type239 { get; set; } /// /// /// - public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponse2? Type240 { get; set; } + public global::MagicHour.VideoProjectsDeleteResponse5? Type240 { get; set; } /// /// /// - public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponseCode? Type241 { get; set; } + public global::MagicHour.VideoProjectsDeleteResponseCode5? Type241 { get; set; } /// /// /// - public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponse3? Type242 { get; set; } + public global::MagicHour.VideoProjectsDeleteResponse6? Type242 { get; set; } /// /// /// - public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponseCode2? Type243 { get; set; } + public global::MagicHour.VideoProjectsDeleteResponseCode6? Type243 { get; set; } /// /// /// - public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponse4? Type244 { get; set; } + public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponse? Type244 { get; set; } /// /// /// - public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponseCode3? Type245 { get; set; } + public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponse2? Type245 { get; set; } /// /// /// - public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponse5? Type246 { get; set; } + public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponseCode? Type246 { get; set; } /// /// /// - public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponseCode4? Type247 { get; set; } + public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponse3? Type247 { get; set; } /// /// /// - public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponse6? Type248 { get; set; } + public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponseCode2? Type248 { get; set; } /// /// /// - public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponseCode5? Type249 { get; set; } + public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponse4? Type249 { get; set; } /// /// /// - public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponse7? Type250 { get; set; } + public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponseCode3? Type250 { get; set; } /// /// /// - public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponseCode6? Type251 { get; set; } + public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponse5? Type251 { get; set; } /// /// /// - public global::MagicHour.AiUgcAdCreateVideoResponse? Type252 { get; set; } + public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponseCode4? Type252 { get; set; } /// /// /// - public global::MagicHour.AiUgcAdCreateVideoResponse2? Type253 { get; set; } + public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponse6? Type253 { get; set; } /// /// /// - public global::MagicHour.AiUgcAdCreateVideoResponseCode? Type254 { get; set; } + public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponseCode5? Type254 { get; set; } /// /// /// - public global::MagicHour.AiUgcAdCreateVideoResponse3? Type255 { get; set; } + public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponse7? Type255 { get; set; } /// /// /// - public global::MagicHour.AiUgcAdCreateVideoResponseCode2? Type256 { get; set; } + public global::MagicHour.AiTalkingPhotoCreateTalkingPhotoResponseCode6? Type256 { get; set; } /// /// /// - public global::MagicHour.AiUgcAdCreateVideoResponse4? Type257 { get; set; } + public global::MagicHour.AiUgcAdCreateVideoResponse? Type257 { get; set; } /// /// /// - public global::MagicHour.AiUgcAdCreateVideoResponseCode3? Type258 { get; set; } + public global::MagicHour.AiUgcAdCreateVideoResponse2? Type258 { get; set; } /// /// /// - public global::MagicHour.AiUgcAdCreateVideoResponse5? Type259 { get; set; } + public global::MagicHour.AiUgcAdCreateVideoResponseCode? Type259 { get; set; } /// /// /// - public global::MagicHour.AiUgcAdCreateVideoResponseCode4? Type260 { get; set; } + public global::MagicHour.AiUgcAdCreateVideoResponse3? Type260 { get; set; } /// /// /// - public global::MagicHour.AiUgcAdCreateVideoResponse6? Type261 { get; set; } + public global::MagicHour.AiUgcAdCreateVideoResponseCode2? Type261 { get; set; } /// /// /// - public global::MagicHour.AiUgcAdCreateVideoResponseCode5? Type262 { get; set; } + public global::MagicHour.AiUgcAdCreateVideoResponse4? Type262 { get; set; } /// /// /// - public global::MagicHour.AiUgcAdCreateVideoResponse7? Type263 { get; set; } + public global::MagicHour.AiUgcAdCreateVideoResponseCode3? Type263 { get; set; } /// /// /// - public global::MagicHour.AiUgcAdCreateVideoResponseCode6? Type264 { get; set; } + public global::MagicHour.AiUgcAdCreateVideoResponse5? Type264 { get; set; } /// /// /// - public global::MagicHour.AiVideoEditorCreateVideoResponse? Type265 { get; set; } + public global::MagicHour.AiUgcAdCreateVideoResponseCode4? Type265 { get; set; } /// /// /// - public global::MagicHour.AiVideoEditorCreateVideoResponse2? Type266 { get; set; } + public global::MagicHour.AiUgcAdCreateVideoResponse6? Type266 { get; set; } /// /// /// - public global::MagicHour.AiVideoEditorCreateVideoResponseCode? Type267 { get; set; } + public global::MagicHour.AiUgcAdCreateVideoResponseCode5? Type267 { get; set; } /// /// /// - public global::MagicHour.AiVideoEditorCreateVideoResponse3? Type268 { get; set; } + public global::MagicHour.AiUgcAdCreateVideoResponse7? Type268 { get; set; } /// /// /// - public global::MagicHour.AiVideoEditorCreateVideoResponseCode2? Type269 { get; set; } + public global::MagicHour.AiUgcAdCreateVideoResponseCode6? Type269 { get; set; } /// /// /// - public global::MagicHour.AiVideoEditorCreateVideoResponse4? Type270 { get; set; } + public global::MagicHour.AiVideoEditorCreateVideoResponse? Type270 { get; set; } /// /// /// - public global::MagicHour.AiVideoEditorCreateVideoResponseCode3? Type271 { get; set; } + public global::MagicHour.AiVideoEditorCreateVideoResponse2? Type271 { get; set; } /// /// /// - public global::MagicHour.AiVideoEditorCreateVideoResponse5? Type272 { get; set; } + public global::MagicHour.AiVideoEditorCreateVideoResponseCode? Type272 { get; set; } /// /// /// - public global::MagicHour.AiVideoEditorCreateVideoResponseCode4? Type273 { get; set; } + public global::MagicHour.AiVideoEditorCreateVideoResponse3? Type273 { get; set; } /// /// /// - public global::MagicHour.AiVideoEditorCreateVideoResponse6? Type274 { get; set; } + public global::MagicHour.AiVideoEditorCreateVideoResponseCode2? Type274 { get; set; } /// /// /// - public global::MagicHour.AiVideoEditorCreateVideoResponseCode5? Type275 { get; set; } + public global::MagicHour.AiVideoEditorCreateVideoResponse4? Type275 { get; set; } /// /// /// - public global::MagicHour.AiVideoEditorCreateVideoResponse7? Type276 { get; set; } + public global::MagicHour.AiVideoEditorCreateVideoResponseCode3? Type276 { get; set; } /// /// /// - public global::MagicHour.AiVideoEditorCreateVideoResponseCode6? Type277 { get; set; } + public global::MagicHour.AiVideoEditorCreateVideoResponse5? Type277 { get; set; } /// /// /// - public global::MagicHour.AiVideoTranslatorCreateVideoResponse? Type278 { get; set; } + public global::MagicHour.AiVideoEditorCreateVideoResponseCode4? Type278 { get; set; } /// /// /// - public global::MagicHour.AiVideoTranslatorCreateVideoResponse2? Type279 { get; set; } + public global::MagicHour.AiVideoEditorCreateVideoResponse6? Type279 { get; set; } /// /// /// - public global::MagicHour.AiVideoTranslatorCreateVideoResponseCode? Type280 { get; set; } + public global::MagicHour.AiVideoEditorCreateVideoResponseCode5? Type280 { get; set; } /// /// /// - public global::MagicHour.AiVideoTranslatorCreateVideoResponse3? Type281 { get; set; } + public global::MagicHour.AiVideoEditorCreateVideoResponse7? Type281 { get; set; } /// /// /// - public global::MagicHour.AiVideoTranslatorCreateVideoResponseCode2? Type282 { get; set; } + public global::MagicHour.AiVideoEditorCreateVideoResponseCode6? Type282 { get; set; } /// /// /// - public global::MagicHour.AiVideoTranslatorCreateVideoResponse4? Type283 { get; set; } + public global::MagicHour.AiVideoTranslatorCreateVideoResponse? Type283 { get; set; } /// /// /// - public global::MagicHour.AiVideoTranslatorCreateVideoResponseCode3? Type284 { get; set; } + public global::MagicHour.AiVideoTranslatorCreateVideoResponse2? Type284 { get; set; } /// /// /// - public global::MagicHour.AiVideoTranslatorCreateVideoResponse5? Type285 { get; set; } + public global::MagicHour.AiVideoTranslatorCreateVideoResponseCode? Type285 { get; set; } /// /// /// - public global::MagicHour.AiVideoTranslatorCreateVideoResponseCode4? Type286 { get; set; } + public global::MagicHour.AiVideoTranslatorCreateVideoResponse3? Type286 { get; set; } /// /// /// - public global::MagicHour.AiVideoTranslatorCreateVideoResponse6? Type287 { get; set; } + public global::MagicHour.AiVideoTranslatorCreateVideoResponseCode2? Type287 { get; set; } /// /// /// - public global::MagicHour.AiVideoTranslatorCreateVideoResponseCode5? Type288 { get; set; } + public global::MagicHour.AiVideoTranslatorCreateVideoResponse4? Type288 { get; set; } /// /// /// - public global::MagicHour.AiVideoTranslatorCreateVideoResponse7? Type289 { get; set; } + public global::MagicHour.AiVideoTranslatorCreateVideoResponseCode3? Type289 { get; set; } /// /// /// - public global::MagicHour.AiVideoTranslatorCreateVideoResponseCode6? Type290 { get; set; } + public global::MagicHour.AiVideoTranslatorCreateVideoResponse5? Type290 { get; set; } /// /// /// - public global::MagicHour.AnimationCreateVideoResponse? Type291 { get; set; } + public global::MagicHour.AiVideoTranslatorCreateVideoResponseCode4? Type291 { get; set; } /// /// /// - public global::MagicHour.AnimationCreateVideoResponse2? Type292 { get; set; } + public global::MagicHour.AiVideoTranslatorCreateVideoResponse6? Type292 { get; set; } /// /// /// - public global::MagicHour.AnimationCreateVideoResponseCode? Type293 { get; set; } + public global::MagicHour.AiVideoTranslatorCreateVideoResponseCode5? Type293 { get; set; } /// /// /// - public global::MagicHour.AnimationCreateVideoResponse3? Type294 { get; set; } + public global::MagicHour.AiVideoTranslatorCreateVideoResponse7? Type294 { get; set; } /// /// /// - public global::MagicHour.AnimationCreateVideoResponseCode2? Type295 { get; set; } + public global::MagicHour.AiVideoTranslatorCreateVideoResponseCode6? Type295 { get; set; } /// /// /// - public global::MagicHour.AnimationCreateVideoResponse4? Type296 { get; set; } + public global::MagicHour.AiVideoUpscalerCreateVideoResponse? Type296 { get; set; } /// /// /// - public global::MagicHour.AnimationCreateVideoResponseCode3? Type297 { get; set; } + public global::MagicHour.AiVideoUpscalerCreateVideoResponse2? Type297 { get; set; } /// /// /// - public global::MagicHour.AnimationCreateVideoResponse5? Type298 { get; set; } + public global::MagicHour.AiVideoUpscalerCreateVideoResponseCode? Type298 { get; set; } /// /// /// - public global::MagicHour.AnimationCreateVideoResponseCode4? Type299 { get; set; } + public global::MagicHour.AiVideoUpscalerCreateVideoResponse3? Type299 { get; set; } /// /// /// - public global::MagicHour.AnimationCreateVideoResponse6? Type300 { get; set; } + public global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2? Type300 { get; set; } /// /// /// - public global::MagicHour.AnimationCreateVideoResponseCode5? Type301 { get; set; } + public global::MagicHour.AiVideoUpscalerCreateVideoResponse4? Type301 { get; set; } /// /// /// - public global::MagicHour.AnimationCreateVideoResponse7? Type302 { get; set; } + public global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3? Type302 { get; set; } /// /// /// - public global::MagicHour.AnimationCreateVideoResponseCode6? Type303 { get; set; } + public global::MagicHour.AiVideoUpscalerCreateVideoResponse5? Type303 { get; set; } /// /// /// - public global::MagicHour.AudioToVideoCreateVideoResponse? Type304 { get; set; } + public global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4? Type304 { get; set; } /// /// /// - public global::MagicHour.AudioToVideoCreateVideoResponse2? Type305 { get; set; } + public global::MagicHour.AiVideoUpscalerCreateVideoResponse6? Type305 { get; set; } /// /// /// - public global::MagicHour.AudioToVideoCreateVideoResponseCode? Type306 { get; set; } + public global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5? Type306 { get; set; } /// /// /// - public global::MagicHour.AudioToVideoCreateVideoResponse3? Type307 { get; set; } + public global::MagicHour.AiVideoUpscalerCreateVideoResponse7? Type307 { get; set; } /// /// /// - public global::MagicHour.AudioToVideoCreateVideoResponseCode2? Type308 { get; set; } + public global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6? Type308 { get; set; } /// /// /// - public global::MagicHour.AudioToVideoCreateVideoResponse4? Type309 { get; set; } + public global::MagicHour.AnimationCreateVideoResponse? Type309 { get; set; } /// /// /// - public global::MagicHour.AudioToVideoCreateVideoResponseCode3? Type310 { get; set; } + public global::MagicHour.AnimationCreateVideoResponse2? Type310 { get; set; } /// /// /// - public global::MagicHour.AudioToVideoCreateVideoResponse5? Type311 { get; set; } + public global::MagicHour.AnimationCreateVideoResponseCode? Type311 { get; set; } /// /// /// - public global::MagicHour.AudioToVideoCreateVideoResponseCode4? Type312 { get; set; } + public global::MagicHour.AnimationCreateVideoResponse3? Type312 { get; set; } /// /// /// - public global::MagicHour.AudioToVideoCreateVideoResponse6? Type313 { get; set; } + public global::MagicHour.AnimationCreateVideoResponseCode2? Type313 { get; set; } /// /// /// - public global::MagicHour.AudioToVideoCreateVideoResponseCode5? Type314 { get; set; } + public global::MagicHour.AnimationCreateVideoResponse4? Type314 { get; set; } /// /// /// - public global::MagicHour.AudioToVideoCreateVideoResponse7? Type315 { get; set; } + public global::MagicHour.AnimationCreateVideoResponseCode3? Type315 { get; set; } /// /// /// - public global::MagicHour.AudioToVideoCreateVideoResponseCode6? Type316 { get; set; } + public global::MagicHour.AnimationCreateVideoResponse5? Type316 { get; set; } /// /// /// - public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponse? Type317 { get; set; } + public global::MagicHour.AnimationCreateVideoResponseCode4? Type317 { get; set; } /// /// /// - public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponse2? Type318 { get; set; } + public global::MagicHour.AnimationCreateVideoResponse6? Type318 { get; set; } /// /// /// - public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponseCode? Type319 { get; set; } + public global::MagicHour.AnimationCreateVideoResponseCode5? Type319 { get; set; } /// /// /// - public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponse3? Type320 { get; set; } + public global::MagicHour.AnimationCreateVideoResponse7? Type320 { get; set; } /// /// /// - public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponseCode2? Type321 { get; set; } + public global::MagicHour.AnimationCreateVideoResponseCode6? Type321 { get; set; } /// /// /// - public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponse4? Type322 { get; set; } + public global::MagicHour.AudioToVideoCreateVideoResponse? Type322 { get; set; } /// /// /// - public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponseCode3? Type323 { get; set; } + public global::MagicHour.AudioToVideoCreateVideoResponse2? Type323 { get; set; } /// /// /// - public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponse5? Type324 { get; set; } + public global::MagicHour.AudioToVideoCreateVideoResponseCode? Type324 { get; set; } /// /// /// - public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponseCode4? Type325 { get; set; } + public global::MagicHour.AudioToVideoCreateVideoResponse3? Type325 { get; set; } /// /// /// - public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponse6? Type326 { get; set; } + public global::MagicHour.AudioToVideoCreateVideoResponseCode2? Type326 { get; set; } /// /// /// - public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponseCode5? Type327 { get; set; } + public global::MagicHour.AudioToVideoCreateVideoResponse4? Type327 { get; set; } /// /// /// - public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponse7? Type328 { get; set; } + public global::MagicHour.AudioToVideoCreateVideoResponseCode3? Type328 { get; set; } /// /// /// - public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponseCode6? Type329 { get; set; } + public global::MagicHour.AudioToVideoCreateVideoResponse5? Type329 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoResponse? Type330 { get; set; } + public global::MagicHour.AudioToVideoCreateVideoResponseCode4? Type330 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoResponse2? Type331 { get; set; } + public global::MagicHour.AudioToVideoCreateVideoResponse6? Type331 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoResponseCode? Type332 { get; set; } + public global::MagicHour.AudioToVideoCreateVideoResponseCode5? Type332 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoResponse3? Type333 { get; set; } + public global::MagicHour.AudioToVideoCreateVideoResponse7? Type333 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoResponseCode2? Type334 { get; set; } + public global::MagicHour.AudioToVideoCreateVideoResponseCode6? Type334 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoResponse4? Type335 { get; set; } + public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponse? Type335 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoResponseCode3? Type336 { get; set; } + public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponse2? Type336 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoResponse5? Type337 { get; set; } + public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponseCode? Type337 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoResponseCode4? Type338 { get; set; } + public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponse3? Type338 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoResponse6? Type339 { get; set; } + public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponseCode2? Type339 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoResponseCode5? Type340 { get; set; } + public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponse4? Type340 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoResponse7? Type341 { get; set; } + public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponseCode3? Type341 { get; set; } /// /// /// - public global::MagicHour.CharacterReplaceCreateVideoResponseCode6? Type342 { get; set; } + public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponse5? Type342 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoResponse? Type343 { get; set; } + public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponseCode4? Type343 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoResponse2? Type344 { get; set; } + public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponse6? Type344 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoResponseCode? Type345 { get; set; } + public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponseCode5? Type345 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoResponse3? Type346 { get; set; } + public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponse7? Type346 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoResponseCode2? Type347 { get; set; } + public global::MagicHour.AutoSubtitleGeneratorCreateVideoResponseCode6? Type347 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoResponse4? Type348 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoResponse? Type348 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoResponseCode3? Type349 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoResponse2? Type349 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoResponse5? Type350 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoResponseCode? Type350 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoResponseCode4? Type351 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoResponse3? Type351 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoResponse6? Type352 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoResponseCode2? Type352 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoResponseCode5? Type353 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoResponse4? Type353 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoResponse7? Type354 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoResponseCode3? Type354 { get; set; } /// /// /// - public global::MagicHour.FaceSwapCreateVideoResponseCode6? Type355 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoResponse5? Type355 { get; set; } /// /// /// - public global::MagicHour.ImageToVideoCreateVideoResponse? Type356 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoResponseCode4? Type356 { get; set; } /// /// /// - public global::MagicHour.ImageToVideoCreateVideoResponse2? Type357 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoResponse6? Type357 { get; set; } /// /// /// - public global::MagicHour.ImageToVideoCreateVideoResponseCode? Type358 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoResponseCode5? Type358 { get; set; } /// /// /// - public global::MagicHour.ImageToVideoCreateVideoResponse3? Type359 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoResponse7? Type359 { get; set; } /// /// /// - public global::MagicHour.ImageToVideoCreateVideoResponseCode2? Type360 { get; set; } + public global::MagicHour.CharacterReplaceCreateVideoResponseCode6? Type360 { get; set; } /// /// /// - public global::MagicHour.ImageToVideoCreateVideoResponse4? Type361 { get; set; } + public global::MagicHour.FaceSwapCreateVideoResponse? Type361 { get; set; } /// /// /// - public global::MagicHour.ImageToVideoCreateVideoResponseCode3? Type362 { get; set; } + public global::MagicHour.FaceSwapCreateVideoResponse2? Type362 { get; set; } /// /// /// - public global::MagicHour.ImageToVideoCreateVideoResponse5? Type363 { get; set; } + public global::MagicHour.FaceSwapCreateVideoResponseCode? Type363 { get; set; } /// /// /// - public global::MagicHour.ImageToVideoCreateVideoResponseCode4? Type364 { get; set; } + public global::MagicHour.FaceSwapCreateVideoResponse3? Type364 { get; set; } /// /// /// - public global::MagicHour.ImageToVideoCreateVideoResponse6? Type365 { get; set; } + public global::MagicHour.FaceSwapCreateVideoResponseCode2? Type365 { get; set; } /// /// /// - public global::MagicHour.ImageToVideoCreateVideoResponseCode5? Type366 { get; set; } + public global::MagicHour.FaceSwapCreateVideoResponse4? Type366 { get; set; } /// /// /// - public global::MagicHour.ImageToVideoCreateVideoResponse7? Type367 { get; set; } + public global::MagicHour.FaceSwapCreateVideoResponseCode3? Type367 { get; set; } /// /// /// - public global::MagicHour.ImageToVideoCreateVideoResponseCode6? Type368 { get; set; } + public global::MagicHour.FaceSwapCreateVideoResponse5? Type368 { get; set; } /// /// /// - public global::MagicHour.LipSyncCreateVideoResponse? Type369 { get; set; } + public global::MagicHour.FaceSwapCreateVideoResponseCode4? Type369 { get; set; } /// /// /// - public global::MagicHour.LipSyncCreateVideoResponse2? Type370 { get; set; } + public global::MagicHour.FaceSwapCreateVideoResponse6? Type370 { get; set; } /// /// /// - public global::MagicHour.LipSyncCreateVideoResponseCode? Type371 { get; set; } + public global::MagicHour.FaceSwapCreateVideoResponseCode5? Type371 { get; set; } /// /// /// - public global::MagicHour.LipSyncCreateVideoResponse3? Type372 { get; set; } + public global::MagicHour.FaceSwapCreateVideoResponse7? Type372 { get; set; } /// /// /// - public global::MagicHour.LipSyncCreateVideoResponseCode2? Type373 { get; set; } + public global::MagicHour.FaceSwapCreateVideoResponseCode6? Type373 { get; set; } /// /// /// - public global::MagicHour.LipSyncCreateVideoResponse4? Type374 { get; set; } + public global::MagicHour.ImageToVideoCreateVideoResponse? Type374 { get; set; } /// /// /// - public global::MagicHour.LipSyncCreateVideoResponseCode3? Type375 { get; set; } + public global::MagicHour.ImageToVideoCreateVideoResponse2? Type375 { get; set; } /// /// /// - public global::MagicHour.LipSyncCreateVideoResponse5? Type376 { get; set; } + public global::MagicHour.ImageToVideoCreateVideoResponseCode? Type376 { get; set; } /// /// /// - public global::MagicHour.LipSyncCreateVideoResponseCode4? Type377 { get; set; } + public global::MagicHour.ImageToVideoCreateVideoResponse3? Type377 { get; set; } /// /// /// - public global::MagicHour.LipSyncCreateVideoResponse6? Type378 { get; set; } + public global::MagicHour.ImageToVideoCreateVideoResponseCode2? Type378 { get; set; } /// /// /// - public global::MagicHour.LipSyncCreateVideoResponseCode5? Type379 { get; set; } + public global::MagicHour.ImageToVideoCreateVideoResponse4? Type379 { get; set; } /// /// /// - public global::MagicHour.LipSyncCreateVideoResponse7? Type380 { get; set; } + public global::MagicHour.ImageToVideoCreateVideoResponseCode3? Type380 { get; set; } /// /// /// - public global::MagicHour.LipSyncCreateVideoResponseCode6? Type381 { get; set; } + public global::MagicHour.ImageToVideoCreateVideoResponse5? Type381 { get; set; } /// /// /// - public global::MagicHour.TextToVideoCreateVideoResponse? Type382 { get; set; } + public global::MagicHour.ImageToVideoCreateVideoResponseCode4? Type382 { get; set; } /// /// /// - public global::MagicHour.TextToVideoCreateVideoResponse2? Type383 { get; set; } + public global::MagicHour.ImageToVideoCreateVideoResponse6? Type383 { get; set; } /// /// /// - public global::MagicHour.TextToVideoCreateVideoResponseCode? Type384 { get; set; } + public global::MagicHour.ImageToVideoCreateVideoResponseCode5? Type384 { get; set; } /// /// /// - public global::MagicHour.TextToVideoCreateVideoResponse3? Type385 { get; set; } + public global::MagicHour.ImageToVideoCreateVideoResponse7? Type385 { get; set; } /// /// /// - public global::MagicHour.TextToVideoCreateVideoResponseCode2? Type386 { get; set; } + public global::MagicHour.ImageToVideoCreateVideoResponseCode6? Type386 { get; set; } /// /// /// - public global::MagicHour.TextToVideoCreateVideoResponse4? Type387 { get; set; } + public global::MagicHour.LipSyncCreateVideoResponse? Type387 { get; set; } /// /// /// - public global::MagicHour.TextToVideoCreateVideoResponseCode3? Type388 { get; set; } + public global::MagicHour.LipSyncCreateVideoResponse2? Type388 { get; set; } /// /// /// - public global::MagicHour.TextToVideoCreateVideoResponse5? Type389 { get; set; } + public global::MagicHour.LipSyncCreateVideoResponseCode? Type389 { get; set; } /// /// /// - public global::MagicHour.TextToVideoCreateVideoResponseCode4? Type390 { get; set; } + public global::MagicHour.LipSyncCreateVideoResponse3? Type390 { get; set; } /// /// /// - public global::MagicHour.TextToVideoCreateVideoResponse6? Type391 { get; set; } + public global::MagicHour.LipSyncCreateVideoResponseCode2? Type391 { get; set; } /// /// /// - public global::MagicHour.TextToVideoCreateVideoResponseCode5? Type392 { get; set; } + public global::MagicHour.LipSyncCreateVideoResponse4? Type392 { get; set; } /// /// /// - public global::MagicHour.TextToVideoCreateVideoResponse7? Type393 { get; set; } + public global::MagicHour.LipSyncCreateVideoResponseCode3? Type393 { get; set; } /// /// /// - public global::MagicHour.TextToVideoCreateVideoResponseCode6? Type394 { get; set; } + public global::MagicHour.LipSyncCreateVideoResponse5? Type394 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoResponse? Type395 { get; set; } + public global::MagicHour.LipSyncCreateVideoResponseCode4? Type395 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoResponse2? Type396 { get; set; } + public global::MagicHour.LipSyncCreateVideoResponse6? Type396 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoResponseCode? Type397 { get; set; } + public global::MagicHour.LipSyncCreateVideoResponseCode5? Type397 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoResponse3? Type398 { get; set; } + public global::MagicHour.LipSyncCreateVideoResponse7? Type398 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoResponseCode2? Type399 { get; set; } + public global::MagicHour.LipSyncCreateVideoResponseCode6? Type399 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoResponse4? Type400 { get; set; } + public global::MagicHour.TextToVideoCreateVideoResponse? Type400 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoResponseCode3? Type401 { get; set; } + public global::MagicHour.TextToVideoCreateVideoResponse2? Type401 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoResponse5? Type402 { get; set; } + public global::MagicHour.TextToVideoCreateVideoResponseCode? Type402 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoResponseCode4? Type403 { get; set; } + public global::MagicHour.TextToVideoCreateVideoResponse3? Type403 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoResponse6? Type404 { get; set; } + public global::MagicHour.TextToVideoCreateVideoResponseCode2? Type404 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoResponseCode5? Type405 { get; set; } + public global::MagicHour.TextToVideoCreateVideoResponse4? Type405 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoResponse7? Type406 { get; set; } + public global::MagicHour.TextToVideoCreateVideoResponseCode3? Type406 { get; set; } /// /// /// - public global::MagicHour.VideoToVideoCreateVideoResponseCode6? Type407 { get; set; } + public global::MagicHour.TextToVideoCreateVideoResponse5? Type407 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsGetDetailsResponse? Type408 { get; set; } + public global::MagicHour.TextToVideoCreateVideoResponseCode4? Type408 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsGetDetailsResponseStatus? Type409 { get; set; } + public global::MagicHour.TextToVideoCreateVideoResponse6? Type409 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type410 { get; set; } + public global::MagicHour.TextToVideoCreateVideoResponseCode5? Type410 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsGetDetailsResponseDownload? Type411 { get; set; } + public global::MagicHour.TextToVideoCreateVideoResponse7? Type411 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsGetDetailsResponseError? Type412 { get; set; } + public global::MagicHour.TextToVideoCreateVideoResponseCode6? Type412 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsGetDetailsResponse2? Type413 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoResponse? Type413 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsGetDetailsResponseCode? Type414 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoResponse2? Type414 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsGetDetailsResponse3? Type415 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoResponseCode? Type415 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsGetDetailsResponseCode2? Type416 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoResponse3? Type416 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsGetDetailsResponse4? Type417 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoResponseCode2? Type417 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsGetDetailsResponseCode3? Type418 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoResponse4? Type418 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsGetDetailsResponse5? Type419 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoResponseCode3? Type419 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsGetDetailsResponseCode4? Type420 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoResponse5? Type420 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsGetDetailsResponse6? Type421 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoResponseCode4? Type421 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsGetDetailsResponseCode5? Type422 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoResponse6? Type422 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsDeleteResponse? Type423 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoResponseCode5? Type423 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsDeleteResponseCode? Type424 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoResponse7? Type424 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsDeleteResponse2? Type425 { get; set; } + public global::MagicHour.VideoToVideoCreateVideoResponseCode6? Type425 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsDeleteResponseCode2? Type426 { get; set; } + public global::MagicHour.ImageProjectsGetDetailsResponse? Type426 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsDeleteResponse3? Type427 { get; set; } + public global::MagicHour.ImageProjectsGetDetailsResponseStatus? Type427 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsDeleteResponseCode3? Type428 { get; set; } + public global::System.Collections.Generic.IList? Type428 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsDeleteResponse4? Type429 { get; set; } + public global::MagicHour.ImageProjectsGetDetailsResponseDownload? Type429 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsDeleteResponseCode4? Type430 { get; set; } + public global::MagicHour.ImageProjectsGetDetailsResponseError? Type430 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsDeleteResponse5? Type431 { get; set; } + public global::MagicHour.ImageProjectsGetDetailsResponse2? Type431 { get; set; } /// /// /// - public global::MagicHour.ImageProjectsDeleteResponseCode5? Type432 { get; set; } + public global::MagicHour.ImageProjectsGetDetailsResponseCode? Type432 { get; set; } /// /// /// - public global::MagicHour.AiClothesChangerCreateImageResponse? Type433 { get; set; } + public global::MagicHour.ImageProjectsGetDetailsResponse3? Type433 { get; set; } /// /// /// - public global::MagicHour.AiClothesChangerCreateImageResponse2? Type434 { get; set; } + public global::MagicHour.ImageProjectsGetDetailsResponseCode2? Type434 { get; set; } /// /// /// - public global::MagicHour.AiClothesChangerCreateImageResponseCode? Type435 { get; set; } + public global::MagicHour.ImageProjectsGetDetailsResponse4? Type435 { get; set; } /// /// /// - public global::MagicHour.AiClothesChangerCreateImageResponse3? Type436 { get; set; } + public global::MagicHour.ImageProjectsGetDetailsResponseCode3? Type436 { get; set; } /// /// /// - public global::MagicHour.AiClothesChangerCreateImageResponseCode2? Type437 { get; set; } + public global::MagicHour.ImageProjectsGetDetailsResponse5? Type437 { get; set; } /// /// /// - public global::MagicHour.AiClothesChangerCreateImageResponse4? Type438 { get; set; } + public global::MagicHour.ImageProjectsGetDetailsResponseCode4? Type438 { get; set; } /// /// /// - public global::MagicHour.AiClothesChangerCreateImageResponseCode3? Type439 { get; set; } + public global::MagicHour.ImageProjectsGetDetailsResponse6? Type439 { get; set; } /// /// /// - public global::MagicHour.AiClothesChangerCreateImageResponse5? Type440 { get; set; } + public global::MagicHour.ImageProjectsGetDetailsResponseCode5? Type440 { get; set; } /// /// /// - public global::MagicHour.AiClothesChangerCreateImageResponseCode4? Type441 { get; set; } + public global::MagicHour.ImageProjectsDeleteResponse? Type441 { get; set; } /// /// /// - public global::MagicHour.AiClothesChangerCreateImageResponse6? Type442 { get; set; } + public global::MagicHour.ImageProjectsDeleteResponseCode? Type442 { get; set; } /// /// /// - public global::MagicHour.AiClothesChangerCreateImageResponseCode5? Type443 { get; set; } + public global::MagicHour.ImageProjectsDeleteResponse2? Type443 { get; set; } /// /// /// - public global::MagicHour.AiClothesChangerCreateImageResponse7? Type444 { get; set; } + public global::MagicHour.ImageProjectsDeleteResponseCode2? Type444 { get; set; } /// /// /// - public global::MagicHour.AiClothesChangerCreateImageResponseCode6? Type445 { get; set; } + public global::MagicHour.ImageProjectsDeleteResponse3? Type445 { get; set; } /// /// /// - public global::MagicHour.AiFaceEditorEditImageResponse? Type446 { get; set; } + public global::MagicHour.ImageProjectsDeleteResponseCode3? Type446 { get; set; } /// /// /// - public global::MagicHour.AiFaceEditorEditImageResponse2? Type447 { get; set; } + public global::MagicHour.ImageProjectsDeleteResponse4? Type447 { get; set; } /// /// /// - public global::MagicHour.AiFaceEditorEditImageResponseCode? Type448 { get; set; } + public global::MagicHour.ImageProjectsDeleteResponseCode4? Type448 { get; set; } /// /// /// - public global::MagicHour.AiFaceEditorEditImageResponse3? Type449 { get; set; } + public global::MagicHour.ImageProjectsDeleteResponse5? Type449 { get; set; } /// /// /// - public global::MagicHour.AiFaceEditorEditImageResponseCode2? Type450 { get; set; } + public global::MagicHour.ImageProjectsDeleteResponseCode5? Type450 { get; set; } /// /// /// - public global::MagicHour.AiFaceEditorEditImageResponse4? Type451 { get; set; } + public global::MagicHour.AiClothesChangerCreateImageResponse? Type451 { get; set; } /// /// /// - public global::MagicHour.AiFaceEditorEditImageResponseCode3? Type452 { get; set; } + public global::MagicHour.AiClothesChangerCreateImageResponse2? Type452 { get; set; } /// /// /// - public global::MagicHour.AiFaceEditorEditImageResponse5? Type453 { get; set; } + public global::MagicHour.AiClothesChangerCreateImageResponseCode? Type453 { get; set; } /// /// /// - public global::MagicHour.AiFaceEditorEditImageResponseCode4? Type454 { get; set; } + public global::MagicHour.AiClothesChangerCreateImageResponse3? Type454 { get; set; } /// /// /// - public global::MagicHour.AiFaceEditorEditImageResponse6? Type455 { get; set; } + public global::MagicHour.AiClothesChangerCreateImageResponseCode2? Type455 { get; set; } /// /// /// - public global::MagicHour.AiFaceEditorEditImageResponseCode5? Type456 { get; set; } + public global::MagicHour.AiClothesChangerCreateImageResponse4? Type456 { get; set; } /// /// /// - public global::MagicHour.AiFaceEditorEditImageResponse7? Type457 { get; set; } + public global::MagicHour.AiClothesChangerCreateImageResponseCode3? Type457 { get; set; } /// /// /// - public global::MagicHour.AiFaceEditorEditImageResponseCode6? Type458 { get; set; } + public global::MagicHour.AiClothesChangerCreateImageResponse5? Type458 { get; set; } /// /// /// - public global::MagicHour.AiGifGeneratorCreateImageResponse? Type459 { get; set; } + public global::MagicHour.AiClothesChangerCreateImageResponseCode4? Type459 { get; set; } /// /// /// - public global::MagicHour.AiGifGeneratorCreateImageResponse2? Type460 { get; set; } + public global::MagicHour.AiClothesChangerCreateImageResponse6? Type460 { get; set; } /// /// /// - public global::MagicHour.AiGifGeneratorCreateImageResponseCode? Type461 { get; set; } + public global::MagicHour.AiClothesChangerCreateImageResponseCode5? Type461 { get; set; } /// /// /// - public global::MagicHour.AiGifGeneratorCreateImageResponse3? Type462 { get; set; } + public global::MagicHour.AiClothesChangerCreateImageResponse7? Type462 { get; set; } /// /// /// - public global::MagicHour.AiGifGeneratorCreateImageResponseCode2? Type463 { get; set; } + public global::MagicHour.AiClothesChangerCreateImageResponseCode6? Type463 { get; set; } /// /// /// - public global::MagicHour.AiGifGeneratorCreateImageResponse4? Type464 { get; set; } + public global::MagicHour.AiFaceEditorEditImageResponse? Type464 { get; set; } /// /// /// - public global::MagicHour.AiGifGeneratorCreateImageResponseCode3? Type465 { get; set; } + public global::MagicHour.AiFaceEditorEditImageResponse2? Type465 { get; set; } /// /// /// - public global::MagicHour.AiGifGeneratorCreateImageResponse5? Type466 { get; set; } + public global::MagicHour.AiFaceEditorEditImageResponseCode? Type466 { get; set; } /// /// /// - public global::MagicHour.AiGifGeneratorCreateImageResponseCode4? Type467 { get; set; } + public global::MagicHour.AiFaceEditorEditImageResponse3? Type467 { get; set; } /// /// /// - public global::MagicHour.AiGifGeneratorCreateImageResponse6? Type468 { get; set; } + public global::MagicHour.AiFaceEditorEditImageResponseCode2? Type468 { get; set; } /// /// /// - public global::MagicHour.AiGifGeneratorCreateImageResponseCode5? Type469 { get; set; } + public global::MagicHour.AiFaceEditorEditImageResponse4? Type469 { get; set; } /// /// /// - public global::MagicHour.AiGifGeneratorCreateImageResponse7? Type470 { get; set; } + public global::MagicHour.AiFaceEditorEditImageResponseCode3? Type470 { get; set; } /// /// /// - public global::MagicHour.AiGifGeneratorCreateImageResponseCode6? Type471 { get; set; } + public global::MagicHour.AiFaceEditorEditImageResponse5? Type471 { get; set; } /// /// /// - public global::MagicHour.AiImageEditorCreateImageResponse? Type472 { get; set; } + public global::MagicHour.AiFaceEditorEditImageResponseCode4? Type472 { get; set; } /// /// /// - public global::MagicHour.AiImageEditorCreateImageResponse2? Type473 { get; set; } + public global::MagicHour.AiFaceEditorEditImageResponse6? Type473 { get; set; } /// /// /// - public global::MagicHour.AiImageEditorCreateImageResponseCode? Type474 { get; set; } + public global::MagicHour.AiFaceEditorEditImageResponseCode5? Type474 { get; set; } /// /// /// - public global::MagicHour.AiImageEditorCreateImageResponse3? Type475 { get; set; } + public global::MagicHour.AiFaceEditorEditImageResponse7? Type475 { get; set; } /// /// /// - public global::MagicHour.AiImageEditorCreateImageResponseCode2? Type476 { get; set; } + public global::MagicHour.AiFaceEditorEditImageResponseCode6? Type476 { get; set; } /// /// /// - public global::MagicHour.AiImageEditorCreateImageResponse4? Type477 { get; set; } + public global::MagicHour.AiGifGeneratorCreateImageResponse? Type477 { get; set; } /// /// /// - public global::MagicHour.AiImageEditorCreateImageResponseCode3? Type478 { get; set; } + public global::MagicHour.AiGifGeneratorCreateImageResponse2? Type478 { get; set; } /// /// /// - public global::MagicHour.AiImageEditorCreateImageResponse5? Type479 { get; set; } + public global::MagicHour.AiGifGeneratorCreateImageResponseCode? Type479 { get; set; } /// /// /// - public global::MagicHour.AiImageEditorCreateImageResponseCode4? Type480 { get; set; } + public global::MagicHour.AiGifGeneratorCreateImageResponse3? Type480 { get; set; } /// /// /// - public global::MagicHour.AiImageEditorCreateImageResponse6? Type481 { get; set; } + public global::MagicHour.AiGifGeneratorCreateImageResponseCode2? Type481 { get; set; } /// /// /// - public global::MagicHour.AiImageEditorCreateImageResponseCode5? Type482 { get; set; } + public global::MagicHour.AiGifGeneratorCreateImageResponse4? Type482 { get; set; } /// /// /// - public global::MagicHour.AiImageEditorCreateImageResponse7? Type483 { get; set; } + public global::MagicHour.AiGifGeneratorCreateImageResponseCode3? Type483 { get; set; } /// /// /// - public global::MagicHour.AiImageEditorCreateImageResponseCode6? Type484 { get; set; } + public global::MagicHour.AiGifGeneratorCreateImageResponse5? Type484 { get; set; } /// /// /// - public global::MagicHour.AiHeadshotGeneratorCreateImageResponse? Type485 { get; set; } + public global::MagicHour.AiGifGeneratorCreateImageResponseCode4? Type485 { get; set; } /// /// /// - public global::MagicHour.AiHeadshotGeneratorCreateImageResponse2? Type486 { get; set; } + public global::MagicHour.AiGifGeneratorCreateImageResponse6? Type486 { get; set; } /// /// /// - public global::MagicHour.AiHeadshotGeneratorCreateImageResponseCode? Type487 { get; set; } + public global::MagicHour.AiGifGeneratorCreateImageResponseCode5? Type487 { get; set; } /// /// /// - public global::MagicHour.AiHeadshotGeneratorCreateImageResponse3? Type488 { get; set; } + public global::MagicHour.AiGifGeneratorCreateImageResponse7? Type488 { get; set; } /// /// /// - public global::MagicHour.AiHeadshotGeneratorCreateImageResponseCode2? Type489 { get; set; } + public global::MagicHour.AiGifGeneratorCreateImageResponseCode6? Type489 { get; set; } /// /// /// - public global::MagicHour.AiHeadshotGeneratorCreateImageResponse4? Type490 { get; set; } + public global::MagicHour.AiImageEditorCreateImageResponse? Type490 { get; set; } /// /// /// - public global::MagicHour.AiHeadshotGeneratorCreateImageResponseCode3? Type491 { get; set; } + public global::MagicHour.AiImageEditorCreateImageResponse2? Type491 { get; set; } /// /// /// - public global::MagicHour.AiHeadshotGeneratorCreateImageResponse5? Type492 { get; set; } + public global::MagicHour.AiImageEditorCreateImageResponseCode? Type492 { get; set; } /// /// /// - public global::MagicHour.AiHeadshotGeneratorCreateImageResponseCode4? Type493 { get; set; } + public global::MagicHour.AiImageEditorCreateImageResponse3? Type493 { get; set; } /// /// /// - public global::MagicHour.AiHeadshotGeneratorCreateImageResponse6? Type494 { get; set; } + public global::MagicHour.AiImageEditorCreateImageResponseCode2? Type494 { get; set; } /// /// /// - public global::MagicHour.AiHeadshotGeneratorCreateImageResponseCode5? Type495 { get; set; } + public global::MagicHour.AiImageEditorCreateImageResponse4? Type495 { get; set; } /// /// /// - public global::MagicHour.AiHeadshotGeneratorCreateImageResponse7? Type496 { get; set; } + public global::MagicHour.AiImageEditorCreateImageResponseCode3? Type496 { get; set; } /// /// /// - public global::MagicHour.AiHeadshotGeneratorCreateImageResponseCode6? Type497 { get; set; } + public global::MagicHour.AiImageEditorCreateImageResponse5? Type497 { get; set; } /// /// /// - public global::MagicHour.AiImageGeneratorCreateImageResponse? Type498 { get; set; } + public global::MagicHour.AiImageEditorCreateImageResponseCode4? Type498 { get; set; } /// /// /// - public global::MagicHour.AiImageGeneratorCreateImageResponse2? Type499 { get; set; } + public global::MagicHour.AiImageEditorCreateImageResponse6? Type499 { get; set; } /// /// /// - public global::MagicHour.AiImageGeneratorCreateImageResponseCode? Type500 { get; set; } + public global::MagicHour.AiImageEditorCreateImageResponseCode5? Type500 { get; set; } /// /// /// - public global::MagicHour.AiImageGeneratorCreateImageResponse3? Type501 { get; set; } + public global::MagicHour.AiImageEditorCreateImageResponse7? Type501 { get; set; } /// /// /// - public global::MagicHour.AiImageGeneratorCreateImageResponseCode2? Type502 { get; set; } + public global::MagicHour.AiImageEditorCreateImageResponseCode6? Type502 { get; set; } /// /// /// - public global::MagicHour.AiImageGeneratorCreateImageResponse4? Type503 { get; set; } + public global::MagicHour.AiHeadshotGeneratorCreateImageResponse? Type503 { get; set; } /// /// /// - public global::MagicHour.AiImageGeneratorCreateImageResponseCode3? Type504 { get; set; } + public global::MagicHour.AiHeadshotGeneratorCreateImageResponse2? Type504 { get; set; } /// /// /// - public global::MagicHour.AiImageGeneratorCreateImageResponse5? Type505 { get; set; } + public global::MagicHour.AiHeadshotGeneratorCreateImageResponseCode? Type505 { get; set; } /// /// /// - public global::MagicHour.AiImageGeneratorCreateImageResponseCode4? Type506 { get; set; } + public global::MagicHour.AiHeadshotGeneratorCreateImageResponse3? Type506 { get; set; } /// /// /// - public global::MagicHour.AiImageGeneratorCreateImageResponse6? Type507 { get; set; } + public global::MagicHour.AiHeadshotGeneratorCreateImageResponseCode2? Type507 { get; set; } /// /// /// - public global::MagicHour.AiImageGeneratorCreateImageResponseCode5? Type508 { get; set; } + public global::MagicHour.AiHeadshotGeneratorCreateImageResponse4? Type508 { get; set; } /// /// /// - public global::MagicHour.AiImageGeneratorCreateImageResponse7? Type509 { get; set; } + public global::MagicHour.AiHeadshotGeneratorCreateImageResponseCode3? Type509 { get; set; } /// /// /// - public global::MagicHour.AiImageGeneratorCreateImageResponseCode6? Type510 { get; set; } + public global::MagicHour.AiHeadshotGeneratorCreateImageResponse5? Type510 { get; set; } /// /// /// - public global::MagicHour.AiImageUpscalerCreateImageResponse? Type511 { get; set; } + public global::MagicHour.AiHeadshotGeneratorCreateImageResponseCode4? Type511 { get; set; } /// /// /// - public global::MagicHour.AiImageUpscalerCreateImageResponse2? Type512 { get; set; } + public global::MagicHour.AiHeadshotGeneratorCreateImageResponse6? Type512 { get; set; } /// /// /// - public global::MagicHour.AiImageUpscalerCreateImageResponseCode? Type513 { get; set; } + public global::MagicHour.AiHeadshotGeneratorCreateImageResponseCode5? Type513 { get; set; } /// /// /// - public global::MagicHour.AiImageUpscalerCreateImageResponse3? Type514 { get; set; } + public global::MagicHour.AiHeadshotGeneratorCreateImageResponse7? Type514 { get; set; } /// /// /// - public global::MagicHour.AiImageUpscalerCreateImageResponseCode2? Type515 { get; set; } + public global::MagicHour.AiHeadshotGeneratorCreateImageResponseCode6? Type515 { get; set; } /// /// /// - public global::MagicHour.AiImageUpscalerCreateImageResponse4? Type516 { get; set; } + public global::MagicHour.AiImageGeneratorCreateImageResponse? Type516 { get; set; } /// /// /// - public global::MagicHour.AiImageUpscalerCreateImageResponseCode3? Type517 { get; set; } + public global::MagicHour.AiImageGeneratorCreateImageResponse2? Type517 { get; set; } /// /// /// - public global::MagicHour.AiImageUpscalerCreateImageResponse5? Type518 { get; set; } + public global::MagicHour.AiImageGeneratorCreateImageResponseCode? Type518 { get; set; } /// /// /// - public global::MagicHour.AiImageUpscalerCreateImageResponseCode4? Type519 { get; set; } + public global::MagicHour.AiImageGeneratorCreateImageResponse3? Type519 { get; set; } /// /// /// - public global::MagicHour.AiImageUpscalerCreateImageResponse6? Type520 { get; set; } + public global::MagicHour.AiImageGeneratorCreateImageResponseCode2? Type520 { get; set; } /// /// /// - public global::MagicHour.AiImageUpscalerCreateImageResponseCode5? Type521 { get; set; } + public global::MagicHour.AiImageGeneratorCreateImageResponse4? Type521 { get; set; } /// /// /// - public global::MagicHour.AiImageUpscalerCreateImageResponse7? Type522 { get; set; } + public global::MagicHour.AiImageGeneratorCreateImageResponseCode3? Type522 { get; set; } /// /// /// - public global::MagicHour.AiImageUpscalerCreateImageResponseCode6? Type523 { get; set; } + public global::MagicHour.AiImageGeneratorCreateImageResponse5? Type523 { get; set; } /// /// /// - public global::MagicHour.AiMemeGeneratorCreateImageResponse? Type524 { get; set; } + public global::MagicHour.AiImageGeneratorCreateImageResponseCode4? Type524 { get; set; } /// /// /// - public global::MagicHour.AiMemeGeneratorCreateImageResponse2? Type525 { get; set; } + public global::MagicHour.AiImageGeneratorCreateImageResponse6? Type525 { get; set; } /// /// /// - public global::MagicHour.AiMemeGeneratorCreateImageResponseCode? Type526 { get; set; } + public global::MagicHour.AiImageGeneratorCreateImageResponseCode5? Type526 { get; set; } /// /// /// - public global::MagicHour.AiMemeGeneratorCreateImageResponse3? Type527 { get; set; } + public global::MagicHour.AiImageGeneratorCreateImageResponse7? Type527 { get; set; } /// /// /// - public global::MagicHour.AiMemeGeneratorCreateImageResponseCode2? Type528 { get; set; } + public global::MagicHour.AiImageGeneratorCreateImageResponseCode6? Type528 { get; set; } /// /// /// - public global::MagicHour.AiMemeGeneratorCreateImageResponse4? Type529 { get; set; } + public global::MagicHour.AiImageUpscalerCreateImageResponse? Type529 { get; set; } /// /// /// - public global::MagicHour.AiMemeGeneratorCreateImageResponseCode3? Type530 { get; set; } + public global::MagicHour.AiImageUpscalerCreateImageResponse2? Type530 { get; set; } /// /// /// - public global::MagicHour.AiMemeGeneratorCreateImageResponse5? Type531 { get; set; } + public global::MagicHour.AiImageUpscalerCreateImageResponseCode? Type531 { get; set; } /// /// /// - public global::MagicHour.AiMemeGeneratorCreateImageResponseCode4? Type532 { get; set; } + public global::MagicHour.AiImageUpscalerCreateImageResponse3? Type532 { get; set; } /// /// /// - public global::MagicHour.AiMemeGeneratorCreateImageResponse6? Type533 { get; set; } + public global::MagicHour.AiImageUpscalerCreateImageResponseCode2? Type533 { get; set; } /// /// /// - public global::MagicHour.AiMemeGeneratorCreateImageResponseCode5? Type534 { get; set; } + public global::MagicHour.AiImageUpscalerCreateImageResponse4? Type534 { get; set; } /// /// /// - public global::MagicHour.AiMemeGeneratorCreateImageResponse7? Type535 { get; set; } + public global::MagicHour.AiImageUpscalerCreateImageResponseCode3? Type535 { get; set; } /// /// /// - public global::MagicHour.AiMemeGeneratorCreateImageResponseCode6? Type536 { get; set; } + public global::MagicHour.AiImageUpscalerCreateImageResponse5? Type536 { get; set; } /// /// /// - public global::MagicHour.AiQrCodeGeneratorCreateImageResponse? Type537 { get; set; } + public global::MagicHour.AiImageUpscalerCreateImageResponseCode4? Type537 { get; set; } /// /// /// - public global::MagicHour.AiQrCodeGeneratorCreateImageResponse2? Type538 { get; set; } + public global::MagicHour.AiImageUpscalerCreateImageResponse6? Type538 { get; set; } /// /// /// - public global::MagicHour.AiQrCodeGeneratorCreateImageResponseCode? Type539 { get; set; } + public global::MagicHour.AiImageUpscalerCreateImageResponseCode5? Type539 { get; set; } /// /// /// - public global::MagicHour.AiQrCodeGeneratorCreateImageResponse3? Type540 { get; set; } + public global::MagicHour.AiImageUpscalerCreateImageResponse7? Type540 { get; set; } /// /// /// - public global::MagicHour.AiQrCodeGeneratorCreateImageResponseCode2? Type541 { get; set; } + public global::MagicHour.AiImageUpscalerCreateImageResponseCode6? Type541 { get; set; } /// /// /// - public global::MagicHour.AiQrCodeGeneratorCreateImageResponse4? Type542 { get; set; } + public global::MagicHour.AiMemeGeneratorCreateImageResponse? Type542 { get; set; } /// /// /// - public global::MagicHour.AiQrCodeGeneratorCreateImageResponseCode3? Type543 { get; set; } + public global::MagicHour.AiMemeGeneratorCreateImageResponse2? Type543 { get; set; } /// /// /// - public global::MagicHour.AiQrCodeGeneratorCreateImageResponse5? Type544 { get; set; } + public global::MagicHour.AiMemeGeneratorCreateImageResponseCode? Type544 { get; set; } /// /// /// - public global::MagicHour.AiQrCodeGeneratorCreateImageResponseCode4? Type545 { get; set; } + public global::MagicHour.AiMemeGeneratorCreateImageResponse3? Type545 { get; set; } /// /// /// - public global::MagicHour.AiQrCodeGeneratorCreateImageResponse6? Type546 { get; set; } + public global::MagicHour.AiMemeGeneratorCreateImageResponseCode2? Type546 { get; set; } /// /// /// - public global::MagicHour.AiQrCodeGeneratorCreateImageResponseCode5? Type547 { get; set; } + public global::MagicHour.AiMemeGeneratorCreateImageResponse4? Type547 { get; set; } /// /// /// - public global::MagicHour.AiQrCodeGeneratorCreateImageResponse7? Type548 { get; set; } + public global::MagicHour.AiMemeGeneratorCreateImageResponseCode3? Type548 { get; set; } /// /// /// - public global::MagicHour.AiQrCodeGeneratorCreateImageResponseCode6? Type549 { get; set; } + public global::MagicHour.AiMemeGeneratorCreateImageResponse5? Type549 { get; set; } /// /// /// - public global::MagicHour.BodySwapCreateImageResponse? Type550 { get; set; } + public global::MagicHour.AiMemeGeneratorCreateImageResponseCode4? Type550 { get; set; } /// /// /// - public global::MagicHour.BodySwapCreateImageResponse2? Type551 { get; set; } + public global::MagicHour.AiMemeGeneratorCreateImageResponse6? Type551 { get; set; } /// /// /// - public global::MagicHour.BodySwapCreateImageResponseCode? Type552 { get; set; } + public global::MagicHour.AiMemeGeneratorCreateImageResponseCode5? Type552 { get; set; } /// /// /// - public global::MagicHour.BodySwapCreateImageResponse3? Type553 { get; set; } + public global::MagicHour.AiMemeGeneratorCreateImageResponse7? Type553 { get; set; } /// /// /// - public global::MagicHour.BodySwapCreateImageResponseCode2? Type554 { get; set; } + public global::MagicHour.AiMemeGeneratorCreateImageResponseCode6? Type554 { get; set; } /// /// /// - public global::MagicHour.BodySwapCreateImageResponse4? Type555 { get; set; } + public global::MagicHour.AiQrCodeGeneratorCreateImageResponse? Type555 { get; set; } /// /// /// - public global::MagicHour.BodySwapCreateImageResponseCode3? Type556 { get; set; } + public global::MagicHour.AiQrCodeGeneratorCreateImageResponse2? Type556 { get; set; } /// /// /// - public global::MagicHour.BodySwapCreateImageResponse5? Type557 { get; set; } + public global::MagicHour.AiQrCodeGeneratorCreateImageResponseCode? Type557 { get; set; } /// /// /// - public global::MagicHour.BodySwapCreateImageResponseCode4? Type558 { get; set; } + public global::MagicHour.AiQrCodeGeneratorCreateImageResponse3? Type558 { get; set; } /// /// /// - public global::MagicHour.BodySwapCreateImageResponse6? Type559 { get; set; } + public global::MagicHour.AiQrCodeGeneratorCreateImageResponseCode2? Type559 { get; set; } /// /// /// - public global::MagicHour.BodySwapCreateImageResponseCode5? Type560 { get; set; } + public global::MagicHour.AiQrCodeGeneratorCreateImageResponse4? Type560 { get; set; } /// /// /// - public global::MagicHour.BodySwapCreateImageResponse7? Type561 { get; set; } + public global::MagicHour.AiQrCodeGeneratorCreateImageResponseCode3? Type561 { get; set; } /// /// /// - public global::MagicHour.BodySwapCreateImageResponseCode6? Type562 { get; set; } + public global::MagicHour.AiQrCodeGeneratorCreateImageResponse5? Type562 { get; set; } /// /// /// - public global::MagicHour.FaceSwapPhotoCreateImageResponse? Type563 { get; set; } + public global::MagicHour.AiQrCodeGeneratorCreateImageResponseCode4? Type563 { get; set; } /// /// /// - public global::MagicHour.FaceSwapPhotoCreateImageResponse2? Type564 { get; set; } + public global::MagicHour.AiQrCodeGeneratorCreateImageResponse6? Type564 { get; set; } /// /// /// - public global::MagicHour.FaceSwapPhotoCreateImageResponseCode? Type565 { get; set; } + public global::MagicHour.AiQrCodeGeneratorCreateImageResponseCode5? Type565 { get; set; } /// /// /// - public global::MagicHour.FaceSwapPhotoCreateImageResponse3? Type566 { get; set; } + public global::MagicHour.AiQrCodeGeneratorCreateImageResponse7? Type566 { get; set; } /// /// /// - public global::MagicHour.FaceSwapPhotoCreateImageResponseCode2? Type567 { get; set; } + public global::MagicHour.AiQrCodeGeneratorCreateImageResponseCode6? Type567 { get; set; } /// /// /// - public global::MagicHour.FaceSwapPhotoCreateImageResponse4? Type568 { get; set; } + public global::MagicHour.BodySwapCreateImageResponse? Type568 { get; set; } /// /// /// - public global::MagicHour.FaceSwapPhotoCreateImageResponseCode3? Type569 { get; set; } + public global::MagicHour.BodySwapCreateImageResponse2? Type569 { get; set; } /// /// /// - public global::MagicHour.FaceSwapPhotoCreateImageResponse5? Type570 { get; set; } + public global::MagicHour.BodySwapCreateImageResponseCode? Type570 { get; set; } /// /// /// - public global::MagicHour.FaceSwapPhotoCreateImageResponseCode4? Type571 { get; set; } + public global::MagicHour.BodySwapCreateImageResponse3? Type571 { get; set; } /// /// /// - public global::MagicHour.FaceSwapPhotoCreateImageResponse6? Type572 { get; set; } + public global::MagicHour.BodySwapCreateImageResponseCode2? Type572 { get; set; } /// /// /// - public global::MagicHour.FaceSwapPhotoCreateImageResponseCode5? Type573 { get; set; } + public global::MagicHour.BodySwapCreateImageResponse4? Type573 { get; set; } /// /// /// - public global::MagicHour.FaceSwapPhotoCreateImageResponse7? Type574 { get; set; } + public global::MagicHour.BodySwapCreateImageResponseCode3? Type574 { get; set; } /// /// /// - public global::MagicHour.FaceSwapPhotoCreateImageResponseCode6? Type575 { get; set; } + public global::MagicHour.BodySwapCreateImageResponse5? Type575 { get; set; } /// /// /// - public global::MagicHour.HeadSwapCreateImageResponse? Type576 { get; set; } + public global::MagicHour.BodySwapCreateImageResponseCode4? Type576 { get; set; } /// /// /// - public global::MagicHour.HeadSwapCreateImageResponse2? Type577 { get; set; } + public global::MagicHour.BodySwapCreateImageResponse6? Type577 { get; set; } /// /// /// - public global::MagicHour.HeadSwapCreateImageResponseCode? Type578 { get; set; } + public global::MagicHour.BodySwapCreateImageResponseCode5? Type578 { get; set; } /// /// /// - public global::MagicHour.HeadSwapCreateImageResponse3? Type579 { get; set; } + public global::MagicHour.BodySwapCreateImageResponse7? Type579 { get; set; } /// /// /// - public global::MagicHour.HeadSwapCreateImageResponseCode2? Type580 { get; set; } + public global::MagicHour.BodySwapCreateImageResponseCode6? Type580 { get; set; } /// /// /// - public global::MagicHour.HeadSwapCreateImageResponse4? Type581 { get; set; } + public global::MagicHour.FaceSwapPhotoCreateImageResponse? Type581 { get; set; } /// /// /// - public global::MagicHour.HeadSwapCreateImageResponseCode3? Type582 { get; set; } + public global::MagicHour.FaceSwapPhotoCreateImageResponse2? Type582 { get; set; } /// /// /// - public global::MagicHour.HeadSwapCreateImageResponse5? Type583 { get; set; } + public global::MagicHour.FaceSwapPhotoCreateImageResponseCode? Type583 { get; set; } /// /// /// - public global::MagicHour.HeadSwapCreateImageResponseCode4? Type584 { get; set; } + public global::MagicHour.FaceSwapPhotoCreateImageResponse3? Type584 { get; set; } /// /// /// - public global::MagicHour.HeadSwapCreateImageResponse6? Type585 { get; set; } + public global::MagicHour.FaceSwapPhotoCreateImageResponseCode2? Type585 { get; set; } /// /// /// - public global::MagicHour.HeadSwapCreateImageResponseCode5? Type586 { get; set; } + public global::MagicHour.FaceSwapPhotoCreateImageResponse4? Type586 { get; set; } /// /// /// - public global::MagicHour.HeadSwapCreateImageResponse7? Type587 { get; set; } + public global::MagicHour.FaceSwapPhotoCreateImageResponseCode3? Type587 { get; set; } /// /// /// - public global::MagicHour.HeadSwapCreateImageResponseCode6? Type588 { get; set; } + public global::MagicHour.FaceSwapPhotoCreateImageResponse5? Type588 { get; set; } /// /// /// - public global::MagicHour.ImageBackgroundRemoverCreateImageResponse? Type589 { get; set; } + public global::MagicHour.FaceSwapPhotoCreateImageResponseCode4? Type589 { get; set; } /// /// /// - public global::MagicHour.ImageBackgroundRemoverCreateImageResponse2? Type590 { get; set; } + public global::MagicHour.FaceSwapPhotoCreateImageResponse6? Type590 { get; set; } /// /// /// - public global::MagicHour.ImageBackgroundRemoverCreateImageResponseCode? Type591 { get; set; } + public global::MagicHour.FaceSwapPhotoCreateImageResponseCode5? Type591 { get; set; } /// /// /// - public global::MagicHour.ImageBackgroundRemoverCreateImageResponse3? Type592 { get; set; } + public global::MagicHour.FaceSwapPhotoCreateImageResponse7? Type592 { get; set; } /// /// /// - public global::MagicHour.ImageBackgroundRemoverCreateImageResponseCode2? Type593 { get; set; } + public global::MagicHour.FaceSwapPhotoCreateImageResponseCode6? Type593 { get; set; } /// /// /// - public global::MagicHour.ImageBackgroundRemoverCreateImageResponse4? Type594 { get; set; } + public global::MagicHour.HeadSwapCreateImageResponse? Type594 { get; set; } /// /// /// - public global::MagicHour.ImageBackgroundRemoverCreateImageResponseCode3? Type595 { get; set; } + public global::MagicHour.HeadSwapCreateImageResponse2? Type595 { get; set; } /// /// /// - public global::MagicHour.ImageBackgroundRemoverCreateImageResponse5? Type596 { get; set; } + public global::MagicHour.HeadSwapCreateImageResponseCode? Type596 { get; set; } /// /// /// - public global::MagicHour.ImageBackgroundRemoverCreateImageResponseCode4? Type597 { get; set; } + public global::MagicHour.HeadSwapCreateImageResponse3? Type597 { get; set; } /// /// /// - public global::MagicHour.ImageBackgroundRemoverCreateImageResponse6? Type598 { get; set; } + public global::MagicHour.HeadSwapCreateImageResponseCode2? Type598 { get; set; } /// /// /// - public global::MagicHour.ImageBackgroundRemoverCreateImageResponseCode5? Type599 { get; set; } + public global::MagicHour.HeadSwapCreateImageResponse4? Type599 { get; set; } /// /// /// - public global::MagicHour.ImageBackgroundRemoverCreateImageResponse7? Type600 { get; set; } + public global::MagicHour.HeadSwapCreateImageResponseCode3? Type600 { get; set; } /// /// /// - public global::MagicHour.ImageBackgroundRemoverCreateImageResponseCode6? Type601 { get; set; } + public global::MagicHour.HeadSwapCreateImageResponse5? Type601 { get; set; } /// /// /// - public global::MagicHour.PhotoColorizerCreateImageResponse? Type602 { get; set; } + public global::MagicHour.HeadSwapCreateImageResponseCode4? Type602 { get; set; } /// /// /// - public global::MagicHour.PhotoColorizerCreateImageResponse2? Type603 { get; set; } + public global::MagicHour.HeadSwapCreateImageResponse6? Type603 { get; set; } /// /// /// - public global::MagicHour.PhotoColorizerCreateImageResponseCode? Type604 { get; set; } + public global::MagicHour.HeadSwapCreateImageResponseCode5? Type604 { get; set; } /// /// /// - public global::MagicHour.PhotoColorizerCreateImageResponse3? Type605 { get; set; } + public global::MagicHour.HeadSwapCreateImageResponse7? Type605 { get; set; } /// /// /// - public global::MagicHour.PhotoColorizerCreateImageResponseCode2? Type606 { get; set; } + public global::MagicHour.HeadSwapCreateImageResponseCode6? Type606 { get; set; } /// /// /// - public global::MagicHour.PhotoColorizerCreateImageResponse4? Type607 { get; set; } + public global::MagicHour.ImageBackgroundRemoverCreateImageResponse? Type607 { get; set; } /// /// /// - public global::MagicHour.PhotoColorizerCreateImageResponseCode3? Type608 { get; set; } + public global::MagicHour.ImageBackgroundRemoverCreateImageResponse2? Type608 { get; set; } /// /// /// - public global::MagicHour.PhotoColorizerCreateImageResponse5? Type609 { get; set; } + public global::MagicHour.ImageBackgroundRemoverCreateImageResponseCode? Type609 { get; set; } /// /// /// - public global::MagicHour.PhotoColorizerCreateImageResponseCode4? Type610 { get; set; } + public global::MagicHour.ImageBackgroundRemoverCreateImageResponse3? Type610 { get; set; } /// /// /// - public global::MagicHour.PhotoColorizerCreateImageResponse6? Type611 { get; set; } + public global::MagicHour.ImageBackgroundRemoverCreateImageResponseCode2? Type611 { get; set; } /// /// /// - public global::MagicHour.PhotoColorizerCreateImageResponseCode5? Type612 { get; set; } + public global::MagicHour.ImageBackgroundRemoverCreateImageResponse4? Type612 { get; set; } /// /// /// - public global::MagicHour.PhotoColorizerCreateImageResponse7? Type613 { get; set; } + public global::MagicHour.ImageBackgroundRemoverCreateImageResponseCode3? Type613 { get; set; } /// /// /// - public global::MagicHour.PhotoColorizerCreateImageResponseCode6? Type614 { get; set; } + public global::MagicHour.ImageBackgroundRemoverCreateImageResponse5? Type614 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsGetDetailsResponse? Type615 { get; set; } + public global::MagicHour.ImageBackgroundRemoverCreateImageResponseCode4? Type615 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsGetDetailsResponseStatus? Type616 { get; set; } + public global::MagicHour.ImageBackgroundRemoverCreateImageResponse6? Type616 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type617 { get; set; } + public global::MagicHour.ImageBackgroundRemoverCreateImageResponseCode5? Type617 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsGetDetailsResponseDownload? Type618 { get; set; } + public global::MagicHour.ImageBackgroundRemoverCreateImageResponse7? Type618 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsGetDetailsResponseError? Type619 { get; set; } + public global::MagicHour.ImageBackgroundRemoverCreateImageResponseCode6? Type619 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsGetDetailsResponse2? Type620 { get; set; } + public global::MagicHour.PhotoColorizerCreateImageResponse? Type620 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsGetDetailsResponseCode? Type621 { get; set; } + public global::MagicHour.PhotoColorizerCreateImageResponse2? Type621 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsGetDetailsResponse3? Type622 { get; set; } + public global::MagicHour.PhotoColorizerCreateImageResponseCode? Type622 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsGetDetailsResponseCode2? Type623 { get; set; } + public global::MagicHour.PhotoColorizerCreateImageResponse3? Type623 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsGetDetailsResponse4? Type624 { get; set; } + public global::MagicHour.PhotoColorizerCreateImageResponseCode2? Type624 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsGetDetailsResponseCode3? Type625 { get; set; } + public global::MagicHour.PhotoColorizerCreateImageResponse4? Type625 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsGetDetailsResponse5? Type626 { get; set; } + public global::MagicHour.PhotoColorizerCreateImageResponseCode3? Type626 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsGetDetailsResponseCode4? Type627 { get; set; } + public global::MagicHour.PhotoColorizerCreateImageResponse5? Type627 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsGetDetailsResponse6? Type628 { get; set; } + public global::MagicHour.PhotoColorizerCreateImageResponseCode4? Type628 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsGetDetailsResponseCode5? Type629 { get; set; } + public global::MagicHour.PhotoColorizerCreateImageResponse6? Type629 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsDeleteResponse? Type630 { get; set; } + public global::MagicHour.PhotoColorizerCreateImageResponseCode5? Type630 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsDeleteResponseCode? Type631 { get; set; } + public global::MagicHour.PhotoColorizerCreateImageResponse7? Type631 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsDeleteResponse2? Type632 { get; set; } + public global::MagicHour.PhotoColorizerCreateImageResponseCode6? Type632 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsDeleteResponseCode2? Type633 { get; set; } + public global::MagicHour.AudioProjectsGetDetailsResponse? Type633 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsDeleteResponse3? Type634 { get; set; } + public global::MagicHour.AudioProjectsGetDetailsResponseStatus? Type634 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsDeleteResponseCode3? Type635 { get; set; } + public global::System.Collections.Generic.IList? Type635 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsDeleteResponse4? Type636 { get; set; } + public global::MagicHour.AudioProjectsGetDetailsResponseDownload? Type636 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsDeleteResponseCode4? Type637 { get; set; } + public global::MagicHour.AudioProjectsGetDetailsResponseError? Type637 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsDeleteResponse5? Type638 { get; set; } + public global::MagicHour.AudioProjectsGetDetailsResponse2? Type638 { get; set; } /// /// /// - public global::MagicHour.AudioProjectsDeleteResponseCode5? Type639 { get; set; } + public global::MagicHour.AudioProjectsGetDetailsResponseCode? Type639 { get; set; } /// /// /// - public global::MagicHour.AiVoiceGeneratorCreateAudioResponse? Type640 { get; set; } + public global::MagicHour.AudioProjectsGetDetailsResponse3? Type640 { get; set; } /// /// /// - public global::MagicHour.AiVoiceGeneratorCreateAudioResponse2? Type641 { get; set; } + public global::MagicHour.AudioProjectsGetDetailsResponseCode2? Type641 { get; set; } /// /// /// - public global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode? Type642 { get; set; } + public global::MagicHour.AudioProjectsGetDetailsResponse4? Type642 { get; set; } /// /// /// - public global::MagicHour.AiVoiceGeneratorCreateAudioResponse3? Type643 { get; set; } + public global::MagicHour.AudioProjectsGetDetailsResponseCode3? Type643 { get; set; } /// /// /// - public global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2? Type644 { get; set; } + public global::MagicHour.AudioProjectsGetDetailsResponse5? Type644 { get; set; } /// /// /// - public global::MagicHour.AiVoiceGeneratorCreateAudioResponse4? Type645 { get; set; } + public global::MagicHour.AudioProjectsGetDetailsResponseCode4? Type645 { get; set; } /// /// /// - public global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3? Type646 { get; set; } + public global::MagicHour.AudioProjectsGetDetailsResponse6? Type646 { get; set; } /// /// /// - public global::MagicHour.AiVoiceGeneratorCreateAudioResponse5? Type647 { get; set; } + public global::MagicHour.AudioProjectsGetDetailsResponseCode5? Type647 { get; set; } /// /// /// - public global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4? Type648 { get; set; } + public global::MagicHour.AudioProjectsDeleteResponse? Type648 { get; set; } /// /// /// - public global::MagicHour.AiVoiceGeneratorCreateAudioResponse6? Type649 { get; set; } + public global::MagicHour.AudioProjectsDeleteResponseCode? Type649 { get; set; } /// /// /// - public global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5? Type650 { get; set; } + public global::MagicHour.AudioProjectsDeleteResponse2? Type650 { get; set; } /// /// /// - public global::MagicHour.AiVoiceGeneratorCreateAudioResponse7? Type651 { get; set; } + public global::MagicHour.AudioProjectsDeleteResponseCode2? Type651 { get; set; } /// /// /// - public global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6? Type652 { get; set; } + public global::MagicHour.AudioProjectsDeleteResponse3? Type652 { get; set; } /// /// /// - public global::MagicHour.AiVoiceClonerCreateAudioResponse? Type653 { get; set; } + public global::MagicHour.AudioProjectsDeleteResponseCode3? Type653 { get; set; } /// /// /// - public global::MagicHour.AiVoiceClonerCreateAudioResponse2? Type654 { get; set; } + public global::MagicHour.AudioProjectsDeleteResponse4? Type654 { get; set; } /// /// /// - public global::MagicHour.AiVoiceClonerCreateAudioResponseCode? Type655 { get; set; } + public global::MagicHour.AudioProjectsDeleteResponseCode4? Type655 { get; set; } /// /// /// - public global::MagicHour.AiVoiceClonerCreateAudioResponse3? Type656 { get; set; } + public global::MagicHour.AudioProjectsDeleteResponse5? Type656 { get; set; } /// /// /// - public global::MagicHour.AiVoiceClonerCreateAudioResponseCode2? Type657 { get; set; } + public global::MagicHour.AudioProjectsDeleteResponseCode5? Type657 { get; set; } /// /// /// - public global::MagicHour.AiVoiceClonerCreateAudioResponse4? Type658 { get; set; } + public global::MagicHour.AiMusicGeneratorCreateAudioResponse? Type658 { get; set; } /// /// /// - public global::MagicHour.AiVoiceClonerCreateAudioResponseCode3? Type659 { get; set; } + public global::MagicHour.AiMusicGeneratorCreateAudioResponse2? Type659 { get; set; } /// /// /// - public global::MagicHour.AiVoiceClonerCreateAudioResponse5? Type660 { get; set; } + public global::MagicHour.AiMusicGeneratorCreateAudioResponseCode? Type660 { get; set; } /// /// /// - public global::MagicHour.AiVoiceClonerCreateAudioResponseCode4? Type661 { get; set; } + public global::MagicHour.AiMusicGeneratorCreateAudioResponse3? Type661 { get; set; } /// /// /// - public global::MagicHour.AiVoiceClonerCreateAudioResponse6? Type662 { get; set; } + public global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2? Type662 { get; set; } /// /// /// - public global::MagicHour.AiVoiceClonerCreateAudioResponseCode5? Type663 { get; set; } + public global::MagicHour.AiMusicGeneratorCreateAudioResponse4? Type663 { get; set; } /// /// /// - public global::MagicHour.AiVoiceClonerCreateAudioResponse7? Type664 { get; set; } + public global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3? Type664 { get; set; } /// /// /// - public global::MagicHour.AiVoiceClonerCreateAudioResponseCode6? Type665 { get; set; } + public global::MagicHour.AiMusicGeneratorCreateAudioResponse5? Type665 { get; set; } + /// + /// + /// + public global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4? Type666 { get; set; } + /// + /// + /// + public global::MagicHour.AiMusicGeneratorCreateAudioResponse6? Type667 { get; set; } + /// + /// + /// + public global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5? Type668 { get; set; } + /// + /// + /// + public global::MagicHour.AiMusicGeneratorCreateAudioResponse7? Type669 { get; set; } + /// + /// + /// + public global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6? Type670 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceClonerCreateAudioResponse? Type671 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceClonerCreateAudioResponse2? Type672 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceClonerCreateAudioResponseCode? Type673 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceClonerCreateAudioResponse3? Type674 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceClonerCreateAudioResponseCode2? Type675 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceClonerCreateAudioResponse4? Type676 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceClonerCreateAudioResponseCode3? Type677 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceClonerCreateAudioResponse5? Type678 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceClonerCreateAudioResponseCode4? Type679 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceClonerCreateAudioResponse6? Type680 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceClonerCreateAudioResponseCode5? Type681 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceClonerCreateAudioResponse7? Type682 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceClonerCreateAudioResponseCode6? Type683 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceGeneratorCreateAudioResponse? Type684 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceGeneratorCreateAudioResponse2? Type685 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode? Type686 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceGeneratorCreateAudioResponse3? Type687 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode2? Type688 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceGeneratorCreateAudioResponse4? Type689 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode3? Type690 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceGeneratorCreateAudioResponse5? Type691 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode4? Type692 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceGeneratorCreateAudioResponse6? Type693 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode5? Type694 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceGeneratorCreateAudioResponse7? Type695 { get; set; } + /// + /// + /// + public global::MagicHour.AiVoiceGeneratorCreateAudioResponseCode6? Type696 { get; set; } /// /// diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioRequest.Json.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioRequest.Json.g.cs new file mode 100644 index 0000000..23e7da0 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioRequest.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace MagicHour +{ + public sealed partial class AiMusicGeneratorCreateAudioRequest + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::MagicHour.AiMusicGeneratorCreateAudioRequest? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::MagicHour.AiMusicGeneratorCreateAudioRequest), + jsonSerializerContext) as global::MagicHour.AiMusicGeneratorCreateAudioRequest; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::MagicHour.AiMusicGeneratorCreateAudioRequest? FromJson( + string json) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::MagicHour.AiMusicGeneratorCreateAudioRequest? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::MagicHour.AiMusicGeneratorCreateAudioRequest), + jsonSerializerContext).ConfigureAwait(false)) as global::MagicHour.AiMusicGeneratorCreateAudioRequest; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioRequest.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioRequest.g.cs new file mode 100644 index 0000000..83f6aa7 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioRequest.g.cs @@ -0,0 +1,76 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// + /// + public sealed partial class AiMusicGeneratorCreateAudioRequest + { + /// + /// Give your audio a custom name for easy identification.
+ /// Default Value: AI Music Generator
+ /// Example: My Music Generator audio + ///
+ /// My Music Generator audio + [global::System.Text.Json.Serialization.JsonPropertyName("name")] + public string? Name { get; set; } + + /// + /// Requested track duration in seconds, from 15 to 300. Determines credits charged.
+ /// Example: 120 + ///
+ /// 120 + [global::System.Text.Json.Serialization.JsonPropertyName("duration")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int Duration { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("style")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::MagicHour.AiMusicGeneratorCreateAudioRequestStyle Style { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Requested track duration in seconds, from 15 to 300. Determines credits charged.
+ /// Example: 120 + /// + /// + /// + /// Give your audio a custom name for easy identification.
+ /// Default Value: AI Music Generator
+ /// Example: My Music Generator audio + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public AiMusicGeneratorCreateAudioRequest( + int duration, + global::MagicHour.AiMusicGeneratorCreateAudioRequestStyle style, + string? name) + { + this.Name = name; + this.Duration = duration; + this.Style = style ?? throw new global::System.ArgumentNullException(nameof(style)); + } + + /// + /// Initializes a new instance of the class. + /// + public AiMusicGeneratorCreateAudioRequest() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioRequestStyle.Json.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioRequestStyle.Json.g.cs new file mode 100644 index 0000000..7112279 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioRequestStyle.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace MagicHour +{ + public sealed partial class AiMusicGeneratorCreateAudioRequestStyle + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::MagicHour.AiMusicGeneratorCreateAudioRequestStyle? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::MagicHour.AiMusicGeneratorCreateAudioRequestStyle), + jsonSerializerContext) as global::MagicHour.AiMusicGeneratorCreateAudioRequestStyle; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::MagicHour.AiMusicGeneratorCreateAudioRequestStyle? FromJson( + string json) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::MagicHour.AiMusicGeneratorCreateAudioRequestStyle? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::MagicHour.AiMusicGeneratorCreateAudioRequestStyle), + jsonSerializerContext).ConfigureAwait(false)) as global::MagicHour.AiMusicGeneratorCreateAudioRequestStyle; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioRequestStyle.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioRequestStyle.g.cs new file mode 100644 index 0000000..a2253ad --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioRequestStyle.g.cs @@ -0,0 +1,80 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// + /// + public sealed partial class AiMusicGeneratorCreateAudioRequestStyle + { + /// + /// Describe the song, including genre, mood, and instruments.
+ /// Example: Dreamy synthwave with warm bass and soft vocals + ///
+ /// Dreamy synthwave with warm bass and soft vocals + [global::System.Text.Json.Serialization.JsonPropertyName("prompt")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Prompt { get; set; } + + /// + /// Generate music without vocals. When true, lyrics is ignored.
+ /// Default Value: false
+ /// Example: false + ///
+ /// false + [global::System.Text.Json.Serialization.JsonPropertyName("instrumental")] + public bool? Instrumental { get; set; } + + /// + /// Custom lyrics. Omit or leave blank for AI-generated lyrics when instrumental is false.
+ /// Example: City lights are fading... + ///
+ /// City lights are fading... + [global::System.Text.Json.Serialization.JsonPropertyName("lyrics")] + public string? Lyrics { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Describe the song, including genre, mood, and instruments.
+ /// Example: Dreamy synthwave with warm bass and soft vocals + /// + /// + /// Generate music without vocals. When true, lyrics is ignored.
+ /// Default Value: false
+ /// Example: false + /// + /// + /// Custom lyrics. Omit or leave blank for AI-generated lyrics when instrumental is false.
+ /// Example: City lights are fading... + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public AiMusicGeneratorCreateAudioRequestStyle( + string prompt, + bool? instrumental, + string? lyrics) + { + this.Prompt = prompt ?? throw new global::System.ArgumentNullException(nameof(prompt)); + this.Instrumental = instrumental; + this.Lyrics = lyrics; + } + + /// + /// Initializes a new instance of the class. + /// + public AiMusicGeneratorCreateAudioRequestStyle() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse.Json.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse.Json.g.cs new file mode 100644 index 0000000..03ae707 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace MagicHour +{ + public sealed partial class AiMusicGeneratorCreateAudioResponse + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse), + jsonSerializerContext) as global::MagicHour.AiMusicGeneratorCreateAudioResponse; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse? FromJson( + string json) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse), + jsonSerializerContext).ConfigureAwait(false)) as global::MagicHour.AiMusicGeneratorCreateAudioResponse; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse.g.cs new file mode 100644 index 0000000..203a527 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse.g.cs @@ -0,0 +1,67 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// Success + /// + public sealed partial class AiMusicGeneratorCreateAudioResponse + { + /// + /// Unique ID of the audio. Use it with the [Get audio Project API](https://docs.magichour.ai/api-reference/audio-projects/get-audio-details) to fetch status and downloads.
+ /// Example: cuid-example + ///
+ /// cuid-example + [global::System.Text.Json.Serialization.JsonPropertyName("id")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Id { get; set; } + + /// + /// The amount of credits deducted from your account to generate the audio. We charge credits right when the request is made.
+ /// If an error occurred while generating the audio, credits will be refunded and this field will be updated to include the refund.
+ /// Example: 120 + ///
+ /// 120 + [global::System.Text.Json.Serialization.JsonPropertyName("credits_charged")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int CreditsCharged { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Unique ID of the audio. Use it with the [Get audio Project API](https://docs.magichour.ai/api-reference/audio-projects/get-audio-details) to fetch status and downloads.
+ /// Example: cuid-example + /// + /// + /// The amount of credits deducted from your account to generate the audio. We charge credits right when the request is made.
+ /// If an error occurred while generating the audio, credits will be refunded and this field will be updated to include the refund.
+ /// Example: 120 + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public AiMusicGeneratorCreateAudioResponse( + string id, + int creditsCharged) + { + this.Id = id ?? throw new global::System.ArgumentNullException(nameof(id)); + this.CreditsCharged = creditsCharged; + } + + /// + /// Initializes a new instance of the class. + /// + public AiMusicGeneratorCreateAudioResponse() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse2.Json.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse2.Json.g.cs new file mode 100644 index 0000000..5a7b4c5 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse2.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace MagicHour +{ + public sealed partial class AiMusicGeneratorCreateAudioResponse2 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse2? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse2), + jsonSerializerContext) as global::MagicHour.AiMusicGeneratorCreateAudioResponse2; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse2? FromJson( + string json) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse2? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse2), + jsonSerializerContext).ConfigureAwait(false)) as global::MagicHour.AiMusicGeneratorCreateAudioResponse2; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse2.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse2.g.cs new file mode 100644 index 0000000..7d8fa2c --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse2.g.cs @@ -0,0 +1,61 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// + /// + public sealed partial class AiMusicGeneratorCreateAudioResponse2 + { + /// + /// Machine-readable error code.
+ /// - `invalid_request`: Fix request syntax or validation errors before retrying. + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("code")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCodeJsonConverter))] + public global::MagicHour.AiMusicGeneratorCreateAudioResponseCode Code { get; set; } + + /// + /// Human-readable error message. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Human-readable error message. + /// + /// + /// Machine-readable error code.
+ /// - `invalid_request`: Fix request syntax or validation errors before retrying. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public AiMusicGeneratorCreateAudioResponse2( + string message, + global::MagicHour.AiMusicGeneratorCreateAudioResponseCode code) + { + this.Code = code; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + } + + /// + /// Initializes a new instance of the class. + /// + public AiMusicGeneratorCreateAudioResponse2() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse3.Json.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse3.Json.g.cs new file mode 100644 index 0000000..fa117d1 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse3.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace MagicHour +{ + public sealed partial class AiMusicGeneratorCreateAudioResponse3 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse3? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse3), + jsonSerializerContext) as global::MagicHour.AiMusicGeneratorCreateAudioResponse3; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse3? FromJson( + string json) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse3? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse3), + jsonSerializerContext).ConfigureAwait(false)) as global::MagicHour.AiMusicGeneratorCreateAudioResponse3; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse3.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse3.g.cs new file mode 100644 index 0000000..4c97e05 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse3.g.cs @@ -0,0 +1,61 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// + /// + public sealed partial class AiMusicGeneratorCreateAudioResponse3 + { + /// + /// Machine-readable error code.
+ /// - `unauthorized`: Provide a valid API key before retrying. + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("code")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode2JsonConverter))] + public global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2 Code { get; set; } + + /// + /// Human-readable error message. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Human-readable error message. + /// + /// + /// Machine-readable error code.
+ /// - `unauthorized`: Provide a valid API key before retrying. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public AiMusicGeneratorCreateAudioResponse3( + string message, + global::MagicHour.AiMusicGeneratorCreateAudioResponseCode2 code) + { + this.Code = code; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + } + + /// + /// Initializes a new instance of the class. + /// + public AiMusicGeneratorCreateAudioResponse3() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse4.Json.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse4.Json.g.cs new file mode 100644 index 0000000..b8a21e6 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse4.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace MagicHour +{ + public sealed partial class AiMusicGeneratorCreateAudioResponse4 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse4? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse4), + jsonSerializerContext) as global::MagicHour.AiMusicGeneratorCreateAudioResponse4; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse4? FromJson( + string json) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse4? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse4), + jsonSerializerContext).ConfigureAwait(false)) as global::MagicHour.AiMusicGeneratorCreateAudioResponse4; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse4.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse4.g.cs new file mode 100644 index 0000000..a9b74c2 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse4.g.cs @@ -0,0 +1,66 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// + /// + public sealed partial class AiMusicGeneratorCreateAudioResponse4 + { + /// + /// Machine-readable error code.
+ /// - `insufficient_credits`: Purchase credits before retrying.
+ /// - `subscription_required`: Start a subscription before retrying.
+ /// - `plan_upgrade_required`: Upgrade the subscription plan before retrying. + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("code")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode3JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3 Code { get; set; } + + /// + /// Human-readable error message. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Machine-readable error code.
+ /// - `insufficient_credits`: Purchase credits before retrying.
+ /// - `subscription_required`: Start a subscription before retrying.
+ /// - `plan_upgrade_required`: Upgrade the subscription plan before retrying. + /// + /// + /// Human-readable error message. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public AiMusicGeneratorCreateAudioResponse4( + global::MagicHour.AiMusicGeneratorCreateAudioResponseCode3 code, + string message) + { + this.Code = code; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + } + + /// + /// Initializes a new instance of the class. + /// + public AiMusicGeneratorCreateAudioResponse4() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse5.Json.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse5.Json.g.cs new file mode 100644 index 0000000..a2eb7e8 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse5.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace MagicHour +{ + public sealed partial class AiMusicGeneratorCreateAudioResponse5 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse5? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse5), + jsonSerializerContext) as global::MagicHour.AiMusicGeneratorCreateAudioResponse5; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse5? FromJson( + string json) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse5? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse5), + jsonSerializerContext).ConfigureAwait(false)) as global::MagicHour.AiMusicGeneratorCreateAudioResponse5; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse5.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse5.g.cs new file mode 100644 index 0000000..64006c2 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse5.g.cs @@ -0,0 +1,61 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// + /// + public sealed partial class AiMusicGeneratorCreateAudioResponse5 + { + /// + /// Machine-readable error code.
+ /// - `not_found`: Check the route or resource identifier. + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("code")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode4JsonConverter))] + public global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4 Code { get; set; } + + /// + /// Human-readable error message. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Human-readable error message. + /// + /// + /// Machine-readable error code.
+ /// - `not_found`: Check the route or resource identifier. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public AiMusicGeneratorCreateAudioResponse5( + string message, + global::MagicHour.AiMusicGeneratorCreateAudioResponseCode4 code) + { + this.Code = code; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + } + + /// + /// Initializes a new instance of the class. + /// + public AiMusicGeneratorCreateAudioResponse5() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse6.Json.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse6.Json.g.cs new file mode 100644 index 0000000..9b5df05 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse6.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace MagicHour +{ + public sealed partial class AiMusicGeneratorCreateAudioResponse6 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse6? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse6), + jsonSerializerContext) as global::MagicHour.AiMusicGeneratorCreateAudioResponse6; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse6? FromJson( + string json) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse6? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse6), + jsonSerializerContext).ConfigureAwait(false)) as global::MagicHour.AiMusicGeneratorCreateAudioResponse6; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse6.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse6.g.cs new file mode 100644 index 0000000..49a0dd5 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse6.g.cs @@ -0,0 +1,61 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// + /// + public sealed partial class AiMusicGeneratorCreateAudioResponse6 + { + /// + /// Machine-readable error code.
+ /// - `unprocessable_entity`: Change the request values before retrying. + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("code")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode5JsonConverter))] + public global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5 Code { get; set; } + + /// + /// Human-readable error message. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Human-readable error message. + /// + /// + /// Machine-readable error code.
+ /// - `unprocessable_entity`: Change the request values before retrying. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public AiMusicGeneratorCreateAudioResponse6( + string message, + global::MagicHour.AiMusicGeneratorCreateAudioResponseCode5 code) + { + this.Code = code; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + } + + /// + /// Initializes a new instance of the class. + /// + public AiMusicGeneratorCreateAudioResponse6() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse7.Json.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse7.Json.g.cs new file mode 100644 index 0000000..3e29816 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse7.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace MagicHour +{ + public sealed partial class AiMusicGeneratorCreateAudioResponse7 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse7? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse7), + jsonSerializerContext) as global::MagicHour.AiMusicGeneratorCreateAudioResponse7; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse7? FromJson( + string json) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::MagicHour.AiMusicGeneratorCreateAudioResponse7? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::MagicHour.AiMusicGeneratorCreateAudioResponse7), + jsonSerializerContext).ConfigureAwait(false)) as global::MagicHour.AiMusicGeneratorCreateAudioResponse7; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse7.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse7.g.cs new file mode 100644 index 0000000..0f957c0 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponse7.g.cs @@ -0,0 +1,61 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// + /// + public sealed partial class AiMusicGeneratorCreateAudioResponse7 + { + /// + /// Machine-readable error code.
+ /// - `internal_server_error`: Retry later or contact support if the error continues. + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("code")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::MagicHour.JsonConverters.AiMusicGeneratorCreateAudioResponseCode6JsonConverter))] + public global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6 Code { get; set; } + + /// + /// Human-readable error message. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Human-readable error message. + /// + /// + /// Machine-readable error code.
+ /// - `internal_server_error`: Retry later or contact support if the error continues. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public AiMusicGeneratorCreateAudioResponse7( + string message, + global::MagicHour.AiMusicGeneratorCreateAudioResponseCode6 code) + { + this.Code = code; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + } + + /// + /// Initializes a new instance of the class. + /// + public AiMusicGeneratorCreateAudioResponse7() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode.g.cs new file mode 100644 index 0000000..6f56bf3 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode.g.cs @@ -0,0 +1,46 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// Machine-readable error code.
+ /// - `invalid_request`: Fix request syntax or validation errors before retrying. + ///
+ public enum AiMusicGeneratorCreateAudioResponseCode + { + /// + /// Fix request syntax or validation errors before retrying. + /// + InvalidRequest, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class AiMusicGeneratorCreateAudioResponseCodeExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this AiMusicGeneratorCreateAudioResponseCode value) + { + return value switch + { + AiMusicGeneratorCreateAudioResponseCode.InvalidRequest => "invalid_request", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static AiMusicGeneratorCreateAudioResponseCode? ToEnum(string value) + { + return value switch + { + "invalid_request" => AiMusicGeneratorCreateAudioResponseCode.InvalidRequest, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode2.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode2.g.cs new file mode 100644 index 0000000..f73784d --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode2.g.cs @@ -0,0 +1,46 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// Machine-readable error code.
+ /// - `unauthorized`: Provide a valid API key before retrying. + ///
+ public enum AiMusicGeneratorCreateAudioResponseCode2 + { + /// + /// Provide a valid API key before retrying. + /// + Unauthorized, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class AiMusicGeneratorCreateAudioResponseCode2Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this AiMusicGeneratorCreateAudioResponseCode2 value) + { + return value switch + { + AiMusicGeneratorCreateAudioResponseCode2.Unauthorized => "unauthorized", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static AiMusicGeneratorCreateAudioResponseCode2? ToEnum(string value) + { + return value switch + { + "unauthorized" => AiMusicGeneratorCreateAudioResponseCode2.Unauthorized, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode3.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode3.g.cs new file mode 100644 index 0000000..1115c6b --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode3.g.cs @@ -0,0 +1,60 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// Machine-readable error code.
+ /// - `insufficient_credits`: Purchase credits before retrying.
+ /// - `subscription_required`: Start a subscription before retrying.
+ /// - `plan_upgrade_required`: Upgrade the subscription plan before retrying. + ///
+ public enum AiMusicGeneratorCreateAudioResponseCode3 + { + /// + /// Purchase credits before retrying. + /// + InsufficientCredits, + /// + /// Upgrade the subscription plan before retrying. + /// + PlanUpgradeRequired, + /// + /// Start a subscription before retrying. + /// + SubscriptionRequired, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class AiMusicGeneratorCreateAudioResponseCode3Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this AiMusicGeneratorCreateAudioResponseCode3 value) + { + return value switch + { + AiMusicGeneratorCreateAudioResponseCode3.InsufficientCredits => "insufficient_credits", + AiMusicGeneratorCreateAudioResponseCode3.PlanUpgradeRequired => "plan_upgrade_required", + AiMusicGeneratorCreateAudioResponseCode3.SubscriptionRequired => "subscription_required", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static AiMusicGeneratorCreateAudioResponseCode3? ToEnum(string value) + { + return value switch + { + "insufficient_credits" => AiMusicGeneratorCreateAudioResponseCode3.InsufficientCredits, + "plan_upgrade_required" => AiMusicGeneratorCreateAudioResponseCode3.PlanUpgradeRequired, + "subscription_required" => AiMusicGeneratorCreateAudioResponseCode3.SubscriptionRequired, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode4.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode4.g.cs new file mode 100644 index 0000000..5286fe2 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode4.g.cs @@ -0,0 +1,46 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// Machine-readable error code.
+ /// - `not_found`: Check the route or resource identifier. + ///
+ public enum AiMusicGeneratorCreateAudioResponseCode4 + { + /// + /// Check the route or resource identifier. + /// + NotFound, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class AiMusicGeneratorCreateAudioResponseCode4Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this AiMusicGeneratorCreateAudioResponseCode4 value) + { + return value switch + { + AiMusicGeneratorCreateAudioResponseCode4.NotFound => "not_found", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static AiMusicGeneratorCreateAudioResponseCode4? ToEnum(string value) + { + return value switch + { + "not_found" => AiMusicGeneratorCreateAudioResponseCode4.NotFound, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode5.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode5.g.cs new file mode 100644 index 0000000..f2ded43 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode5.g.cs @@ -0,0 +1,46 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// Machine-readable error code.
+ /// - `unprocessable_entity`: Change the request values before retrying. + ///
+ public enum AiMusicGeneratorCreateAudioResponseCode5 + { + /// + /// Change the request values before retrying. + /// + UnprocessableEntity, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class AiMusicGeneratorCreateAudioResponseCode5Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this AiMusicGeneratorCreateAudioResponseCode5 value) + { + return value switch + { + AiMusicGeneratorCreateAudioResponseCode5.UnprocessableEntity => "unprocessable_entity", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static AiMusicGeneratorCreateAudioResponseCode5? ToEnum(string value) + { + return value switch + { + "unprocessable_entity" => AiMusicGeneratorCreateAudioResponseCode5.UnprocessableEntity, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode6.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode6.g.cs new file mode 100644 index 0000000..8d4690b --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiMusicGeneratorCreateAudioResponseCode6.g.cs @@ -0,0 +1,46 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// Machine-readable error code.
+ /// - `internal_server_error`: Retry later or contact support if the error continues. + ///
+ public enum AiMusicGeneratorCreateAudioResponseCode6 + { + /// + /// Retry later or contact support if the error continues. + /// + InternalServerError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class AiMusicGeneratorCreateAudioResponseCode6Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this AiMusicGeneratorCreateAudioResponseCode6 value) + { + return value switch + { + AiMusicGeneratorCreateAudioResponseCode6.InternalServerError => "internal_server_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static AiMusicGeneratorCreateAudioResponseCode6? ToEnum(string value) + { + return value switch + { + "internal_server_error" => AiMusicGeneratorCreateAudioResponseCode6.InternalServerError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiUgcAdCreateVideoRequest.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiUgcAdCreateVideoRequest.g.cs index 6b7f863..ff89a0b 100644 --- a/src/libs/MagicHour/Generated/MagicHour.Models.AiUgcAdCreateVideoRequest.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiUgcAdCreateVideoRequest.g.cs @@ -18,7 +18,7 @@ public sealed partial class AiUgcAdCreateVideoRequest /// /// The words the actor should speak. Character limits apply after trimming:
/// * kling-3.0: 2500 characters.
- /// * ltx-2.5: 1981 characters.
+ /// * ltx-2.5: 1804 characters.
/// * veo3.1: 2500 characters.
/// LTX's dialogue wrapper counts toward its model prompt limit.
/// Example: Meet your new everyday essential. @@ -68,7 +68,7 @@ public sealed partial class AiUgcAdCreateVideoRequest /// /// The words the actor should speak. Character limits apply after trimming:
/// * kling-3.0: 2500 characters.
- /// * ltx-2.5: 1981 characters.
+ /// * ltx-2.5: 1804 characters.
/// * veo3.1: 2500 characters.
/// LTX's dialogue wrapper counts toward its model prompt limit.
/// Example: Meet your new everyday essential. diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequest.Json.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequest.Json.g.cs new file mode 100644 index 0000000..d7be174 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequest.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace MagicHour +{ + public sealed partial class AiVideoUpscalerCreateVideoRequest + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::MagicHour.AiVideoUpscalerCreateVideoRequest? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::MagicHour.AiVideoUpscalerCreateVideoRequest), + jsonSerializerContext) as global::MagicHour.AiVideoUpscalerCreateVideoRequest; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::MagicHour.AiVideoUpscalerCreateVideoRequest? FromJson( + string json) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::MagicHour.AiVideoUpscalerCreateVideoRequest? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::MagicHour.AiVideoUpscalerCreateVideoRequest), + jsonSerializerContext).ConfigureAwait(false)) as global::MagicHour.AiVideoUpscalerCreateVideoRequest; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequest.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequest.g.cs new file mode 100644 index 0000000..a3d683b --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequest.g.cs @@ -0,0 +1,110 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// + /// + public sealed partial class AiVideoUpscalerCreateVideoRequest + { + /// + /// Give your video a custom name for easy identification.
+ /// Default Value: Video Upscaler - dateTime
+ /// Example: My Video Upscaler video + ///
+ /// My Video Upscaler video + [global::System.Text.Json.Serialization.JsonPropertyName("name")] + public string? Name { get; set; } + + /// + /// Start time of your clip (seconds). Must be ≥ 0.
+ /// Default Value: 0
+ /// Example: 0 + ///
+ /// 0 + [global::System.Text.Json.Serialization.JsonPropertyName("start_seconds")] + public float? StartSeconds { get; set; } + + /// + /// End time of your clip (seconds). Must be greater than start_seconds.
+ /// Example: 5 + ///
+ /// 5 + [global::System.Text.Json.Serialization.JsonPropertyName("end_seconds")] + [global::System.Text.Json.Serialization.JsonRequired] + public required float EndSeconds { get; set; } + + /// + /// Output resolution. `720p` and `1080p` set the output's short side, `2k` and `4k` its long side; the aspect ratio is kept. Requires a paid plan.
+ /// Example: 1080p + ///
+ /// 1080p + [global::System.Text.Json.Serialization.JsonPropertyName("resolution")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoRequestResolutionJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::MagicHour.AiVideoUpscalerCreateVideoRequestResolution Resolution { get; set; } + + /// + /// Source video for the upscale job. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("assets")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::MagicHour.AiVideoUpscalerCreateVideoRequestAssets Assets { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// End time of your clip (seconds). Must be greater than start_seconds.
+ /// Example: 5 + /// + /// + /// Output resolution. `720p` and `1080p` set the output's short side, `2k` and `4k` its long side; the aspect ratio is kept. Requires a paid plan.
+ /// Example: 1080p + /// + /// + /// Source video for the upscale job. + /// + /// + /// Give your video a custom name for easy identification.
+ /// Default Value: Video Upscaler - dateTime
+ /// Example: My Video Upscaler video + /// + /// + /// Start time of your clip (seconds). Must be ≥ 0.
+ /// Default Value: 0
+ /// Example: 0 + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public AiVideoUpscalerCreateVideoRequest( + float endSeconds, + global::MagicHour.AiVideoUpscalerCreateVideoRequestResolution resolution, + global::MagicHour.AiVideoUpscalerCreateVideoRequestAssets assets, + string? name, + float? startSeconds) + { + this.Name = name; + this.StartSeconds = startSeconds; + this.EndSeconds = endSeconds; + this.Resolution = resolution; + this.Assets = assets ?? throw new global::System.ArgumentNullException(nameof(assets)); + } + + /// + /// Initializes a new instance of the class. + /// + public AiVideoUpscalerCreateVideoRequest() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequestAssets.Json.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequestAssets.Json.g.cs new file mode 100644 index 0000000..931a7d4 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequestAssets.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace MagicHour +{ + public sealed partial class AiVideoUpscalerCreateVideoRequestAssets + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::MagicHour.AiVideoUpscalerCreateVideoRequestAssets? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::MagicHour.AiVideoUpscalerCreateVideoRequestAssets), + jsonSerializerContext) as global::MagicHour.AiVideoUpscalerCreateVideoRequestAssets; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::MagicHour.AiVideoUpscalerCreateVideoRequestAssets? FromJson( + string json) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::MagicHour.AiVideoUpscalerCreateVideoRequestAssets? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::MagicHour.AiVideoUpscalerCreateVideoRequestAssets), + jsonSerializerContext).ConfigureAwait(false)) as global::MagicHour.AiVideoUpscalerCreateVideoRequestAssets; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequestAssets.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequestAssets.g.cs new file mode 100644 index 0000000..4d528b1 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequestAssets.g.cs @@ -0,0 +1,56 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// Source video for the upscale job. + /// + public sealed partial class AiVideoUpscalerCreateVideoRequestAssets + { + /// + /// Video to upscale. 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.
+ /// Example: api-assets/id/1234.mp4 + ///
+ /// api-assets/id/1234.mp4 + [global::System.Text.Json.Serialization.JsonPropertyName("video_file_path")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string VideoFilePath { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Video to upscale. 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.
+ /// Example: api-assets/id/1234.mp4 + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public AiVideoUpscalerCreateVideoRequestAssets( + string videoFilePath) + { + this.VideoFilePath = videoFilePath ?? throw new global::System.ArgumentNullException(nameof(videoFilePath)); + } + + /// + /// Initializes a new instance of the class. + /// + public AiVideoUpscalerCreateVideoRequestAssets() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequestResolution.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequestResolution.g.cs new file mode 100644 index 0000000..9c4d6dd --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoRequestResolution.g.cs @@ -0,0 +1,64 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// Output resolution. `720p` and `1080p` set the output's short side, `2k` and `4k` its long side; the aspect ratio is kept. Requires a paid plan.
+ /// Example: 1080p + ///
+ public enum AiVideoUpscalerCreateVideoRequestResolution + { + /// + /// + /// + x1080p, + /// + /// + /// + x2k, + /// + /// + /// + x4k, + /// + /// + /// + x720p, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class AiVideoUpscalerCreateVideoRequestResolutionExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this AiVideoUpscalerCreateVideoRequestResolution value) + { + return value switch + { + AiVideoUpscalerCreateVideoRequestResolution.x1080p => "1080p", + AiVideoUpscalerCreateVideoRequestResolution.x2k => "2k", + AiVideoUpscalerCreateVideoRequestResolution.x4k => "4k", + AiVideoUpscalerCreateVideoRequestResolution.x720p => "720p", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static AiVideoUpscalerCreateVideoRequestResolution? ToEnum(string value) + { + return value switch + { + "1080p" => AiVideoUpscalerCreateVideoRequestResolution.x1080p, + "2k" => AiVideoUpscalerCreateVideoRequestResolution.x2k, + "4k" => AiVideoUpscalerCreateVideoRequestResolution.x4k, + "720p" => AiVideoUpscalerCreateVideoRequestResolution.x720p, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse.Json.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse.Json.g.cs new file mode 100644 index 0000000..10c3220 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace MagicHour +{ + public sealed partial class AiVideoUpscalerCreateVideoResponse + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse), + jsonSerializerContext) as global::MagicHour.AiVideoUpscalerCreateVideoResponse; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse? FromJson( + string json) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse), + jsonSerializerContext).ConfigureAwait(false)) as global::MagicHour.AiVideoUpscalerCreateVideoResponse; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse.g.cs new file mode 100644 index 0000000..edb8006 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse.g.cs @@ -0,0 +1,67 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// Success + /// + public sealed partial class AiVideoUpscalerCreateVideoResponse + { + /// + /// Unique ID of the video. Use it with the [Get video Project API](https://docs.magichour.ai/api-reference/video-projects/get-video-details) to fetch status and downloads.
+ /// Example: cuid-example + ///
+ /// cuid-example + [global::System.Text.Json.Serialization.JsonPropertyName("id")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Id { get; set; } + + /// + /// The amount of credits deducted from your account to generate the video. If the status is not 'complete', this value is an estimate and may be adjusted upon completion based on the actual FPS of the output video.
+ /// If video generation fails, credits will be refunded, and this field will be updated to include the refund.
+ /// Example: 450 + ///
+ /// 450 + [global::System.Text.Json.Serialization.JsonPropertyName("credits_charged")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int CreditsCharged { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Unique ID of the video. Use it with the [Get video Project API](https://docs.magichour.ai/api-reference/video-projects/get-video-details) to fetch status and downloads.
+ /// Example: cuid-example + /// + /// + /// The amount of credits deducted from your account to generate the video. If the status is not 'complete', this value is an estimate and may be adjusted upon completion based on the actual FPS of the output video.
+ /// If video generation fails, credits will be refunded, and this field will be updated to include the refund.
+ /// Example: 450 + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public AiVideoUpscalerCreateVideoResponse( + string id, + int creditsCharged) + { + this.Id = id ?? throw new global::System.ArgumentNullException(nameof(id)); + this.CreditsCharged = creditsCharged; + } + + /// + /// Initializes a new instance of the class. + /// + public AiVideoUpscalerCreateVideoResponse() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse2.Json.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse2.Json.g.cs new file mode 100644 index 0000000..f9e1226 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse2.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace MagicHour +{ + public sealed partial class AiVideoUpscalerCreateVideoResponse2 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse2? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse2), + jsonSerializerContext) as global::MagicHour.AiVideoUpscalerCreateVideoResponse2; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse2? FromJson( + string json) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse2? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse2), + jsonSerializerContext).ConfigureAwait(false)) as global::MagicHour.AiVideoUpscalerCreateVideoResponse2; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse2.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse2.g.cs new file mode 100644 index 0000000..9ea0846 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse2.g.cs @@ -0,0 +1,61 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// + /// + public sealed partial class AiVideoUpscalerCreateVideoResponse2 + { + /// + /// Machine-readable error code.
+ /// - `invalid_request`: Fix request syntax or validation errors before retrying. + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("code")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCodeJsonConverter))] + public global::MagicHour.AiVideoUpscalerCreateVideoResponseCode Code { get; set; } + + /// + /// Human-readable error message. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Human-readable error message. + /// + /// + /// Machine-readable error code.
+ /// - `invalid_request`: Fix request syntax or validation errors before retrying. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public AiVideoUpscalerCreateVideoResponse2( + string message, + global::MagicHour.AiVideoUpscalerCreateVideoResponseCode code) + { + this.Code = code; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + } + + /// + /// Initializes a new instance of the class. + /// + public AiVideoUpscalerCreateVideoResponse2() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse3.Json.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse3.Json.g.cs new file mode 100644 index 0000000..c35a255 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse3.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace MagicHour +{ + public sealed partial class AiVideoUpscalerCreateVideoResponse3 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse3? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse3), + jsonSerializerContext) as global::MagicHour.AiVideoUpscalerCreateVideoResponse3; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse3? FromJson( + string json) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse3? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse3), + jsonSerializerContext).ConfigureAwait(false)) as global::MagicHour.AiVideoUpscalerCreateVideoResponse3; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse3.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse3.g.cs new file mode 100644 index 0000000..133e783 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse3.g.cs @@ -0,0 +1,61 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// + /// + public sealed partial class AiVideoUpscalerCreateVideoResponse3 + { + /// + /// Machine-readable error code.
+ /// - `unauthorized`: Provide a valid API key before retrying. + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("code")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode2JsonConverter))] + public global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2 Code { get; set; } + + /// + /// Human-readable error message. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Human-readable error message. + /// + /// + /// Machine-readable error code.
+ /// - `unauthorized`: Provide a valid API key before retrying. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public AiVideoUpscalerCreateVideoResponse3( + string message, + global::MagicHour.AiVideoUpscalerCreateVideoResponseCode2 code) + { + this.Code = code; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + } + + /// + /// Initializes a new instance of the class. + /// + public AiVideoUpscalerCreateVideoResponse3() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse4.Json.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse4.Json.g.cs new file mode 100644 index 0000000..9be35d1 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse4.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace MagicHour +{ + public sealed partial class AiVideoUpscalerCreateVideoResponse4 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse4? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse4), + jsonSerializerContext) as global::MagicHour.AiVideoUpscalerCreateVideoResponse4; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse4? FromJson( + string json) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse4? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse4), + jsonSerializerContext).ConfigureAwait(false)) as global::MagicHour.AiVideoUpscalerCreateVideoResponse4; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse4.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse4.g.cs new file mode 100644 index 0000000..1a8e8e1 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse4.g.cs @@ -0,0 +1,66 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// + /// + public sealed partial class AiVideoUpscalerCreateVideoResponse4 + { + /// + /// Machine-readable error code.
+ /// - `insufficient_credits`: Purchase credits before retrying.
+ /// - `subscription_required`: Start a subscription before retrying.
+ /// - `plan_upgrade_required`: Upgrade the subscription plan before retrying. + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("code")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode3JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3 Code { get; set; } + + /// + /// Human-readable error message. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Machine-readable error code.
+ /// - `insufficient_credits`: Purchase credits before retrying.
+ /// - `subscription_required`: Start a subscription before retrying.
+ /// - `plan_upgrade_required`: Upgrade the subscription plan before retrying. + /// + /// + /// Human-readable error message. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public AiVideoUpscalerCreateVideoResponse4( + global::MagicHour.AiVideoUpscalerCreateVideoResponseCode3 code, + string message) + { + this.Code = code; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + } + + /// + /// Initializes a new instance of the class. + /// + public AiVideoUpscalerCreateVideoResponse4() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse5.Json.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse5.Json.g.cs new file mode 100644 index 0000000..4cae4da --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse5.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace MagicHour +{ + public sealed partial class AiVideoUpscalerCreateVideoResponse5 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse5? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse5), + jsonSerializerContext) as global::MagicHour.AiVideoUpscalerCreateVideoResponse5; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse5? FromJson( + string json) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse5? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse5), + jsonSerializerContext).ConfigureAwait(false)) as global::MagicHour.AiVideoUpscalerCreateVideoResponse5; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse5.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse5.g.cs new file mode 100644 index 0000000..8b9d631 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse5.g.cs @@ -0,0 +1,61 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// + /// + public sealed partial class AiVideoUpscalerCreateVideoResponse5 + { + /// + /// Machine-readable error code.
+ /// - `not_found`: Check the route or resource identifier. + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("code")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode4JsonConverter))] + public global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4 Code { get; set; } + + /// + /// Human-readable error message. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Human-readable error message. + /// + /// + /// Machine-readable error code.
+ /// - `not_found`: Check the route or resource identifier. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public AiVideoUpscalerCreateVideoResponse5( + string message, + global::MagicHour.AiVideoUpscalerCreateVideoResponseCode4 code) + { + this.Code = code; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + } + + /// + /// Initializes a new instance of the class. + /// + public AiVideoUpscalerCreateVideoResponse5() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse6.Json.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse6.Json.g.cs new file mode 100644 index 0000000..825a364 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse6.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace MagicHour +{ + public sealed partial class AiVideoUpscalerCreateVideoResponse6 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse6? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse6), + jsonSerializerContext) as global::MagicHour.AiVideoUpscalerCreateVideoResponse6; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse6? FromJson( + string json) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse6? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse6), + jsonSerializerContext).ConfigureAwait(false)) as global::MagicHour.AiVideoUpscalerCreateVideoResponse6; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse6.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse6.g.cs new file mode 100644 index 0000000..92557d8 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse6.g.cs @@ -0,0 +1,61 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// + /// + public sealed partial class AiVideoUpscalerCreateVideoResponse6 + { + /// + /// Machine-readable error code.
+ /// - `unprocessable_entity`: Change the request values before retrying. + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("code")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode5JsonConverter))] + public global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5 Code { get; set; } + + /// + /// Human-readable error message. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Human-readable error message. + /// + /// + /// Machine-readable error code.
+ /// - `unprocessable_entity`: Change the request values before retrying. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public AiVideoUpscalerCreateVideoResponse6( + string message, + global::MagicHour.AiVideoUpscalerCreateVideoResponseCode5 code) + { + this.Code = code; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + } + + /// + /// Initializes a new instance of the class. + /// + public AiVideoUpscalerCreateVideoResponse6() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse7.Json.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse7.Json.g.cs new file mode 100644 index 0000000..c9e7dbb --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse7.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace MagicHour +{ + public sealed partial class AiVideoUpscalerCreateVideoResponse7 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse7? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse7), + jsonSerializerContext) as global::MagicHour.AiVideoUpscalerCreateVideoResponse7; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse7? FromJson( + string json) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::MagicHour.AiVideoUpscalerCreateVideoResponse7? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::MagicHour.AiVideoUpscalerCreateVideoResponse7), + jsonSerializerContext).ConfigureAwait(false)) as global::MagicHour.AiVideoUpscalerCreateVideoResponse7; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::MagicHour.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse7.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse7.g.cs new file mode 100644 index 0000000..e2b859d --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponse7.g.cs @@ -0,0 +1,61 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// + /// + public sealed partial class AiVideoUpscalerCreateVideoResponse7 + { + /// + /// Machine-readable error code.
+ /// - `internal_server_error`: Retry later or contact support if the error continues. + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("code")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::MagicHour.JsonConverters.AiVideoUpscalerCreateVideoResponseCode6JsonConverter))] + public global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6 Code { get; set; } + + /// + /// Human-readable error message. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Human-readable error message. + /// + /// + /// Machine-readable error code.
+ /// - `internal_server_error`: Retry later or contact support if the error continues. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public AiVideoUpscalerCreateVideoResponse7( + string message, + global::MagicHour.AiVideoUpscalerCreateVideoResponseCode6 code) + { + this.Code = code; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + } + + /// + /// Initializes a new instance of the class. + /// + public AiVideoUpscalerCreateVideoResponse7() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode.g.cs new file mode 100644 index 0000000..1eb7ee7 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode.g.cs @@ -0,0 +1,46 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// Machine-readable error code.
+ /// - `invalid_request`: Fix request syntax or validation errors before retrying. + ///
+ public enum AiVideoUpscalerCreateVideoResponseCode + { + /// + /// Fix request syntax or validation errors before retrying. + /// + InvalidRequest, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class AiVideoUpscalerCreateVideoResponseCodeExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this AiVideoUpscalerCreateVideoResponseCode value) + { + return value switch + { + AiVideoUpscalerCreateVideoResponseCode.InvalidRequest => "invalid_request", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static AiVideoUpscalerCreateVideoResponseCode? ToEnum(string value) + { + return value switch + { + "invalid_request" => AiVideoUpscalerCreateVideoResponseCode.InvalidRequest, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode2.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode2.g.cs new file mode 100644 index 0000000..01745da --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode2.g.cs @@ -0,0 +1,46 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// Machine-readable error code.
+ /// - `unauthorized`: Provide a valid API key before retrying. + ///
+ public enum AiVideoUpscalerCreateVideoResponseCode2 + { + /// + /// Provide a valid API key before retrying. + /// + Unauthorized, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class AiVideoUpscalerCreateVideoResponseCode2Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this AiVideoUpscalerCreateVideoResponseCode2 value) + { + return value switch + { + AiVideoUpscalerCreateVideoResponseCode2.Unauthorized => "unauthorized", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static AiVideoUpscalerCreateVideoResponseCode2? ToEnum(string value) + { + return value switch + { + "unauthorized" => AiVideoUpscalerCreateVideoResponseCode2.Unauthorized, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode3.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode3.g.cs new file mode 100644 index 0000000..1459171 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode3.g.cs @@ -0,0 +1,60 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// Machine-readable error code.
+ /// - `insufficient_credits`: Purchase credits before retrying.
+ /// - `subscription_required`: Start a subscription before retrying.
+ /// - `plan_upgrade_required`: Upgrade the subscription plan before retrying. + ///
+ public enum AiVideoUpscalerCreateVideoResponseCode3 + { + /// + /// Purchase credits before retrying. + /// + InsufficientCredits, + /// + /// Upgrade the subscription plan before retrying. + /// + PlanUpgradeRequired, + /// + /// Start a subscription before retrying. + /// + SubscriptionRequired, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class AiVideoUpscalerCreateVideoResponseCode3Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this AiVideoUpscalerCreateVideoResponseCode3 value) + { + return value switch + { + AiVideoUpscalerCreateVideoResponseCode3.InsufficientCredits => "insufficient_credits", + AiVideoUpscalerCreateVideoResponseCode3.PlanUpgradeRequired => "plan_upgrade_required", + AiVideoUpscalerCreateVideoResponseCode3.SubscriptionRequired => "subscription_required", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static AiVideoUpscalerCreateVideoResponseCode3? ToEnum(string value) + { + return value switch + { + "insufficient_credits" => AiVideoUpscalerCreateVideoResponseCode3.InsufficientCredits, + "plan_upgrade_required" => AiVideoUpscalerCreateVideoResponseCode3.PlanUpgradeRequired, + "subscription_required" => AiVideoUpscalerCreateVideoResponseCode3.SubscriptionRequired, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode4.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode4.g.cs new file mode 100644 index 0000000..129be2c --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode4.g.cs @@ -0,0 +1,46 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// Machine-readable error code.
+ /// - `not_found`: Check the route or resource identifier. + ///
+ public enum AiVideoUpscalerCreateVideoResponseCode4 + { + /// + /// Check the route or resource identifier. + /// + NotFound, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class AiVideoUpscalerCreateVideoResponseCode4Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this AiVideoUpscalerCreateVideoResponseCode4 value) + { + return value switch + { + AiVideoUpscalerCreateVideoResponseCode4.NotFound => "not_found", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static AiVideoUpscalerCreateVideoResponseCode4? ToEnum(string value) + { + return value switch + { + "not_found" => AiVideoUpscalerCreateVideoResponseCode4.NotFound, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode5.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode5.g.cs new file mode 100644 index 0000000..427b8de --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode5.g.cs @@ -0,0 +1,46 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// Machine-readable error code.
+ /// - `unprocessable_entity`: Change the request values before retrying. + ///
+ public enum AiVideoUpscalerCreateVideoResponseCode5 + { + /// + /// Change the request values before retrying. + /// + UnprocessableEntity, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class AiVideoUpscalerCreateVideoResponseCode5Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this AiVideoUpscalerCreateVideoResponseCode5 value) + { + return value switch + { + AiVideoUpscalerCreateVideoResponseCode5.UnprocessableEntity => "unprocessable_entity", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static AiVideoUpscalerCreateVideoResponseCode5? ToEnum(string value) + { + return value switch + { + "unprocessable_entity" => AiVideoUpscalerCreateVideoResponseCode5.UnprocessableEntity, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode6.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode6.g.cs new file mode 100644 index 0000000..692c29e --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.Models.AiVideoUpscalerCreateVideoResponseCode6.g.cs @@ -0,0 +1,46 @@ + +#nullable enable + +namespace MagicHour +{ + /// + /// Machine-readable error code.
+ /// - `internal_server_error`: Retry later or contact support if the error continues. + ///
+ public enum AiVideoUpscalerCreateVideoResponseCode6 + { + /// + /// Retry later or contact support if the error continues. + /// + InternalServerError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class AiVideoUpscalerCreateVideoResponseCode6Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this AiVideoUpscalerCreateVideoResponseCode6 value) + { + return value switch + { + AiVideoUpscalerCreateVideoResponseCode6.InternalServerError => "internal_server_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static AiVideoUpscalerCreateVideoResponseCode6? ToEnum(string value) + { + return value switch + { + "internal_server_error" => AiVideoUpscalerCreateVideoResponseCode6.InternalServerError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.Models.TextToVideoCreateVideoRequest.g.cs b/src/libs/MagicHour/Generated/MagicHour.Models.TextToVideoCreateVideoRequest.g.cs index d8fde28..f470f56 100644 --- a/src/libs/MagicHour/Generated/MagicHour.Models.TextToVideoCreateVideoRequest.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.Models.TextToVideoCreateVideoRequest.g.cs @@ -145,12 +145,14 @@ public sealed partial class TextToVideoCreateVideoRequest /// /// Reference media for video generation. Name references without @ and refer to them as @name in style.prompt. Maximum 10 references total.
/// Supported models and reference media:
+ /// * **`gemini-omni-1.1`**: Supports images, videos. Up to 13 references.
/// * **`kling-3.0`**: Supports images, videos.
/// * **`minimax-h3`**: Supports images, videos, audio.
/// * **`seedance-2.0`**: Supports images, videos, audio.
/// * **`seedance-2.0-fast`**: Supports images, videos, audio.
/// * **`seedance-2.0-mini`**: Supports images, videos, audio.
/// * **`seedance-2.5`**: Supports images, videos, audio.
+ /// * **`veo3.1`**: Supports images. Up to 3 references. Requires `end_seconds` of 8.
/// * **`wan-3.0`**: Supports images, videos, audio. ///
[global::System.Text.Json.Serialization.JsonPropertyName("references")] @@ -268,12 +270,14 @@ public sealed partial class TextToVideoCreateVideoRequest /// /// Reference media for video generation. Name references without @ and refer to them as @name in style.prompt. Maximum 10 references total.
/// Supported models and reference media:
+ /// * **`gemini-omni-1.1`**: Supports images, videos. Up to 13 references.
/// * **`kling-3.0`**: Supports images, videos.
/// * **`minimax-h3`**: Supports images, videos, audio.
/// * **`seedance-2.0`**: Supports images, videos, audio.
/// * **`seedance-2.0-fast`**: Supports images, videos, audio.
/// * **`seedance-2.0-mini`**: Supports images, videos, audio.
/// * **`seedance-2.5`**: Supports images, videos, audio.
+ /// * **`veo3.1`**: Supports images. Up to 3 references. Requires `end_seconds` of 8.
/// * **`wan-3.0`**: Supports images, videos, audio. /// #if NET7_0_OR_GREATER diff --git a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiTalkingPhotoCreateTalkingPhoto.g.cs b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiTalkingPhotoCreateTalkingPhoto.g.cs index 865a665..1be3f99 100644 --- a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiTalkingPhotoCreateTalkingPhoto.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiTalkingPhotoCreateTalkingPhoto.g.cs @@ -68,7 +68,7 @@ partial void ProcessAiTalkingPhotoCreateTalkingPhotoResponseContent( /// "generation_mode": "realistic",
/// "prompt": "A person smiling and speaking naturally to the camera"
/// },
- /// "max_resolution": 512
+ /// "resolution": "480p"
/// }
/// ' /// @@ -114,7 +114,7 @@ partial void ProcessAiTalkingPhotoCreateTalkingPhotoResponseContent( /// "generation_mode": "realistic",
/// "prompt": "A person smiling and speaking naturally to the camera"
/// },
- /// "max_resolution": 512
+ /// "resolution": "480p"
/// }
/// ' /// diff --git a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiUgcAdCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiUgcAdCreateVideo.g.cs index 9f7b516..35db051 100644 --- a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiUgcAdCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiUgcAdCreateVideo.g.cs @@ -49,6 +49,24 @@ partial void ProcessAiUgcAdCreateVideoResponseContent( /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// + /// + /// curl --request POST \
+ /// --url https://api.magichour.ai/v1/ai-ugc-ad \
+ /// --header 'accept: application/json' \
+ /// --header "authorization: Bearer $MAGIC_HOUR_API_KEY" \
+ /// --header 'content-type: application/json' \
+ /// --data '
+ /// {
+ /// "assets": {
+ /// "image_file_path": "api-assets/id/image.jpg"
+ /// },
+ /// "script": "Meet your new everyday essential.",
+ /// "end_seconds": 4,
+ /// "model": "kling-3.0",
+ /// "resolution": "480p"
+ /// }
+ /// ' + ///
public async global::System.Threading.Tasks.Task AiUgcAdCreateVideoAsync( global::MagicHour.AiUgcAdCreateVideoRequest request, @@ -72,6 +90,24 @@ partial void ProcessAiUgcAdCreateVideoResponseContent( /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// + /// + /// curl --request POST \
+ /// --url https://api.magichour.ai/v1/ai-ugc-ad \
+ /// --header 'accept: application/json' \
+ /// --header "authorization: Bearer $MAGIC_HOUR_API_KEY" \
+ /// --header 'content-type: application/json' \
+ /// --data '
+ /// {
+ /// "assets": {
+ /// "image_file_path": "api-assets/id/image.jpg"
+ /// },
+ /// "script": "Meet your new everyday essential.",
+ /// "end_seconds": 4,
+ /// "model": "kling-3.0",
+ /// "resolution": "480p"
+ /// }
+ /// ' + ///
public async global::System.Threading.Tasks.Task> AiUgcAdCreateVideoAsResponseAsync( global::MagicHour.AiUgcAdCreateVideoRequest request, @@ -663,7 +699,7 @@ partial void ProcessAiUgcAdCreateVideoResponseContent( /// /// The words the actor should speak. Character limits apply after trimming:
/// * kling-3.0: 2500 characters.
- /// * ltx-2.5: 1981 characters.
+ /// * ltx-2.5: 1804 characters.
/// * veo3.1: 2500 characters.
/// LTX's dialogue wrapper counts toward its model prompt limit.
/// Example: Meet your new everyday essential. diff --git a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiVideoEditorCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiVideoEditorCreateVideo.g.cs index cadf4be..d219147 100644 --- a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiVideoEditorCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiVideoEditorCreateVideo.g.cs @@ -55,10 +55,10 @@ partial void ProcessAiVideoEditorCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/ai-video-editor). ///
/// @@ -116,10 +116,10 @@ partial void ProcessAiVideoEditorCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/ai-video-editor). ///
/// @@ -745,10 +745,10 @@ partial void ProcessAiVideoEditorCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/ai-video-editor). ///
/// diff --git a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiVideoTranslatorCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiVideoTranslatorCreateVideo.g.cs index 79a5398..7027a03 100644 --- a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiVideoTranslatorCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiVideoTranslatorCreateVideo.g.cs @@ -55,10 +55,10 @@ partial void ProcessAiVideoTranslatorCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/ai-video-translator). /// /// @@ -113,10 +113,10 @@ partial void ProcessAiVideoTranslatorCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/ai-video-translator). /// /// @@ -739,10 +739,10 @@ partial void ProcessAiVideoTranslatorCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/ai-video-translator). /// /// diff --git a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiVideoUpscalerCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiVideoUpscalerCreateVideo.g.cs new file mode 100644 index 0000000..7b588d2 --- /dev/null +++ b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AiVideoUpscalerCreateVideo.g.cs @@ -0,0 +1,794 @@ + +#nullable enable + +namespace MagicHour +{ + public partial class VideoProjectsClient + { + + + private static readonly global::MagicHour.EndPointSecurityRequirement s_AiVideoUpscalerCreateVideoSecurityRequirement0 = + new global::MagicHour.EndPointSecurityRequirement + { + Authorizations = new global::MagicHour.EndPointAuthorizationRequirement[] + { new global::MagicHour.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::MagicHour.EndPointSecurityRequirement[] s_AiVideoUpscalerCreateVideoSecurityRequirements = + new global::MagicHour.EndPointSecurityRequirement[] + { s_AiVideoUpscalerCreateVideoSecurityRequirement0, + }; + partial void PrepareAiVideoUpscalerCreateVideoArguments( + global::System.Net.Http.HttpClient httpClient, + global::MagicHour.AiVideoUpscalerCreateVideoRequest request); + partial void PrepareAiVideoUpscalerCreateVideoRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + global::MagicHour.AiVideoUpscalerCreateVideoRequest request); + partial void ProcessAiVideoUpscalerCreateVideoResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessAiVideoUpscalerCreateVideoResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// AI Video Upscaler
+ /// **What this API does**
+ /// Create the same Video Upscaler you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.
+ ///
+ /// **Good for**
+ /// - Automation and batch processing
+ /// - Adding video upscaler into apps, pipelines, or tools
+ /// **How it works (3 steps)**
+ /// 1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`.
+ /// 2) Send a request to create a video upscaler job with the basic fields.
+ /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
+ /// **Key options**
+ /// - Inputs: usually a file, sometimes a YouTube link, depending on project type
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
+ /// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
+ /// **Cost**
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
+ /// For detailed examples, see the [product page](https://magichour.ai/products/video-upscaler). + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + /// + /// curl --request POST \
+ /// --url https://api.magichour.ai/v1/ai-video-upscaler \
+ /// --header 'accept: application/json' \
+ /// --header "authorization: Bearer $MAGIC_HOUR_API_KEY" \
+ /// --header 'content-type: application/json' \
+ /// --data '
+ /// {
+ /// "name": "My Video Upscaler video",
+ /// "start_seconds": 0,
+ /// "end_seconds": 5,
+ /// "resolution": "1080p",
+ /// "assets": {
+ /// "video_file_path": "api-assets/id/1234.mp4"
+ /// }
+ /// }
+ /// ' + ///
+ public async global::System.Threading.Tasks.Task AiVideoUpscalerCreateVideoAsync( + + global::MagicHour.AiVideoUpscalerCreateVideoRequest request, + global::MagicHour.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __response = await AiVideoUpscalerCreateVideoAsResponseAsync( + + request: request, + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + + return __response.Body; + } + /// + /// AI Video Upscaler
+ /// **What this API does**
+ /// Create the same Video Upscaler you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.
+ ///
+ /// **Good for**
+ /// - Automation and batch processing
+ /// - Adding video upscaler into apps, pipelines, or tools
+ /// **How it works (3 steps)**
+ /// 1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`.
+ /// 2) Send a request to create a video upscaler job with the basic fields.
+ /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
+ /// **Key options**
+ /// - Inputs: usually a file, sometimes a YouTube link, depending on project type
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
+ /// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
+ /// **Cost**
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
+ /// For detailed examples, see the [product page](https://magichour.ai/products/video-upscaler). + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + /// + /// curl --request POST \
+ /// --url https://api.magichour.ai/v1/ai-video-upscaler \
+ /// --header 'accept: application/json' \
+ /// --header "authorization: Bearer $MAGIC_HOUR_API_KEY" \
+ /// --header 'content-type: application/json' \
+ /// --data '
+ /// {
+ /// "name": "My Video Upscaler video",
+ /// "start_seconds": 0,
+ /// "end_seconds": 5,
+ /// "resolution": "1080p",
+ /// "assets": {
+ /// "video_file_path": "api-assets/id/1234.mp4"
+ /// }
+ /// }
+ /// ' + ///
+ public async global::System.Threading.Tasks.Task> AiVideoUpscalerCreateVideoAsResponseAsync( + + global::MagicHour.AiVideoUpscalerCreateVideoRequest request, + global::MagicHour.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: HttpClient); + PrepareAiVideoUpscalerCreateVideoArguments( + httpClient: HttpClient, + request: request); + + + var __authorizations = global::MagicHour.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_AiVideoUpscalerCreateVideoSecurityRequirements, + operationName: "AiVideoUpscalerCreateVideoAsync"); + + using var __timeoutCancellationTokenSource = global::MagicHour.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::MagicHour.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::MagicHour.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: true); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::MagicHour.PathBuilder( + path: "/v1/ai-video-upscaler", + baseUri: HttpClient.BaseAddress); + var __path = __pathBuilder.ToString(); + __path = global::MagicHour.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + var __httpRequestContentBody = request.ToJson(JsonSerializerContext); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: __httpRequestContentBody, + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + __httpRequest.Content = __httpRequestContent; + global::MagicHour.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PrepareAiVideoUpscalerCreateVideoRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest, + request: request); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::MagicHour.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::MagicHour.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "AiVideoUpscalerCreateVideo", + methodName: "AiVideoUpscalerCreateVideoAsync", + pathTemplate: "\"/v1/ai-video-upscaler\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest ?? throw new global::System.InvalidOperationException("The HTTP request was not created before invoking a request hook."), + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::MagicHour.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::MagicHour.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::MagicHour.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "AiVideoUpscalerCreateVideo", + methodName: "AiVideoUpscalerCreateVideoAsync", + pathTemplate: "\"/v1/ai-video-upscaler\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest ?? throw new global::System.InvalidOperationException("The HTTP request was not created before invoking a request hook."), + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::MagicHour.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::MagicHour.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::MagicHour.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::MagicHour.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::MagicHour.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "AiVideoUpscalerCreateVideo", + methodName: "AiVideoUpscalerCreateVideoAsync", + pathTemplate: "\"/v1/ai-video-upscaler\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest ?? throw new global::System.InvalidOperationException("The HTTP request was not created before invoking a request hook."), + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::MagicHour.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessAiVideoUpscalerCreateVideoResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::MagicHour.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::MagicHour.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "AiVideoUpscalerCreateVideo", + methodName: "AiVideoUpscalerCreateVideoAsync", + pathTemplate: "\"/v1/ai-video-upscaler\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest ?? throw new global::System.InvalidOperationException("The HTTP request was not created before invoking a request hook."), + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::MagicHour.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::MagicHour.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "AiVideoUpscalerCreateVideo", + methodName: "AiVideoUpscalerCreateVideoAsync", + pathTemplate: "\"/v1/ai-video-upscaler\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest ?? throw new global::System.InvalidOperationException("The HTTP request was not created before invoking a request hook."), + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + // Invalid Request + if ((int)__response.StatusCode == 400) + { + string? __content_400 = null; + global::System.Exception? __exception_400 = null; + global::MagicHour.AiVideoUpscalerCreateVideoResponse2? __value_400 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_400 = global::MagicHour.AiVideoUpscalerCreateVideoResponse2.FromJson(__content_400, JsonSerializerContext); + } + else + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_400 = global::MagicHour.AiVideoUpscalerCreateVideoResponse2.FromJson(__content_400, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_400 = __ex; + } + + + throw global::MagicHour.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_400 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_400, + responseBody: __content_400, + responseObject: __value_400, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Unauthorized + if ((int)__response.StatusCode == 401) + { + string? __content_401 = null; + global::System.Exception? __exception_401 = null; + global::MagicHour.AiVideoUpscalerCreateVideoResponse3? __value_401 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_401 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_401 = global::MagicHour.AiVideoUpscalerCreateVideoResponse3.FromJson(__content_401, JsonSerializerContext); + } + else + { + __content_401 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_401 = global::MagicHour.AiVideoUpscalerCreateVideoResponse3.FromJson(__content_401, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_401 = __ex; + } + + + throw global::MagicHour.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_401 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_401, + responseBody: __content_401, + responseObject: __value_401, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Payment Required + if ((int)__response.StatusCode == 402) + { + string? __content_402 = null; + global::System.Exception? __exception_402 = null; + global::MagicHour.AiVideoUpscalerCreateVideoResponse4? __value_402 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_402 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_402 = global::MagicHour.AiVideoUpscalerCreateVideoResponse4.FromJson(__content_402, JsonSerializerContext); + } + else + { + __content_402 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_402 = global::MagicHour.AiVideoUpscalerCreateVideoResponse4.FromJson(__content_402, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_402 = __ex; + } + + + throw global::MagicHour.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_402 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_402, + responseBody: __content_402, + responseObject: __value_402, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Not Found + if ((int)__response.StatusCode == 404) + { + string? __content_404 = null; + global::System.Exception? __exception_404 = null; + global::MagicHour.AiVideoUpscalerCreateVideoResponse5? __value_404 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_404 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_404 = global::MagicHour.AiVideoUpscalerCreateVideoResponse5.FromJson(__content_404, JsonSerializerContext); + } + else + { + __content_404 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_404 = global::MagicHour.AiVideoUpscalerCreateVideoResponse5.FromJson(__content_404, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_404 = __ex; + } + + + throw global::MagicHour.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_404 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_404, + responseBody: __content_404, + responseObject: __value_404, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Unprocessable Entity + if ((int)__response.StatusCode == 422) + { + string? __content_422 = null; + global::System.Exception? __exception_422 = null; + global::MagicHour.AiVideoUpscalerCreateVideoResponse6? __value_422 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_422 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_422 = global::MagicHour.AiVideoUpscalerCreateVideoResponse6.FromJson(__content_422, JsonSerializerContext); + } + else + { + __content_422 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_422 = global::MagicHour.AiVideoUpscalerCreateVideoResponse6.FromJson(__content_422, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_422 = __ex; + } + + + throw global::MagicHour.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_422 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_422, + responseBody: __content_422, + responseObject: __value_422, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Internal Server Error + if ((int)__response.StatusCode == 500) + { + string? __content_500 = null; + global::System.Exception? __exception_500 = null; + global::MagicHour.AiVideoUpscalerCreateVideoResponse7? __value_500 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_500 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_500 = global::MagicHour.AiVideoUpscalerCreateVideoResponse7.FromJson(__content_500, JsonSerializerContext); + } + else + { + __content_500 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_500 = global::MagicHour.AiVideoUpscalerCreateVideoResponse7.FromJson(__content_500, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_500 = __ex; + } + + + throw global::MagicHour.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_500 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_500, + responseBody: __content_500, + responseObject: __value_500, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + ProcessAiVideoUpscalerCreateVideoResponseContent( + httpClient: HttpClient, + httpResponseMessage: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + var __value = global::MagicHour.AiVideoUpscalerCreateVideoResponse.FromJson(__content, JsonSerializerContext) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + return new global::MagicHour.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::MagicHour.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + throw global::MagicHour.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + using var __content = await __response.Content.ReadAsStreamAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + var __value = await global::MagicHour.AiVideoUpscalerCreateVideoResponse.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ?? + throw new global::System.InvalidOperationException("Response deserialization failed."); + return new global::MagicHour.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::MagicHour.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw global::MagicHour.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + /// + /// AI Video Upscaler
+ /// **What this API does**
+ /// Create the same Video Upscaler you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.
+ ///
+ /// **Good for**
+ /// - Automation and batch processing
+ /// - Adding video upscaler into apps, pipelines, or tools
+ /// **How it works (3 steps)**
+ /// 1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`.
+ /// 2) Send a request to create a video upscaler job with the basic fields.
+ /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
+ /// **Key options**
+ /// - Inputs: usually a file, sometimes a YouTube link, depending on project type
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
+ /// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
+ /// **Cost**
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
+ /// For detailed examples, see the [product page](https://magichour.ai/products/video-upscaler). + ///
+ /// + /// Give your video a custom name for easy identification.
+ /// Default Value: Video Upscaler - dateTime
+ /// Example: My Video Upscaler video + /// + /// + /// Start time of your clip (seconds). Must be ≥ 0.
+ /// Default Value: 0
+ /// Example: 0 + /// + /// + /// End time of your clip (seconds). Must be greater than start_seconds.
+ /// Example: 5 + /// + /// + /// Output resolution. `720p` and `1080p` set the output's short side, `2k` and `4k` its long side; the aspect ratio is kept. Requires a paid plan.
+ /// Example: 1080p + /// + /// + /// Source video for the upscale job. + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task AiVideoUpscalerCreateVideoAsync( + float endSeconds, + global::MagicHour.AiVideoUpscalerCreateVideoRequestResolution resolution, + global::MagicHour.AiVideoUpscalerCreateVideoRequestAssets assets, + string? name = default, + float? startSeconds = default, + global::MagicHour.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __request = new global::MagicHour.AiVideoUpscalerCreateVideoRequest + { + Name = name, + StartSeconds = startSeconds, + EndSeconds = endSeconds, + Resolution = resolution, + Assets = assets, + }; + + return await AiVideoUpscalerCreateVideoAsync( + request: __request, + requestOptions: requestOptions, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AudioToVideoCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AudioToVideoCreateVideo.g.cs index da7bc13..4ff64c4 100644 --- a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AudioToVideoCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.AudioToVideoCreateVideo.g.cs @@ -55,10 +55,10 @@ partial void ProcessAudioToVideoCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/audio-to-video). /// /// @@ -116,10 +116,10 @@ partial void ProcessAudioToVideoCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/audio-to-video). /// /// @@ -745,10 +745,10 @@ partial void ProcessAudioToVideoCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/audio-to-video). /// /// diff --git a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.CharacterReplaceCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.CharacterReplaceCreateVideo.g.cs index f7458dd..8e4902a 100644 --- a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.CharacterReplaceCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.CharacterReplaceCreateVideo.g.cs @@ -55,10 +55,10 @@ partial void ProcessCharacterReplaceCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/character-replace). /// /// @@ -118,10 +118,10 @@ partial void ProcessCharacterReplaceCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/character-replace). /// /// @@ -749,10 +749,10 @@ partial void ProcessCharacterReplaceCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/character-replace). /// /// diff --git a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.FaceSwapCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.FaceSwapCreateVideo.g.cs index 2a8feaf..6d364bc 100644 --- a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.FaceSwapCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.FaceSwapCreateVideo.g.cs @@ -55,10 +55,10 @@ partial void ProcessFaceSwapCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/face-swap). /// /// @@ -117,10 +117,10 @@ partial void ProcessFaceSwapCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/face-swap). /// /// @@ -747,10 +747,10 @@ partial void ProcessFaceSwapCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/face-swap). /// /// diff --git a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.ImageToVideoCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.ImageToVideoCreateVideo.g.cs index bc5d607..62d405b 100644 --- a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.ImageToVideoCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.ImageToVideoCreateVideo.g.cs @@ -55,10 +55,10 @@ partial void ProcessImageToVideoCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/image-to-video). /// /// @@ -117,10 +117,10 @@ partial void ProcessImageToVideoCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/image-to-video). /// /// @@ -747,10 +747,10 @@ partial void ProcessImageToVideoCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/image-to-video). /// /// diff --git a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.LipSyncCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.LipSyncCreateVideo.g.cs index 7138e4d..03005f8 100644 --- a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.LipSyncCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.LipSyncCreateVideo.g.cs @@ -55,10 +55,10 @@ partial void ProcessLipSyncCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/lip-sync). /// /// @@ -117,10 +117,10 @@ partial void ProcessLipSyncCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/lip-sync). /// /// @@ -747,10 +747,10 @@ partial void ProcessLipSyncCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/lip-sync). /// /// diff --git a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.TextToVideoCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.TextToVideoCreateVideo.g.cs index a2846f6..5df868e 100644 --- a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.TextToVideoCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.TextToVideoCreateVideo.g.cs @@ -55,10 +55,10 @@ partial void ProcessTextToVideoCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/text-to-video). /// /// @@ -110,10 +110,10 @@ partial void ProcessTextToVideoCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/text-to-video). /// /// @@ -733,10 +733,10 @@ partial void ProcessTextToVideoCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/text-to-video). /// /// @@ -842,12 +842,14 @@ partial void ProcessTextToVideoCreateVideoResponseContent( /// /// Reference media for video generation. Name references without @ and refer to them as @name in style.prompt. Maximum 10 references total.
/// Supported models and reference media:
+ /// * **`gemini-omni-1.1`**: Supports images, videos. Up to 13 references.
/// * **`kling-3.0`**: Supports images, videos.
/// * **`minimax-h3`**: Supports images, videos, audio.
/// * **`seedance-2.0`**: Supports images, videos, audio.
/// * **`seedance-2.0-fast`**: Supports images, videos, audio.
/// * **`seedance-2.0-mini`**: Supports images, videos, audio.
/// * **`seedance-2.5`**: Supports images, videos, audio.
+ /// * **`veo3.1`**: Supports images. Up to 3 references. Requires `end_seconds` of 8.
/// * **`wan-3.0`**: Supports images, videos, audio. /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. diff --git a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.VideoToVideoCreateVideo.g.cs b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.VideoToVideoCreateVideo.g.cs index 5162fe5..90305ad 100644 --- a/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.VideoToVideoCreateVideo.g.cs +++ b/src/libs/MagicHour/Generated/MagicHour.VideoProjectsClient.VideoToVideoCreateVideo.g.cs @@ -55,10 +55,10 @@ partial void ProcessVideoToVideoCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/video-to-video). /// /// @@ -120,10 +120,10 @@ partial void ProcessVideoToVideoCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/video-to-video). /// /// @@ -753,10 +753,10 @@ partial void ProcessVideoToVideoCreateVideoResponseContent( /// 3) Check the job status until it's `complete`, then download the result from `downloads`.
/// **Key options**
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type
- /// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes
+ /// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt
/// **Cost**
- /// Credits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.
+ /// Credits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.
/// For detailed examples, see the [product page](https://magichour.ai/products/video-to-video). /// /// diff --git a/src/libs/MagicHour/Generated/autosdk.generated-examples.json b/src/libs/MagicHour/Generated/autosdk.generated-examples.json index dba2316..dee9743 100644 --- a/src/libs/MagicHour/Generated/autosdk.generated-examples.json +++ b/src/libs/MagicHour/Generated/autosdk.generated-examples.json @@ -4,7 +4,7 @@ "Order": 1, "Title": "Text-to-Video", "Slug": "texttovideo-createvideo", - "Description": "**What this API does**\n\nCreate the same Text To Video you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding text to video into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the \u0060file_path\u0060. \n2) Send a request to create a text to video job with the basic fields. \n3) Check the job status until it\u0027s \u0060complete\u0060, then download the result from \u0060downloads\u0060.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes \n- Extra fields: e.g. \u0060face_swap_mode\u0060, \u0060start_seconds\u0060/\u0060end_seconds\u0060, or a text prompt \n\n**Cost** \nCredits are only charged for the frames that actually render. You\u0027ll see an estimate when the job is queued, and the final total after it\u0027s done.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/text-to-video).", + "Description": "**What this API does**\n\nCreate the same Text To Video you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding text to video into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the \u0060file_path\u0060. \n2) Send a request to create a text to video job with the basic fields. \n3) Check the job status until it\u0027s \u0060complete\u0060, then download the result from \u0060downloads\u0060.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.\n- Extra fields: e.g. \u0060face_swap_mode\u0060, \u0060start_seconds\u0060/\u0060end_seconds\u0060, or a text prompt \n\n**Cost** \nCredits are charged when the job is queued (\u0060credits_charged\u0060 in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/text-to-video).", "Language": "csharp", "Code": "using var client = new MagicHourClient(apiKey);\n\nvar request = global::System.Text.Json.JsonSerializer.Deserialize\u003Cglobal::MagicHour.TextToVideoCreateVideoRequest\u003E(\n @\u0022{\n \u0022\u0022end_seconds\u0022\u0022: 5,\n \u0022\u0022aspect_ratio\u0022\u0022: \u0022\u002216:9\u0022\u0022,\n \u0022\u0022style\u0022\u0022: {\n \u0022\u0022prompt\u0022\u0022: \u0022\u0022a dog running\u0022\u0022\n }\n}\u0022)!;\n\nvar response = await client.VideoProjects.TextToVideoCreateVideoAsync(\n request: request\n);", "Format": "sdk", diff --git a/src/libs/MagicHour/openapi.yaml b/src/libs/MagicHour/openapi.yaml index 74a318c..cd6a78c 100644 --- a/src/libs/MagicHour/openapi.yaml +++ b/src/libs/MagicHour/openapi.yaml @@ -1802,23 +1802,23 @@ }, { "lang": "go", - "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tai_talking_photo \"github.com/magichourhq/magic-hour-go/resources/v1/ai_talking_photo\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.AiTalkingPhoto.Create(ai_talking_photo.CreateRequest{\n\t\tAssets: types.V1AiTalkingPhotoCreateBodyAssets{\n\t\t\tAudioFilePath: \"api-assets/id/1234.mp3\",\n\t\t\tImageFilePath: \"api-assets/id/1234.png\",\n\t\t},\n\t\tEndSeconds: 15.0,\n\t\tMaxResolution: nullable.NewValue(1024),\n\t\tName: nullable.NewValue(\"My Talking Photo video\"),\n\t\tStartSeconds: 0.0,\n\t})\n}" + "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tai_talking_photo \"github.com/magichourhq/magic-hour-go/resources/v1/ai_talking_photo\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.AiTalkingPhoto.Create(ai_talking_photo.CreateRequest{\n\t\tAssets: types.V1AiTalkingPhotoCreateBodyAssets{\n\t\t\tAudioFilePath: \"api-assets/id/1234.mp3\",\n\t\t\tImageFilePath: \"api-assets/id/1234.png\",\n\t\t},\n\t\tEndSeconds: 5.0,\n\t\tName: nullable.NewValue(\"My Talking Photo video\"),\n\t\tResolution: nullable.NewValue(types.V1AiTalkingPhotoCreateBodyResolutionEnum480p),\n\t\tStartSeconds: 0.0,\n\t})\n}" }, { "lang": "rust", - "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .ai_talking_photo()\n .create(magic_hour::resources::v1::ai_talking_photo::CreateRequest {\n assets: magic_hour::models::V1AiTalkingPhotoCreateBodyAssets {\n audio_file_path: \"api-assets/id/1234.mp3\".to_string(),\n image_file_path: \"api-assets/id/1234.png\".to_string(),\n },\n end_seconds: 15.0,\n max_resolution: Some(1024),\n name: Some(\"My Talking Photo video\".to_string()),\n start_seconds: 0.0,\n ..Default::default()\n })\n .await;" + "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .ai_talking_photo()\n .create(magic_hour::resources::v1::ai_talking_photo::CreateRequest {\n assets: magic_hour::models::V1AiTalkingPhotoCreateBodyAssets {\n audio_file_path: \"api-assets/id/1234.mp3\".to_string(),\n image_file_path: \"api-assets/id/1234.png\".to_string(),\n },\n end_seconds: 5.0,\n name: Some(\"My Talking Photo video\".to_string()),\n resolution: Some(\n magic_hour::models::V1AiTalkingPhotoCreateBodyResolutionEnum::Enum480p,\n ),\n start_seconds: 0.0,\n ..Default::default()\n })\n .await;" }, { "lang": "curl", - "source": "curl --request POST \\\n --url https://api.magichour.ai/v1/ai-talking-photo \\\n --header 'accept: application/json' \\\n --header \"authorization: Bearer $MAGIC_HOUR_API_KEY\" \\\n --header 'content-type: application/json' \\\n --data '\n{\n \"name\": \"My Talking Photo video\",\n \"start_seconds\": 0,\n \"end_seconds\": 5,\n \"assets\": {\n \"image_file_path\": \"api-assets/id/1234.png\",\n \"audio_file_path\": \"api-assets/id/1234.mp3\"\n },\n \"style\": {\n \"generation_mode\": \"realistic\",\n \"prompt\": \"A person smiling and speaking naturally to the camera\"\n },\n \"max_resolution\": 512\n}\n'" + "source": "curl --request POST \\\n --url https://api.magichour.ai/v1/ai-talking-photo \\\n --header 'accept: application/json' \\\n --header \"authorization: Bearer $MAGIC_HOUR_API_KEY\" \\\n --header 'content-type: application/json' \\\n --data '\n{\n \"name\": \"My Talking Photo video\",\n \"start_seconds\": 0,\n \"end_seconds\": 5,\n \"assets\": {\n \"image_file_path\": \"api-assets/id/1234.png\",\n \"audio_file_path\": \"api-assets/id/1234.mp3\"\n },\n \"style\": {\n \"generation_mode\": \"realistic\",\n \"prompt\": \"A person smiling and speaking naturally to the camera\"\n },\n \"resolution\": \"480p\"\n}\n'" }, { "lang": "php", - "source": " \"https://api.magichour.ai/v1/ai-talking-photo\",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => \"\",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => \"POST\",\n CURLOPT_POSTFIELDS => json_encode([\n 'name' => 'My Talking Photo video',\n 'start_seconds' => 0,\n 'end_seconds' => 5,\n 'assets' => [\n 'image_file_path' => 'api-assets/id/1234.png',\n 'audio_file_path' => 'api-assets/id/1234.mp3'\n ],\n 'style' => [\n 'generation_mode' => 'realistic',\n 'prompt' => 'A person smiling and speaking naturally to the camera'\n ],\n 'max_resolution' => 512\n ]),\n CURLOPT_HTTPHEADER => [\n \"accept: application/json\",\n \"authorization: Bearer \",\n \"content-type: application/json\"\n ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo \"cURL Error #:\" . $err;\n} else {\n echo $response;\n}" + "source": " \"https://api.magichour.ai/v1/ai-talking-photo\",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => \"\",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => \"POST\",\n CURLOPT_POSTFIELDS => json_encode([\n 'name' => 'My Talking Photo video',\n 'start_seconds' => 0,\n 'end_seconds' => 5,\n 'assets' => [\n 'image_file_path' => 'api-assets/id/1234.png',\n 'audio_file_path' => 'api-assets/id/1234.mp3'\n ],\n 'style' => [\n 'generation_mode' => 'realistic',\n 'prompt' => 'A person smiling and speaking naturally to the camera'\n ],\n 'resolution' => '480p'\n ]),\n CURLOPT_HTTPHEADER => [\n \"accept: application/json\",\n \"authorization: Bearer \",\n \"content-type: application/json\"\n ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo \"cURL Error #:\" . $err;\n} else {\n echo $response;\n}" }, { "lang": "java", - "source": "HttpResponse response = Unirest.post(\"https://api.magichour.ai/v1/ai-talking-photo\")\n .header(\"accept\", \"application/json\")\n .header(\"content-type\", \"application/json\")\n .header(\"authorization\", \"Bearer \")\n .body(\"{\\\"name\\\":\\\"My Talking Photo video\\\",\\\"start_seconds\\\":0,\\\"end_seconds\\\":5,\\\"assets\\\":{\\\"image_file_path\\\":\\\"api-assets/id/1234.png\\\",\\\"audio_file_path\\\":\\\"api-assets/id/1234.mp3\\\"},\\\"style\\\":{\\\"generation_mode\\\":\\\"realistic\\\",\\\"prompt\\\":\\\"A person smiling and speaking naturally to the camera\\\"},\\\"max_resolution\\\":512}\")\n .asString();" + "source": "HttpResponse response = Unirest.post(\"https://api.magichour.ai/v1/ai-talking-photo\")\n .header(\"accept\", \"application/json\")\n .header(\"content-type\", \"application/json\")\n .header(\"authorization\", \"Bearer \")\n .body(\"{\\\"name\\\":\\\"My Talking Photo video\\\",\\\"start_seconds\\\":0,\\\"end_seconds\\\":5,\\\"assets\\\":{\\\"image_file_path\\\":\\\"api-assets/id/1234.png\\\",\\\"audio_file_path\\\":\\\"api-assets/id/1234.mp3\\\"},\\\"style\\\":{\\\"generation_mode\\\":\\\"realistic\\\",\\\"prompt\\\":\\\"A person smiling and speaking naturally to the camera\\\"},\\\"resolution\\\":\\\"480p\\\"}\")\n .asString();" } ] } @@ -1854,7 +1854,7 @@ "script": { "type": "string", "minLength": 1, - "description": "The words the actor should speak. Character limits apply after trimming:\n* kling-3.0: 2500 characters.\n* ltx-2.5: 1981 characters.\n* veo3.1: 2500 characters.\nLTX's dialogue wrapper counts toward its model prompt limit.", + "description": "The words the actor should speak. Character limits apply after trimming:\n* kling-3.0: 2500 characters.\n* ltx-2.5: 1804 characters.\n* veo3.1: 2500 characters.\nLTX's dialogue wrapper counts toward its model prompt limit.", "example": "Meet your new everyday essential." }, "end_seconds": { @@ -2024,12 +2024,42 @@ } } }, - "security": [{ "bearerAuth": [] }] + "security": [{ "bearerAuth": [] }], + "x-codeSamples": [ + { + "lang": "python", + "source": "from magic_hour import Client\nfrom os import getenv\n\nclient = Client(token=getenv(\"MAGIC_HOUR_API_KEY\"))\nres = client.v1.ai_ugc_ad.create(\n assets={\"image_file_path\": \"api-assets/id/image.jpg\"},\n end_seconds=4.0,\n script=\"Meet your new everyday essential.\",\n)" + }, + { + "lang": "javascript", + "source": "import { Client } from \"magic-hour\";\n\nconst client = new Client({ token: process.env[\"MAGIC_HOUR_API_KEY\"] });\nconst res = await client.v1.aiUgcAd.create({\n assets: { imageFilePath: \"api-assets/id/image.jpg\" },\n endSeconds: 4.0,\n script: \"Meet your new everyday essential.\",\n});" + }, + { + "lang": "go", + "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tai_ugc_ad \"github.com/magichourhq/magic-hour-go/resources/v1/ai_ugc_ad\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.AiUgcAd.Create(ai_ugc_ad.CreateRequest{\n\t\tAssets: types.V1AiUgcAdCreateBodyAssets{\n\t\t\tImageFilePath: \"api-assets/id/image.jpg\",\n\t\t},\n\t\tEndSeconds: 4.0,\n\t\tScript: \"Meet your new everyday essential.\",\n\t})\n}" + }, + { + "lang": "rust", + "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .ai_ugc_ad()\n .create(magic_hour::resources::v1::ai_ugc_ad::CreateRequest {\n assets: magic_hour::models::V1AiUgcAdCreateBodyAssets {\n image_file_path: \"api-assets/id/image.jpg\".to_string(),\n ..Default::default()\n },\n end_seconds: 4.0,\n script: \"Meet your new everyday essential.\".to_string(),\n ..Default::default()\n })\n .await;" + }, + { + "lang": "curl", + "source": "curl --request POST \\\n --url https://api.magichour.ai/v1/ai-ugc-ad \\\n --header 'accept: application/json' \\\n --header \"authorization: Bearer $MAGIC_HOUR_API_KEY\" \\\n --header 'content-type: application/json' \\\n --data '\n{\n \"assets\": {\n \"image_file_path\": \"api-assets/id/image.jpg\"\n },\n \"script\": \"Meet your new everyday essential.\",\n \"end_seconds\": 4,\n \"model\": \"kling-3.0\",\n \"resolution\": \"480p\"\n}\n'" + }, + { + "lang": "php", + "source": " \"https://api.magichour.ai/v1/ai-ugc-ad\",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => \"\",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => \"POST\",\n CURLOPT_POSTFIELDS => json_encode([\n 'assets' => [\n 'image_file_path' => 'api-assets/id/image.jpg'\n ],\n 'script' => 'Meet your new everyday essential.',\n 'end_seconds' => 4,\n 'model' => 'kling-3.0',\n 'resolution' => '480p'\n ]),\n CURLOPT_HTTPHEADER => [\n \"accept: application/json\",\n \"authorization: Bearer \",\n \"content-type: application/json\"\n ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo \"cURL Error #:\" . $err;\n} else {\n echo $response;\n}" + }, + { + "lang": "java", + "source": "HttpResponse response = Unirest.post(\"https://api.magichour.ai/v1/ai-ugc-ad\")\n .header(\"accept\", \"application/json\")\n .header(\"content-type\", \"application/json\")\n .header(\"authorization\", \"Bearer \")\n .body(\"{\\\"assets\\\":{\\\"image_file_path\\\":\\\"api-assets/id/image.jpg\\\"},\\\"script\\\":\\\"Meet your new everyday essential.\\\",\\\"end_seconds\\\":4,\\\"model\\\":\\\"kling-3.0\\\",\\\"resolution\\\":\\\"480p\\\"}\")\n .asString();" + } + ] } }, "/v1/ai-video-editor": { "post": { - "description": "**What this API does**\n\nCreate the same Video Editor you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding video editor into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`. \n2) Send a request to create a video editor job with the basic fields. \n3) Check the job status until it's `complete`, then download the result from `downloads`.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes \n- Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt \n\n**Cost** \nCredits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/ai-video-editor).", + "description": "**What this API does**\n\nCreate the same Video Editor you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding video editor into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`. \n2) Send a request to create a video editor job with the basic fields. \n3) Check the job status until it's `complete`, then download the result from `downloads`.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.\n- Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt \n\n**Cost** \nCredits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/ai-video-editor).", "summary": "AI Video Editor", "tags": ["Video Projects"], "parameters": [], @@ -2262,11 +2292,11 @@ }, { "lang": "go", - "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tai_video_editor \"github.com/magichourhq/magic-hour-go/resources/v1/ai_video_editor\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.AiVideoEditor.Create(ai_video_editor.CreateRequest{\n\t\tAssets: types.V1AiVideoEditorCreateBodyAssets{\n\t\t\tVideoFilePath: \"api-assets/id/1234.mp4\",\n\t\t},\n\t\tEndSeconds: 5.0,\n\t\tModel: nullable.NewValue(types.V1AiVideoEditorCreateBodyModelEnumGeminiOmni11),\n\t\tName: nullable.NewValue(\"My Video Editor video\"),\n\t\tResolution: nullable.NewValue(types.V1AiVideoEditorCreateBodyResolutionEnum720p),\n\t\tStartSeconds: nullable.NewValue(0.0),\n\t\tStyle: types.V1AiVideoEditorCreateBodyStyle{\n\t\t\tPrompt: \"Change the car color to blue\",\n\t\t},\n\t})\n}" + "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tai_video_editor \"github.com/magichourhq/magic-hour-go/resources/v1/ai_video_editor\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.AiVideoEditor.Create(ai_video_editor.CreateRequest{\n\t\tAssets: types.V1AiVideoEditorCreateBodyAssets{\n\t\t\tVideoFilePath: \"api-assets/id/1234.mp4\",\n\t\t},\n\t\tEndSeconds: 5.0,\n\t\tModel: nullable.NewValue(types.V1AiVideoEditorCreateBodyModelEnumLtx25),\n\t\tName: nullable.NewValue(\"My Video Editor video\"),\n\t\tResolution: nullable.NewValue(types.V1AiVideoEditorCreateBodyResolutionEnum480p),\n\t\tStartSeconds: nullable.NewValue(0.0),\n\t\tStyle: types.V1AiVideoEditorCreateBodyStyle{\n\t\t\tPrompt: \"Change the car color to blue\",\n\t\t},\n\t})\n}" }, { "lang": "rust", - "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .ai_video_editor()\n .create(magic_hour::resources::v1::ai_video_editor::CreateRequest {\n assets: magic_hour::models::V1AiVideoEditorCreateBodyAssets {\n video_file_path: \"api-assets/id/1234.mp4\".to_string(),\n },\n end_seconds: 5.0,\n model: Some(\n magic_hour::models::V1AiVideoEditorCreateBodyModelEnum::GeminiOmni11,\n ),\n name: Some(\"My Video Editor video\".to_string()),\n resolution: Some(\n magic_hour::models::V1AiVideoEditorCreateBodyResolutionEnum::Enum720p,\n ),\n start_seconds: Some(0.0),\n style: magic_hour::models::V1AiVideoEditorCreateBodyStyle {\n prompt: \"Change the car color to blue\".to_string(),\n },\n })\n .await;" + "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .ai_video_editor()\n .create(magic_hour::resources::v1::ai_video_editor::CreateRequest {\n assets: magic_hour::models::V1AiVideoEditorCreateBodyAssets {\n video_file_path: \"api-assets/id/1234.mp4\".to_string(),\n },\n end_seconds: 5.0,\n model: Some(magic_hour::models::V1AiVideoEditorCreateBodyModelEnum::Ltx25),\n name: Some(\"My Video Editor video\".to_string()),\n resolution: Some(\n magic_hour::models::V1AiVideoEditorCreateBodyResolutionEnum::Enum480p,\n ),\n start_seconds: Some(0.0),\n style: magic_hour::models::V1AiVideoEditorCreateBodyStyle {\n prompt: \"Change the car color to blue\".to_string(),\n },\n })\n .await;" }, { "lang": "curl", @@ -2285,7 +2315,7 @@ }, "/v1/ai-video-translator": { "post": { - "description": "**What this API does**\n\nCreate the same Video Translator you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding video translator into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`. \n2) Send a request to create a video translator job with the basic fields. \n3) Check the job status until it's `complete`, then download the result from `downloads`.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes \n- Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt \n\n**Cost** \nCredits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/ai-video-translator).", + "description": "**What this API does**\n\nCreate the same Video Translator you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding video translator into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`. \n2) Send a request to create a video translator job with the basic fields. \n3) Check the job status until it's `complete`, then download the result from `downloads`.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.\n- Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt \n\n**Cost** \nCredits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/ai-video-translator).", "summary": "AI Video Translator", "tags": ["Video Projects"], "parameters": [], @@ -2560,11 +2590,11 @@ }, { "lang": "go", - "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tai_video_translator \"github.com/magichourhq/magic-hour-go/resources/v1/ai_video_translator\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.AiVideoTranslator.Create(ai_video_translator.CreateRequest{\n\t\tAssets: types.V1AiVideoTranslatorCreateBodyAssets{\n\t\t\tVideoFilePath: \"api-assets/id/1234.mp4\",\n\t\t},\n\t\tEndSeconds: 15.0,\n\t\tName: nullable.NewValue(\"My Video Translator video\"),\n\t\tResolution: nullable.NewValue(types.V1AiVideoTranslatorCreateBodyResolutionEnum720p),\n\t\tStartSeconds: nullable.NewValue(0.0),\n\t\tTargetLanguage: types.V1AiVideoTranslatorCreateBodyTargetLanguageEnumSpanish,\n\t})\n}" + "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tai_video_translator \"github.com/magichourhq/magic-hour-go/resources/v1/ai_video_translator\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.AiVideoTranslator.Create(ai_video_translator.CreateRequest{\n\t\tAssets: types.V1AiVideoTranslatorCreateBodyAssets{\n\t\t\tVideoFilePath: \"api-assets/id/1234.mp4\",\n\t\t},\n\t\tEndSeconds: 5.0,\n\t\tName: nullable.NewValue(\"My Video Translator video\"),\n\t\tResolution: nullable.NewValue(types.V1AiVideoTranslatorCreateBodyResolutionEnum480p),\n\t\tStartSeconds: nullable.NewValue(0.0),\n\t\tTargetLanguage: types.V1AiVideoTranslatorCreateBodyTargetLanguageEnumSpanish,\n\t})\n}" }, { "lang": "rust", - "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .ai_video_translator()\n .create(magic_hour::resources::v1::ai_video_translator::CreateRequest {\n assets: magic_hour::models::V1AiVideoTranslatorCreateBodyAssets {\n video_file_path: \"api-assets/id/1234.mp4\".to_string(),\n },\n end_seconds: 15.0,\n name: Some(\"My Video Translator video\".to_string()),\n resolution: Some(\n magic_hour::models::V1AiVideoTranslatorCreateBodyResolutionEnum::Enum720p,\n ),\n start_seconds: Some(0.0),\n target_language: magic_hour::models::V1AiVideoTranslatorCreateBodyTargetLanguageEnum::Spanish,\n })\n .await;" + "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .ai_video_translator()\n .create(magic_hour::resources::v1::ai_video_translator::CreateRequest {\n assets: magic_hour::models::V1AiVideoTranslatorCreateBodyAssets {\n video_file_path: \"api-assets/id/1234.mp4\".to_string(),\n },\n end_seconds: 5.0,\n name: Some(\"My Video Translator video\".to_string()),\n resolution: Some(\n magic_hour::models::V1AiVideoTranslatorCreateBodyResolutionEnum::Enum480p,\n ),\n start_seconds: Some(0.0),\n target_language: magic_hour::models::V1AiVideoTranslatorCreateBodyTargetLanguageEnum::Spanish,\n })\n .await;" }, { "lang": "curl", @@ -2581,6 +2611,228 @@ ] } }, + "/v1/ai-video-upscaler": { + "post": { + "description": "**What this API does**\n\nCreate the same Video Upscaler you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding video upscaler into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`. \n2) Send a request to create a video upscaler job with the basic fields. \n3) Check the job status until it's `complete`, then download the result from `downloads`.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.\n- Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt \n\n**Cost** \nCredits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/video-upscaler).", + "summary": "AI Video Upscaler", + "tags": ["Video Projects"], + "parameters": [], + "operationId": "aiVideoUpscaler.createVideo", + "requestBody": { + "required": true, + "description": "Body", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Give your video a custom name for easy identification.", + "example": "My Video Upscaler video", + "default": "Video Upscaler - dateTime" + }, + "start_seconds": { + "default": 0, + "type": "number", + "minimum": 0, + "description": "Start time of your clip (seconds). Must be ≥ 0.", + "format": "float", + "example": 0 + }, + "end_seconds": { + "type": "number", + "minimum": 0.1, + "description": "End time of your clip (seconds). Must be greater than start_seconds.", + "format": "float", + "example": 5 + }, + "resolution": { + "type": "string", + "enum": ["720p", "1080p", "2k", "4k"], + "description": "Output resolution. `720p` and `1080p` set the output's short side, `2k` and `4k` its long side; the aspect ratio is kept. Requires a paid plan.", + "example": "1080p" + }, + "assets": { + "type": "object", + "properties": { + "video_file_path": { + "type": "string", + "minLength": 1, + "description": "Video to upscale. This value is either\n- a direct URL to the video file\n- `file_path` field from the response of the [upload urls API](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls).\n\nSee the [file upload guide](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls#input-file) for details.\n", + "example": "api-assets/id/1234.mp4" + } + }, + "required": ["video_file_path"], + "description": "Source video for the upscale job." + } + }, + "required": ["end_seconds", "resolution", "assets"] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string", + "example": "cuid-example", + "description": "Unique ID of the video. Use it with the [Get video Project API](https://docs.magichour.ai/api-reference/video-projects/get-video-details) to fetch status and downloads." + }, + "credits_charged": { + "type": "integer", + "description": "The amount of credits deducted from your account to generate the video. If the status is not 'complete', this value is an estimate and may be adjusted upon completion based on the actual FPS of the output video. \n\nIf video generation fails, credits will be refunded, and this field will be updated to include the refund.", + "example": 450 + } + }, + "required": ["id", "credits_charged"], + "description": "Success" + } + } + } + }, + "400": { + "description": "Invalid Request", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["code", "message"], + "properties": { + "code": { + "type": "string", + "enum": ["invalid_request"], + "description": "Machine-readable error code.\n\n- `invalid_request`: Fix request syntax or validation errors before retrying." + }, + "message": { "type": "string", "description": "Human-readable error message." } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["code", "message"], + "properties": { + "code": { + "type": "string", + "enum": ["unauthorized"], + "description": "Machine-readable error code.\n\n- `unauthorized`: Provide a valid API key before retrying." + }, + "message": { "type": "string", "description": "Human-readable error message." } + } + } + } + } + }, + "402": { + "description": "Payment Required", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["code", "message"], + "properties": { + "code": { + "type": "string", + "enum": [ + "insufficient_credits", + "subscription_required", + "plan_upgrade_required" + ], + "description": "Machine-readable error code.\n\n- `insufficient_credits`: Purchase credits before retrying.\n\n- `subscription_required`: Start a subscription before retrying.\n\n- `plan_upgrade_required`: Upgrade the subscription plan before retrying." + }, + "message": { "type": "string", "description": "Human-readable error message." } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["code", "message"], + "properties": { + "code": { + "type": "string", + "enum": ["not_found"], + "description": "Machine-readable error code.\n\n- `not_found`: Check the route or resource identifier." + }, + "message": { "type": "string", "description": "Human-readable error message." } + } + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["code", "message"], + "properties": { + "code": { + "type": "string", + "enum": ["unprocessable_entity"], + "description": "Machine-readable error code.\n\n- `unprocessable_entity`: Change the request values before retrying." + }, + "message": { "type": "string", "description": "Human-readable error message." } + } + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["code", "message"], + "properties": { + "code": { + "type": "string", + "enum": ["internal_server_error"], + "description": "Machine-readable error code.\n\n- `internal_server_error`: Retry later or contact support if the error continues." + }, + "message": { "type": "string", "description": "Human-readable error message." } + } + } + } + } + } + }, + "security": [{ "bearerAuth": [] }], + "x-codeSamples": [ + { + "lang": "curl", + "source": "curl --request POST \\\n --url https://api.magichour.ai/v1/ai-video-upscaler \\\n --header 'accept: application/json' \\\n --header \"authorization: Bearer $MAGIC_HOUR_API_KEY\" \\\n --header 'content-type: application/json' \\\n --data '\n{\n \"name\": \"My Video Upscaler video\",\n \"start_seconds\": 0,\n \"end_seconds\": 5,\n \"resolution\": \"1080p\",\n \"assets\": {\n \"video_file_path\": \"api-assets/id/1234.mp4\"\n }\n}\n'" + }, + { + "lang": "php", + "source": " \"https://api.magichour.ai/v1/ai-video-upscaler\",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => \"\",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => \"POST\",\n CURLOPT_POSTFIELDS => json_encode([\n 'name' => 'My Video Upscaler video',\n 'start_seconds' => 0,\n 'end_seconds' => 5,\n 'resolution' => '1080p',\n 'assets' => [\n 'video_file_path' => 'api-assets/id/1234.mp4'\n ]\n ]),\n CURLOPT_HTTPHEADER => [\n \"accept: application/json\",\n \"authorization: Bearer \",\n \"content-type: application/json\"\n ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo \"cURL Error #:\" . $err;\n} else {\n echo $response;\n}" + }, + { + "lang": "java", + "source": "HttpResponse response = Unirest.post(\"https://api.magichour.ai/v1/ai-video-upscaler\")\n .header(\"accept\", \"application/json\")\n .header(\"content-type\", \"application/json\")\n .header(\"authorization\", \"Bearer \")\n .body(\"{\\\"name\\\":\\\"My Video Upscaler video\\\",\\\"start_seconds\\\":0,\\\"end_seconds\\\":5,\\\"resolution\\\":\\\"1080p\\\",\\\"assets\\\":{\\\"video_file_path\\\":\\\"api-assets/id/1234.mp4\\\"}}\")\n .asString();" + } + ] + } + }, "/v1/animation": { "post": { "description": "Create a Animation video. The estimated frame cost is calculated based on the `fps` and `end_seconds` input.", @@ -2968,11 +3220,11 @@ }, { "lang": "go", - "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tanimation \"github.com/magichourhq/magic-hour-go/resources/v1/animation\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.Animation.Create(animation.CreateRequest{\n\t\tAssets: types.V1AnimationCreateBodyAssets{\n\t\t\tAudioFilePath: nullable.NewValue(\"api-assets/id/1234.mp3\"),\n\t\t\tAudioSource: types.V1AnimationCreateBodyAssetsAudioSourceEnumFile,\n\t\t\tImageFilePath: nullable.NewValue(\"api-assets/id/1234.png\"),\n\t\t},\n\t\tEndSeconds: 15.0,\n\t\tFps: 12.0,\n\t\tHeight: 960,\n\t\tName: nullable.NewValue(\"My Animation video\"),\n\t\tStyle: types.V1AnimationCreateBodyStyle{\n\t\t\tArtStyle: types.V1AnimationCreateBodyStyleArtStyleEnumPainterlyIllustration,\n\t\t\tCameraEffect: types.V1AnimationCreateBodyStyleCameraEffectEnumSimpleZoomIn,\n\t\t\tPrompt: nullable.NewValue(\"Cyberpunk city\"),\n\t\t\tPromptType: types.V1AnimationCreateBodyStylePromptTypeEnumCustom,\n\t\t\tTransitionSpeed: 5,\n\t\t},\n\t\tWidth: 512,\n\t})\n}" + "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tanimation \"github.com/magichourhq/magic-hour-go/resources/v1/animation\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.Animation.Create(animation.CreateRequest{\n\t\tAssets: types.V1AnimationCreateBodyAssets{\n\t\t\tAudioFilePath: nullable.NewValue(\"api-assets/id/1234.mp3\"),\n\t\t\tAudioSource: types.V1AnimationCreateBodyAssetsAudioSourceEnumFile,\n\t\t\tImageFilePath: nullable.NewValue(\"api-assets/id/1234.png\"),\n\t\t},\n\t\tEndSeconds: 5.0,\n\t\tFps: 12.0,\n\t\tHeight: 512,\n\t\tName: nullable.NewValue(\"My Animation video\"),\n\t\tStyle: types.V1AnimationCreateBodyStyle{\n\t\t\tArtStyle: types.V1AnimationCreateBodyStyleArtStyleEnumPainterlyIllustration,\n\t\t\tArtStyleCustom: nullable.NewValue(\"Watercolor painting with soft pastel colors\"),\n\t\t\tCameraEffect: types.V1AnimationCreateBodyStyleCameraEffectEnumSimpleZoomIn,\n\t\t\tPrompt: nullable.NewValue(\"Cyberpunk city\"),\n\t\t\tPromptType: types.V1AnimationCreateBodyStylePromptTypeEnumCustom,\n\t\t\tTransitionSpeed: 5,\n\t\t},\n\t\tWidth: 512,\n\t})\n}" }, { "lang": "rust", - "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .animation()\n .create(magic_hour::resources::v1::animation::CreateRequest {\n assets: magic_hour::models::V1AnimationCreateBodyAssets {\n audio_file_path: Some(\"api-assets/id/1234.mp3\".to_string()),\n audio_source: magic_hour::models::V1AnimationCreateBodyAssetsAudioSourceEnum::File,\n image_file_path: Some(\"api-assets/id/1234.png\".to_string()),\n ..Default::default()\n },\n end_seconds: 15.0,\n fps: 12.0,\n height: 960,\n name: Some(\"My Animation video\".to_string()),\n style: magic_hour::models::V1AnimationCreateBodyStyle {\n art_style: magic_hour::models::V1AnimationCreateBodyStyleArtStyleEnum::PainterlyIllustration,\n camera_effect: magic_hour::models::V1AnimationCreateBodyStyleCameraEffectEnum::SimpleZoomIn,\n prompt: Some(\"Cyberpunk city\".to_string()),\n prompt_type: magic_hour::models::V1AnimationCreateBodyStylePromptTypeEnum::Custom,\n transition_speed: 5,\n ..Default::default()\n },\n width: 512,\n })\n .await;" + "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .animation()\n .create(magic_hour::resources::v1::animation::CreateRequest {\n assets: magic_hour::models::V1AnimationCreateBodyAssets {\n audio_file_path: Some(\"api-assets/id/1234.mp3\".to_string()),\n audio_source: magic_hour::models::V1AnimationCreateBodyAssetsAudioSourceEnum::File,\n image_file_path: Some(\"api-assets/id/1234.png\".to_string()),\n ..Default::default()\n },\n end_seconds: 5.0,\n fps: 12.0,\n height: 512,\n name: Some(\"My Animation video\".to_string()),\n style: magic_hour::models::V1AnimationCreateBodyStyle {\n art_style: magic_hour::models::V1AnimationCreateBodyStyleArtStyleEnum::PainterlyIllustration,\n art_style_custom: Some(\n \"Watercolor painting with soft pastel colors\".to_string(),\n ),\n camera_effect: magic_hour::models::V1AnimationCreateBodyStyleCameraEffectEnum::SimpleZoomIn,\n prompt: Some(\"Cyberpunk city\".to_string()),\n prompt_type: magic_hour::models::V1AnimationCreateBodyStylePromptTypeEnum::Custom,\n transition_speed: 5,\n },\n width: 512,\n })\n .await;" }, { "lang": "curl", @@ -2991,7 +3243,7 @@ }, "/v1/audio-to-video": { "post": { - "description": "**What this API does**\n\nCreate the same Audio To Video you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding audio to video into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`. \n2) Send a request to create a audio to video job with the basic fields. \n3) Check the job status until it's `complete`, then download the result from `downloads`.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes \n- Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt \n\n**Cost** \nCredits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/audio-to-video).", + "description": "**What this API does**\n\nCreate the same Audio To Video you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding audio to video into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`. \n2) Send a request to create a audio to video job with the basic fields. \n3) Check the job status until it's `complete`, then download the result from `downloads`.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.\n- Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt \n\n**Cost** \nCredits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/audio-to-video).", "summary": "Audio-to-Video", "tags": ["Video Projects"], "parameters": [], @@ -3223,11 +3475,11 @@ }, { "lang": "go", - "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\taudio_to_video \"github.com/magichourhq/magic-hour-go/resources/v1/audio_to_video\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.AudioToVideo.Create(audio_to_video.CreateRequest{\n\t\tAssets: types.V1AudioToVideoCreateBodyAssets{\n\t\t\tAudioFilePath: \"api-assets/id/1234.mp3\",\n\t\t\tImageFilePath: nullable.NewValue(\"api-assets/id/1234.png\"),\n\t\t},\n\t\tEndSeconds: 15.0,\n\t\tName: nullable.NewValue(\"My Audio To Video video\"),\n\t\tResolution: nullable.NewValue(types.V1AudioToVideoCreateBodyResolutionEnum720p),\n\t\tStartSeconds: nullable.NewValue(0.0),\n\t})\n}" + "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\taudio_to_video \"github.com/magichourhq/magic-hour-go/resources/v1/audio_to_video\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.AudioToVideo.Create(audio_to_video.CreateRequest{\n\t\tAssets: types.V1AudioToVideoCreateBodyAssets{\n\t\t\tAudioFilePath: \"api-assets/id/1234.mp3\",\n\t\t\tImageFilePath: nullable.NewValue(\"api-assets/id/1234.png\"),\n\t\t},\n\t\tEndSeconds: 5.0,\n\t\tName: nullable.NewValue(\"My Audio To Video video\"),\n\t\tResolution: nullable.NewValue(types.V1AudioToVideoCreateBodyResolutionEnum480p),\n\t\tStartSeconds: nullable.NewValue(0.0),\n\t})\n}" }, { "lang": "rust", - "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .audio_to_video()\n .create(magic_hour::resources::v1::audio_to_video::CreateRequest {\n assets: magic_hour::models::V1AudioToVideoCreateBodyAssets {\n audio_file_path: \"api-assets/id/1234.mp3\".to_string(),\n image_file_path: Some(\"api-assets/id/1234.png\".to_string()),\n },\n end_seconds: 15.0,\n name: Some(\"My Audio To Video video\".to_string()),\n resolution: Some(\n magic_hour::models::V1AudioToVideoCreateBodyResolutionEnum::Enum720p,\n ),\n start_seconds: Some(0.0),\n ..Default::default()\n })\n .await;" + "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .audio_to_video()\n .create(magic_hour::resources::v1::audio_to_video::CreateRequest {\n assets: magic_hour::models::V1AudioToVideoCreateBodyAssets {\n audio_file_path: \"api-assets/id/1234.mp3\".to_string(),\n image_file_path: Some(\"api-assets/id/1234.png\".to_string()),\n },\n end_seconds: 5.0,\n name: Some(\"My Audio To Video video\".to_string()),\n resolution: Some(\n magic_hour::models::V1AudioToVideoCreateBodyResolutionEnum::Enum480p,\n ),\n start_seconds: Some(0.0),\n ..Default::default()\n })\n .await;" }, { "lang": "curl", @@ -3517,11 +3769,11 @@ }, { "lang": "go", - "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tauto_subtitle_generator \"github.com/magichourhq/magic-hour-go/resources/v1/auto_subtitle_generator\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.AutoSubtitleGenerator.Create(auto_subtitle_generator.CreateRequest{\n\t\tAssets: types.V1AutoSubtitleGeneratorCreateBodyAssets{\n\t\t\tVideoFilePath: \"api-assets/id/1234.mp4\",\n\t\t},\n\t\tEndSeconds: 15.0,\n\t\tName: nullable.NewValue(\"My Auto Subtitle video\"),\n\t\tStartSeconds: 0.0,\n\t\tStyle: types.V1AutoSubtitleGeneratorCreateBodyStyle{},\n\t})\n}" + "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tauto_subtitle_generator \"github.com/magichourhq/magic-hour-go/resources/v1/auto_subtitle_generator\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.AutoSubtitleGenerator.Create(auto_subtitle_generator.CreateRequest{\n\t\tAssets: types.V1AutoSubtitleGeneratorCreateBodyAssets{\n\t\t\tVideoFilePath: \"api-assets/id/1234.mp4\",\n\t\t},\n\t\tEndSeconds: 5.0,\n\t\tName: nullable.NewValue(\"My Auto Subtitle video\"),\n\t\tStartSeconds: 0.0,\n\t\tStyle: types.V1AutoSubtitleGeneratorCreateBodyStyle{\n\t\t\tTemplate: nullable.NewValue(types.V1AutoSubtitleGeneratorCreateBodyStyleTemplateEnumKaraoke),\n\t\t},\n\t})\n}" }, { "lang": "rust", - "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .auto_subtitle_generator()\n .create(magic_hour::resources::v1::auto_subtitle_generator::CreateRequest {\n assets: magic_hour::models::V1AutoSubtitleGeneratorCreateBodyAssets {\n video_file_path: \"api-assets/id/1234.mp4\".to_string(),\n },\n end_seconds: 15.0,\n name: Some(\"My Auto Subtitle video\".to_string()),\n start_seconds: 0.0,\n style: magic_hour::models::V1AutoSubtitleGeneratorCreateBodyStyle {\n ..Default::default()\n },\n })\n .await;" + "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .auto_subtitle_generator()\n .create(magic_hour::resources::v1::auto_subtitle_generator::CreateRequest {\n assets: magic_hour::models::V1AutoSubtitleGeneratorCreateBodyAssets {\n video_file_path: \"api-assets/id/1234.mp4\".to_string(),\n },\n end_seconds: 5.0,\n name: Some(\"My Auto Subtitle video\".to_string()),\n start_seconds: 0.0,\n style: magic_hour::models::V1AutoSubtitleGeneratorCreateBodyStyle {\n template: Some(\n magic_hour::models::V1AutoSubtitleGeneratorCreateBodyStyleTemplateEnum::Karaoke,\n ),\n ..Default::default()\n },\n })\n .await;" }, { "lang": "curl", @@ -3540,7 +3792,7 @@ }, "/v1/character-replace": { "post": { - "description": "**What this API does**\n\nCreate the same Character Replace you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding character replace into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`. \n2) Send a request to create a character replace job with the basic fields. \n3) Check the job status until it's `complete`, then download the result from `downloads`.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes \n- Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt \n\n**Cost** \nCredits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/character-replace).", + "description": "**What this API does**\n\nCreate the same Character Replace you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding character replace into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`. \n2) Send a request to create a character replace job with the basic fields. \n3) Check the job status until it's `complete`, then download the result from `downloads`.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.\n- Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt \n\n**Cost** \nCredits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/character-replace).", "summary": "Character Replace", "tags": ["Video Projects"], "parameters": [], @@ -3816,11 +4068,11 @@ }, { "lang": "go", - "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tcharacter_replace \"github.com/magichourhq/magic-hour-go/resources/v1/character_replace\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.CharacterReplace.Create(character_replace.CreateRequest{\n\t\tAssets: types.V1CharacterReplaceCreateBodyAssets{\n\t\t\tImageFilePath: \"api-assets/id/5678.png\",\n\t\t\tVideoFilePath: \"api-assets/id/1234.mp4\",\n\t\t},\n\t\tEndSeconds: 15.0,\n\t\tModel: nullable.NewValue(types.V1CharacterReplaceCreateBodyModelEnumWanAnimate),\n\t\tName: nullable.NewValue(\"My Character Replace video\"),\n\t\tResolution: nullable.NewValue(types.V1CharacterReplaceCreateBodyResolutionEnum720p),\n\t\tStartSeconds: nullable.NewValue(0.0),\n\t\tStyle: nullable.NewValue(types.V1CharacterReplaceCreateBodyStyle{\n\t\t\tMode: nullable.NewValue(types.V1CharacterReplaceCreateBodyStyleModeEnumReplace),\n\t\t\tSelectionMode: nullable.NewValue(types.V1CharacterReplaceCreateBodyStyleSelectionModeEnumAuto),\n\t\t}),\n\t})\n}" + "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tcharacter_replace \"github.com/magichourhq/magic-hour-go/resources/v1/character_replace\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.CharacterReplace.Create(character_replace.CreateRequest{\n\t\tAssets: types.V1CharacterReplaceCreateBodyAssets{\n\t\t\tImageFilePath: \"api-assets/id/5678.png\",\n\t\t\tVideoFilePath: \"api-assets/id/1234.mp4\",\n\t\t},\n\t\tEndSeconds: 5.0,\n\t\tModel: nullable.NewValue(types.V1CharacterReplaceCreateBodyModelEnumWanAnimate),\n\t\tName: nullable.NewValue(\"My Character Replace video\"),\n\t\tResolution: nullable.NewValue(types.V1CharacterReplaceCreateBodyResolutionEnum480p),\n\t\tStartSeconds: nullable.NewValue(0.0),\n\t\tStyle: nullable.NewValue(types.V1CharacterReplaceCreateBodyStyle{\n\t\t\tMode: nullable.NewValue(types.V1CharacterReplaceCreateBodyStyleModeEnumReplace),\n\t\t\tSelectionMode: nullable.NewValue(types.V1CharacterReplaceCreateBodyStyleSelectionModeEnumAuto),\n\t\t}),\n\t})\n}" }, { "lang": "rust", - "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .character_replace()\n .create(magic_hour::resources::v1::character_replace::CreateRequest {\n assets: magic_hour::models::V1CharacterReplaceCreateBodyAssets {\n image_file_path: \"api-assets/id/5678.png\".to_string(),\n video_file_path: \"api-assets/id/1234.mp4\".to_string(),\n },\n end_seconds: 15.0,\n model: Some(\n magic_hour::models::V1CharacterReplaceCreateBodyModelEnum::WanAnimate,\n ),\n name: Some(\"My Character Replace video\".to_string()),\n resolution: Some(\n magic_hour::models::V1CharacterReplaceCreateBodyResolutionEnum::Enum720p,\n ),\n start_seconds: Some(0.0),\n style: Some(magic_hour::models::V1CharacterReplaceCreateBodyStyle {\n mode: Some(\n magic_hour::models::V1CharacterReplaceCreateBodyStyleModeEnum::Replace,\n ),\n selection_mode: Some(\n magic_hour::models::V1CharacterReplaceCreateBodyStyleSelectionModeEnum::Auto,\n ),\n ..Default::default()\n }),\n })\n .await;" + "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .character_replace()\n .create(magic_hour::resources::v1::character_replace::CreateRequest {\n assets: magic_hour::models::V1CharacterReplaceCreateBodyAssets {\n image_file_path: \"api-assets/id/5678.png\".to_string(),\n video_file_path: \"api-assets/id/1234.mp4\".to_string(),\n },\n end_seconds: 5.0,\n model: Some(\n magic_hour::models::V1CharacterReplaceCreateBodyModelEnum::WanAnimate,\n ),\n name: Some(\"My Character Replace video\".to_string()),\n resolution: Some(\n magic_hour::models::V1CharacterReplaceCreateBodyResolutionEnum::Enum480p,\n ),\n start_seconds: Some(0.0),\n style: Some(magic_hour::models::V1CharacterReplaceCreateBodyStyle {\n mode: Some(\n magic_hour::models::V1CharacterReplaceCreateBodyStyleModeEnum::Replace,\n ),\n selection_mode: Some(\n magic_hour::models::V1CharacterReplaceCreateBodyStyleSelectionModeEnum::Auto,\n ),\n ..Default::default()\n }),\n })\n .await;" }, { "lang": "curl", @@ -3839,7 +4091,7 @@ }, "/v1/face-swap": { "post": { - "description": "**What this API does**\n\nCreate the same Face Swap you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding face swap into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`. \n2) Send a request to create a face swap job with the basic fields. \n3) Check the job status until it's `complete`, then download the result from `downloads`.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes \n- Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt \n\n**Cost** \nCredits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/face-swap).", + "description": "**What this API does**\n\nCreate the same Face Swap you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding face swap into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`. \n2) Send a request to create a face swap job with the basic fields. \n3) Check the job status until it's `complete`, then download the result from `downloads`.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.\n- Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt \n\n**Cost** \nCredits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/face-swap).", "summary": "Face Swap Video", "tags": ["Video Projects"], "parameters": [], @@ -4115,11 +4367,11 @@ }, { "lang": "go", - "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tface_swap \"github.com/magichourhq/magic-hour-go/resources/v1/face_swap\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.FaceSwap.Create(face_swap.CreateRequest{\n\t\tAssets: types.V1FaceSwapCreateBodyAssets{\n\t\t\tFaceMappings: nullable.NewValue([]types.V1FaceSwapCreateBodyAssetsFaceMappingsItem{\n\t\t\t\ttypes.V1FaceSwapCreateBodyAssetsFaceMappingsItem{\n\t\t\t\t\tNewFace: \"api-assets/id/1234.png\",\n\t\t\t\t\tOriginalFace: \"api-assets/id/0-0.png\",\n\t\t\t\t},\n\t\t\t}),\n\t\t\tFaceSwapMode: nullable.NewValue(types.V1FaceSwapCreateBodyAssetsFaceSwapModeEnumAllFaces),\n\t\t\tImageFilePath: nullable.NewValue(\"image/id/1234.png\"),\n\t\t\tVideoFilePath: nullable.NewValue(\"api-assets/id/1234.mp4\"),\n\t\t\tVideoSource: types.V1FaceSwapCreateBodyAssetsVideoSourceEnumFile,\n\t\t},\n\t\tEndSeconds: 15.0,\n\t\tName: nullable.NewValue(\"My Face Swap video\"),\n\t\tStartSeconds: 0.0,\n\t\tStyle: nullable.NewValue(types.V1FaceSwapCreateBodyStyle{\n\t\t\tVersion: nullable.NewValue(types.V1FaceSwapCreateBodyStyleVersionEnumDefault),\n\t\t}),\n\t})\n}" + "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tface_swap \"github.com/magichourhq/magic-hour-go/resources/v1/face_swap\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.FaceSwap.Create(face_swap.CreateRequest{\n\t\tAssets: types.V1FaceSwapCreateBodyAssets{\n\t\t\tFaceSwapMode: nullable.NewValue(types.V1FaceSwapCreateBodyAssetsFaceSwapModeEnumAllFaces),\n\t\t\tImageFilePath: nullable.NewValue(\"api-assets/id/1234.png\"),\n\t\t\tVideoFilePath: nullable.NewValue(\"api-assets/id/1234.mp4\"),\n\t\t\tVideoSource: types.V1FaceSwapCreateBodyAssetsVideoSourceEnumFile,\n\t\t},\n\t\tEndSeconds: 5.0,\n\t\tName: nullable.NewValue(\"My Face Swap video\"),\n\t\tStartSeconds: 0.0,\n\t\tStyle: nullable.NewValue(types.V1FaceSwapCreateBodyStyle{\n\t\t\tVersion: nullable.NewValue(types.V1FaceSwapCreateBodyStyleVersionEnumDefault),\n\t\t}),\n\t})\n}" }, { "lang": "rust", - "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .face_swap()\n .create(magic_hour::resources::v1::face_swap::CreateRequest {\n assets: magic_hour::models::V1FaceSwapCreateBodyAssets {\n face_mappings: Some(\n vec![\n magic_hour::models::V1FaceSwapCreateBodyAssetsFaceMappingsItem {\n new_face : \"api-assets/id/1234.png\".to_string(), original_face :\n \"api-assets/id/0-0.png\".to_string() }\n ],\n ),\n face_swap_mode: Some(\n magic_hour::models::V1FaceSwapCreateBodyAssetsFaceSwapModeEnum::AllFaces,\n ),\n image_file_path: Some(\"image/id/1234.png\".to_string()),\n video_file_path: Some(\"api-assets/id/1234.mp4\".to_string()),\n video_source: magic_hour::models::V1FaceSwapCreateBodyAssetsVideoSourceEnum::File,\n ..Default::default()\n },\n end_seconds: 15.0,\n name: Some(\"My Face Swap video\".to_string()),\n start_seconds: 0.0,\n style: Some(magic_hour::models::V1FaceSwapCreateBodyStyle {\n version: Some(\n magic_hour::models::V1FaceSwapCreateBodyStyleVersionEnum::Default,\n ),\n }),\n ..Default::default()\n })\n .await;" + "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .face_swap()\n .create(magic_hour::resources::v1::face_swap::CreateRequest {\n assets: magic_hour::models::V1FaceSwapCreateBodyAssets {\n face_swap_mode: Some(\n magic_hour::models::V1FaceSwapCreateBodyAssetsFaceSwapModeEnum::AllFaces,\n ),\n image_file_path: Some(\"api-assets/id/1234.png\".to_string()),\n video_file_path: Some(\"api-assets/id/1234.mp4\".to_string()),\n video_source: magic_hour::models::V1FaceSwapCreateBodyAssetsVideoSourceEnum::File,\n ..Default::default()\n },\n end_seconds: 5.0,\n name: Some(\"My Face Swap video\".to_string()),\n start_seconds: 0.0,\n style: Some(magic_hour::models::V1FaceSwapCreateBodyStyle {\n version: Some(\n magic_hour::models::V1FaceSwapCreateBodyStyleVersionEnum::Default,\n ),\n }),\n ..Default::default()\n })\n .await;" }, { "lang": "curl", @@ -4138,7 +4390,7 @@ }, "/v1/image-to-video": { "post": { - "description": "**What this API does**\n\nCreate the same Image To Video you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding image to video into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`. \n2) Send a request to create a image to video job with the basic fields. \n3) Check the job status until it's `complete`, then download the result from `downloads`.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes \n- Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt \n\n**Cost** \nCredits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/image-to-video).", + "description": "**What this API does**\n\nCreate the same Image To Video you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding image to video into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`. \n2) Send a request to create a image to video job with the basic fields. \n3) Check the job status until it's `complete`, then download the result from `downloads`.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.\n- Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt \n\n**Cost** \nCredits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/image-to-video).", "summary": "Image-to-Video", "tags": ["Video Projects"], "parameters": [], @@ -4170,21 +4422,21 @@ "type": "string", "enum": [ "default", + "minimax-h3", "kling-3.0", "ltx-2.5", - "seedance-2.0-mini", - "seedance-2.0-fast", - "wan-3.0", + "wan-2.2", "seedance-2.5", + "wan-3.0", + "seedance-2.0-mini", + "veo3.1", + "veo3.1-lite", + "seedance-2.0", + "kling-2.6", "gemini-omni-1.1", - "minimax-h3", - "wan-2.2", + "seedance-2.0-fast", "seedance-1.5", - "seedance-2.0", - "veo3.1-lite", "sora-2", - "veo3.1", - "kling-2.6", "ltx-2.3", "ltx-2", "kling-2.5", @@ -4399,11 +4651,11 @@ }, { "lang": "go", - "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\timage_to_video \"github.com/magichourhq/magic-hour-go/resources/v1/image_to_video\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.ImageToVideo.Create(image_to_video.CreateRequest{\n\t\tAssets: types.V1ImageToVideoCreateBodyAssets{\n\t\t\tEndImageFilePath: nullable.NewValue(\"api-assets/id/1234.png\"),\n\t\t\tImageFilePath: \"api-assets/id/1234.png\",\n\t\t},\n\t\tAudio: nullable.NewValue(true),\n\t\tEndSeconds: 5.0,\n\t\tModel: nullable.NewValue(types.V1ImageToVideoCreateBodyModelEnumKling30),\n\t\tName: nullable.NewValue(\"My Image To Video video\"),\n\t\tResolution: nullable.NewValue(types.V1ImageToVideoCreateBodyResolutionEnum720p),\n\t})\n}" + "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\timage_to_video \"github.com/magichourhq/magic-hour-go/resources/v1/image_to_video\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.ImageToVideo.Create(image_to_video.CreateRequest{\n\t\tAssets: types.V1ImageToVideoCreateBodyAssets{\n\t\t\tEndImageFilePath: nullable.NewValue(\"api-assets/id/1234.png\"),\n\t\t\tImageFilePath: \"api-assets/id/1234.png\",\n\t\t},\n\t\tAudio: nullable.NewValue(true),\n\t\tEndSeconds: 5.0,\n\t\tModel: nullable.NewValue(types.V1ImageToVideoCreateBodyModelEnumLtx25),\n\t\tName: nullable.NewValue(\"My Image To Video video\"),\n\t\tResolution: nullable.NewValue(types.V1ImageToVideoCreateBodyResolutionEnum480p),\n\t})\n}" }, { "lang": "rust", - "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .image_to_video()\n .create(magic_hour::resources::v1::image_to_video::CreateRequest {\n assets: magic_hour::models::V1ImageToVideoCreateBodyAssets {\n end_image_file_path: Some(\"api-assets/id/1234.png\".to_string()),\n image_file_path: \"api-assets/id/1234.png\".to_string(),\n },\n audio: Some(true),\n end_seconds: 5.0,\n model: Some(magic_hour::models::V1ImageToVideoCreateBodyModelEnum::Kling30),\n name: Some(\"My Image To Video video\".to_string()),\n resolution: Some(\n magic_hour::models::V1ImageToVideoCreateBodyResolutionEnum::Enum720p,\n ),\n ..Default::default()\n })\n .await;" + "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .image_to_video()\n .create(magic_hour::resources::v1::image_to_video::CreateRequest {\n assets: magic_hour::models::V1ImageToVideoCreateBodyAssets {\n end_image_file_path: Some(\"api-assets/id/1234.png\".to_string()),\n image_file_path: \"api-assets/id/1234.png\".to_string(),\n },\n audio: Some(true),\n end_seconds: 5.0,\n model: Some(magic_hour::models::V1ImageToVideoCreateBodyModelEnum::Ltx25),\n name: Some(\"My Image To Video video\".to_string()),\n resolution: Some(\n magic_hour::models::V1ImageToVideoCreateBodyResolutionEnum::Enum480p,\n ),\n ..Default::default()\n })\n .await;" }, { "lang": "curl", @@ -4422,7 +4674,7 @@ }, "/v1/lip-sync": { "post": { - "description": "**What this API does**\n\nCreate the same Lip Sync you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding lip sync into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`. \n2) Send a request to create a lip sync job with the basic fields. \n3) Check the job status until it's `complete`, then download the result from `downloads`.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes \n- Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt \n\n**Cost** \nCredits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/lip-sync).", + "description": "**What this API does**\n\nCreate the same Lip Sync you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding lip sync into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`. \n2) Send a request to create a lip sync job with the basic fields. \n3) Check the job status until it's `complete`, then download the result from `downloads`.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.\n- Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt \n\n**Cost** \nCredits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/lip-sync).", "summary": "Lip Sync", "tags": ["Video Projects"], "parameters": [], @@ -4670,11 +4922,11 @@ }, { "lang": "go", - "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tlip_sync \"github.com/magichourhq/magic-hour-go/resources/v1/lip_sync\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.LipSync.Create(lip_sync.CreateRequest{\n\t\tAssets: types.V1LipSyncCreateBodyAssets{\n\t\t\tAudioFilePath: \"api-assets/id/1234.mp3\",\n\t\t\tVideoFilePath: nullable.NewValue(\"api-assets/id/1234.mp4\"),\n\t\t\tVideoSource: types.V1LipSyncCreateBodyAssetsVideoSourceEnumFile,\n\t\t},\n\t\tEndSeconds: 15.0,\n\t\tMaxFpsLimit: nullable.NewValue(12.0),\n\t\tName: nullable.NewValue(\"My Lip Sync video\"),\n\t\tStartSeconds: 0.0,\n\t})\n}" + "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tlip_sync \"github.com/magichourhq/magic-hour-go/resources/v1/lip_sync\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.LipSync.Create(lip_sync.CreateRequest{\n\t\tAssets: types.V1LipSyncCreateBodyAssets{\n\t\t\tAudioFilePath: \"api-assets/id/1234.mp3\",\n\t\t\tVideoFilePath: nullable.NewValue(\"api-assets/id/1234.mp4\"),\n\t\t\tVideoSource: types.V1LipSyncCreateBodyAssetsVideoSourceEnumFile,\n\t\t},\n\t\tEndSeconds: 5.0,\n\t\tMaxFpsLimit: nullable.NewValue(12.0),\n\t\tName: nullable.NewValue(\"My Lip Sync video\"),\n\t\tStartSeconds: 0.0,\n\t})\n}" }, { "lang": "rust", - "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .lip_sync()\n .create(magic_hour::resources::v1::lip_sync::CreateRequest {\n assets: magic_hour::models::V1LipSyncCreateBodyAssets {\n audio_file_path: \"api-assets/id/1234.mp3\".to_string(),\n video_file_path: Some(\"api-assets/id/1234.mp4\".to_string()),\n video_source: magic_hour::models::V1LipSyncCreateBodyAssetsVideoSourceEnum::File,\n ..Default::default()\n },\n end_seconds: 15.0,\n max_fps_limit: Some(12.0),\n name: Some(\"My Lip Sync video\".to_string()),\n start_seconds: 0.0,\n ..Default::default()\n })\n .await;" + "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .lip_sync()\n .create(magic_hour::resources::v1::lip_sync::CreateRequest {\n assets: magic_hour::models::V1LipSyncCreateBodyAssets {\n audio_file_path: \"api-assets/id/1234.mp3\".to_string(),\n video_file_path: Some(\"api-assets/id/1234.mp4\".to_string()),\n video_source: magic_hour::models::V1LipSyncCreateBodyAssetsVideoSourceEnum::File,\n ..Default::default()\n },\n end_seconds: 5.0,\n max_fps_limit: Some(12.0),\n name: Some(\"My Lip Sync video\".to_string()),\n start_seconds: 0.0,\n ..Default::default()\n })\n .await;" }, { "lang": "curl", @@ -4693,7 +4945,7 @@ }, "/v1/text-to-video": { "post": { - "description": "**What this API does**\n\nCreate the same Text To Video you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding text to video into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`. \n2) Send a request to create a text to video job with the basic fields. \n3) Check the job status until it's `complete`, then download the result from `downloads`.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes \n- Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt \n\n**Cost** \nCredits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/text-to-video).", + "description": "**What this API does**\n\nCreate the same Text To Video you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding text to video into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`. \n2) Send a request to create a text to video job with the basic fields. \n3) Check the job status until it's `complete`, then download the result from `downloads`.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.\n- Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt \n\n**Cost** \nCredits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/text-to-video).", "summary": "Text-to-Video", "tags": ["Video Projects"], "parameters": [], @@ -4737,21 +4989,21 @@ "type": "string", "enum": [ "default", + "minimax-h3", "kling-3.0", "ltx-2.5", - "seedance-2.0-mini", - "seedance-2.0-fast", - "wan-3.0", + "wan-2.2", "seedance-2.5", - "gemini-omni-1.1", - "minimax-h3", - "wan-2.2", - "seedance-1.5", - "seedance-2.0", - "veo3.1-lite", - "sora-2", + "wan-3.0", + "seedance-2.0-mini", "veo3.1", + "veo3.1-lite", + "seedance-2.0", "kling-2.6", + "gemini-omni-1.1", + "seedance-2.0-fast", + "seedance-1.5", + "sora-2", "ltx-2.3", "ltx-2", "kling-2.5", @@ -4801,7 +5053,7 @@ }, "minItems": 1, "maxItems": 10, - "description": "Reference media for video generation. Name references without @ and refer to them as @name in style.prompt. Maximum 10 references total.\n\nSupported models and reference media:\n* **`kling-3.0`**: Supports images, videos.\n* **`minimax-h3`**: Supports images, videos, audio.\n* **`seedance-2.0`**: Supports images, videos, audio.\n* **`seedance-2.0-fast`**: Supports images, videos, audio.\n* **`seedance-2.0-mini`**: Supports images, videos, audio.\n* **`seedance-2.5`**: Supports images, videos, audio.\n* **`wan-3.0`**: Supports images, videos, audio." + "description": "Reference media for video generation. Name references without @ and refer to them as @name in style.prompt. Maximum 10 references total.\n\nSupported models and reference media:\n* **`gemini-omni-1.1`**: Supports images, videos. Up to 13 references.\n* **`kling-3.0`**: Supports images, videos.\n* **`minimax-h3`**: Supports images, videos, audio.\n* **`seedance-2.0`**: Supports images, videos, audio.\n* **`seedance-2.0-fast`**: Supports images, videos, audio.\n* **`seedance-2.0-mini`**: Supports images, videos, audio.\n* **`seedance-2.5`**: Supports images, videos, audio.\n* **`veo3.1`**: Supports images. Up to 3 references. Requires `end_seconds` of 8.\n* **`wan-3.0`**: Supports images, videos, audio." } }, "required": ["end_seconds", "style"], @@ -4970,11 +5222,11 @@ }, { "lang": "go", - "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\ttext_to_video \"github.com/magichourhq/magic-hour-go/resources/v1/text_to_video\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.TextToVideo.Create(text_to_video.CreateRequest{\n\t\tAspectRatio: nullable.NewValue(types.V1TextToVideoCreateBodyAspectRatioEnum169),\n\t\tAudio: nullable.NewValue(true),\n\t\tEndSeconds: 5.0,\n\t\tModel: nullable.NewValue(types.V1TextToVideoCreateBodyModelEnumKling30),\n\t\tName: nullable.NewValue(\"My Text To Video video\"),\n\t\tResolution: nullable.NewValue(types.V1TextToVideoCreateBodyResolutionEnum720p),\n\t\tStyle: types.V1TextToVideoCreateBodyStyle{\n\t\t\tPrompt: \"a dog running\",\n\t\t},\n\t})\n}" + "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\ttext_to_video \"github.com/magichourhq/magic-hour-go/resources/v1/text_to_video\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.TextToVideo.Create(text_to_video.CreateRequest{\n\t\tAspectRatio: nullable.NewValue(types.V1TextToVideoCreateBodyAspectRatioEnum169),\n\t\tAudio: nullable.NewValue(true),\n\t\tEndSeconds: 5.0,\n\t\tModel: nullable.NewValue(types.V1TextToVideoCreateBodyModelEnumLtx25),\n\t\tName: nullable.NewValue(\"My Text To Video video\"),\n\t\tResolution: nullable.NewValue(types.V1TextToVideoCreateBodyResolutionEnum480p),\n\t\tStyle: types.V1TextToVideoCreateBodyStyle{\n\t\t\tPrompt: \"a dog running\",\n\t\t},\n\t})\n}" }, { "lang": "rust", - "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .text_to_video()\n .create(magic_hour::resources::v1::text_to_video::CreateRequest {\n aspect_ratio: Some(\n magic_hour::models::V1TextToVideoCreateBodyAspectRatioEnum::Enum169,\n ),\n audio: Some(true),\n end_seconds: 5.0,\n model: Some(magic_hour::models::V1TextToVideoCreateBodyModelEnum::Kling30),\n name: Some(\"My Text To Video video\".to_string()),\n resolution: Some(\n magic_hour::models::V1TextToVideoCreateBodyResolutionEnum::Enum720p,\n ),\n style: magic_hour::models::V1TextToVideoCreateBodyStyle {\n prompt: \"a dog running\".to_string(),\n ..Default::default()\n },\n ..Default::default()\n })\n .await;" + "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .text_to_video()\n .create(magic_hour::resources::v1::text_to_video::CreateRequest {\n aspect_ratio: Some(\n magic_hour::models::V1TextToVideoCreateBodyAspectRatioEnum::Enum169,\n ),\n audio: Some(true),\n end_seconds: 5.0,\n model: Some(magic_hour::models::V1TextToVideoCreateBodyModelEnum::Ltx25),\n name: Some(\"My Text To Video video\".to_string()),\n resolution: Some(\n magic_hour::models::V1TextToVideoCreateBodyResolutionEnum::Enum480p,\n ),\n style: magic_hour::models::V1TextToVideoCreateBodyStyle {\n prompt: \"a dog running\".to_string(),\n ..Default::default()\n },\n ..Default::default()\n })\n .await;" }, { "lang": "curl", @@ -4993,7 +5245,7 @@ }, "/v1/video-to-video": { "post": { - "description": "**What this API does**\n\nCreate the same Video To Video you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding video to video into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`. \n2) Send a request to create a video to video job with the basic fields. \n3) Check the job status until it's `complete`, then download the result from `downloads`.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes \n- Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt \n\n**Cost** \nCredits are only charged for the frames that actually render. You'll see an estimate when the job is queued, and the final total after it's done.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/video-to-video).", + "description": "**What this API does**\n\nCreate the same Video To Video you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow.\n \n**Good for**\n- Automation and batch processing \n- Adding video to video into apps, pipelines, or tools \n\n**How it works (3 steps)**\n1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls) and copy the `file_path`. \n2) Send a request to create a video to video job with the basic fields. \n3) Check the job status until it's `complete`, then download the result from `downloads`.\n\n**Key options**\n- Inputs: usually a file, sometimes a YouTube link, depending on project type \n- Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.\n- Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt \n\n**Cost** \nCredits are charged when the job is queued (`credits_charged` in the response). Tools billed per frame charge an estimate and settle to the frames that actually render once the job finishes; tools billed per second charge the final amount upfront. Failed jobs are refunded.\n\nFor detailed examples, see the [product page](https://magichour.ai/products/video-to-video).", "summary": "Video-to-Video", "tags": ["Video Projects"], "parameters": [], @@ -5345,11 +5597,11 @@ }, { "lang": "go", - "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tvideo_to_video \"github.com/magichourhq/magic-hour-go/resources/v1/video_to_video\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.VideoToVideo.Create(video_to_video.CreateRequest{\n\t\tAssets: types.V1VideoToVideoCreateBodyAssets{\n\t\t\tVideoFilePath: nullable.NewValue(\"api-assets/id/1234.mp4\"),\n\t\t\tVideoSource: types.V1VideoToVideoCreateBodyAssetsVideoSourceEnumFile,\n\t\t},\n\t\tEndSeconds: 15.0,\n\t\tFpsResolution: nullable.NewValue(types.V1VideoToVideoCreateBodyFpsResolutionEnumHalf),\n\t\tName: nullable.NewValue(\"My Video To Video video\"),\n\t\tStartSeconds: 0.0,\n\t\tStyle: types.V1VideoToVideoCreateBodyStyle{\n\t\t\tArtStyle: types.V1VideoToVideoCreateBodyStyleArtStyleEnum3dRender,\n\t\t\tModel: nullable.NewValue(types.V1VideoToVideoCreateBodyStyleModelEnumDefault),\n\t\t\tPromptType: nullable.NewValue(types.V1VideoToVideoCreateBodyStylePromptTypeEnumDefault),\n\t\t\tVersion: nullable.NewValue(types.V1VideoToVideoCreateBodyStyleVersionEnumDefault),\n\t\t},\n\t})\n}" + "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tvideo_to_video \"github.com/magichourhq/magic-hour-go/resources/v1/video_to_video\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.VideoToVideo.Create(video_to_video.CreateRequest{\n\t\tAssets: types.V1VideoToVideoCreateBodyAssets{\n\t\t\tVideoFilePath: nullable.NewValue(\"api-assets/id/1234.mp4\"),\n\t\t\tVideoSource: types.V1VideoToVideoCreateBodyAssetsVideoSourceEnumFile,\n\t\t},\n\t\tEndSeconds: 5.0,\n\t\tFpsResolution: nullable.NewValue(types.V1VideoToVideoCreateBodyFpsResolutionEnumHalf),\n\t\tName: nullable.NewValue(\"My Video To Video video\"),\n\t\tStartSeconds: 0.0,\n\t\tStyle: types.V1VideoToVideoCreateBodyStyle{\n\t\t\tArtStyle: types.V1VideoToVideoCreateBodyStyleArtStyleEnumMinecraft,\n\t\t\tModel: nullable.NewValue(types.V1VideoToVideoCreateBodyStyleModelEnumDefault),\n\t\t\tPrompt: nullable.NewValue(\"A cinematic scene with warm lighting\"),\n\t\t\tPromptType: nullable.NewValue(types.V1VideoToVideoCreateBodyStylePromptTypeEnumDefault),\n\t\t\tVersion: nullable.NewValue(types.V1VideoToVideoCreateBodyStyleVersionEnumDefault),\n\t\t},\n\t})\n}" }, { "lang": "rust", - "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .video_to_video()\n .create(magic_hour::resources::v1::video_to_video::CreateRequest {\n assets: magic_hour::models::V1VideoToVideoCreateBodyAssets {\n video_file_path: Some(\"api-assets/id/1234.mp4\".to_string()),\n video_source: magic_hour::models::V1VideoToVideoCreateBodyAssetsVideoSourceEnum::File,\n ..Default::default()\n },\n end_seconds: 15.0,\n fps_resolution: Some(\n magic_hour::models::V1VideoToVideoCreateBodyFpsResolutionEnum::Half,\n ),\n name: Some(\"My Video To Video video\".to_string()),\n start_seconds: 0.0,\n style: magic_hour::models::V1VideoToVideoCreateBodyStyle {\n art_style: magic_hour::models::V1VideoToVideoCreateBodyStyleArtStyleEnum::Enum3dRender,\n model: Some(\n magic_hour::models::V1VideoToVideoCreateBodyStyleModelEnum::Default,\n ),\n prompt_type: Some(\n magic_hour::models::V1VideoToVideoCreateBodyStylePromptTypeEnum::Default,\n ),\n version: Some(\n magic_hour::models::V1VideoToVideoCreateBodyStyleVersionEnum::Default,\n ),\n ..Default::default()\n },\n ..Default::default()\n })\n .await;" + "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .video_to_video()\n .create(magic_hour::resources::v1::video_to_video::CreateRequest {\n assets: magic_hour::models::V1VideoToVideoCreateBodyAssets {\n video_file_path: Some(\"api-assets/id/1234.mp4\".to_string()),\n video_source: magic_hour::models::V1VideoToVideoCreateBodyAssetsVideoSourceEnum::File,\n ..Default::default()\n },\n end_seconds: 5.0,\n fps_resolution: Some(\n magic_hour::models::V1VideoToVideoCreateBodyFpsResolutionEnum::Half,\n ),\n name: Some(\"My Video To Video video\".to_string()),\n start_seconds: 0.0,\n style: magic_hour::models::V1VideoToVideoCreateBodyStyle {\n art_style: magic_hour::models::V1VideoToVideoCreateBodyStyleArtStyleEnum::Minecraft,\n model: Some(\n magic_hour::models::V1VideoToVideoCreateBodyStyleModelEnum::Default,\n ),\n prompt: magic_hour::Patch::new(\n \"A cinematic scene with warm lighting\".to_string(),\n ),\n prompt_type: Some(\n magic_hour::models::V1VideoToVideoCreateBodyStylePromptTypeEnum::Default,\n ),\n version: Some(\n magic_hour::models::V1VideoToVideoCreateBodyStyleVersionEnum::Default,\n ),\n },\n ..Default::default()\n })\n .await;" }, { "lang": "curl", @@ -6605,19 +6857,19 @@ "enum": [ "default", "qwen-image-2.1", - "qwen-edit", - "flux-2-klein", - "nano-banana-2-lite", + "gpt-image-2", "nano-banana-2", + "flux-2-klein", + "nano-banana-pro", + "seedream-v5-pro", + "seedream-v4.5", "nano-banana-2.1", + "qwen-edit", + "nano-banana-2-lite", "krea-2", "gpt-image-2.5-flare", - "gpt-image-2", - "seedream-v5-pro", - "seedream-v4.5", "seedream-v4", - "nano-banana", - "nano-banana-pro" + "nano-banana" ], "description": "The AI model to use for image editing. Each model has different capabilities and costs.\n\n**Models:**\n- `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.\n- `flux-2-klein` - from 5 credits/image\n - Supported resolutions: 640px, 1k, 2k\n - Available for tiers: free, creator, pro, business\n - Max additional input images: 5\n- `gpt-image-2` - from 50 credits/image\n - Supported resolutions: 640px, 1k, 2k, 4k\n - Available for tiers: creator, pro, business\n - Max additional input images: 9\n- `gpt-image-2.5-flare` - from 100 credits/image\n - Supported resolutions: 640px, 1k, 2k, 4k\n - Available for tiers: creator, pro, business\n - Max additional input images: 9\n- `krea-2` - from 10 credits/image\n - Supported resolutions: 640px, 1k\n - Available for tiers: free, creator, pro, business\n - Max additional input images: 1\n- `nano-banana` - from 50 credits/image\n - Supported resolutions: 640px, 1k\n - Available for tiers: creator, pro, business\n - Max additional input images: 9\n- `nano-banana-2` - from 100 credits/image\n - Supported resolutions: 640px, 1k, 2k, 4k\n - Available for tiers: creator, pro, business\n - Max additional input images: 9\n- `nano-banana-2-lite` - from 50 credits/image\n - Supported resolutions: 640px, 1k\n - Available for tiers: creator, pro, business\n - Max additional input images: 9\n- `nano-banana-2.1` - from 50 credits/image\n - Supported resolutions: 640px, 1k, 2k, 4k\n - Available for tiers: creator, pro, business\n - Max additional input images: 9\n- `nano-banana-pro` - from 150 credits/image\n - Supported resolutions: 1k, 2k, 4k\n - Available for tiers: creator, pro, business\n - Max additional input images: 9\n- `qwen-edit` - from 10 credits/image\n - Supported resolutions: 640px, 1k, 2k\n - Available for tiers: free, creator, pro, business\n - Max additional input images: 2\n- `qwen-image-2.1` - from 10 credits/image\n - Supported resolutions: 640px, 1k, 2k\n - Available for tiers: free, creator, pro, business\n - Max additional input images: 2\n- `seedream-v4` - from 40 credits/image\n - Supported resolutions: 640px, 1k, 2k, 4k\n - Available for tiers: creator, pro, business\n - Max additional input images: 9\n- `seedream-v4.5` - from 50 credits/image\n - Supported resolutions: 640px, 1k, 2k, 4k\n - Available for tiers: creator, pro, business\n - Max additional input images: 9\n- `seedream-v5-pro` - from 75 credits/image\n - Supported resolutions: 640px, 1k, 2k\n - Available for tiers: creator, pro, business\n - Max additional input images: 9\n", "example": "flux-2-klein" @@ -6822,11 +7074,11 @@ }, { "lang": "go", - "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tai_image_editor \"github.com/magichourhq/magic-hour-go/resources/v1/ai_image_editor\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.AiImageEditor.Create(ai_image_editor.CreateRequest{\n\t\tAspectRatio: nullable.NewValue(types.V1AiImageEditorCreateBodyAspectRatioEnum11),\n\t\tAssets: types.V1AiImageEditorCreateBodyAssets{\n\t\t\tImageFilePaths: nullable.NewValue([]string{\n\t\t\t\t\"api-assets/id/1234.png\",\n\t\t\t\t\"api-assets/id/1235.png\",\n\t\t\t}),\n\t\t},\n\t\tImageCount: nullable.NewValue(1.0),\n\t\tModel: nullable.NewValue(types.V1AiImageEditorCreateBodyModelEnumDefault),\n\t\tName: nullable.NewValue(\"My Ai Image Editor image\"),\n\t\tResolution: nullable.NewValue(types.V1AiImageEditorCreateBodyResolutionEnum1k),\n\t\tStyle: types.V1AiImageEditorCreateBodyStyle{\n\t\t\tPrompt: \"Give me sunglasses\",\n\t\t},\n\t})\n}" + "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tai_image_editor \"github.com/magichourhq/magic-hour-go/resources/v1/ai_image_editor\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.AiImageEditor.Create(ai_image_editor.CreateRequest{\n\t\tAspectRatio: nullable.NewValue(types.V1AiImageEditorCreateBodyAspectRatioEnum11),\n\t\tAssets: types.V1AiImageEditorCreateBodyAssets{\n\t\t\tImageFilePaths: nullable.NewValue([]string{\n\t\t\t\t\"api-assets/id/1234.png\",\n\t\t\t\t\"api-assets/id/1235.png\",\n\t\t\t}),\n\t\t},\n\t\tImageCount: nullable.NewValue(1.0),\n\t\tModel: nullable.NewValue(types.V1AiImageEditorCreateBodyModelEnumFlux2Klein),\n\t\tName: nullable.NewValue(\"My Ai Image Editor image\"),\n\t\tResolution: nullable.NewValue(types.V1AiImageEditorCreateBodyResolutionEnum640px),\n\t\tStyle: types.V1AiImageEditorCreateBodyStyle{\n\t\t\tPrompt: \"Give me sunglasses\",\n\t\t},\n\t})\n}" }, { "lang": "rust", - "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .ai_image_editor()\n .create(magic_hour::resources::v1::ai_image_editor::CreateRequest {\n aspect_ratio: Some(\n magic_hour::models::V1AiImageEditorCreateBodyAspectRatioEnum::Enum11,\n ),\n assets: magic_hour::models::V1AiImageEditorCreateBodyAssets {\n image_file_paths: Some(\n vec![\n \"api-assets/id/1234.png\".to_string(), \"api-assets/id/1235.png\"\n .to_string()\n ],\n ),\n ..Default::default()\n },\n image_count: Some(1.0),\n model: Some(magic_hour::models::V1AiImageEditorCreateBodyModelEnum::Default),\n name: Some(\"My Ai Image Editor image\".to_string()),\n resolution: Some(\n magic_hour::models::V1AiImageEditorCreateBodyResolutionEnum::Enum1k,\n ),\n style: magic_hour::models::V1AiImageEditorCreateBodyStyle {\n prompt: \"Give me sunglasses\".to_string(),\n ..Default::default()\n },\n })\n .await;" + "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .ai_image_editor()\n .create(magic_hour::resources::v1::ai_image_editor::CreateRequest {\n aspect_ratio: Some(\n magic_hour::models::V1AiImageEditorCreateBodyAspectRatioEnum::Enum11,\n ),\n assets: magic_hour::models::V1AiImageEditorCreateBodyAssets {\n image_file_paths: Some(\n vec![\n \"api-assets/id/1234.png\".to_string(), \"api-assets/id/1235.png\"\n .to_string()\n ],\n ),\n ..Default::default()\n },\n image_count: Some(1.0),\n model: Some(\n magic_hour::models::V1AiImageEditorCreateBodyModelEnum::Flux2Klein,\n ),\n name: Some(\"My Ai Image Editor image\".to_string()),\n resolution: Some(\n magic_hour::models::V1AiImageEditorCreateBodyResolutionEnum::Enum640px,\n ),\n style: magic_hour::models::V1AiImageEditorCreateBodyStyle {\n prompt: \"Give me sunglasses\".to_string(),\n ..Default::default()\n },\n })\n .await;" }, { "lang": "curl", @@ -7103,18 +7355,18 @@ "enum": [ "default", "z-image-turbo", + "gpt-image-2", "qwen-image-2.1", "flux-2-klein", - "nano-banana-2-lite", "nano-banana-2", "nano-banana-2.1", + "nano-banana-pro", "krea-2", - "gpt-image-2.5-flare", - "gpt-image-2", "seedream-v5-pro", + "nano-banana-2-lite", + "gpt-image-2.5-flare", "seedream-v4", "nano-banana", - "nano-banana-pro", "flux-schnell", "seedream" ], @@ -7352,11 +7604,11 @@ }, { "lang": "go", - "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tai_image_generator \"github.com/magichourhq/magic-hour-go/resources/v1/ai_image_generator\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.AiImageGenerator.Create(ai_image_generator.CreateRequest{\n\t\tAspectRatio: nullable.NewValue(types.V1AiImageGeneratorCreateBodyAspectRatioEnum11),\n\t\tImageCount: 1,\n\t\tModel: nullable.NewValue(types.V1AiImageGeneratorCreateBodyModelEnumDefault),\n\t\tName: nullable.NewValue(\"My Ai Image image\"),\n\t\tResolution: nullable.NewValue(types.V1AiImageGeneratorCreateBodyResolutionEnum1k),\n\t\tStyle: types.V1AiImageGeneratorCreateBodyStyle{\n\t\t\tPrompt: \"Cool image\",\n\t\t\tTool: nullable.NewValue(types.V1AiImageGeneratorCreateBodyStyleToolEnumAiAnimeGenerator),\n\t\t},\n\t})\n}" + "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tai_image_generator \"github.com/magichourhq/magic-hour-go/resources/v1/ai_image_generator\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.AiImageGenerator.Create(ai_image_generator.CreateRequest{\n\t\tAspectRatio: nullable.NewValue(types.V1AiImageGeneratorCreateBodyAspectRatioEnum11),\n\t\tImageCount: 1,\n\t\tModel: nullable.NewValue(types.V1AiImageGeneratorCreateBodyModelEnumZImageTurbo),\n\t\tName: nullable.NewValue(\"My Ai Image image\"),\n\t\tResolution: nullable.NewValue(types.V1AiImageGeneratorCreateBodyResolutionEnum640px),\n\t\tStyle: types.V1AiImageGeneratorCreateBodyStyle{\n\t\t\tPrompt: \"Cool image\",\n\t\t\tTool: nullable.NewValue(types.V1AiImageGeneratorCreateBodyStyleToolEnumAiAnimeGenerator),\n\t\t},\n\t})\n}" }, { "lang": "rust", - "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .ai_image_generator()\n .create(magic_hour::resources::v1::ai_image_generator::CreateRequest {\n aspect_ratio: Some(\n magic_hour::models::V1AiImageGeneratorCreateBodyAspectRatioEnum::Enum11,\n ),\n image_count: 1,\n model: Some(\n magic_hour::models::V1AiImageGeneratorCreateBodyModelEnum::Default,\n ),\n name: Some(\"My Ai Image image\".to_string()),\n resolution: Some(\n magic_hour::models::V1AiImageGeneratorCreateBodyResolutionEnum::Enum1k,\n ),\n style: magic_hour::models::V1AiImageGeneratorCreateBodyStyle {\n prompt: \"Cool image\".to_string(),\n tool: Some(\n magic_hour::models::V1AiImageGeneratorCreateBodyStyleToolEnum::AiAnimeGenerator,\n ),\n ..Default::default()\n },\n ..Default::default()\n })\n .await;" + "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .ai_image_generator()\n .create(magic_hour::resources::v1::ai_image_generator::CreateRequest {\n aspect_ratio: Some(\n magic_hour::models::V1AiImageGeneratorCreateBodyAspectRatioEnum::Enum11,\n ),\n image_count: 1,\n model: Some(\n magic_hour::models::V1AiImageGeneratorCreateBodyModelEnum::ZImageTurbo,\n ),\n name: Some(\"My Ai Image image\".to_string()),\n resolution: Some(\n magic_hour::models::V1AiImageGeneratorCreateBodyResolutionEnum::Enum640px,\n ),\n style: magic_hour::models::V1AiImageGeneratorCreateBodyStyle {\n prompt: \"Cool image\".to_string(),\n tool: Some(\n magic_hour::models::V1AiImageGeneratorCreateBodyStyleToolEnum::AiAnimeGenerator,\n ),\n ..Default::default()\n },\n ..Default::default()\n })\n .await;" }, { "lang": "curl", @@ -7593,11 +7845,11 @@ }, { "lang": "go", - "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tai_image_upscaler \"github.com/magichourhq/magic-hour-go/resources/v1/ai_image_upscaler\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.AiImageUpscaler.Create(ai_image_upscaler.CreateRequest{\n\t\tAssets: types.V1AiImageUpscalerCreateBodyAssets{\n\t\t\tImageFilePath: \"api-assets/id/1234.png\",\n\t\t},\n\t\tName: nullable.NewValue(\"My Image Upscaler image\"),\n\t\tScaleFactor: 2.0,\n\t})\n}" + "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tai_image_upscaler \"github.com/magichourhq/magic-hour-go/resources/v1/ai_image_upscaler\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.AiImageUpscaler.Create(ai_image_upscaler.CreateRequest{\n\t\tAssets: types.V1AiImageUpscalerCreateBodyAssets{\n\t\t\tImageFilePath: \"api-assets/id/1234.png\",\n\t\t},\n\t\tName: nullable.NewValue(\"My Image Upscaler image\"),\n\t\tScaleFactor: 2.0,\n\t\tStyle: nullable.NewValue(types.V1AiImageUpscalerCreateBodyStyle{\n\t\t\tMode: nullable.NewValue(types.V1AiImageUpscalerCreateBodyStyleModeEnumPreserve),\n\t\t}),\n\t})\n}" }, { "lang": "rust", - "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .ai_image_upscaler()\n .create(magic_hour::resources::v1::ai_image_upscaler::CreateRequest {\n assets: magic_hour::models::V1AiImageUpscalerCreateBodyAssets {\n image_file_path: \"api-assets/id/1234.png\".to_string(),\n },\n name: Some(\"My Image Upscaler image\".to_string()),\n scale_factor: 2.0,\n ..Default::default()\n })\n .await;" + "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .ai_image_upscaler()\n .create(magic_hour::resources::v1::ai_image_upscaler::CreateRequest {\n assets: magic_hour::models::V1AiImageUpscalerCreateBodyAssets {\n image_file_path: \"api-assets/id/1234.png\".to_string(),\n },\n name: Some(\"My Image Upscaler image\".to_string()),\n scale_factor: 2.0,\n style: Some(magic_hour::models::V1AiImageUpscalerCreateBodyStyle {\n mode: Some(\n magic_hour::models::V1AiImageUpscalerCreateBodyStyleModeEnum::Preserve,\n ),\n ..Default::default()\n }),\n })\n .await;" }, { "lang": "curl", @@ -8372,11 +8624,11 @@ }, { "lang": "go", - "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tbody_swap \"github.com/magichourhq/magic-hour-go/resources/v1/body_swap\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.BodySwap.Create(body_swap.CreateRequest{\n\t\tAssets: types.V1BodySwapCreateBodyAssets{\n\t\t\tPersonFilePath: \"api-assets/id/1234.png\",\n\t\t\tSceneFilePath: \"api-assets/id/5678.png\",\n\t\t},\n\t\tName: nullable.NewValue(\"My Body Swap image\"),\n\t\tResolution: types.V1BodySwapCreateBodyResolutionEnum1k,\n\t})\n}" + "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tbody_swap \"github.com/magichourhq/magic-hour-go/resources/v1/body_swap\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.BodySwap.Create(body_swap.CreateRequest{\n\t\tAssets: types.V1BodySwapCreateBodyAssets{\n\t\t\tPersonFilePath: \"api-assets/id/1234.png\",\n\t\t\tSceneFilePath: \"api-assets/id/5678.png\",\n\t\t},\n\t\tName: nullable.NewValue(\"My Body Swap image\"),\n\t\tResolution: types.V1BodySwapCreateBodyResolutionEnum640px,\n\t})\n}" }, { "lang": "rust", - "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .body_swap()\n .create(magic_hour::resources::v1::body_swap::CreateRequest {\n assets: magic_hour::models::V1BodySwapCreateBodyAssets {\n person_file_path: \"api-assets/id/1234.png\".to_string(),\n scene_file_path: \"api-assets/id/5678.png\".to_string(),\n },\n name: Some(\"My Body Swap image\".to_string()),\n resolution: magic_hour::models::V1BodySwapCreateBodyResolutionEnum::Enum1k,\n })\n .await;" + "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .body_swap()\n .create(magic_hour::resources::v1::body_swap::CreateRequest {\n assets: magic_hour::models::V1BodySwapCreateBodyAssets {\n person_file_path: \"api-assets/id/1234.png\".to_string(),\n scene_file_path: \"api-assets/id/5678.png\".to_string(),\n },\n name: Some(\"My Body Swap image\".to_string()),\n resolution: magic_hour::models::V1BodySwapCreateBodyResolutionEnum::Enum640px,\n })\n .await;" }, { "lang": "curl", @@ -8634,11 +8886,11 @@ }, { "lang": "go", - "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tface_swap_photo \"github.com/magichourhq/magic-hour-go/resources/v1/face_swap_photo\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.FaceSwapPhoto.Create(face_swap_photo.CreateRequest{\n\t\tAssets: types.V1FaceSwapPhotoCreateBodyAssets{\n\t\t\tFaceMappings: nullable.NewValue([]types.V1FaceSwapPhotoCreateBodyAssetsFaceMappingsItem{\n\t\t\t\ttypes.V1FaceSwapPhotoCreateBodyAssetsFaceMappingsItem{\n\t\t\t\t\tNewFace: \"api-assets/id/1234.png\",\n\t\t\t\t\tOriginalFace: \"api-assets/id/0-0.png\",\n\t\t\t\t},\n\t\t\t}),\n\t\t\tFaceSwapMode: nullable.NewValue(types.V1FaceSwapPhotoCreateBodyAssetsFaceSwapModeEnumAllFaces),\n\t\t\tSourceFilePath: nullable.NewValue(\"api-assets/id/1234.png\"),\n\t\t\tTargetFilePath: \"api-assets/id/1234.png\",\n\t\t},\n\t\tName: nullable.NewValue(\"My Face Swap image\"),\n\t})\n}" + "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tface_swap_photo \"github.com/magichourhq/magic-hour-go/resources/v1/face_swap_photo\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.FaceSwapPhoto.Create(face_swap_photo.CreateRequest{\n\t\tAssets: types.V1FaceSwapPhotoCreateBodyAssets{\n\t\t\tFaceSwapMode: nullable.NewValue(types.V1FaceSwapPhotoCreateBodyAssetsFaceSwapModeEnumAllFaces),\n\t\t\tSourceFilePath: nullable.NewValue(\"api-assets/id/1234.png\"),\n\t\t\tTargetFilePath: \"api-assets/id/1234.png\",\n\t\t},\n\t\tName: nullable.NewValue(\"My Face Swap image\"),\n\t})\n}" }, { "lang": "rust", - "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .face_swap_photo()\n .create(magic_hour::resources::v1::face_swap_photo::CreateRequest {\n assets: magic_hour::models::V1FaceSwapPhotoCreateBodyAssets {\n face_mappings: Some(\n vec![\n magic_hour::models::V1FaceSwapPhotoCreateBodyAssetsFaceMappingsItem\n { new_face : \"api-assets/id/1234.png\".to_string(), original_face\n : \"api-assets/id/0-0.png\".to_string() }\n ],\n ),\n face_swap_mode: Some(\n magic_hour::models::V1FaceSwapPhotoCreateBodyAssetsFaceSwapModeEnum::AllFaces,\n ),\n source_file_path: Some(\"api-assets/id/1234.png\".to_string()),\n target_file_path: \"api-assets/id/1234.png\".to_string(),\n },\n name: Some(\"My Face Swap image\".to_string()),\n })\n .await;" + "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .face_swap_photo()\n .create(magic_hour::resources::v1::face_swap_photo::CreateRequest {\n assets: magic_hour::models::V1FaceSwapPhotoCreateBodyAssets {\n face_swap_mode: Some(\n magic_hour::models::V1FaceSwapPhotoCreateBodyAssetsFaceSwapModeEnum::AllFaces,\n ),\n source_file_path: Some(\"api-assets/id/1234.png\".to_string()),\n target_file_path: \"api-assets/id/1234.png\".to_string(),\n ..Default::default()\n },\n name: Some(\"My Face Swap image\".to_string()),\n })\n .await;" }, { "lang": "curl", @@ -9713,13 +9965,13 @@ ] } }, - "/v1/ai-voice-generator": { + "/v1/ai-music-generator": { "post": { - "description": "Generate speech from text. Each character costs 0.1 credits. The cost is rounded up to the nearest whole number.", - "summary": "AI Voice Generator", + "description": "Generate music from a description, with optional custom lyrics or instrumental-only output. Costs 1 credits per requested second. Returns a project ID; poll GET /v1/audio-projects/{id} for status and downloads.", + "summary": "AI Music Generator", "tags": ["Audio Projects"], "parameters": [], - "operationId": "aiVoiceGenerator.createAudio", + "operationId": "aiMusicGenerator.createAudio", "requestBody": { "required": true, "description": "Body", @@ -9731,8 +9983,15 @@ "name": { "type": "string", "description": "Give your audio a custom name for easy identification.", - "example": "My Voice Generator audio", - "default": "Voice Generator - dateTime" + "example": "My Music Generator audio", + "default": "AI Music Generator" + }, + "duration": { + "type": "integer", + "minimum": 15, + "maximum": 300, + "description": "Requested track duration in seconds, from 15 to 300. Determines credits charged.", + "example": 120 }, "style": { "type": "object", @@ -9740,216 +9999,645 @@ "prompt": { "type": "string", "minLength": 1, - "description": "Text used to generate speech. The character limit is 1000 characters.", - "example": "Hello, how are you?" + "description": "Describe the song, including genre, mood, and instruments.", + "example": "Dreamy synthwave with warm bass and soft vocals" }, - "voice_name": { + "instrumental": { + "default": false, + "type": "boolean", + "description": "Generate music without vocals. When true, lyrics is ignored.", + "example": false + }, + "lyrics": { "type": "string", - "enum": [ - "Elon Musk", - "Mark Zuckerberg", - "Joe Rogan", - "Barack Obama", - "Morgan Freeman", - "Kanye West", - "Donald Trump", - "Joe Biden", - "Kim Kardashian", - "Taylor Swift", - "James Earl Jones", - "Samuel L. Jackson", - "Jeff Goldblum", - "David Attenborough", - "Sean Connery", - "Cillian Murphy", - "Anne Hathaway", - "Julia Roberts", - "Natalie Portman", - "Steve Carell", - "Amy Poehler", - "Stephen Colbert", - "Jimmy Fallon", - "David Letterman", - "Alex Trebek", - "Katy Perry", - "Prince", - "Kevin Bacon", - "Tom Hiddleston", - "Adam Driver", - "Alan Rickman", - "Alexz Johnson", - "Ana Gasteyer", - "Andrew Rannells", - "Arden Cho", - "Bear Grylls", - "Ben McKenzie", - "Ben Stiller", - "Ben Whishaw", - "Billie Joe Armstrong", - "Bingbing Li", - "Booboo Stewart", - "Bradley Steven Perry", - "Bruno Mars", - "Caity Lotz", - "Cameron Boyce", - "Candice Accola", - "Carrie Underwood", - "Casey Affleck", - "Caterina Scorsone", - "Cedric the Entertainer", - "Chace Crawford", - "Chadwick Boseman", - "Charlie Day", - "Chris Hemsworth", - "Chris Martin", - "Christopher Mintz-Plasse", - "Dan Fogler", - "Dan Stevens", - "Daniel Dae Kim", - "Danielle Panabaker", - "Dave Bautista", - "David Schwimmer", - "Denis Leary", - "Derek Mears", - "Diego Luna", - "Donald Glover", - "Donnie Yen", - "Doutzen Kroes", - "Dove Cameron", - "Dr. Dre", - "Drake Bell", - "Elle Fanning", - "Ernie Hudson", - "Fergie", - "Forest Whitaker", - "Francia Raisa", - "Freddie Highmore", - "Gillian Jacobs", - "Gina Carano", - "Ginnifer Goodwin", - "Gordon Ramsay", - "Guy Pearce", - "Gwendoline Christie", - "Hailee Steinfeld", - "Howie Mandel", - "Hugh Jackman", - "Hugh Laurie", - "J. K. Simmons", - "Jack Black", - "Jared Leto", - "Jennifer Carpenter", - "Kesha", - "Kris Jenner", - "Kristen Bell", - "Lorde", - "Matt Smith", - "Marilyn Monroe", - "Charlie Chaplin", - "Albert Einstein", - "Abraham Lincoln", - "John F. Kennedy", - "Lucille Ball", - "A.R. Rahman", - "Aamir Khan", - "Ajay Devgn", - "Akshay Kumar", - "Alain Delon", - "Alan Alda", - "Alan Cumming", - "Amitabh Bachchan", - "Ang Lee", - "Ansel Elgort", - "Anthony Anderson", - "Anthony Mackie", - "Armie Hammer", - "Asa Butterfield", - "B.J. Novak", - "Barbara Eden", - "Betty White", - "Bill Nighy", - "Bill Pullman", - "Blake Shelton", - "Bonnie Wright", - "Brad Paisley", - "Brendan Gleeson", - "Brian Cox", - "Bruno Ganz", - "Burt Reynolds", - "Carrie Fisher", - "Charles Dance", - "Chiwetel Ejiofor", - "Chris Pine", - "Christina Hendricks", - "Christina Ricci", - "Cyndi Lauper", - "Dakota Fanning", - "Damian Lewis", - "Dan Aykroyd", - "Daniel Craig", - "David Oyelowo", - "David Tennant", - "Diane Keaton", - "Diane Kruger", - "Dick Van Dyke", - "Domhnall Gleeson", - "Dominic Cooper", - "Donald Sutherland", - "Drew Carey", - "Eartha Kitt", - "Eddie Izzard", - "Edward Asner", - "Eli Roth", - "Elisabeth Moss", - "Ellen Burstyn", - "Emile Hirsch", - "Ezra Miller", - "Felicity Jones", - "Fiona Shaw", - "Florence Henderson", - "Freida Pinto", - "Geena Davis", - "Gemma Arterton", - "Geri Halliwell", - "Glenn Close", - "Gloria Steinem", - "Greta Gerwig", - "Gugu Mbatha-Raw", - "Hans Zimmer", - "Harry Connick Jr.", - "Harvey Keitel", - "Helena Bonham Carter", - "Henry Cavill", - "Hilary Swank", - "Hugh Bonneville", - "Idina Menzel", - "Imelda Staunton", - "Ingrid Bergman", - "Irrfan Khan", - "Isla Fisher", - "Iwan Rheon", - "Jack Lemmon", - "Janet Jackson", - "Jason Bateman", - "Jason Segel", - "Jennifer Coolidge", - "Johnny Galecki", - "Jon Favreau", - "Joseph Gordon-Levitt", - "Josh Brolin", - "Josh Gad", - "Josh Groban", - "Julia Louis-Dreyfus", - "Kristen Stewart", - "Kristen Wiig", - "Rooney Mara", - "Caitriona Balfe", - "J.J. Abrams", - "Zoe Saldana", - "SpongeBob SquarePants", - "Patrick Star", - "Squidward Tentacles", - "Homer Simpson", - "Bart Simpson", + "description": "Custom lyrics. Omit or leave blank for AI-generated lyrics when instrumental is false.", + "example": "City lights are fading..." + } + }, + "required": ["prompt"], + "additionalProperties": false + } + }, + "required": ["duration", "style"], + "additionalProperties": false + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string", + "example": "cuid-example", + "description": "Unique ID of the audio. Use it with the [Get audio Project API](https://docs.magichour.ai/api-reference/audio-projects/get-audio-details) to fetch status and downloads." + }, + "credits_charged": { + "type": "integer", + "description": "The amount of credits deducted from your account to generate the audio. We charge credits right when the request is made. \n\nIf an error occurred while generating the audio, credits will be refunded and this field will be updated to include the refund.", + "example": 120 + } + }, + "required": ["id", "credits_charged"], + "description": "Success" + } + } + } + }, + "400": { + "description": "Invalid Request", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["code", "message"], + "properties": { + "code": { + "type": "string", + "enum": ["invalid_request"], + "description": "Machine-readable error code.\n\n- `invalid_request`: Fix request syntax or validation errors before retrying." + }, + "message": { "type": "string", "description": "Human-readable error message." } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["code", "message"], + "properties": { + "code": { + "type": "string", + "enum": ["unauthorized"], + "description": "Machine-readable error code.\n\n- `unauthorized`: Provide a valid API key before retrying." + }, + "message": { "type": "string", "description": "Human-readable error message." } + } + } + } + } + }, + "402": { + "description": "Payment Required", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["code", "message"], + "properties": { + "code": { + "type": "string", + "enum": [ + "insufficient_credits", + "subscription_required", + "plan_upgrade_required" + ], + "description": "Machine-readable error code.\n\n- `insufficient_credits`: Purchase credits before retrying.\n\n- `subscription_required`: Start a subscription before retrying.\n\n- `plan_upgrade_required`: Upgrade the subscription plan before retrying." + }, + "message": { "type": "string", "description": "Human-readable error message." } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["code", "message"], + "properties": { + "code": { + "type": "string", + "enum": ["not_found"], + "description": "Machine-readable error code.\n\n- `not_found`: Check the route or resource identifier." + }, + "message": { "type": "string", "description": "Human-readable error message." } + } + } + } + } + }, + "422": { + "description": "422", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["code", "message"], + "properties": { + "code": { + "type": "string", + "enum": ["unprocessable_entity"], + "description": "Machine-readable error code.\n\n- `unprocessable_entity`: Change the request values before retrying." + }, + "message": { "type": "string", "description": "Human-readable error message." } + } + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["code", "message"], + "properties": { + "code": { + "type": "string", + "enum": ["internal_server_error"], + "description": "Machine-readable error code.\n\n- `internal_server_error`: Retry later or contact support if the error continues." + }, + "message": { "type": "string", "description": "Human-readable error message." } + } + } + } + } + } + }, + "security": [{ "bearerAuth": [] }] + } + }, + "/v1/ai-voice-cloner": { + "post": { + "description": "Clone a voice from an audio sample and generate speech. \n* Each character costs 0.1 credits. \n* The cost is rounded up to the nearest whole number", + "summary": "AI Voice Cloner", + "tags": ["Audio Projects"], + "parameters": [], + "operationId": "aiVoiceCloner.createAudio", + "requestBody": { + "required": true, + "description": "Body", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Give your audio a custom name for easy identification.", + "example": "My Voice Cloner audio", + "default": "Voice Cloner - dateTime" + }, + "assets": { + "type": "object", + "properties": { + "audio_file_path": { + "type": "string", + "minLength": 1, + "description": "The audio used to clone the voice. This value is either\n- a direct URL to the video file\n- `file_path` field from the response of the [upload urls API](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls).\n\nSee the [file upload guide](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls#input-file) for details.\n", + "example": "api-assets/id/1234.mp3" + } + }, + "required": ["audio_file_path"], + "description": "Provide the assets for voice cloning." + }, + "style": { + "type": "object", + "properties": { + "prompt": { + "type": "string", + "minLength": 1, + "maxLength": 1000, + "description": "Text used to generate speech from the cloned voice. The character limit is 1000 characters.", + "example": "Hello, this is my cloned voice." + } + }, + "required": ["prompt"] + } + }, + "required": ["assets", "style"] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string", + "example": "cuid-example", + "description": "Unique ID of the audio. Use it with the [Get audio Project API](https://docs.magichour.ai/api-reference/audio-projects/get-audio-details) to fetch status and downloads." + }, + "credits_charged": { + "type": "integer", + "description": "The amount of credits deducted from your account to generate the audio. We charge credits right when the request is made. \n\nIf an error occurred while generating the audio, credits will be refunded and this field will be updated to include the refund.", + "example": 1 + } + }, + "required": ["id", "credits_charged"], + "description": "Success" + } + } + } + }, + "400": { + "description": "Invalid Request", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["code", "message"], + "properties": { + "code": { + "type": "string", + "enum": ["invalid_request"], + "description": "Machine-readable error code.\n\n- `invalid_request`: Fix request syntax or validation errors before retrying." + }, + "message": { "type": "string", "description": "Human-readable error message." } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["code", "message"], + "properties": { + "code": { + "type": "string", + "enum": ["unauthorized"], + "description": "Machine-readable error code.\n\n- `unauthorized`: Provide a valid API key before retrying." + }, + "message": { "type": "string", "description": "Human-readable error message." } + } + } + } + } + }, + "402": { + "description": "Payment Required", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["code", "message"], + "properties": { + "code": { + "type": "string", + "enum": [ + "insufficient_credits", + "subscription_required", + "plan_upgrade_required" + ], + "description": "Machine-readable error code.\n\n- `insufficient_credits`: Purchase credits before retrying.\n\n- `subscription_required`: Start a subscription before retrying.\n\n- `plan_upgrade_required`: Upgrade the subscription plan before retrying." + }, + "message": { "type": "string", "description": "Human-readable error message." } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["code", "message"], + "properties": { + "code": { + "type": "string", + "enum": ["not_found"], + "description": "Machine-readable error code.\n\n- `not_found`: Check the route or resource identifier." + }, + "message": { "type": "string", "description": "Human-readable error message." } + } + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["code", "message"], + "properties": { + "code": { + "type": "string", + "enum": ["unprocessable_entity"], + "description": "Machine-readable error code.\n\n- `unprocessable_entity`: Change the request values before retrying." + }, + "message": { "type": "string", "description": "Human-readable error message." } + } + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["code", "message"], + "properties": { + "code": { + "type": "string", + "enum": ["internal_server_error"], + "description": "Machine-readable error code.\n\n- `internal_server_error`: Retry later or contact support if the error continues." + }, + "message": { "type": "string", "description": "Human-readable error message." } + } + } + } + } + } + }, + "security": [{ "bearerAuth": [] }], + "x-codeSamples": [ + { + "lang": "python", + "source": "from magic_hour import Client\nfrom os import getenv\n\nclient = Client(token=getenv(\"MAGIC_HOUR_API_KEY\"))\nres = client.v1.ai_voice_cloner.create(\n assets={\"audio_file_path\": \"api-assets/id/1234.mp3\"},\n style={\"prompt\": \"Hello, this is my cloned voice.\"},\n name=\"My Voice Cloner audio\",\n)" + }, + { + "lang": "javascript", + "source": "import { Client } from \"magic-hour\";\n\nconst client = new Client({ token: process.env[\"MAGIC_HOUR_API_KEY\"] });\nconst res = await client.v1.aiVoiceCloner.generate(\n {\n assets: { audioFilePath: \"/path/to/audio.mp3\" },\n name: \"Voice Cloner audio\",\n style: { prompt: \"Hello, this is my cloned voice.\" },\n },\n {\n waitForCompletion: true,\n downloadOutputs: true,\n downloadDirectory: \".\",\n },\n);" + }, + { + "lang": "go", + "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tai_voice_cloner \"github.com/magichourhq/magic-hour-go/resources/v1/ai_voice_cloner\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.AiVoiceCloner.Create(ai_voice_cloner.CreateRequest{\n\t\tAssets: types.V1AiVoiceClonerCreateBodyAssets{\n\t\t\tAudioFilePath: \"api-assets/id/1234.mp3\",\n\t\t},\n\t\tName: nullable.NewValue(\"My Voice Cloner audio\"),\n\t\tStyle: types.V1AiVoiceClonerCreateBodyStyle{\n\t\t\tPrompt: \"Hello, this is my cloned voice.\",\n\t\t},\n\t})\n}" + }, + { + "lang": "rust", + "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .ai_voice_cloner()\n .create(magic_hour::resources::v1::ai_voice_cloner::CreateRequest {\n assets: magic_hour::models::V1AiVoiceClonerCreateBodyAssets {\n audio_file_path: \"api-assets/id/1234.mp3\".to_string(),\n },\n name: Some(\"My Voice Cloner audio\".to_string()),\n style: magic_hour::models::V1AiVoiceClonerCreateBodyStyle {\n prompt: \"Hello, this is my cloned voice.\".to_string(),\n },\n })\n .await;" + }, + { + "lang": "curl", + "source": "curl --request POST \\\n --url https://api.magichour.ai/v1/ai-voice-cloner \\\n --header 'accept: application/json' \\\n --header \"authorization: Bearer $MAGIC_HOUR_API_KEY\" \\\n --header 'content-type: application/json' \\\n --data '\n{\n \"name\": \"My Voice Cloner audio\",\n \"assets\": {\n \"audio_file_path\": \"api-assets/id/1234.mp3\"\n },\n \"style\": {\n \"prompt\": \"Hello, this is my cloned voice.\"\n }\n}\n'" + }, + { + "lang": "php", + "source": " \"https://api.magichour.ai/v1/ai-voice-cloner\",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => \"\",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => \"POST\",\n CURLOPT_POSTFIELDS => json_encode([\n 'name' => 'My Voice Cloner audio',\n 'assets' => [\n 'audio_file_path' => 'api-assets/id/1234.mp3'\n ],\n 'style' => [\n 'prompt' => 'Hello, this is my cloned voice.'\n ]\n ]),\n CURLOPT_HTTPHEADER => [\n \"accept: application/json\",\n \"authorization: Bearer \",\n \"content-type: application/json\"\n ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo \"cURL Error #:\" . $err;\n} else {\n echo $response;\n}" + }, + { + "lang": "java", + "source": "HttpResponse response = Unirest.post(\"https://api.magichour.ai/v1/ai-voice-cloner\")\n .header(\"accept\", \"application/json\")\n .header(\"content-type\", \"application/json\")\n .header(\"authorization\", \"Bearer \")\n .body(\"{\\\"name\\\":\\\"My Voice Cloner audio\\\",\\\"assets\\\":{\\\"audio_file_path\\\":\\\"api-assets/id/1234.mp3\\\"},\\\"style\\\":{\\\"prompt\\\":\\\"Hello, this is my cloned voice.\\\"}}\")\n .asString();" + } + ] + } + }, + "/v1/ai-voice-generator": { + "post": { + "description": "Generate speech from text. Each character costs 0.1 credits. The cost is rounded up to the nearest whole number.", + "summary": "AI Voice Generator", + "tags": ["Audio Projects"], + "parameters": [], + "operationId": "aiVoiceGenerator.createAudio", + "requestBody": { + "required": true, + "description": "Body", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Give your audio a custom name for easy identification.", + "example": "My Voice Generator audio", + "default": "Voice Generator - dateTime" + }, + "style": { + "type": "object", + "properties": { + "prompt": { + "type": "string", + "minLength": 1, + "description": "Text used to generate speech. The character limit is 1000 characters.", + "example": "Hello, how are you?" + }, + "voice_name": { + "type": "string", + "enum": [ + "Elon Musk", + "Mark Zuckerberg", + "Joe Rogan", + "Barack Obama", + "Morgan Freeman", + "Kanye West", + "Donald Trump", + "Joe Biden", + "Kim Kardashian", + "Taylor Swift", + "James Earl Jones", + "Samuel L. Jackson", + "Jeff Goldblum", + "David Attenborough", + "Sean Connery", + "Cillian Murphy", + "Anne Hathaway", + "Julia Roberts", + "Natalie Portman", + "Steve Carell", + "Amy Poehler", + "Stephen Colbert", + "Jimmy Fallon", + "David Letterman", + "Alex Trebek", + "Katy Perry", + "Prince", + "Kevin Bacon", + "Tom Hiddleston", + "Adam Driver", + "Alan Rickman", + "Alexz Johnson", + "Ana Gasteyer", + "Andrew Rannells", + "Arden Cho", + "Bear Grylls", + "Ben McKenzie", + "Ben Stiller", + "Ben Whishaw", + "Billie Joe Armstrong", + "Bingbing Li", + "Booboo Stewart", + "Bradley Steven Perry", + "Bruno Mars", + "Caity Lotz", + "Cameron Boyce", + "Candice Accola", + "Carrie Underwood", + "Casey Affleck", + "Caterina Scorsone", + "Cedric the Entertainer", + "Chace Crawford", + "Chadwick Boseman", + "Charlie Day", + "Chris Hemsworth", + "Chris Martin", + "Christopher Mintz-Plasse", + "Dan Fogler", + "Dan Stevens", + "Daniel Dae Kim", + "Danielle Panabaker", + "Dave Bautista", + "David Schwimmer", + "Denis Leary", + "Derek Mears", + "Diego Luna", + "Donald Glover", + "Donnie Yen", + "Doutzen Kroes", + "Dove Cameron", + "Dr. Dre", + "Drake Bell", + "Elle Fanning", + "Ernie Hudson", + "Fergie", + "Forest Whitaker", + "Francia Raisa", + "Freddie Highmore", + "Gillian Jacobs", + "Gina Carano", + "Ginnifer Goodwin", + "Gordon Ramsay", + "Guy Pearce", + "Gwendoline Christie", + "Hailee Steinfeld", + "Howie Mandel", + "Hugh Jackman", + "Hugh Laurie", + "J. K. Simmons", + "Jack Black", + "Jared Leto", + "Jennifer Carpenter", + "Kesha", + "Kris Jenner", + "Kristen Bell", + "Lorde", + "Matt Smith", + "Marilyn Monroe", + "Charlie Chaplin", + "Albert Einstein", + "Abraham Lincoln", + "John F. Kennedy", + "Lucille Ball", + "A.R. Rahman", + "Aamir Khan", + "Ajay Devgn", + "Akshay Kumar", + "Alain Delon", + "Alan Alda", + "Alan Cumming", + "Amitabh Bachchan", + "Ang Lee", + "Ansel Elgort", + "Anthony Anderson", + "Anthony Mackie", + "Armie Hammer", + "Asa Butterfield", + "B.J. Novak", + "Barbara Eden", + "Betty White", + "Bill Nighy", + "Bill Pullman", + "Blake Shelton", + "Bonnie Wright", + "Brad Paisley", + "Brendan Gleeson", + "Brian Cox", + "Bruno Ganz", + "Burt Reynolds", + "Carrie Fisher", + "Charles Dance", + "Chiwetel Ejiofor", + "Chris Pine", + "Christina Hendricks", + "Christina Ricci", + "Cyndi Lauper", + "Dakota Fanning", + "Damian Lewis", + "Dan Aykroyd", + "Daniel Craig", + "David Oyelowo", + "David Tennant", + "Diane Keaton", + "Diane Kruger", + "Dick Van Dyke", + "Domhnall Gleeson", + "Dominic Cooper", + "Donald Sutherland", + "Drew Carey", + "Eartha Kitt", + "Eddie Izzard", + "Edward Asner", + "Eli Roth", + "Elisabeth Moss", + "Ellen Burstyn", + "Emile Hirsch", + "Ezra Miller", + "Felicity Jones", + "Fiona Shaw", + "Florence Henderson", + "Freida Pinto", + "Geena Davis", + "Gemma Arterton", + "Geri Halliwell", + "Glenn Close", + "Gloria Steinem", + "Greta Gerwig", + "Gugu Mbatha-Raw", + "Hans Zimmer", + "Harry Connick Jr.", + "Harvey Keitel", + "Helena Bonham Carter", + "Henry Cavill", + "Hilary Swank", + "Hugh Bonneville", + "Idina Menzel", + "Imelda Staunton", + "Ingrid Bergman", + "Irrfan Khan", + "Isla Fisher", + "Iwan Rheon", + "Jack Lemmon", + "Janet Jackson", + "Jason Bateman", + "Jason Segel", + "Jennifer Coolidge", + "Johnny Galecki", + "Jon Favreau", + "Joseph Gordon-Levitt", + "Josh Brolin", + "Josh Gad", + "Josh Groban", + "Julia Louis-Dreyfus", + "Kristen Stewart", + "Kristen Wiig", + "Rooney Mara", + "Caitriona Balfe", + "J.J. Abrams", + "Zoe Saldana", + "SpongeBob SquarePants", + "Patrick Star", + "Squidward Tentacles", + "Homer Simpson", + "Bart Simpson", "Peter Griffin", "Stewie Griffin", "Eric Cartman", @@ -11203,236 +11891,6 @@ } ] } - }, - "/v1/ai-voice-cloner": { - "post": { - "description": "Clone a voice from an audio sample and generate speech. \n* Each character costs 0.1 credits. \n* The cost is rounded up to the nearest whole number", - "summary": "AI Voice Cloner", - "tags": ["Audio Projects"], - "parameters": [], - "operationId": "aiVoiceCloner.createAudio", - "requestBody": { - "required": true, - "description": "Body", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Give your audio a custom name for easy identification.", - "example": "My Voice Cloner audio", - "default": "Voice Cloner - dateTime" - }, - "assets": { - "type": "object", - "properties": { - "audio_file_path": { - "type": "string", - "minLength": 1, - "description": "The audio used to clone the voice. This value is either\n- a direct URL to the video file\n- `file_path` field from the response of the [upload urls API](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls).\n\nSee the [file upload guide](https://docs.magichour.ai/api-reference/files/generate-asset-upload-urls#input-file) for details.\n", - "example": "api-assets/id/1234.mp3" - } - }, - "required": ["audio_file_path"], - "description": "Provide the assets for voice cloning." - }, - "style": { - "type": "object", - "properties": { - "prompt": { - "type": "string", - "minLength": 1, - "maxLength": 1000, - "description": "Text used to generate speech from the cloned voice. The character limit is 1000 characters.", - "example": "Hello, this is my cloned voice." - } - }, - "required": ["prompt"] - } - }, - "required": ["assets", "style"] - } - } - } - }, - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string", - "example": "cuid-example", - "description": "Unique ID of the audio. Use it with the [Get audio Project API](https://docs.magichour.ai/api-reference/audio-projects/get-audio-details) to fetch status and downloads." - }, - "credits_charged": { - "type": "integer", - "description": "The amount of credits deducted from your account to generate the audio. We charge credits right when the request is made. \n\nIf an error occurred while generating the audio, credits will be refunded and this field will be updated to include the refund.", - "example": 1 - } - }, - "required": ["id", "credits_charged"], - "description": "Success" - } - } - } - }, - "400": { - "description": "Invalid Request", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["code", "message"], - "properties": { - "code": { - "type": "string", - "enum": ["invalid_request"], - "description": "Machine-readable error code.\n\n- `invalid_request`: Fix request syntax or validation errors before retrying." - }, - "message": { "type": "string", "description": "Human-readable error message." } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["code", "message"], - "properties": { - "code": { - "type": "string", - "enum": ["unauthorized"], - "description": "Machine-readable error code.\n\n- `unauthorized`: Provide a valid API key before retrying." - }, - "message": { "type": "string", "description": "Human-readable error message." } - } - } - } - } - }, - "402": { - "description": "Payment Required", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["code", "message"], - "properties": { - "code": { - "type": "string", - "enum": [ - "insufficient_credits", - "subscription_required", - "plan_upgrade_required" - ], - "description": "Machine-readable error code.\n\n- `insufficient_credits`: Purchase credits before retrying.\n\n- `subscription_required`: Start a subscription before retrying.\n\n- `plan_upgrade_required`: Upgrade the subscription plan before retrying." - }, - "message": { "type": "string", "description": "Human-readable error message." } - } - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["code", "message"], - "properties": { - "code": { - "type": "string", - "enum": ["not_found"], - "description": "Machine-readable error code.\n\n- `not_found`: Check the route or resource identifier." - }, - "message": { "type": "string", "description": "Human-readable error message." } - } - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["code", "message"], - "properties": { - "code": { - "type": "string", - "enum": ["unprocessable_entity"], - "description": "Machine-readable error code.\n\n- `unprocessable_entity`: Change the request values before retrying." - }, - "message": { "type": "string", "description": "Human-readable error message." } - } - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["code", "message"], - "properties": { - "code": { - "type": "string", - "enum": ["internal_server_error"], - "description": "Machine-readable error code.\n\n- `internal_server_error`: Retry later or contact support if the error continues." - }, - "message": { "type": "string", "description": "Human-readable error message." } - } - } - } - } - } - }, - "security": [{ "bearerAuth": [] }], - "x-codeSamples": [ - { - "lang": "python", - "source": "from magic_hour import Client\nfrom os import getenv\n\nclient = Client(token=getenv(\"MAGIC_HOUR_API_KEY\"))\nres = client.v1.ai_voice_cloner.create(\n assets={\"audio_file_path\": \"api-assets/id/1234.mp3\"},\n style={\"prompt\": \"Hello, this is my cloned voice.\"},\n name=\"My Voice Cloner audio\",\n)" - }, - { - "lang": "javascript", - "source": "import { Client } from \"magic-hour\";\n\nconst client = new Client({ token: process.env[\"MAGIC_HOUR_API_KEY\"] });\nconst res = await client.v1.aiVoiceCloner.generate(\n {\n assets: { audioFilePath: \"/path/to/audio.mp3\" },\n name: \"Voice Cloner audio\",\n style: { prompt: \"Hello, this is my cloned voice.\" },\n },\n {\n waitForCompletion: true,\n downloadOutputs: true,\n downloadDirectory: \".\",\n },\n);" - }, - { - "lang": "go", - "source": "package main\n\nimport (\n\tos \"os\"\n\n\tsdk \"github.com/magichourhq/magic-hour-go/client\"\n\tnullable \"github.com/magichourhq/magic-hour-go/nullable\"\n\tai_voice_cloner \"github.com/magichourhq/magic-hour-go/resources/v1/ai_voice_cloner\"\n\ttypes \"github.com/magichourhq/magic-hour-go/types\"\n)\n\nfunc main() {\n\tclient := sdk.NewClient(\n\t\tsdk.WithBearerAuth(os.Getenv(\"MAGIC_HOUR_API_KEY\")),\n\t)\n\tres, err := client.V1.AiVoiceCloner.Create(ai_voice_cloner.CreateRequest{\n\t\tAssets: types.V1AiVoiceClonerCreateBodyAssets{\n\t\t\tAudioFilePath: \"api-assets/id/1234.mp3\",\n\t\t},\n\t\tName: nullable.NewValue(\"My Voice Cloner audio\"),\n\t\tStyle: types.V1AiVoiceClonerCreateBodyStyle{\n\t\t\tPrompt: \"Hello, this is my cloned voice.\",\n\t\t},\n\t})\n}" - }, - { - "lang": "rust", - "source": "let client = magic_hour::Client::default()\n .with_bearer_auth(&std::env::var(\"MAGIC_HOUR_API_KEY\").unwrap());\nlet res = client\n .v1()\n .ai_voice_cloner()\n .create(magic_hour::resources::v1::ai_voice_cloner::CreateRequest {\n assets: magic_hour::models::V1AiVoiceClonerCreateBodyAssets {\n audio_file_path: \"api-assets/id/1234.mp3\".to_string(),\n },\n name: Some(\"My Voice Cloner audio\".to_string()),\n style: magic_hour::models::V1AiVoiceClonerCreateBodyStyle {\n prompt: \"Hello, this is my cloned voice.\".to_string(),\n },\n })\n .await;" - }, - { - "lang": "curl", - "source": "curl --request POST \\\n --url https://api.magichour.ai/v1/ai-voice-cloner \\\n --header 'accept: application/json' \\\n --header \"authorization: Bearer $MAGIC_HOUR_API_KEY\" \\\n --header 'content-type: application/json' \\\n --data '\n{\n \"name\": \"My Voice Cloner audio\",\n \"assets\": {\n \"audio_file_path\": \"api-assets/id/1234.mp3\"\n },\n \"style\": {\n \"prompt\": \"Hello, this is my cloned voice.\"\n }\n}\n'" - }, - { - "lang": "php", - "source": " \"https://api.magichour.ai/v1/ai-voice-cloner\",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => \"\",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => \"POST\",\n CURLOPT_POSTFIELDS => json_encode([\n 'name' => 'My Voice Cloner audio',\n 'assets' => [\n 'audio_file_path' => 'api-assets/id/1234.mp3'\n ],\n 'style' => [\n 'prompt' => 'Hello, this is my cloned voice.'\n ]\n ]),\n CURLOPT_HTTPHEADER => [\n \"accept: application/json\",\n \"authorization: Bearer \",\n \"content-type: application/json\"\n ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo \"cURL Error #:\" . $err;\n} else {\n echo $response;\n}" - }, - { - "lang": "java", - "source": "HttpResponse response = Unirest.post(\"https://api.magichour.ai/v1/ai-voice-cloner\")\n .header(\"accept\", \"application/json\")\n .header(\"content-type\", \"application/json\")\n .header(\"authorization\", \"Bearer \")\n .body(\"{\\\"name\\\":\\\"My Voice Cloner audio\\\",\\\"assets\\\":{\\\"audio_file_path\\\":\\\"api-assets/id/1234.mp3\\\"},\\\"style\\\":{\\\"prompt\\\":\\\"Hello, this is my cloned voice.\\\"}}\")\n .asString();" - } - ] - } } }, "info": {