Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ partial void ProcessVideoAssetsGeneratePresignedUrlResponseContent(
/// The response array will match the order of items in the request body.<br/>
/// **Valid file extensions per asset type**:<br/>
/// - video: mp4, m4v, mov, webm<br/>
/// - audio: mp3, wav, aac, flac, webm, m4a<br/>
/// - audio: mp3, wav, aac, flac, webm, m4a, opus, ogg, aiff, amr<br/>
/// - image: png, jpg, jpeg, heic, heif, webp, avif, jp2, tiff, bmp<br/>
/// - gif: gif, webp, webm<br/>
/// &gt; Note: `gif` is only supported for face swap API `video_file_path` field.<br/>
Expand Down Expand Up @@ -104,7 +104,7 @@ partial void ProcessVideoAssetsGeneratePresignedUrlResponseContent(
/// The response array will match the order of items in the request body.<br/>
/// **Valid file extensions per asset type**:<br/>
/// - video: mp4, m4v, mov, webm<br/>
/// - audio: mp3, wav, aac, flac, webm, m4a<br/>
/// - audio: mp3, wav, aac, flac, webm, m4a, opus, ogg, aiff, amr<br/>
/// - image: png, jpg, jpeg, heic, heif, webp, avif, jp2, tiff, bmp<br/>
/// - gif: gif, webp, webm<br/>
/// &gt; Note: `gif` is only supported for face swap API `video_file_path` field.<br/>
Expand Down Expand Up @@ -692,7 +692,7 @@ partial void ProcessVideoAssetsGeneratePresignedUrlResponseContent(
/// The response array will match the order of items in the request body.<br/>
/// **Valid file extensions per asset type**:<br/>
/// - video: mp4, m4v, mov, webm<br/>
/// - audio: mp3, wav, aac, flac, webm, m4a<br/>
/// - audio: mp3, wav, aac, flac, webm, m4a, opus, ogg, aiff, amr<br/>
/// - image: png, jpg, jpeg, heic, heif, webp, avif, jp2, tiff, bmp<br/>
/// - gif: gif, webp, webm<br/>
/// &gt; Note: `gif` is only supported for face swap API `video_file_path` field.<br/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public partial interface IFilesClient
/// The response array will match the order of items in the request body.<br/>
/// **Valid file extensions per asset type**:<br/>
/// - video: mp4, m4v, mov, webm<br/>
/// - audio: mp3, wav, aac, flac, webm, m4a<br/>
/// - audio: mp3, wav, aac, flac, webm, m4a, opus, ogg, aiff, amr<br/>
/// - image: png, jpg, jpeg, heic, heif, webp, avif, jp2, tiff, bmp<br/>
/// - gif: gif, webp, webm<br/>
/// &gt; Note: `gif` is only supported for face swap API `video_file_path` field.<br/>
Expand Down Expand Up @@ -57,7 +57,7 @@ public partial interface IFilesClient
/// The response array will match the order of items in the request body.<br/>
/// **Valid file extensions per asset type**:<br/>
/// - video: mp4, m4v, mov, webm<br/>
/// - audio: mp3, wav, aac, flac, webm, m4a<br/>
/// - audio: mp3, wav, aac, flac, webm, m4a, opus, ogg, aiff, amr<br/>
/// - image: png, jpg, jpeg, heic, heif, webp, avif, jp2, tiff, bmp<br/>
/// - gif: gif, webp, webm<br/>
/// &gt; Note: `gif` is only supported for face swap API `video_file_path` field.<br/>
Expand Down Expand Up @@ -104,7 +104,7 @@ public partial interface IFilesClient
/// The response array will match the order of items in the request body.<br/>
/// **Valid file extensions per asset type**:<br/>
/// - video: mp4, m4v, mov, webm<br/>
/// - audio: mp3, wav, aac, flac, webm, m4a<br/>
/// - audio: mp3, wav, aac, flac, webm, m4a, opus, ogg, aiff, amr<br/>
/// - image: png, jpg, jpeg, heic, heif, webp, avif, jp2, tiff, bmp<br/>
/// - gif: gif, webp, webm<br/>
/// &gt; Note: `gif` is only supported for face swap API `video_file_path` field.<br/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,17 +102,21 @@ public partial interface IImageProjectsClient
/// - Supported resolutions: 640px, 1k, 2k<br/>
/// - Available for tiers: free, creator, pro, business<br/>
/// - Max additional input images: 2<br/>
/// - `flux-2-klein` - from 5 credits/image<br/>
/// - Supported resolutions: 640px, 1k, 2k<br/>
/// - Available for tiers: free, creator, pro, business<br/>
/// - Max additional input images: 5<br/>
/// - `nano-banana` - from 50 credits/image<br/>
/// - Supported resolutions: 640px, 1k<br/>
/// - Available for tiers: free, creator, pro, business<br/>
/// - Available for tiers: creator, pro, business<br/>
/// - Max additional input images: 9<br/>
/// - `nano-banana-2` - from 100 credits/image<br/>
/// - Supported resolutions: 640px, 1k, 2k, 4k<br/>
/// - Available for tiers: creator, pro, business<br/>
/// - Max additional input images: 9<br/>
/// - `seedream-v4` - from 40 credits/image<br/>
/// - Supported resolutions: 640px, 1k, 2k, 4k<br/>
/// - Available for tiers: free, creator, pro, business<br/>
/// - Available for tiers: creator, pro, business<br/>
/// - Max additional input images: 9<br/>
/// - `nano-banana-pro` - from 150 credits/image<br/>
/// - Supported resolutions: 1k, 2k, 4k<br/>
Expand Down Expand Up @@ -142,6 +146,7 @@ public partial interface IImageProjectsClient
/// - `auto` — **Deprecated.** Mapped server-side from your subscription tier to the best matching resolution the model supports<br/>
/// **Per-model support:**<br/>
/// - `qwen-edit` - 640px, 1k, 2k<br/>
/// - `flux-2-klein` - 640px, 1k, 2k<br/>
/// - `nano-banana` - 640px, 1k<br/>
/// - `nano-banana-2` - 640px, 1k, 2k, 4k<br/>
/// - `seedream-v4` - 640px, 1k, 2k, 4k<br/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,17 +91,21 @@ public partial interface IImageProjectsClient
/// - Supported resolutions: 640px, 1k, 2k<br/>
/// - Available for tiers: free, creator, pro, business<br/>
/// - Image count allowed: 1, 2, 3, 4<br/>
/// - `flux-2-klein` - from 5 credits/image<br/>
/// - Supported resolutions: 640px, 1k, 2k<br/>
/// - Available for tiers: free, creator, pro, business<br/>
/// - Image count allowed: 1<br/>
/// - `z-image-turbo` - from 5 credits/image<br/>
/// - Supported resolutions: 640px, 1k, 2k<br/>
/// - Available for tiers: free, creator, pro, business<br/>
/// - Image count allowed: 1, 2, 3, 4<br/>
/// - `seedream-v4` - from 40 credits/image<br/>
/// - Supported resolutions: 640px, 1k, 2k, 4k<br/>
/// - Available for tiers: free, creator, pro, business<br/>
/// - Available for tiers: creator, pro, business<br/>
/// - Image count allowed: 1, 2, 3, 4<br/>
/// - `nano-banana` - from 50 credits/image<br/>
/// - Supported resolutions: 640px, 1k<br/>
/// - Available for tiers: free, creator, pro, business<br/>
/// - Available for tiers: creator, pro, business<br/>
/// - Image count allowed: 1, 2, 3, 4<br/>
/// - `nano-banana-2` - from 100 credits/image<br/>
/// - Supported resolutions: 640px, 1k, 2k, 4k<br/>
Expand Down Expand Up @@ -133,6 +137,7 @@ public partial interface IImageProjectsClient
/// - `auto` — **Deprecated.** Mapped server-side from your subscription tier to the best matching resolution the model supports<br/>
/// **Per-model support:**<br/>
/// - `flux-schnell` - 640px, 1k, 2k<br/>
/// - `flux-2-klein` - 640px, 1k, 2k<br/>
/// - `z-image-turbo` - 640px, 1k, 2k<br/>
/// - `seedream-v4` - 640px, 1k, 2k, 4k<br/>
/// - `nano-banana` - 640px, 1k<br/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,9 @@ public partial interface IImageProjectsClient
/// Note: 4x upscale is only available on Creator, Pro, or Business tier.<br/>
/// Example: 2
/// </param>
/// <param name="style"></param>
/// <param name="style">
/// Style settings for the upscale. Use `mode` to select between `"pro"` (faster, no enhancement required) and `"creative"` (defaults to `"Balanced"` enhancement). Defaults to `"creative"`.
/// </param>
/// <param name="assets">
/// Provide the assets for upscaling
/// </param>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,11 @@ public partial interface IVideoProjectsClient
/// Example: My Talking Photo image
/// </param>
/// <param name="startSeconds">
/// The start time of the input audio in seconds. The maximum duration allowed is 60 seconds.<br/>
/// The start time of the input audio in seconds. Maximum clip length depends on style.generation_mode: realistic 180s, prompted 45s.<br/>
/// Example: 0
/// </param>
/// <param name="endSeconds">
/// The end time of the input audio in seconds. The maximum duration allowed is 60 seconds.<br/>
/// The end time of the input audio in seconds. Maximum clip length depends on style.generation_mode: realistic 180s, prompted 45s.<br/>
/// Example: 15
/// </param>
/// <param name="assets">
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
#nullable enable

namespace MagicHour
{
public partial interface IVideoProjectsClient
{
/// <summary>
/// Audio-to-Video<br/>
/// **What this API does**<br/>
/// Create 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.<br/>
/// <br/>
/// **Good for**<br/>
/// - Automation and batch processing <br/>
/// - Adding audio to video into apps, pipelines, or tools <br/>
/// **How it works (3 steps)**<br/>
/// 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`. <br/>
/// 2) Send a request to create a audio to video job with the basic fields. <br/>
/// 3) Check the job status until it's `complete`, then download the result from `downloads`.<br/>
/// **Key options**<br/>
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type <br/>
/// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes <br/>
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt <br/>
/// **Cost** <br/>
/// 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.<br/>
/// For detailed examples, see the [product page](https://magichour.ai/products/audio-to-video).
/// </summary>
/// <param name="request"></param>
/// <param name="requestOptions">Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.</param>
/// <param name="cancellationToken">The token to cancel the operation with</param>
/// <exception cref="global::MagicHour.ApiException"></exception>
global::System.Threading.Tasks.Task<global::MagicHour.AudioToVideoCreateVideoResponse> AudioToVideoCreateVideoAsync(

global::MagicHour.AudioToVideoCreateVideoRequest request,
global::MagicHour.AutoSDKRequestOptions? requestOptions = default,
global::System.Threading.CancellationToken cancellationToken = default);
/// <summary>
/// Audio-to-Video<br/>
/// **What this API does**<br/>
/// Create 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.<br/>
/// <br/>
/// **Good for**<br/>
/// - Automation and batch processing <br/>
/// - Adding audio to video into apps, pipelines, or tools <br/>
/// **How it works (3 steps)**<br/>
/// 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`. <br/>
/// 2) Send a request to create a audio to video job with the basic fields. <br/>
/// 3) Check the job status until it's `complete`, then download the result from `downloads`.<br/>
/// **Key options**<br/>
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type <br/>
/// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes <br/>
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt <br/>
/// **Cost** <br/>
/// 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.<br/>
/// For detailed examples, see the [product page](https://magichour.ai/products/audio-to-video).
/// </summary>
/// <param name="request"></param>
/// <param name="requestOptions">Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.</param>
/// <param name="cancellationToken">The token to cancel the operation with</param>
/// <exception cref="global::MagicHour.ApiException"></exception>
global::System.Threading.Tasks.Task<global::MagicHour.AutoSDKHttpResponse<global::MagicHour.AudioToVideoCreateVideoResponse>> AudioToVideoCreateVideoAsResponseAsync(

global::MagicHour.AudioToVideoCreateVideoRequest request,
global::MagicHour.AutoSDKRequestOptions? requestOptions = default,
global::System.Threading.CancellationToken cancellationToken = default);
/// <summary>
/// Audio-to-Video<br/>
/// **What this API does**<br/>
/// Create 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.<br/>
/// <br/>
/// **Good for**<br/>
/// - Automation and batch processing <br/>
/// - Adding audio to video into apps, pipelines, or tools <br/>
/// **How it works (3 steps)**<br/>
/// 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`. <br/>
/// 2) Send a request to create a audio to video job with the basic fields. <br/>
/// 3) Check the job status until it's `complete`, then download the result from `downloads`.<br/>
/// **Key options**<br/>
/// - Inputs: usually a file, sometimes a YouTube link, depending on project type <br/>
/// - Resolution: free users are limited to 576px; higher plans unlock HD and larger sizes <br/>
/// - Extra fields: e.g. `face_swap_mode`, `start_seconds`/`end_seconds`, or a text prompt <br/>
/// **Cost** <br/>
/// 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.<br/>
/// For detailed examples, see the [product page](https://magichour.ai/products/audio-to-video).
/// </summary>
/// <param name="name">
/// Give your video a custom name for easy identification.<br/>
/// Default Value: Audio To Video - dateTime<br/>
/// Example: My Audio To Video video
/// </param>
/// <param name="startSeconds">
/// Start time of your clip (seconds). Must be ≥ 0.<br/>
/// Default Value: 0<br/>
/// Example: 0
/// </param>
/// <param name="endSeconds">
/// End time of your clip (seconds). Must be greater than start_seconds.<br/>
/// Example: 15
/// </param>
/// <param name="resolution">
/// Output video resolution. Defaults to `720p` on paid tiers and `480p` on free tiers.<br/>
/// Example: 720p
/// </param>
/// <param name="assets">
/// Provide the audio file and an optional reference image.
/// </param>
/// <param name="style">
/// Attributes used to dictate the style of the output
/// </param>
/// <param name="requestOptions">Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.</param>
/// <param name="cancellationToken">The token to cancel the operation with</param>
/// <exception cref="global::System.InvalidOperationException"></exception>
global::System.Threading.Tasks.Task<global::MagicHour.AudioToVideoCreateVideoResponse> AudioToVideoCreateVideoAsync(
float endSeconds,
global::MagicHour.AudioToVideoCreateVideoRequestAssets assets,
string? name = default,
float? startSeconds = default,
global::MagicHour.AudioToVideoCreateVideoRequestResolution? resolution = default,
global::MagicHour.AudioToVideoCreateVideoRequestStyle? style = default,
global::MagicHour.AutoSDKRequestOptions? requestOptions = default,
global::System.Threading.CancellationToken cancellationToken = default);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ public partial interface IVideoProjectsClient
/// * **`kling-3.0`**: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15<br/>
/// * **`veo3.1-lite`**: 8, 16, 24, 32, 40, 48, 56<br/>
/// * **`veo3.1`**: 4, 6, 8, 16, 24, 32, 40, 48, 56<br/>
/// * **`seedance`**: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12<br/>
/// * **`seedance`**: 4, 5, 6, 7, 8, 9, 10, 11, 12<br/>
/// * **`seedance-2.0`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15<br/>
/// * **`sora-2`**: 4, 8, 12, 24, 36, 48, 60<br/>
/// Example: 5
Expand All @@ -155,7 +155,7 @@ public partial interface IVideoProjectsClient
/// * `kling-3.0`: Cinematic, multi-scene storytelling<br/>
/// * `veo3.1-lite`: Fast, affordable, high-quality<br/>
/// * `veo3.1`: Realistic visuals and prompt adherence<br/>
/// * `seedance`: Fast iteration and start/end frames<br/>
/// * `seedance`: Fast iteration<br/>
/// * `seedance-2.0`: State-of-the-art quality and consistency<br/>
/// * `sora-2`: Story-first concepts and creativity<br/>
/// If you specify the deprecated model value that includes the `-audio` suffix, this will be the same as included `audio` as `true`.<br/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ public partial interface IVideoProjectsClient
/// * **`kling-3.0`**: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15<br/>
/// * **`veo3.1-lite`**: 8, 16, 24, 32, 40, 48, 56<br/>
/// * **`veo3.1`**: 4, 6, 8, 16, 24, 32, 40, 48, 56<br/>
/// * **`seedance`**: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12<br/>
/// * **`seedance`**: 4, 5, 6, 7, 8, 9, 10, 11, 12<br/>
/// * **`seedance-2.0`**: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15<br/>
/// * **`sora-2`**: 4, 8, 12, 24, 36, 48, 60<br/>
/// Example: 5
Expand Down Expand Up @@ -175,7 +175,7 @@ public partial interface IVideoProjectsClient
/// * `kling-3.0`: Cinematic, multi-scene storytelling<br/>
/// * `veo3.1-lite`: Fast, affordable, high-quality<br/>
/// * `veo3.1`: Realistic visuals and prompt adherence<br/>
/// * `seedance`: Fast iteration and start/end frames<br/>
/// * `seedance`: Fast iteration<br/>
/// * `seedance-2.0`: State-of-the-art quality and consistency<br/>
/// * `sora-2`: Story-first concepts and creativity<br/>
/// If you specify the deprecated model value that includes the `-audio` suffix, this will be the same as included `audio` as `true`.<br/>
Expand Down
Loading