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

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#nullable enable

namespace MagicHour
{
public partial interface IAudioProjectsClient
{
/// <summary>
/// AI Music Generator<br/>
/// 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>
/// <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.AiMusicGeneratorCreateAudioResponse> AiMusicGeneratorCreateAudioAsync(

global::MagicHour.AiMusicGeneratorCreateAudioRequest request,
global::MagicHour.AutoSDKRequestOptions? requestOptions = default,
global::System.Threading.CancellationToken cancellationToken = default);
/// <summary>
/// AI Music Generator<br/>
/// 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>
/// <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.AiMusicGeneratorCreateAudioResponse>> AiMusicGeneratorCreateAudioAsResponseAsync(

global::MagicHour.AiMusicGeneratorCreateAudioRequest request,
global::MagicHour.AutoSDKRequestOptions? requestOptions = default,
global::System.Threading.CancellationToken cancellationToken = default);
/// <summary>
/// AI Music Generator<br/>
/// 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>
/// <param name="name">
/// Give your audio a custom name for easy identification.<br/>
/// Default Value: AI Music Generator<br/>
/// Example: My Music Generator audio
/// </param>
/// <param name="duration">
/// Requested track duration in seconds, from 15 to 300. Determines credits charged.<br/>
/// Example: 120
/// </param>
/// <param name="style"></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.AiMusicGeneratorCreateAudioResponse> AiMusicGeneratorCreateAudioAsync(
int duration,
global::MagicHour.AiMusicGeneratorCreateAudioRequestStyle style,
string? name = default,
global::MagicHour.AutoSDKRequestOptions? requestOptions = default,
global::System.Threading.CancellationToken cancellationToken = default);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public partial interface IVideoProjectsClient
/// "generation_mode": "realistic",<br/>
/// "prompt": "A person smiling and speaking naturally to the camera"<br/>
/// },<br/>
/// "max_resolution": 512<br/>
/// "resolution": "480p"<br/>
/// }<br/>
/// '
/// </remarks>
Expand Down Expand Up @@ -67,7 +67,7 @@ public partial interface IVideoProjectsClient
/// "generation_mode": "realistic",<br/>
/// "prompt": "A person smiling and speaking naturally to the camera"<br/>
/// },<br/>
/// "max_resolution": 512<br/>
/// "resolution": "480p"<br/>
/// }<br/>
/// '
/// </remarks>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,24 @@ public partial interface IVideoProjectsClient
/// <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>
/// <remarks>
/// curl --request POST \<br/>
/// --url https://api.magichour.ai/v1/ai-ugc-ad \<br/>
/// --header 'accept: application/json' \<br/>
/// --header "authorization: Bearer $MAGIC_HOUR_API_KEY" \<br/>
/// --header 'content-type: application/json' \<br/>
/// --data '<br/>
/// {<br/>
/// "assets": {<br/>
/// "image_file_path": "api-assets/id/image.jpg"<br/>
/// },<br/>
/// "script": "Meet your new everyday essential.",<br/>
/// "end_seconds": 4,<br/>
/// "model": "kling-3.0",<br/>
/// "resolution": "480p"<br/>
/// }<br/>
/// '
/// </remarks>
global::System.Threading.Tasks.Task<global::MagicHour.AiUgcAdCreateVideoResponse> AiUgcAdCreateVideoAsync(

global::MagicHour.AiUgcAdCreateVideoRequest request,
Expand All @@ -25,6 +43,24 @@ public partial interface IVideoProjectsClient
/// <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>
/// <remarks>
/// curl --request POST \<br/>
/// --url https://api.magichour.ai/v1/ai-ugc-ad \<br/>
/// --header 'accept: application/json' \<br/>
/// --header "authorization: Bearer $MAGIC_HOUR_API_KEY" \<br/>
/// --header 'content-type: application/json' \<br/>
/// --data '<br/>
/// {<br/>
/// "assets": {<br/>
/// "image_file_path": "api-assets/id/image.jpg"<br/>
/// },<br/>
/// "script": "Meet your new everyday essential.",<br/>
/// "end_seconds": 4,<br/>
/// "model": "kling-3.0",<br/>
/// "resolution": "480p"<br/>
/// }<br/>
/// '
/// </remarks>
global::System.Threading.Tasks.Task<global::MagicHour.AutoSDKHttpResponse<global::MagicHour.AiUgcAdCreateVideoResponse>> AiUgcAdCreateVideoAsResponseAsync(

global::MagicHour.AiUgcAdCreateVideoRequest request,
Expand All @@ -38,7 +74,7 @@ public partial interface IVideoProjectsClient
/// <param name="script">
/// The words the actor should speak. Character limits apply after trimming:<br/>
/// * kling-3.0: 2500 characters.<br/>
/// * ltx-2.5: 1981 characters.<br/>
/// * ltx-2.5: 1804 characters.<br/>
/// * veo3.1: 2500 characters.<br/>
/// LTX's dialogue wrapper counts toward its model prompt limit.<br/>
/// Example: Meet your new everyday essential.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ public partial interface IVideoProjectsClient
/// 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/>
/// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.<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/>
/// 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.<br/>
/// For detailed examples, see the [product page](https://magichour.ai/products/ai-video-editor).
/// </summary>
/// <param name="request"></param>
Expand Down Expand Up @@ -69,10 +69,10 @@ public partial interface IVideoProjectsClient
/// 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/>
/// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.<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/>
/// 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.<br/>
/// For detailed examples, see the [product page](https://magichour.ai/products/ai-video-editor).
/// </summary>
/// <param name="request"></param>
Expand Down Expand Up @@ -120,10 +120,10 @@ public partial interface IVideoProjectsClient
/// 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/>
/// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.<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/>
/// 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.<br/>
/// For detailed examples, see the [product page](https://magichour.ai/products/ai-video-editor).
/// </summary>
/// <param name="name">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ public partial interface IVideoProjectsClient
/// 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/>
/// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.<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/>
/// 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.<br/>
/// For detailed examples, see the [product page](https://magichour.ai/products/ai-video-translator).
/// </summary>
/// <param name="request"></param>
Expand Down Expand Up @@ -66,10 +66,10 @@ public partial interface IVideoProjectsClient
/// 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/>
/// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.<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/>
/// 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.<br/>
/// For detailed examples, see the [product page](https://magichour.ai/products/ai-video-translator).
/// </summary>
/// <param name="request"></param>
Expand Down Expand Up @@ -114,10 +114,10 @@ public partial interface IVideoProjectsClient
/// 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/>
/// - Resolution: output size and plan requirements vary by workflow and model. Some workflows derive output size from the input video.<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/>
/// 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.<br/>
/// For detailed examples, see the [product page](https://magichour.ai/products/ai-video-translator).
/// </summary>
/// <param name="name">
Expand Down
Loading
Loading