diff --git a/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostEditImageV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostEditImageV3.g.cs
new file mode 100644
index 0000000..3c1a248
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostEditImageV3.g.cs
@@ -0,0 +1,406 @@
+
+#nullable enable
+
+namespace Ideogram
+{
+ public partial class GenerateClient
+ {
+ partial void PreparePostEditImageV3Arguments(
+ global::System.Net.Http.HttpClient httpClient,
+ global::Ideogram.EditImageRequestV3 request);
+ partial void PreparePostEditImageV3Request(
+ global::System.Net.Http.HttpClient httpClient,
+ global::System.Net.Http.HttpRequestMessage httpRequestMessage,
+ global::Ideogram.EditImageRequestV3 request);
+ partial void ProcessPostEditImageV3Response(
+ global::System.Net.Http.HttpClient httpClient,
+ global::System.Net.Http.HttpResponseMessage httpResponseMessage);
+
+ partial void ProcessPostEditImageV3ResponseContent(
+ global::System.Net.Http.HttpClient httpClient,
+ global::System.Net.Http.HttpResponseMessage httpResponseMessage,
+ ref string content);
+
+ ///
+ /// Edit with Ideogram 3.0
+ /// Edit a given image synchronously using the provided mask with Ideogram 3.0. The mask indicates which part of the image
+ /// should be edited, while the prompt and chosen style can further guide the edit.
+ /// Supported image formats include JPEG, PNG, and WebP.
+ /// Images links are available for a limited period of time; if you would like to keep the image, you must download it.
+ ///
+ ///
+ /// The token to cancel the operation with
+ ///
+ public async global::System.Threading.Tasks.Task PostEditImageV3Async(
+ global::Ideogram.EditImageRequestV3 request,
+ global::System.Threading.CancellationToken cancellationToken = default)
+ {
+ request = request ?? throw new global::System.ArgumentNullException(nameof(request));
+
+ PrepareArguments(
+ client: HttpClient);
+ PreparePostEditImageV3Arguments(
+ httpClient: HttpClient,
+ request: request);
+
+ var __pathBuilder = new PathBuilder(
+ path: "/v1/edit/ideogram-v3",
+ baseUri: HttpClient.BaseAddress);
+ var __path = __pathBuilder.ToString();
+ using 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")
+ {
+ __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);
+ }
+ }
+ using var __httpRequestContent = new global::System.Net.Http.MultipartFormDataContent();
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.ByteArrayContent(request.ImageFile ?? global::System.Array.Empty()),
+ name: "image_file",
+ fileName: request.ImageFilename ?? string.Empty);
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.ByteArrayContent(request.Mask ?? global::System.Array.Empty()),
+ name: "mask",
+ fileName: request.Maskname ?? string.Empty);
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.Prompt}"),
+ name: "prompt");
+ if (request.MagicPrompt != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.MagicPrompt?.ToValueString()}"),
+ name: "magic_prompt");
+ }
+ if (request.NumImages != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.NumImages}"),
+ name: "num_images");
+ }
+ if (request.Seed != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.Seed}"),
+ name: "seed");
+ }
+ if (request.RenderingSpeed != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.RenderingSpeed?.ToValueString()}"),
+ name: "rendering_speed");
+ }
+ if (request.ColorPalette != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent(request.ColorPalette?.ToString() ?? string.Empty),
+ name: "color_palette");
+ }
+ if (request.StyleCodes != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"[{string.Join(",", global::System.Linq.Enumerable.Select(request.StyleCodes, x => x))}]"),
+ name: "style_codes");
+ }
+ if (request.StyleReferenceImages != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"[{string.Join(",", global::System.Linq.Enumerable.Select(request.StyleReferenceImages, x => x))}]"),
+ name: "style_reference_images");
+ }
+ __httpRequest.Content = __httpRequestContent;
+
+ PrepareRequest(
+ client: HttpClient,
+ request: __httpRequest);
+ PreparePostEditImageV3Request(
+ httpClient: HttpClient,
+ httpRequestMessage: __httpRequest,
+ request: request);
+
+ using var __response = await HttpClient.SendAsync(
+ request: __httpRequest,
+ completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead,
+ cancellationToken: cancellationToken).ConfigureAwait(false);
+
+ ProcessResponse(
+ client: HttpClient,
+ response: __response);
+ ProcessPostEditImageV3Response(
+ httpClient: HttpClient,
+ httpResponseMessage: __response);
+ //
+ if ((int)__response.StatusCode == 400)
+ {
+ string? __content_400 = null;
+ if (ReadResponseAsString)
+ {
+ __content_400 = await __response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false);
+ }
+ else
+ {
+ var __contentStream_400 = await __response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
+ }
+
+ throw new global::Ideogram.ApiException(
+ message: __content_400 ?? __response.ReasonPhrase ?? string.Empty,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_400,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ //
+ if ((int)__response.StatusCode == 401)
+ {
+ string? __content_401 = null;
+ if (ReadResponseAsString)
+ {
+ __content_401 = await __response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false);
+ }
+ else
+ {
+ var __contentStream_401 = await __response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
+ }
+
+ throw new global::Ideogram.ApiException(
+ message: __content_401 ?? __response.ReasonPhrase ?? string.Empty,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_401,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ // Prompt or Initial Image failed the safety checks.
+ if ((int)__response.StatusCode == 422)
+ {
+ string? __content_422 = null;
+ global::Ideogram.GenerateImageSafetyError? __value_422 = null;
+ if (ReadResponseAsString)
+ {
+ __content_422 = await __response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false);
+ __value_422 = global::Ideogram.GenerateImageSafetyError.FromJson(__content_422, JsonSerializerContext);
+ }
+ else
+ {
+ var __contentStream_422 = await __response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
+ __value_422 = await global::Ideogram.GenerateImageSafetyError.FromJsonStreamAsync(__contentStream_422, JsonSerializerContext).ConfigureAwait(false);
+ }
+
+ throw new global::Ideogram.ApiException(
+ message: __content_422 ?? __response.ReasonPhrase ?? string.Empty,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_422,
+ ResponseObject = __value_422,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ //
+ if ((int)__response.StatusCode == 429)
+ {
+ string? __content_429 = null;
+ if (ReadResponseAsString)
+ {
+ __content_429 = await __response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false);
+ }
+ else
+ {
+ var __contentStream_429 = await __response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
+ }
+
+ throw new global::Ideogram.ApiException(
+ message: __content_429 ?? __response.ReasonPhrase ?? string.Empty,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_429,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+
+ if (ReadResponseAsString)
+ {
+ var __content = await __response.Content.ReadAsStringAsync(
+#if NET5_0_OR_GREATER
+ cancellationToken
+#endif
+ ).ConfigureAwait(false);
+
+ ProcessResponseContent(
+ client: HttpClient,
+ response: __response,
+ content: ref __content);
+ ProcessPostEditImageV3ResponseContent(
+ httpClient: HttpClient,
+ httpResponseMessage: __response,
+ content: ref __content);
+
+ try
+ {
+ __response.EnsureSuccessStatusCode();
+ }
+ catch (global::System.Net.Http.HttpRequestException __ex)
+ {
+ throw new global::Ideogram.ApiException(
+ message: __content ?? __response.ReasonPhrase ?? string.Empty,
+ innerException: __ex,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+
+ return
+ global::Ideogram.ImageGenerationResponseV3.FromJson(__content, JsonSerializerContext) ??
+ throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" ");
+ }
+ else
+ {
+ try
+ {
+ __response.EnsureSuccessStatusCode();
+ }
+ catch (global::System.Net.Http.HttpRequestException __ex)
+ {
+ throw new global::Ideogram.ApiException(
+ message: __response.ReasonPhrase ?? string.Empty,
+ innerException: __ex,
+ statusCode: __response.StatusCode)
+ {
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+
+ using var __content = await __response.Content.ReadAsStreamAsync(
+#if NET5_0_OR_GREATER
+ cancellationToken
+#endif
+ ).ConfigureAwait(false);
+
+ return
+ await global::Ideogram.ImageGenerationResponseV3.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ??
+ throw new global::System.InvalidOperationException("Response deserialization failed.");
+ }
+ }
+
+ ///
+ /// Edit with Ideogram 3.0
+ /// Edit a given image synchronously using the provided mask with Ideogram 3.0. The mask indicates which part of the image
+ /// should be edited, while the prompt and chosen style can further guide the edit.
+ /// Supported image formats include JPEG, PNG, and WebP.
+ /// Images links are available for a limited period of time; if you would like to keep the image, you must download it.
+ ///
+ ///
+ /// The image being edited; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ ///
+ /// The image being edited; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ ///
+ /// A black and white image of the same size as the image being edited. Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ ///
+ /// A black and white image of the same size as the image being edited. Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ ///
+ /// The prompt used to describe the edited result.
+ /// Example: A photo of a cat.
+ ///
+ ///
+ /// Determine if MagicPrompt should be used in generating the request or not
+ /// Example: ON
+ ///
+ ///
+ /// Default Value: 1
+ ///
+ ///
+ /// Example: 12345
+ ///
+ ///
+ /// The rendering speed to use.
+ /// Default Value: BALANCED
+ ///
+ ///
+ /// Only available for model version V_2 and V_2_TURBO. A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members).
+ ///
+ ///
+ /// A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.
+ /// Example: [AAFF5733, 0133FF57, DE3357FF]
+ ///
+ ///
+ /// A set of images to use as style references. The images should be in JPEG, PNG or WebP format.
+ ///
+ /// The token to cancel the operation with
+ ///
+ public async global::System.Threading.Tasks.Task PostEditImageV3Async(
+ byte[] imageFile,
+ string imageFilename,
+ byte[] mask,
+ string maskname,
+ string prompt,
+ global::Ideogram.MagicPromptOption? magicPrompt = default,
+ int? numImages = default,
+ int? seed = default,
+ global::Ideogram.RenderingSpeed? renderingSpeed = default,
+ global::Ideogram.ColorPaletteWithPresetNameOrMembers? colorPalette = default,
+ global::System.Collections.Generic.IList? styleCodes = default,
+ global::System.Collections.Generic.IList? styleReferenceImages = default,
+ global::System.Threading.CancellationToken cancellationToken = default)
+ {
+ var __request = new global::Ideogram.EditImageRequestV3
+ {
+ ImageFile = imageFile,
+ ImageFilename = imageFilename,
+ Mask = mask,
+ Maskname = maskname,
+ Prompt = prompt,
+ MagicPrompt = magicPrompt,
+ NumImages = numImages,
+ Seed = seed,
+ RenderingSpeed = renderingSpeed,
+ ColorPalette = colorPalette,
+ StyleCodes = styleCodes,
+ StyleReferenceImages = styleReferenceImages,
+ };
+
+ return await PostEditImageV3Async(
+ request: __request,
+ cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostGenerateImageV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostGenerateImageV3.g.cs
new file mode 100644
index 0000000..521458c
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostGenerateImageV3.g.cs
@@ -0,0 +1,423 @@
+
+#nullable enable
+
+namespace Ideogram
+{
+ public partial class GenerateClient
+ {
+ partial void PreparePostGenerateImageV3Arguments(
+ global::System.Net.Http.HttpClient httpClient,
+ global::Ideogram.GenerateImageRequestV3 request);
+ partial void PreparePostGenerateImageV3Request(
+ global::System.Net.Http.HttpClient httpClient,
+ global::System.Net.Http.HttpRequestMessage httpRequestMessage,
+ global::Ideogram.GenerateImageRequestV3 request);
+ partial void ProcessPostGenerateImageV3Response(
+ global::System.Net.Http.HttpClient httpClient,
+ global::System.Net.Http.HttpResponseMessage httpResponseMessage);
+
+ partial void ProcessPostGenerateImageV3ResponseContent(
+ global::System.Net.Http.HttpClient httpClient,
+ global::System.Net.Http.HttpResponseMessage httpResponseMessage,
+ ref string content);
+
+ ///
+ /// Generate with Ideogram 3.0
+ /// Generates images synchronously based on a given prompt and optional parameters using the Ideogram 3.0 model.
+ /// Images links are available for a limited period of time; if you would like to keep the image, you must download it.
+ ///
+ ///
+ /// The token to cancel the operation with
+ ///
+ public async global::System.Threading.Tasks.Task PostGenerateImageV3Async(
+ global::Ideogram.GenerateImageRequestV3 request,
+ global::System.Threading.CancellationToken cancellationToken = default)
+ {
+ request = request ?? throw new global::System.ArgumentNullException(nameof(request));
+
+ PrepareArguments(
+ client: HttpClient);
+ PreparePostGenerateImageV3Arguments(
+ httpClient: HttpClient,
+ request: request);
+
+ var __pathBuilder = new PathBuilder(
+ path: "/v1/generate/ideogram-v3",
+ baseUri: HttpClient.BaseAddress);
+ var __path = __pathBuilder.ToString();
+ using 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")
+ {
+ __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);
+ }
+ }
+ using var __httpRequestContent = new global::System.Net.Http.MultipartFormDataContent();
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.Prompt}"),
+ name: "prompt");
+ if (request.Seed != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.Seed}"),
+ name: "seed");
+ }
+ if (request.Resolution != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.Resolution?.ToValueString()}"),
+ name: "resolution");
+ }
+ if (request.AspectRatio != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.AspectRatio?.ToValueString()}"),
+ name: "aspect_ratio");
+ }
+ if (request.RenderingSpeed != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.RenderingSpeed?.ToValueString()}"),
+ name: "rendering_speed");
+ }
+ if (request.MagicPrompt != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.MagicPrompt?.ToValueString()}"),
+ name: "magic_prompt");
+ }
+ if (request.NegativePrompt != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.NegativePrompt}"),
+ name: "negative_prompt");
+ }
+ if (request.NumImages != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.NumImages}"),
+ name: "num_images");
+ }
+ if (request.ColorPalette != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent(request.ColorPalette?.ToString() ?? string.Empty),
+ name: "color_palette");
+ }
+ if (request.StyleCodes != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"[{string.Join(",", global::System.Linq.Enumerable.Select(request.StyleCodes, x => x))}]"),
+ name: "style_codes");
+ }
+ if (request.StyleType != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.StyleType?.ToValueString()}"),
+ name: "style_type");
+ }
+ if (request.StyleReferenceImages != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"[{string.Join(",", global::System.Linq.Enumerable.Select(request.StyleReferenceImages, x => x))}]"),
+ name: "style_reference_images");
+ }
+ __httpRequest.Content = __httpRequestContent;
+
+ PrepareRequest(
+ client: HttpClient,
+ request: __httpRequest);
+ PreparePostGenerateImageV3Request(
+ httpClient: HttpClient,
+ httpRequestMessage: __httpRequest,
+ request: request);
+
+ using var __response = await HttpClient.SendAsync(
+ request: __httpRequest,
+ completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead,
+ cancellationToken: cancellationToken).ConfigureAwait(false);
+
+ ProcessResponse(
+ client: HttpClient,
+ response: __response);
+ ProcessPostGenerateImageV3Response(
+ httpClient: HttpClient,
+ httpResponseMessage: __response);
+ //
+ if ((int)__response.StatusCode == 400)
+ {
+ string? __content_400 = null;
+ if (ReadResponseAsString)
+ {
+ __content_400 = await __response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false);
+ }
+ else
+ {
+ var __contentStream_400 = await __response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
+ }
+
+ throw new global::Ideogram.ApiException(
+ message: __content_400 ?? __response.ReasonPhrase ?? string.Empty,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_400,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ //
+ if ((int)__response.StatusCode == 401)
+ {
+ string? __content_401 = null;
+ if (ReadResponseAsString)
+ {
+ __content_401 = await __response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false);
+ }
+ else
+ {
+ var __contentStream_401 = await __response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
+ }
+
+ throw new global::Ideogram.ApiException(
+ message: __content_401 ?? __response.ReasonPhrase ?? string.Empty,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_401,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ // Prompt failed the safety check.
+ if ((int)__response.StatusCode == 422)
+ {
+ string? __content_422 = null;
+ global::Ideogram.GenerateImageSafetyError? __value_422 = null;
+ if (ReadResponseAsString)
+ {
+ __content_422 = await __response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false);
+ __value_422 = global::Ideogram.GenerateImageSafetyError.FromJson(__content_422, JsonSerializerContext);
+ }
+ else
+ {
+ var __contentStream_422 = await __response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
+ __value_422 = await global::Ideogram.GenerateImageSafetyError.FromJsonStreamAsync(__contentStream_422, JsonSerializerContext).ConfigureAwait(false);
+ }
+
+ throw new global::Ideogram.ApiException(
+ message: __content_422 ?? __response.ReasonPhrase ?? string.Empty,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_422,
+ ResponseObject = __value_422,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ //
+ if ((int)__response.StatusCode == 429)
+ {
+ string? __content_429 = null;
+ if (ReadResponseAsString)
+ {
+ __content_429 = await __response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false);
+ }
+ else
+ {
+ var __contentStream_429 = await __response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
+ }
+
+ throw new global::Ideogram.ApiException(
+ message: __content_429 ?? __response.ReasonPhrase ?? string.Empty,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_429,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+
+ if (ReadResponseAsString)
+ {
+ var __content = await __response.Content.ReadAsStringAsync(
+#if NET5_0_OR_GREATER
+ cancellationToken
+#endif
+ ).ConfigureAwait(false);
+
+ ProcessResponseContent(
+ client: HttpClient,
+ response: __response,
+ content: ref __content);
+ ProcessPostGenerateImageV3ResponseContent(
+ httpClient: HttpClient,
+ httpResponseMessage: __response,
+ content: ref __content);
+
+ try
+ {
+ __response.EnsureSuccessStatusCode();
+ }
+ catch (global::System.Net.Http.HttpRequestException __ex)
+ {
+ throw new global::Ideogram.ApiException(
+ message: __content ?? __response.ReasonPhrase ?? string.Empty,
+ innerException: __ex,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+
+ return
+ global::Ideogram.ImageGenerationResponseV3.FromJson(__content, JsonSerializerContext) ??
+ throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" ");
+ }
+ else
+ {
+ try
+ {
+ __response.EnsureSuccessStatusCode();
+ }
+ catch (global::System.Net.Http.HttpRequestException __ex)
+ {
+ throw new global::Ideogram.ApiException(
+ message: __response.ReasonPhrase ?? string.Empty,
+ innerException: __ex,
+ statusCode: __response.StatusCode)
+ {
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+
+ using var __content = await __response.Content.ReadAsStreamAsync(
+#if NET5_0_OR_GREATER
+ cancellationToken
+#endif
+ ).ConfigureAwait(false);
+
+ return
+ await global::Ideogram.ImageGenerationResponseV3.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ??
+ throw new global::System.InvalidOperationException("Response deserialization failed.");
+ }
+ }
+
+ ///
+ /// Generate with Ideogram 3.0
+ /// Generates images synchronously based on a given prompt and optional parameters using the Ideogram 3.0 model.
+ /// Images links are available for a limited period of time; if you would like to keep the image, you must download it.
+ ///
+ ///
+ /// The prompt to use to generate the image.
+ /// Example: A photo of a cat
+ ///
+ ///
+ /// Example: 12345
+ ///
+ ///
+ /// The resolutions supported for model version V_3.
+ /// Example: 1024x1024
+ ///
+ ///
+ /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1:1.
+ ///
+ ///
+ /// The rendering speed to use.
+ /// Default Value: BALANCED
+ ///
+ ///
+ /// Determine if MagicPrompt should be used in generating the request or not
+ /// Example: ON
+ ///
+ ///
+ /// Description of what to exclude from an image. Descriptions in the prompt take precedence
+ /// to descriptions in the negative prompt.
+ /// Example: brush strokes, painting
+ ///
+ ///
+ /// Number of images to generate.
+ /// Default Value: 1
+ ///
+ ///
+ /// Only available for model version V_2 and V_2_TURBO. A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members).
+ ///
+ ///
+ /// A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.
+ /// Example: [AAFF5733, 0133FF57, DE3357FF]
+ ///
+ ///
+ /// The style type to generate with.
+ /// Example: REALISTIC
+ ///
+ ///
+ /// A set of images to use as style references. The images should be in JPEG, PNG or WebP format.
+ ///
+ /// The token to cancel the operation with
+ ///
+ public async global::System.Threading.Tasks.Task PostGenerateImageV3Async(
+ string prompt,
+ int? seed = default,
+ global::Ideogram.ResolutionV3? resolution = default,
+ global::Ideogram.AspectRatioV3? aspectRatio = default,
+ global::Ideogram.RenderingSpeed? renderingSpeed = default,
+ global::Ideogram.MagicPromptOption? magicPrompt = default,
+ string? negativePrompt = default,
+ int? numImages = default,
+ global::Ideogram.ColorPaletteWithPresetNameOrMembers? colorPalette = default,
+ global::System.Collections.Generic.IList? styleCodes = default,
+ global::Ideogram.StyleTypeV3? styleType = default,
+ global::System.Collections.Generic.IList? styleReferenceImages = default,
+ global::System.Threading.CancellationToken cancellationToken = default)
+ {
+ var __request = new global::Ideogram.GenerateImageRequestV3
+ {
+ Prompt = prompt,
+ Seed = seed,
+ Resolution = resolution,
+ AspectRatio = aspectRatio,
+ RenderingSpeed = renderingSpeed,
+ MagicPrompt = magicPrompt,
+ NegativePrompt = negativePrompt,
+ NumImages = numImages,
+ ColorPalette = colorPalette,
+ StyleCodes = styleCodes,
+ StyleType = styleType,
+ StyleReferenceImages = styleReferenceImages,
+ };
+
+ return await PostGenerateImageV3Async(
+ request: __request,
+ cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostReframeImageV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostReframeImageV3.g.cs
new file mode 100644
index 0000000..8dad209
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostReframeImageV3.g.cs
@@ -0,0 +1,376 @@
+
+#nullable enable
+
+namespace Ideogram
+{
+ public partial class GenerateClient
+ {
+ partial void PreparePostReframeImageV3Arguments(
+ global::System.Net.Http.HttpClient httpClient,
+ global::Ideogram.ReframeImageRequestV3 request);
+ partial void PreparePostReframeImageV3Request(
+ global::System.Net.Http.HttpClient httpClient,
+ global::System.Net.Http.HttpRequestMessage httpRequestMessage,
+ global::Ideogram.ReframeImageRequestV3 request);
+ partial void ProcessPostReframeImageV3Response(
+ global::System.Net.Http.HttpClient httpClient,
+ global::System.Net.Http.HttpResponseMessage httpResponseMessage);
+
+ partial void ProcessPostReframeImageV3ResponseContent(
+ global::System.Net.Http.HttpClient httpClient,
+ global::System.Net.Http.HttpResponseMessage httpResponseMessage,
+ ref string content);
+
+ ///
+ /// Reframe with Ideogram 3.0
+ /// Reframe a square image to a chosen resolution with Ideogram 3.0. The supported image formats include JPEG, PNG, and WebP.
+ /// Image links are available for a limited period of time; if you would like to keep the image, you must download it
+ ///
+ ///
+ /// The token to cancel the operation with
+ ///
+ public async global::System.Threading.Tasks.Task PostReframeImageV3Async(
+ global::Ideogram.ReframeImageRequestV3 request,
+ global::System.Threading.CancellationToken cancellationToken = default)
+ {
+ request = request ?? throw new global::System.ArgumentNullException(nameof(request));
+
+ PrepareArguments(
+ client: HttpClient);
+ PreparePostReframeImageV3Arguments(
+ httpClient: HttpClient,
+ request: request);
+
+ var __pathBuilder = new PathBuilder(
+ path: "/v1/reframe/ideogram-v3",
+ baseUri: HttpClient.BaseAddress);
+ var __path = __pathBuilder.ToString();
+ using 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")
+ {
+ __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);
+ }
+ }
+ using var __httpRequestContent = new global::System.Net.Http.MultipartFormDataContent();
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.ByteArrayContent(request.ImageFile ?? global::System.Array.Empty()),
+ name: "image_file",
+ fileName: request.ImageFilename ?? string.Empty);
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.Resolution.ToValueString()}"),
+ name: "resolution");
+ if (request.NumImages != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.NumImages}"),
+ name: "num_images");
+ }
+ if (request.Seed != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.Seed}"),
+ name: "seed");
+ }
+ if (request.RenderingSpeed != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.RenderingSpeed?.ToValueString()}"),
+ name: "rendering_speed");
+ }
+ if (request.ColorPalette != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent(request.ColorPalette?.ToString() ?? string.Empty),
+ name: "color_palette");
+ }
+ if (request.StyleCodes != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"[{string.Join(",", global::System.Linq.Enumerable.Select(request.StyleCodes, x => x))}]"),
+ name: "style_codes");
+ }
+ if (request.StyleReferenceImages != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"[{string.Join(",", global::System.Linq.Enumerable.Select(request.StyleReferenceImages, x => x))}]"),
+ name: "style_reference_images");
+ }
+ __httpRequest.Content = __httpRequestContent;
+
+ PrepareRequest(
+ client: HttpClient,
+ request: __httpRequest);
+ PreparePostReframeImageV3Request(
+ httpClient: HttpClient,
+ httpRequestMessage: __httpRequest,
+ request: request);
+
+ using var __response = await HttpClient.SendAsync(
+ request: __httpRequest,
+ completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead,
+ cancellationToken: cancellationToken).ConfigureAwait(false);
+
+ ProcessResponse(
+ client: HttpClient,
+ response: __response);
+ ProcessPostReframeImageV3Response(
+ httpClient: HttpClient,
+ httpResponseMessage: __response);
+ //
+ if ((int)__response.StatusCode == 400)
+ {
+ string? __content_400 = null;
+ if (ReadResponseAsString)
+ {
+ __content_400 = await __response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false);
+ }
+ else
+ {
+ var __contentStream_400 = await __response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
+ }
+
+ throw new global::Ideogram.ApiException(
+ message: __content_400 ?? __response.ReasonPhrase ?? string.Empty,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_400,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ //
+ if ((int)__response.StatusCode == 401)
+ {
+ string? __content_401 = null;
+ if (ReadResponseAsString)
+ {
+ __content_401 = await __response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false);
+ }
+ else
+ {
+ var __contentStream_401 = await __response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
+ }
+
+ throw new global::Ideogram.ApiException(
+ message: __content_401 ?? __response.ReasonPhrase ?? string.Empty,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_401,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ // Prompt or Image failed the safety checks.
+ if ((int)__response.StatusCode == 422)
+ {
+ string? __content_422 = null;
+ global::Ideogram.GenerateImageSafetyError? __value_422 = null;
+ if (ReadResponseAsString)
+ {
+ __content_422 = await __response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false);
+ __value_422 = global::Ideogram.GenerateImageSafetyError.FromJson(__content_422, JsonSerializerContext);
+ }
+ else
+ {
+ var __contentStream_422 = await __response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
+ __value_422 = await global::Ideogram.GenerateImageSafetyError.FromJsonStreamAsync(__contentStream_422, JsonSerializerContext).ConfigureAwait(false);
+ }
+
+ throw new global::Ideogram.ApiException(
+ message: __content_422 ?? __response.ReasonPhrase ?? string.Empty,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_422,
+ ResponseObject = __value_422,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ //
+ if ((int)__response.StatusCode == 429)
+ {
+ string? __content_429 = null;
+ if (ReadResponseAsString)
+ {
+ __content_429 = await __response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false);
+ }
+ else
+ {
+ var __contentStream_429 = await __response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
+ }
+
+ throw new global::Ideogram.ApiException(
+ message: __content_429 ?? __response.ReasonPhrase ?? string.Empty,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_429,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+
+ if (ReadResponseAsString)
+ {
+ var __content = await __response.Content.ReadAsStringAsync(
+#if NET5_0_OR_GREATER
+ cancellationToken
+#endif
+ ).ConfigureAwait(false);
+
+ ProcessResponseContent(
+ client: HttpClient,
+ response: __response,
+ content: ref __content);
+ ProcessPostReframeImageV3ResponseContent(
+ httpClient: HttpClient,
+ httpResponseMessage: __response,
+ content: ref __content);
+
+ try
+ {
+ __response.EnsureSuccessStatusCode();
+ }
+ catch (global::System.Net.Http.HttpRequestException __ex)
+ {
+ throw new global::Ideogram.ApiException(
+ message: __content ?? __response.ReasonPhrase ?? string.Empty,
+ innerException: __ex,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+
+ return
+ global::Ideogram.ImageGenerationResponseV3.FromJson(__content, JsonSerializerContext) ??
+ throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" ");
+ }
+ else
+ {
+ try
+ {
+ __response.EnsureSuccessStatusCode();
+ }
+ catch (global::System.Net.Http.HttpRequestException __ex)
+ {
+ throw new global::Ideogram.ApiException(
+ message: __response.ReasonPhrase ?? string.Empty,
+ innerException: __ex,
+ statusCode: __response.StatusCode)
+ {
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+
+ using var __content = await __response.Content.ReadAsStreamAsync(
+#if NET5_0_OR_GREATER
+ cancellationToken
+#endif
+ ).ConfigureAwait(false);
+
+ return
+ await global::Ideogram.ImageGenerationResponseV3.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ??
+ throw new global::System.InvalidOperationException("Response deserialization failed.");
+ }
+ }
+
+ ///
+ /// Reframe with Ideogram 3.0
+ /// Reframe a square image to a chosen resolution with Ideogram 3.0. The supported image formats include JPEG, PNG, and WebP.
+ /// Image links are available for a limited period of time; if you would like to keep the image, you must download it
+ ///
+ ///
+ /// The image being reframed; only JPEG, WebP and PNG formats are supported at this time.
+ ///
+ ///
+ /// The image being reframed; only JPEG, WebP and PNG formats are supported at this time.
+ ///
+ ///
+ /// The resolutions supported for model version V_3.
+ /// Example: 1024x1024
+ ///
+ ///
+ /// Default Value: 1
+ ///
+ ///
+ /// Example: 12345
+ ///
+ ///
+ /// The rendering speed to use.
+ /// Default Value: BALANCED
+ ///
+ ///
+ /// Only available for model version V_2 and V_2_TURBO. A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members).
+ ///
+ ///
+ /// A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.
+ /// Example: [AAFF5733, 0133FF57, DE3357FF]
+ ///
+ ///
+ /// A set of images to use as style references. The images should be in JPEG, PNG or WebP format.
+ ///
+ /// The token to cancel the operation with
+ ///
+ public async global::System.Threading.Tasks.Task PostReframeImageV3Async(
+ byte[] imageFile,
+ string imageFilename,
+ global::Ideogram.ResolutionV3 resolution,
+ int? numImages = default,
+ int? seed = default,
+ global::Ideogram.RenderingSpeed? renderingSpeed = default,
+ global::Ideogram.ColorPaletteWithPresetNameOrMembers? colorPalette = default,
+ global::System.Collections.Generic.IList? styleCodes = default,
+ global::System.Collections.Generic.IList? styleReferenceImages = default,
+ global::System.Threading.CancellationToken cancellationToken = default)
+ {
+ var __request = new global::Ideogram.ReframeImageRequestV3
+ {
+ ImageFile = imageFile,
+ ImageFilename = imageFilename,
+ Resolution = resolution,
+ NumImages = numImages,
+ Seed = seed,
+ RenderingSpeed = renderingSpeed,
+ ColorPalette = colorPalette,
+ StyleCodes = styleCodes,
+ StyleReferenceImages = styleReferenceImages,
+ };
+
+ return await PostReframeImageV3Async(
+ request: __request,
+ cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostRemixImageV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostRemixImageV3.g.cs
new file mode 100644
index 0000000..f544952
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostRemixImageV3.g.cs
@@ -0,0 +1,453 @@
+
+#nullable enable
+
+namespace Ideogram
+{
+ public partial class GenerateClient
+ {
+ partial void PreparePostRemixImageV3Arguments(
+ global::System.Net.Http.HttpClient httpClient,
+ global::Ideogram.RemixImageRequestV3 request);
+ partial void PreparePostRemixImageV3Request(
+ global::System.Net.Http.HttpClient httpClient,
+ global::System.Net.Http.HttpRequestMessage httpRequestMessage,
+ global::Ideogram.RemixImageRequestV3 request);
+ partial void ProcessPostRemixImageV3Response(
+ global::System.Net.Http.HttpClient httpClient,
+ global::System.Net.Http.HttpResponseMessage httpResponseMessage);
+
+ partial void ProcessPostRemixImageV3ResponseContent(
+ global::System.Net.Http.HttpClient httpClient,
+ global::System.Net.Http.HttpResponseMessage httpResponseMessage,
+ ref string content);
+
+ ///
+ /// Remix with Ideogram 3.0
+ /// Remix provided images synchronously based on a given prompt and optional parameters with the Ideogram 3.0 model.
+ /// Input images are cropped to the chosen aspect ratio before being remixed.
+ /// Supported image formats include JPEG, PNG, and WebP.
+ /// Images links are available for a limited period of time; if you would like to keep the image, you must download it.
+ ///
+ ///
+ /// The token to cancel the operation with
+ ///
+ public async global::System.Threading.Tasks.Task PostRemixImageV3Async(
+ global::Ideogram.RemixImageRequestV3 request,
+ global::System.Threading.CancellationToken cancellationToken = default)
+ {
+ request = request ?? throw new global::System.ArgumentNullException(nameof(request));
+
+ PrepareArguments(
+ client: HttpClient);
+ PreparePostRemixImageV3Arguments(
+ httpClient: HttpClient,
+ request: request);
+
+ var __pathBuilder = new PathBuilder(
+ path: "/v1/remix/ideogram-v3",
+ baseUri: HttpClient.BaseAddress);
+ var __path = __pathBuilder.ToString();
+ using 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")
+ {
+ __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);
+ }
+ }
+ using var __httpRequestContent = new global::System.Net.Http.MultipartFormDataContent();
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.ByteArrayContent(request.ImageFile ?? global::System.Array.Empty()),
+ name: "image_file",
+ fileName: request.ImageFilename ?? string.Empty);
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.Prompt}"),
+ name: "prompt");
+ if (request.ImageWeight != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.ImageWeight}"),
+ name: "image_weight");
+ }
+ if (request.Seed != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.Seed}"),
+ name: "seed");
+ }
+ if (request.Resolution != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.Resolution?.ToValueString()}"),
+ name: "resolution");
+ }
+ if (request.AspectRatio != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.AspectRatio?.ToValueString()}"),
+ name: "aspect_ratio");
+ }
+ if (request.RenderingSpeed != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.RenderingSpeed?.ToValueString()}"),
+ name: "rendering_speed");
+ }
+ if (request.MagicPrompt != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.MagicPrompt?.ToValueString()}"),
+ name: "magic_prompt");
+ }
+ if (request.NegativePrompt != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.NegativePrompt}"),
+ name: "negative_prompt");
+ }
+ if (request.NumImages != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.NumImages}"),
+ name: "num_images");
+ }
+ if (request.ColorPalette != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent(request.ColorPalette?.ToString() ?? string.Empty),
+ name: "color_palette");
+ }
+ if (request.StyleCodes != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"[{string.Join(",", global::System.Linq.Enumerable.Select(request.StyleCodes, x => x))}]"),
+ name: "style_codes");
+ }
+ if (request.StyleType != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"{request.StyleType?.ToValueString()}"),
+ name: "style_type");
+ }
+ if (request.StyleReferenceImages != default)
+ {
+ __httpRequestContent.Add(
+ content: new global::System.Net.Http.StringContent($"[{string.Join(",", global::System.Linq.Enumerable.Select(request.StyleReferenceImages, x => x))}]"),
+ name: "style_reference_images");
+ }
+ __httpRequest.Content = __httpRequestContent;
+
+ PrepareRequest(
+ client: HttpClient,
+ request: __httpRequest);
+ PreparePostRemixImageV3Request(
+ httpClient: HttpClient,
+ httpRequestMessage: __httpRequest,
+ request: request);
+
+ using var __response = await HttpClient.SendAsync(
+ request: __httpRequest,
+ completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead,
+ cancellationToken: cancellationToken).ConfigureAwait(false);
+
+ ProcessResponse(
+ client: HttpClient,
+ response: __response);
+ ProcessPostRemixImageV3Response(
+ httpClient: HttpClient,
+ httpResponseMessage: __response);
+ //
+ if ((int)__response.StatusCode == 400)
+ {
+ string? __content_400 = null;
+ if (ReadResponseAsString)
+ {
+ __content_400 = await __response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false);
+ }
+ else
+ {
+ var __contentStream_400 = await __response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
+ }
+
+ throw new global::Ideogram.ApiException(
+ message: __content_400 ?? __response.ReasonPhrase ?? string.Empty,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_400,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ //
+ if ((int)__response.StatusCode == 403)
+ {
+ string? __content_403 = null;
+ if (ReadResponseAsString)
+ {
+ __content_403 = await __response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false);
+ }
+ else
+ {
+ var __contentStream_403 = await __response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
+ }
+
+ throw new global::Ideogram.ApiException(
+ message: __content_403 ?? __response.ReasonPhrase ?? string.Empty,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_403,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ // Prompt or provided image failed safety check.
+ if ((int)__response.StatusCode == 422)
+ {
+ string? __content_422 = null;
+ global::Ideogram.GenerateImageSafetyError? __value_422 = null;
+ if (ReadResponseAsString)
+ {
+ __content_422 = await __response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false);
+ __value_422 = global::Ideogram.GenerateImageSafetyError.FromJson(__content_422, JsonSerializerContext);
+ }
+ else
+ {
+ var __contentStream_422 = await __response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
+ __value_422 = await global::Ideogram.GenerateImageSafetyError.FromJsonStreamAsync(__contentStream_422, JsonSerializerContext).ConfigureAwait(false);
+ }
+
+ throw new global::Ideogram.ApiException(
+ message: __content_422 ?? __response.ReasonPhrase ?? string.Empty,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_422,
+ ResponseObject = __value_422,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ //
+ if ((int)__response.StatusCode == 429)
+ {
+ string? __content_429 = null;
+ if (ReadResponseAsString)
+ {
+ __content_429 = await __response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false);
+ }
+ else
+ {
+ var __contentStream_429 = await __response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
+ }
+
+ throw new global::Ideogram.ApiException(
+ message: __content_429 ?? __response.ReasonPhrase ?? string.Empty,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_429,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+
+ if (ReadResponseAsString)
+ {
+ var __content = await __response.Content.ReadAsStringAsync(
+#if NET5_0_OR_GREATER
+ cancellationToken
+#endif
+ ).ConfigureAwait(false);
+
+ ProcessResponseContent(
+ client: HttpClient,
+ response: __response,
+ content: ref __content);
+ ProcessPostRemixImageV3ResponseContent(
+ httpClient: HttpClient,
+ httpResponseMessage: __response,
+ content: ref __content);
+
+ try
+ {
+ __response.EnsureSuccessStatusCode();
+ }
+ catch (global::System.Net.Http.HttpRequestException __ex)
+ {
+ throw new global::Ideogram.ApiException(
+ message: __content ?? __response.ReasonPhrase ?? string.Empty,
+ innerException: __ex,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+
+ return
+ global::Ideogram.ImageGenerationResponseV3.FromJson(__content, JsonSerializerContext) ??
+ throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" ");
+ }
+ else
+ {
+ try
+ {
+ __response.EnsureSuccessStatusCode();
+ }
+ catch (global::System.Net.Http.HttpRequestException __ex)
+ {
+ throw new global::Ideogram.ApiException(
+ message: __response.ReasonPhrase ?? string.Empty,
+ innerException: __ex,
+ statusCode: __response.StatusCode)
+ {
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+
+ using var __content = await __response.Content.ReadAsStreamAsync(
+#if NET5_0_OR_GREATER
+ cancellationToken
+#endif
+ ).ConfigureAwait(false);
+
+ return
+ await global::Ideogram.ImageGenerationResponseV3.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ??
+ throw new global::System.InvalidOperationException("Response deserialization failed.");
+ }
+ }
+
+ ///
+ /// Remix with Ideogram 3.0
+ /// Remix provided images synchronously based on a given prompt and optional parameters with the Ideogram 3.0 model.
+ /// Input images are cropped to the chosen aspect ratio before being remixed.
+ /// Supported image formats include JPEG, PNG, and WebP.
+ /// Images links are available for a limited period of time; if you would like to keep the image, you must download it.
+ ///
+ ///
+ /// The image to remix binary; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ ///
+ /// The image to remix binary; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ ///
+ /// The prompt to use to generate the image.
+ /// Example: A photo of a cat
+ ///
+ ///
+ /// Default Value: 50
+ /// Example: 50
+ ///
+ ///
+ /// Example: 12345
+ ///
+ ///
+ /// The resolutions supported for model version V_3.
+ /// Example: 1024x1024
+ ///
+ ///
+ /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1:1.
+ ///
+ ///
+ /// The rendering speed to use.
+ /// Default Value: BALANCED
+ ///
+ ///
+ /// Determine if MagicPrompt should be used in generating the request or not
+ /// Example: ON
+ ///
+ ///
+ /// Description of what to exclude from an image. Descriptions in the prompt take precedence
+ /// to descriptions in the negative prompt.
+ /// Example: brush strokes, painting
+ ///
+ ///
+ /// Number of images to generate.
+ /// Default Value: 1
+ ///
+ ///
+ /// Only available for model version V_2 and V_2_TURBO. A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members).
+ ///
+ ///
+ /// A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.
+ /// Example: [AAFF5733, 0133FF57, DE3357FF]
+ ///
+ ///
+ /// The style type to generate with.
+ /// Example: REALISTIC
+ ///
+ ///
+ /// A set of images to use as style references. The images should be in JPEG, PNG or WebP format.
+ ///
+ /// The token to cancel the operation with
+ ///
+ public async global::System.Threading.Tasks.Task PostRemixImageV3Async(
+ byte[] imageFile,
+ string imageFilename,
+ string prompt,
+ int? imageWeight = default,
+ int? seed = default,
+ global::Ideogram.ResolutionV3? resolution = default,
+ global::Ideogram.AspectRatioV3? aspectRatio = default,
+ global::Ideogram.RenderingSpeed? renderingSpeed = default,
+ global::Ideogram.MagicPromptOption? magicPrompt = default,
+ string? negativePrompt = default,
+ int? numImages = default,
+ global::Ideogram.ColorPaletteWithPresetNameOrMembers? colorPalette = default,
+ global::System.Collections.Generic.IList? styleCodes = default,
+ global::Ideogram.StyleTypeV3? styleType = default,
+ global::System.Collections.Generic.IList? styleReferenceImages = default,
+ global::System.Threading.CancellationToken cancellationToken = default)
+ {
+ var __request = new global::Ideogram.RemixImageRequestV3
+ {
+ ImageFile = imageFile,
+ ImageFilename = imageFilename,
+ Prompt = prompt,
+ ImageWeight = imageWeight,
+ Seed = seed,
+ Resolution = resolution,
+ AspectRatio = aspectRatio,
+ RenderingSpeed = renderingSpeed,
+ MagicPrompt = magicPrompt,
+ NegativePrompt = negativePrompt,
+ NumImages = numImages,
+ ColorPalette = colorPalette,
+ StyleCodes = styleCodes,
+ StyleType = styleType,
+ StyleReferenceImages = styleReferenceImages,
+ };
+
+ return await PostRemixImageV3Async(
+ request: __request,
+ cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostEditImageV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostEditImageV3.g.cs
new file mode 100644
index 0000000..0cc2f2b
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostEditImageV3.g.cs
@@ -0,0 +1,85 @@
+#nullable enable
+
+namespace Ideogram
+{
+ public partial interface IGenerateClient
+ {
+ ///
+ /// Edit with Ideogram 3.0
+ /// Edit a given image synchronously using the provided mask with Ideogram 3.0. The mask indicates which part of the image
+ /// should be edited, while the prompt and chosen style can further guide the edit.
+ /// Supported image formats include JPEG, PNG, and WebP.
+ /// Images links are available for a limited period of time; if you would like to keep the image, you must download it.
+ ///
+ ///
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task PostEditImageV3Async(
+ global::Ideogram.EditImageRequestV3 request,
+ global::System.Threading.CancellationToken cancellationToken = default);
+
+ ///
+ /// Edit with Ideogram 3.0
+ /// Edit a given image synchronously using the provided mask with Ideogram 3.0. The mask indicates which part of the image
+ /// should be edited, while the prompt and chosen style can further guide the edit.
+ /// Supported image formats include JPEG, PNG, and WebP.
+ /// Images links are available for a limited period of time; if you would like to keep the image, you must download it.
+ ///
+ ///
+ /// The image being edited; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ ///
+ /// The image being edited; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ ///
+ /// A black and white image of the same size as the image being edited. Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ ///
+ /// A black and white image of the same size as the image being edited. Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ ///
+ /// The prompt used to describe the edited result.
+ /// Example: A photo of a cat.
+ ///
+ ///
+ /// Determine if MagicPrompt should be used in generating the request or not
+ /// Example: ON
+ ///
+ ///
+ /// Default Value: 1
+ ///
+ ///
+ /// Example: 12345
+ ///
+ ///
+ /// The rendering speed to use.
+ /// Default Value: BALANCED
+ ///
+ ///
+ /// Only available for model version V_2 and V_2_TURBO. A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members).
+ ///
+ ///
+ /// A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.
+ /// Example: [AAFF5733, 0133FF57, DE3357FF]
+ ///
+ ///
+ /// A set of images to use as style references. The images should be in JPEG, PNG or WebP format.
+ ///
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task PostEditImageV3Async(
+ byte[] imageFile,
+ string imageFilename,
+ byte[] mask,
+ string maskname,
+ string prompt,
+ global::Ideogram.MagicPromptOption? magicPrompt = default,
+ int? numImages = default,
+ int? seed = default,
+ global::Ideogram.RenderingSpeed? renderingSpeed = default,
+ global::Ideogram.ColorPaletteWithPresetNameOrMembers? colorPalette = default,
+ global::System.Collections.Generic.IList? styleCodes = default,
+ global::System.Collections.Generic.IList? styleReferenceImages = default,
+ global::System.Threading.CancellationToken cancellationToken = default);
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostGenerateImageV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostGenerateImageV3.g.cs
new file mode 100644
index 0000000..7fc2031
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostGenerateImageV3.g.cs
@@ -0,0 +1,86 @@
+#nullable enable
+
+namespace Ideogram
+{
+ public partial interface IGenerateClient
+ {
+ ///
+ /// Generate with Ideogram 3.0
+ /// Generates images synchronously based on a given prompt and optional parameters using the Ideogram 3.0 model.
+ /// Images links are available for a limited period of time; if you would like to keep the image, you must download it.
+ ///
+ ///
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task PostGenerateImageV3Async(
+ global::Ideogram.GenerateImageRequestV3 request,
+ global::System.Threading.CancellationToken cancellationToken = default);
+
+ ///
+ /// Generate with Ideogram 3.0
+ /// Generates images synchronously based on a given prompt and optional parameters using the Ideogram 3.0 model.
+ /// Images links are available for a limited period of time; if you would like to keep the image, you must download it.
+ ///
+ ///
+ /// The prompt to use to generate the image.
+ /// Example: A photo of a cat
+ ///
+ ///
+ /// Example: 12345
+ ///
+ ///
+ /// The resolutions supported for model version V_3.
+ /// Example: 1024x1024
+ ///
+ ///
+ /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1:1.
+ ///
+ ///
+ /// The rendering speed to use.
+ /// Default Value: BALANCED
+ ///
+ ///
+ /// Determine if MagicPrompt should be used in generating the request or not
+ /// Example: ON
+ ///
+ ///
+ /// Description of what to exclude from an image. Descriptions in the prompt take precedence
+ /// to descriptions in the negative prompt.
+ /// Example: brush strokes, painting
+ ///
+ ///
+ /// Number of images to generate.
+ /// Default Value: 1
+ ///
+ ///
+ /// Only available for model version V_2 and V_2_TURBO. A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members).
+ ///
+ ///
+ /// A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.
+ /// Example: [AAFF5733, 0133FF57, DE3357FF]
+ ///
+ ///
+ /// The style type to generate with.
+ /// Example: REALISTIC
+ ///
+ ///
+ /// A set of images to use as style references. The images should be in JPEG, PNG or WebP format.
+ ///
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task PostGenerateImageV3Async(
+ string prompt,
+ int? seed = default,
+ global::Ideogram.ResolutionV3? resolution = default,
+ global::Ideogram.AspectRatioV3? aspectRatio = default,
+ global::Ideogram.RenderingSpeed? renderingSpeed = default,
+ global::Ideogram.MagicPromptOption? magicPrompt = default,
+ string? negativePrompt = default,
+ int? numImages = default,
+ global::Ideogram.ColorPaletteWithPresetNameOrMembers? colorPalette = default,
+ global::System.Collections.Generic.IList? styleCodes = default,
+ global::Ideogram.StyleTypeV3? styleType = default,
+ global::System.Collections.Generic.IList? styleReferenceImages = default,
+ global::System.Threading.CancellationToken cancellationToken = default);
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostReframeImageV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostReframeImageV3.g.cs
new file mode 100644
index 0000000..8f030ac
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostReframeImageV3.g.cs
@@ -0,0 +1,68 @@
+#nullable enable
+
+namespace Ideogram
+{
+ public partial interface IGenerateClient
+ {
+ ///
+ /// Reframe with Ideogram 3.0
+ /// Reframe a square image to a chosen resolution with Ideogram 3.0. The supported image formats include JPEG, PNG, and WebP.
+ /// Image links are available for a limited period of time; if you would like to keep the image, you must download it
+ ///
+ ///
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task PostReframeImageV3Async(
+ global::Ideogram.ReframeImageRequestV3 request,
+ global::System.Threading.CancellationToken cancellationToken = default);
+
+ ///
+ /// Reframe with Ideogram 3.0
+ /// Reframe a square image to a chosen resolution with Ideogram 3.0. The supported image formats include JPEG, PNG, and WebP.
+ /// Image links are available for a limited period of time; if you would like to keep the image, you must download it
+ ///
+ ///
+ /// The image being reframed; only JPEG, WebP and PNG formats are supported at this time.
+ ///
+ ///
+ /// The image being reframed; only JPEG, WebP and PNG formats are supported at this time.
+ ///
+ ///
+ /// The resolutions supported for model version V_3.
+ /// Example: 1024x1024
+ ///
+ ///
+ /// Default Value: 1
+ ///
+ ///
+ /// Example: 12345
+ ///
+ ///
+ /// The rendering speed to use.
+ /// Default Value: BALANCED
+ ///
+ ///
+ /// Only available for model version V_2 and V_2_TURBO. A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members).
+ ///
+ ///
+ /// A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.
+ /// Example: [AAFF5733, 0133FF57, DE3357FF]
+ ///
+ ///
+ /// A set of images to use as style references. The images should be in JPEG, PNG or WebP format.
+ ///
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task PostReframeImageV3Async(
+ byte[] imageFile,
+ string imageFilename,
+ global::Ideogram.ResolutionV3 resolution,
+ int? numImages = default,
+ int? seed = default,
+ global::Ideogram.RenderingSpeed? renderingSpeed = default,
+ global::Ideogram.ColorPaletteWithPresetNameOrMembers? colorPalette = default,
+ global::System.Collections.Generic.IList? styleCodes = default,
+ global::System.Collections.Generic.IList? styleReferenceImages = default,
+ global::System.Threading.CancellationToken cancellationToken = default);
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostRemixImageV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostRemixImageV3.g.cs
new file mode 100644
index 0000000..b4190f8
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostRemixImageV3.g.cs
@@ -0,0 +1,103 @@
+#nullable enable
+
+namespace Ideogram
+{
+ public partial interface IGenerateClient
+ {
+ ///
+ /// Remix with Ideogram 3.0
+ /// Remix provided images synchronously based on a given prompt and optional parameters with the Ideogram 3.0 model.
+ /// Input images are cropped to the chosen aspect ratio before being remixed.
+ /// Supported image formats include JPEG, PNG, and WebP.
+ /// Images links are available for a limited period of time; if you would like to keep the image, you must download it.
+ ///
+ ///
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task PostRemixImageV3Async(
+ global::Ideogram.RemixImageRequestV3 request,
+ global::System.Threading.CancellationToken cancellationToken = default);
+
+ ///
+ /// Remix with Ideogram 3.0
+ /// Remix provided images synchronously based on a given prompt and optional parameters with the Ideogram 3.0 model.
+ /// Input images are cropped to the chosen aspect ratio before being remixed.
+ /// Supported image formats include JPEG, PNG, and WebP.
+ /// Images links are available for a limited period of time; if you would like to keep the image, you must download it.
+ ///
+ ///
+ /// The image to remix binary; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ ///
+ /// The image to remix binary; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ ///
+ /// The prompt to use to generate the image.
+ /// Example: A photo of a cat
+ ///
+ ///
+ /// Default Value: 50
+ /// Example: 50
+ ///
+ ///
+ /// Example: 12345
+ ///
+ ///
+ /// The resolutions supported for model version V_3.
+ /// Example: 1024x1024
+ ///
+ ///
+ /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1:1.
+ ///
+ ///
+ /// The rendering speed to use.
+ /// Default Value: BALANCED
+ ///
+ ///
+ /// Determine if MagicPrompt should be used in generating the request or not
+ /// Example: ON
+ ///
+ ///
+ /// Description of what to exclude from an image. Descriptions in the prompt take precedence
+ /// to descriptions in the negative prompt.
+ /// Example: brush strokes, painting
+ ///
+ ///
+ /// Number of images to generate.
+ /// Default Value: 1
+ ///
+ ///
+ /// Only available for model version V_2 and V_2_TURBO. A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members).
+ ///
+ ///
+ /// A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.
+ /// Example: [AAFF5733, 0133FF57, DE3357FF]
+ ///
+ ///
+ /// The style type to generate with.
+ /// Example: REALISTIC
+ ///
+ ///
+ /// A set of images to use as style references. The images should be in JPEG, PNG or WebP format.
+ ///
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task PostRemixImageV3Async(
+ byte[] imageFile,
+ string imageFilename,
+ string prompt,
+ int? imageWeight = default,
+ int? seed = default,
+ global::Ideogram.ResolutionV3? resolution = default,
+ global::Ideogram.AspectRatioV3? aspectRatio = default,
+ global::Ideogram.RenderingSpeed? renderingSpeed = default,
+ global::Ideogram.MagicPromptOption? magicPrompt = default,
+ string? negativePrompt = default,
+ int? numImages = default,
+ global::Ideogram.ColorPaletteWithPresetNameOrMembers? colorPalette = default,
+ global::System.Collections.Generic.IList? styleCodes = default,
+ global::Ideogram.StyleTypeV3? styleType = default,
+ global::System.Collections.Generic.IList? styleReferenceImages = default,
+ global::System.Threading.CancellationToken cancellationToken = default);
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.AspectRatioV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.AspectRatioV3.g.cs
new file mode 100644
index 0000000..d339f02
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.Models.AspectRatioV3.g.cs
@@ -0,0 +1,129 @@
+
+#nullable enable
+
+namespace Ideogram
+{
+ ///
+ /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1:1.
+ ///
+ public enum AspectRatioV3
+ {
+ ///
+ ///
+ ///
+ x1x3,
+ ///
+ ///
+ ///
+ x3x1,
+ ///
+ ///
+ ///
+ x1x2,
+ ///
+ ///
+ ///
+ x2x1,
+ ///
+ ///
+ ///
+ x9x16,
+ ///
+ ///
+ ///
+ x16x9,
+ ///
+ ///
+ ///
+ x10x16,
+ ///
+ ///
+ ///
+ x16x10,
+ ///
+ ///
+ ///
+ x2x3,
+ ///
+ ///
+ ///
+ x3x2,
+ ///
+ ///
+ ///
+ x3x4,
+ ///
+ ///
+ ///
+ x4x3,
+ ///
+ ///
+ ///
+ x4x5,
+ ///
+ ///
+ ///
+ x5x4,
+ ///
+ ///
+ ///
+ x1x1,
+ }
+
+ ///
+ /// Enum extensions to do fast conversions without the reflection.
+ ///
+ public static class AspectRatioV3Extensions
+ {
+ ///
+ /// Converts an enum to a string.
+ ///
+ public static string ToValueString(this AspectRatioV3 value)
+ {
+ return value switch
+ {
+ AspectRatioV3.x1x3 => "1x3",
+ AspectRatioV3.x3x1 => "3x1",
+ AspectRatioV3.x1x2 => "1x2",
+ AspectRatioV3.x2x1 => "2x1",
+ AspectRatioV3.x9x16 => "9x16",
+ AspectRatioV3.x16x9 => "16x9",
+ AspectRatioV3.x10x16 => "10x16",
+ AspectRatioV3.x16x10 => "16x10",
+ AspectRatioV3.x2x3 => "2x3",
+ AspectRatioV3.x3x2 => "3x2",
+ AspectRatioV3.x3x4 => "3x4",
+ AspectRatioV3.x4x3 => "4x3",
+ AspectRatioV3.x4x5 => "4x5",
+ AspectRatioV3.x5x4 => "5x4",
+ AspectRatioV3.x1x1 => "1x1",
+ _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null),
+ };
+ }
+ ///
+ /// Converts an string to a enum.
+ ///
+ public static AspectRatioV3? ToEnum(string value)
+ {
+ return value switch
+ {
+ "1x3" => AspectRatioV3.x1x3,
+ "3x1" => AspectRatioV3.x3x1,
+ "1x2" => AspectRatioV3.x1x2,
+ "2x1" => AspectRatioV3.x2x1,
+ "9x16" => AspectRatioV3.x9x16,
+ "16x9" => AspectRatioV3.x16x9,
+ "10x16" => AspectRatioV3.x10x16,
+ "16x10" => AspectRatioV3.x16x10,
+ "2x3" => AspectRatioV3.x2x3,
+ "3x2" => AspectRatioV3.x3x2,
+ "3x4" => AspectRatioV3.x3x4,
+ "4x3" => AspectRatioV3.x4x3,
+ "4x5" => AspectRatioV3.x4x5,
+ "5x4" => AspectRatioV3.x5x4,
+ "1x1" => AspectRatioV3.x1x1,
+ _ => null,
+ };
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.ColorPaletteWithMembers.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.ColorPaletteWithMembers.g.cs
index 101cbb7..8e4f597 100644
--- a/src/libs/Ideogram/Generated/Ideogram.Models.ColorPaletteWithMembers.g.cs
+++ b/src/libs/Ideogram/Generated/Ideogram.Models.ColorPaletteWithMembers.g.cs
@@ -4,7 +4,7 @@
namespace Ideogram
{
///
- /// A color palette represented only via its members
+ /// A color palette represented only via its members. Cannot be used in conjunction with preset name.
///
public sealed partial class ColorPaletteWithMembers
{
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.ColorPaletteWithPresetNameOrMembers.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.ColorPaletteWithPresetNameOrMembers.g.cs
index 5269bd5..f5c4550 100644
--- a/src/libs/Ideogram/Generated/Ideogram.Models.ColorPaletteWithPresetNameOrMembers.g.cs
+++ b/src/libs/Ideogram/Generated/Ideogram.Models.ColorPaletteWithPresetNameOrMembers.g.cs
@@ -45,7 +45,7 @@ public ColorPaletteWithPresetNameOrMembers(global::Ideogram.ColorPaletteWithPres
}
///
- /// A color palette represented only via its members
+ /// A color palette represented only via its members. Cannot be used in conjunction with preset name.
///
#if NET6_0_OR_GREATER
public global::Ideogram.ColorPaletteWithMembers? Value2 { get; init; }
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.EditImageRequestV3.Json.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.EditImageRequestV3.Json.g.cs
new file mode 100644
index 0000000..3cca4bc
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.Models.EditImageRequestV3.Json.g.cs
@@ -0,0 +1,92 @@
+#nullable enable
+
+namespace Ideogram
+{
+ public sealed partial class EditImageRequestV3
+ {
+ ///
+ /// 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 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)
+ {
+ return global::System.Text.Json.JsonSerializer.Serialize(
+ this,
+ jsonSerializerOptions);
+ }
+
+ ///
+ /// Deserializes a JSON string using the provided JsonSerializerContext.
+ ///
+ public static global::Ideogram.EditImageRequestV3? FromJson(
+ string json,
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return global::System.Text.Json.JsonSerializer.Deserialize(
+ json,
+ typeof(global::Ideogram.EditImageRequestV3),
+ jsonSerializerContext) as global::Ideogram.EditImageRequestV3;
+ }
+
+ ///
+ /// 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::Ideogram.EditImageRequestV3? FromJson(
+ string json,
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ 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::Ideogram.EditImageRequestV3),
+ jsonSerializerContext).ConfigureAwait(false)) as global::Ideogram.EditImageRequestV3;
+ }
+
+ ///
+ /// 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)
+ {
+ return global::System.Text.Json.JsonSerializer.DeserializeAsync(
+ jsonStream,
+ jsonSerializerOptions);
+ }
+ }
+}
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.EditImageRequestV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.EditImageRequestV3.g.cs
new file mode 100644
index 0000000..7bcc6d8
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.Models.EditImageRequestV3.g.cs
@@ -0,0 +1,186 @@
+
+#nullable enable
+
+namespace Ideogram
+{
+ ///
+ ///
+ ///
+ public sealed partial class EditImageRequestV3
+ {
+ ///
+ /// The image being edited; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("image_file")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required byte[] ImageFile { get; set; }
+
+ ///
+ /// The image being edited; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("image_filename")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required string ImageFilename { get; set; }
+
+ ///
+ /// A black and white image of the same size as the image being edited. Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("mask")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required byte[] Mask { get; set; }
+
+ ///
+ /// A black and white image of the same size as the image being edited. Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("maskname")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required string Maskname { get; set; }
+
+ ///
+ /// The prompt used to describe the edited result.
+ /// Example: A photo of a cat.
+ ///
+ /// A photo of a cat.
+ [global::System.Text.Json.Serialization.JsonPropertyName("prompt")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required string Prompt { get; set; }
+
+ ///
+ /// Determine if MagicPrompt should be used in generating the request or not
+ /// Example: ON
+ ///
+ /// ON
+ [global::System.Text.Json.Serialization.JsonPropertyName("magic_prompt")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.MagicPromptOptionJsonConverter))]
+ public global::Ideogram.MagicPromptOption? MagicPrompt { get; set; }
+
+ ///
+ /// Default Value: 1
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("num_images")]
+ public int? NumImages { get; set; }
+
+ ///
+ /// Example: 12345
+ ///
+ /// 12345
+ [global::System.Text.Json.Serialization.JsonPropertyName("seed")]
+ public int? Seed { get; set; }
+
+ ///
+ /// The rendering speed to use.
+ /// Default Value: BALANCED
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("rendering_speed")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.RenderingSpeedJsonConverter))]
+ public global::Ideogram.RenderingSpeed? RenderingSpeed { get; set; }
+
+ ///
+ /// Only available for model version V_2 and V_2_TURBO. A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members).
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("color_palette")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.ColorPaletteWithPresetNameOrMembersJsonConverter))]
+ public global::Ideogram.ColorPaletteWithPresetNameOrMembers? ColorPalette { get; set; }
+
+ ///
+ /// A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.
+ /// Example: [AAFF5733, 0133FF57, DE3357FF]
+ ///
+ /// [AAFF5733, 0133FF57, DE3357FF]
+ [global::System.Text.Json.Serialization.JsonPropertyName("style_codes")]
+ public global::System.Collections.Generic.IList? StyleCodes { get; set; }
+
+ ///
+ /// A set of images to use as style references. The images should be in JPEG, PNG or WebP format.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("style_reference_images")]
+ public global::System.Collections.Generic.IList? StyleReferenceImages { 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.
+ ///
+ ///
+ /// The image being edited; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ ///
+ /// The image being edited; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ ///
+ /// A black and white image of the same size as the image being edited. Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ ///
+ /// A black and white image of the same size as the image being edited. Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ ///
+ /// The prompt used to describe the edited result.
+ /// Example: A photo of a cat.
+ ///
+ ///
+ /// Determine if MagicPrompt should be used in generating the request or not
+ /// Example: ON
+ ///
+ ///
+ /// Default Value: 1
+ ///
+ ///
+ /// Example: 12345
+ ///
+ ///
+ /// The rendering speed to use.
+ /// Default Value: BALANCED
+ ///
+ ///
+ /// Only available for model version V_2 and V_2_TURBO. A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members).
+ ///
+ ///
+ /// A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.
+ /// Example: [AAFF5733, 0133FF57, DE3357FF]
+ ///
+ ///
+ /// A set of images to use as style references. The images should be in JPEG, PNG or WebP format.
+ ///
+#if NET7_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers]
+#endif
+ public EditImageRequestV3(
+ byte[] imageFile,
+ string imageFilename,
+ byte[] mask,
+ string maskname,
+ string prompt,
+ global::Ideogram.MagicPromptOption? magicPrompt,
+ int? numImages,
+ int? seed,
+ global::Ideogram.RenderingSpeed? renderingSpeed,
+ global::Ideogram.ColorPaletteWithPresetNameOrMembers? colorPalette,
+ global::System.Collections.Generic.IList? styleCodes,
+ global::System.Collections.Generic.IList? styleReferenceImages)
+ {
+ this.ImageFile = imageFile ?? throw new global::System.ArgumentNullException(nameof(imageFile));
+ this.ImageFilename = imageFilename ?? throw new global::System.ArgumentNullException(nameof(imageFilename));
+ this.Mask = mask ?? throw new global::System.ArgumentNullException(nameof(mask));
+ this.Maskname = maskname ?? throw new global::System.ArgumentNullException(nameof(maskname));
+ this.Prompt = prompt ?? throw new global::System.ArgumentNullException(nameof(prompt));
+ this.MagicPrompt = magicPrompt;
+ this.NumImages = numImages;
+ this.Seed = seed;
+ this.RenderingSpeed = renderingSpeed;
+ this.ColorPalette = colorPalette;
+ this.StyleCodes = styleCodes;
+ this.StyleReferenceImages = styleReferenceImages;
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public EditImageRequestV3()
+ {
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageRequestV3.Json.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageRequestV3.Json.g.cs
new file mode 100644
index 0000000..de6636f
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageRequestV3.Json.g.cs
@@ -0,0 +1,92 @@
+#nullable enable
+
+namespace Ideogram
+{
+ public sealed partial class GenerateImageRequestV3
+ {
+ ///
+ /// 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 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)
+ {
+ return global::System.Text.Json.JsonSerializer.Serialize(
+ this,
+ jsonSerializerOptions);
+ }
+
+ ///
+ /// Deserializes a JSON string using the provided JsonSerializerContext.
+ ///
+ public static global::Ideogram.GenerateImageRequestV3? FromJson(
+ string json,
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return global::System.Text.Json.JsonSerializer.Deserialize(
+ json,
+ typeof(global::Ideogram.GenerateImageRequestV3),
+ jsonSerializerContext) as global::Ideogram.GenerateImageRequestV3;
+ }
+
+ ///
+ /// 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::Ideogram.GenerateImageRequestV3? FromJson(
+ string json,
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ 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::Ideogram.GenerateImageRequestV3),
+ jsonSerializerContext).ConfigureAwait(false)) as global::Ideogram.GenerateImageRequestV3;
+ }
+
+ ///
+ /// 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)
+ {
+ return global::System.Text.Json.JsonSerializer.DeserializeAsync(
+ jsonStream,
+ jsonSerializerOptions);
+ }
+ }
+}
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageRequestV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageRequestV3.g.cs
new file mode 100644
index 0000000..cc9ec65
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageRequestV3.g.cs
@@ -0,0 +1,198 @@
+
+#nullable enable
+
+namespace Ideogram
+{
+ ///
+ ///
+ ///
+ public sealed partial class GenerateImageRequestV3
+ {
+ ///
+ /// The prompt to use to generate the image.
+ /// Example: A photo of a cat
+ ///
+ /// A photo of a cat
+ [global::System.Text.Json.Serialization.JsonPropertyName("prompt")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required string Prompt { get; set; }
+
+ ///
+ /// Example: 12345
+ ///
+ /// 12345
+ [global::System.Text.Json.Serialization.JsonPropertyName("seed")]
+ public int? Seed { get; set; }
+
+ ///
+ /// The resolutions supported for model version V_3.
+ /// Example: 1024x1024
+ ///
+ /// 1024x1024
+ [global::System.Text.Json.Serialization.JsonPropertyName("resolution")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.ResolutionV3JsonConverter))]
+ public global::Ideogram.ResolutionV3? Resolution { get; set; }
+
+ ///
+ /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1:1.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("aspect_ratio")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.AspectRatioV3JsonConverter))]
+ public global::Ideogram.AspectRatioV3? AspectRatio { get; set; }
+
+ ///
+ /// The rendering speed to use.
+ /// Default Value: BALANCED
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("rendering_speed")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.RenderingSpeedJsonConverter))]
+ public global::Ideogram.RenderingSpeed? RenderingSpeed { get; set; }
+
+ ///
+ /// Determine if MagicPrompt should be used in generating the request or not
+ /// Example: ON
+ ///
+ /// ON
+ [global::System.Text.Json.Serialization.JsonPropertyName("magic_prompt")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.MagicPromptOptionJsonConverter))]
+ public global::Ideogram.MagicPromptOption? MagicPrompt { get; set; }
+
+ ///
+ /// Description of what to exclude from an image. Descriptions in the prompt take precedence
+ /// to descriptions in the negative prompt.
+ /// Example: brush strokes, painting
+ ///
+ /// brush strokes, painting
+ [global::System.Text.Json.Serialization.JsonPropertyName("negative_prompt")]
+ public string? NegativePrompt { get; set; }
+
+ ///
+ /// Number of images to generate.
+ /// Default Value: 1
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("num_images")]
+ public int? NumImages { get; set; }
+
+ ///
+ /// Only available for model version V_2 and V_2_TURBO. A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members).
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("color_palette")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.ColorPaletteWithPresetNameOrMembersJsonConverter))]
+ public global::Ideogram.ColorPaletteWithPresetNameOrMembers? ColorPalette { get; set; }
+
+ ///
+ /// A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.
+ /// Example: [AAFF5733, 0133FF57, DE3357FF]
+ ///
+ /// [AAFF5733, 0133FF57, DE3357FF]
+ [global::System.Text.Json.Serialization.JsonPropertyName("style_codes")]
+ public global::System.Collections.Generic.IList? StyleCodes { get; set; }
+
+ ///
+ /// The style type to generate with.
+ /// Example: REALISTIC
+ ///
+ /// REALISTIC
+ [global::System.Text.Json.Serialization.JsonPropertyName("style_type")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.StyleTypeV3JsonConverter))]
+ public global::Ideogram.StyleTypeV3? StyleType { get; set; }
+
+ ///
+ /// A set of images to use as style references. The images should be in JPEG, PNG or WebP format.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("style_reference_images")]
+ public global::System.Collections.Generic.IList? StyleReferenceImages { 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.
+ ///
+ ///
+ /// The prompt to use to generate the image.
+ /// Example: A photo of a cat
+ ///
+ ///
+ /// Example: 12345
+ ///
+ ///
+ /// The resolutions supported for model version V_3.
+ /// Example: 1024x1024
+ ///
+ ///
+ /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1:1.
+ ///
+ ///
+ /// The rendering speed to use.
+ /// Default Value: BALANCED
+ ///
+ ///
+ /// Determine if MagicPrompt should be used in generating the request or not
+ /// Example: ON
+ ///
+ ///
+ /// Description of what to exclude from an image. Descriptions in the prompt take precedence
+ /// to descriptions in the negative prompt.
+ /// Example: brush strokes, painting
+ ///
+ ///
+ /// Number of images to generate.
+ /// Default Value: 1
+ ///
+ ///
+ /// Only available for model version V_2 and V_2_TURBO. A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members).
+ ///
+ ///
+ /// A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.
+ /// Example: [AAFF5733, 0133FF57, DE3357FF]
+ ///
+ ///
+ /// The style type to generate with.
+ /// Example: REALISTIC
+ ///
+ ///
+ /// A set of images to use as style references. The images should be in JPEG, PNG or WebP format.
+ ///
+#if NET7_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers]
+#endif
+ public GenerateImageRequestV3(
+ string prompt,
+ int? seed,
+ global::Ideogram.ResolutionV3? resolution,
+ global::Ideogram.AspectRatioV3? aspectRatio,
+ global::Ideogram.RenderingSpeed? renderingSpeed,
+ global::Ideogram.MagicPromptOption? magicPrompt,
+ string? negativePrompt,
+ int? numImages,
+ global::Ideogram.ColorPaletteWithPresetNameOrMembers? colorPalette,
+ global::System.Collections.Generic.IList? styleCodes,
+ global::Ideogram.StyleTypeV3? styleType,
+ global::System.Collections.Generic.IList? styleReferenceImages)
+ {
+ this.Prompt = prompt ?? throw new global::System.ArgumentNullException(nameof(prompt));
+ this.Seed = seed;
+ this.Resolution = resolution;
+ this.AspectRatio = aspectRatio;
+ this.RenderingSpeed = renderingSpeed;
+ this.MagicPrompt = magicPrompt;
+ this.NegativePrompt = negativePrompt;
+ this.NumImages = numImages;
+ this.ColorPalette = colorPalette;
+ this.StyleCodes = styleCodes;
+ this.StyleType = styleType;
+ this.StyleReferenceImages = styleReferenceImages;
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public GenerateImageRequestV3()
+ {
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.ImageGenerationObjectV3.Json.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.ImageGenerationObjectV3.Json.g.cs
new file mode 100644
index 0000000..4fa7a55
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.Models.ImageGenerationObjectV3.Json.g.cs
@@ -0,0 +1,92 @@
+#nullable enable
+
+namespace Ideogram
+{
+ public sealed partial class ImageGenerationObjectV3
+ {
+ ///
+ /// 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 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)
+ {
+ return global::System.Text.Json.JsonSerializer.Serialize(
+ this,
+ jsonSerializerOptions);
+ }
+
+ ///
+ /// Deserializes a JSON string using the provided JsonSerializerContext.
+ ///
+ public static global::Ideogram.ImageGenerationObjectV3? FromJson(
+ string json,
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return global::System.Text.Json.JsonSerializer.Deserialize(
+ json,
+ typeof(global::Ideogram.ImageGenerationObjectV3),
+ jsonSerializerContext) as global::Ideogram.ImageGenerationObjectV3;
+ }
+
+ ///
+ /// 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::Ideogram.ImageGenerationObjectV3? FromJson(
+ string json,
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ 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::Ideogram.ImageGenerationObjectV3),
+ jsonSerializerContext).ConfigureAwait(false)) as global::Ideogram.ImageGenerationObjectV3;
+ }
+
+ ///
+ /// 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)
+ {
+ return global::System.Text.Json.JsonSerializer.DeserializeAsync(
+ jsonStream,
+ jsonSerializerOptions);
+ }
+ }
+}
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.ImageGenerationObjectV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.ImageGenerationObjectV3.g.cs
new file mode 100644
index 0000000..96549d4
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.Models.ImageGenerationObjectV3.g.cs
@@ -0,0 +1,119 @@
+
+#nullable enable
+
+namespace Ideogram
+{
+ ///
+ ///
+ ///
+ public sealed partial class ImageGenerationObjectV3
+ {
+ ///
+ /// The direct link to the image generated.
+ /// Example: https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89
+ ///
+ /// https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89
+ [global::System.Text.Json.Serialization.JsonPropertyName("url")]
+ public string? Url { get; set; }
+
+ ///
+ /// The prompt used for the generation. This may be different from the original prompt.
+ /// Example: A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there's an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.
+ ///
+ /// A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there's an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.
+ [global::System.Text.Json.Serialization.JsonPropertyName("prompt")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required string Prompt { get; set; }
+
+ ///
+ /// The resolutions supported for model version V_3.
+ /// Example: 1024x1024
+ ///
+ /// 1024x1024
+ [global::System.Text.Json.Serialization.JsonPropertyName("resolution")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.ResolutionV3JsonConverter))]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required global::Ideogram.ResolutionV3 Resolution { get; set; }
+
+ ///
+ /// Whether this request passes safety checks. If false, the url field will be empty.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("is_image_safe")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required bool IsImageSafe { get; set; }
+
+ ///
+ /// Example: 12345
+ ///
+ /// 12345
+ [global::System.Text.Json.Serialization.JsonPropertyName("seed")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required int Seed { get; set; }
+
+ ///
+ /// The style type to generate with.
+ /// Example: REALISTIC
+ ///
+ /// REALISTIC
+ [global::System.Text.Json.Serialization.JsonPropertyName("style_type")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.StyleTypeV3JsonConverter))]
+ public global::Ideogram.StyleTypeV3? StyleType { 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.
+ ///
+ ///
+ /// The direct link to the image generated.
+ /// Example: https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89
+ ///
+ ///
+ /// The prompt used for the generation. This may be different from the original prompt.
+ /// Example: A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there's an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.
+ ///
+ ///
+ /// The resolutions supported for model version V_3.
+ /// Example: 1024x1024
+ ///
+ ///
+ /// Whether this request passes safety checks. If false, the url field will be empty.
+ ///
+ ///
+ /// Example: 12345
+ ///
+ ///
+ /// The style type to generate with.
+ /// Example: REALISTIC
+ ///
+#if NET7_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers]
+#endif
+ public ImageGenerationObjectV3(
+ string prompt,
+ global::Ideogram.ResolutionV3 resolution,
+ bool isImageSafe,
+ int seed,
+ string? url,
+ global::Ideogram.StyleTypeV3? styleType)
+ {
+ this.Prompt = prompt ?? throw new global::System.ArgumentNullException(nameof(prompt));
+ this.Resolution = resolution;
+ this.IsImageSafe = isImageSafe;
+ this.Seed = seed;
+ this.Url = url;
+ this.StyleType = styleType;
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public ImageGenerationObjectV3()
+ {
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.ImageGenerationResponseV3.Json.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.ImageGenerationResponseV3.Json.g.cs
new file mode 100644
index 0000000..cf1930e
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.Models.ImageGenerationResponseV3.Json.g.cs
@@ -0,0 +1,92 @@
+#nullable enable
+
+namespace Ideogram
+{
+ public sealed partial class ImageGenerationResponseV3
+ {
+ ///
+ /// 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 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)
+ {
+ return global::System.Text.Json.JsonSerializer.Serialize(
+ this,
+ jsonSerializerOptions);
+ }
+
+ ///
+ /// Deserializes a JSON string using the provided JsonSerializerContext.
+ ///
+ public static global::Ideogram.ImageGenerationResponseV3? FromJson(
+ string json,
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return global::System.Text.Json.JsonSerializer.Deserialize(
+ json,
+ typeof(global::Ideogram.ImageGenerationResponseV3),
+ jsonSerializerContext) as global::Ideogram.ImageGenerationResponseV3;
+ }
+
+ ///
+ /// 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::Ideogram.ImageGenerationResponseV3? FromJson(
+ string json,
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ 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::Ideogram.ImageGenerationResponseV3),
+ jsonSerializerContext).ConfigureAwait(false)) as global::Ideogram.ImageGenerationResponseV3;
+ }
+
+ ///
+ /// 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)
+ {
+ return global::System.Text.Json.JsonSerializer.DeserializeAsync(
+ jsonStream,
+ jsonSerializerOptions);
+ }
+ }
+}
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.ImageGenerationResponseV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.ImageGenerationResponseV3.g.cs
new file mode 100644
index 0000000..5baa787
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.Models.ImageGenerationResponseV3.g.cs
@@ -0,0 +1,59 @@
+
+#nullable enable
+
+namespace Ideogram
+{
+ ///
+ /// The response which contains information about the generated image, including the download link.
+ /// Images links are available for a limited period of time; if you would like to keep the image, you must download it.
+ ///
+ public sealed partial class ImageGenerationResponseV3
+ {
+ ///
+ /// The time the request was created.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("created")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required global::System.DateTime Created { get; set; }
+
+ ///
+ /// A list of ImageObjects that contain the generated image(s).
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("data")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required global::System.Collections.Generic.IList Data { 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.
+ ///
+ ///
+ /// The time the request was created.
+ ///
+ ///
+ /// A list of ImageObjects that contain the generated image(s).
+ ///
+#if NET7_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers]
+#endif
+ public ImageGenerationResponseV3(
+ global::System.DateTime created,
+ global::System.Collections.Generic.IList data)
+ {
+ this.Created = created;
+ this.Data = data ?? throw new global::System.ArgumentNullException(nameof(data));
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public ImageGenerationResponseV3()
+ {
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.ReframeImageRequestV3.Json.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.ReframeImageRequestV3.Json.g.cs
new file mode 100644
index 0000000..b89a8db
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.Models.ReframeImageRequestV3.Json.g.cs
@@ -0,0 +1,92 @@
+#nullable enable
+
+namespace Ideogram
+{
+ public sealed partial class ReframeImageRequestV3
+ {
+ ///
+ /// 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 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)
+ {
+ return global::System.Text.Json.JsonSerializer.Serialize(
+ this,
+ jsonSerializerOptions);
+ }
+
+ ///
+ /// Deserializes a JSON string using the provided JsonSerializerContext.
+ ///
+ public static global::Ideogram.ReframeImageRequestV3? FromJson(
+ string json,
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return global::System.Text.Json.JsonSerializer.Deserialize(
+ json,
+ typeof(global::Ideogram.ReframeImageRequestV3),
+ jsonSerializerContext) as global::Ideogram.ReframeImageRequestV3;
+ }
+
+ ///
+ /// 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::Ideogram.ReframeImageRequestV3? FromJson(
+ string json,
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ 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::Ideogram.ReframeImageRequestV3),
+ jsonSerializerContext).ConfigureAwait(false)) as global::Ideogram.ReframeImageRequestV3;
+ }
+
+ ///
+ /// 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)
+ {
+ return global::System.Text.Json.JsonSerializer.DeserializeAsync(
+ jsonStream,
+ jsonSerializerOptions);
+ }
+ }
+}
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.ReframeImageRequestV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.ReframeImageRequestV3.g.cs
new file mode 100644
index 0000000..13a65de
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.Models.ReframeImageRequestV3.g.cs
@@ -0,0 +1,148 @@
+
+#nullable enable
+
+namespace Ideogram
+{
+ ///
+ ///
+ ///
+ public sealed partial class ReframeImageRequestV3
+ {
+ ///
+ /// The image being reframed; only JPEG, WebP and PNG formats are supported at this time.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("image_file")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required byte[] ImageFile { get; set; }
+
+ ///
+ /// The image being reframed; only JPEG, WebP and PNG formats are supported at this time.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("image_filename")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required string ImageFilename { get; set; }
+
+ ///
+ /// The resolutions supported for model version V_3.
+ /// Example: 1024x1024
+ ///
+ /// 1024x1024
+ [global::System.Text.Json.Serialization.JsonPropertyName("resolution")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.ResolutionV3JsonConverter))]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required global::Ideogram.ResolutionV3 Resolution { get; set; }
+
+ ///
+ /// Default Value: 1
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("num_images")]
+ public int? NumImages { get; set; }
+
+ ///
+ /// Example: 12345
+ ///
+ /// 12345
+ [global::System.Text.Json.Serialization.JsonPropertyName("seed")]
+ public int? Seed { get; set; }
+
+ ///
+ /// The rendering speed to use.
+ /// Default Value: BALANCED
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("rendering_speed")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.RenderingSpeedJsonConverter))]
+ public global::Ideogram.RenderingSpeed? RenderingSpeed { get; set; }
+
+ ///
+ /// Only available for model version V_2 and V_2_TURBO. A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members).
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("color_palette")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.ColorPaletteWithPresetNameOrMembersJsonConverter))]
+ public global::Ideogram.ColorPaletteWithPresetNameOrMembers? ColorPalette { get; set; }
+
+ ///
+ /// A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.
+ /// Example: [AAFF5733, 0133FF57, DE3357FF]
+ ///
+ /// [AAFF5733, 0133FF57, DE3357FF]
+ [global::System.Text.Json.Serialization.JsonPropertyName("style_codes")]
+ public global::System.Collections.Generic.IList? StyleCodes { get; set; }
+
+ ///
+ /// A set of images to use as style references. The images should be in JPEG, PNG or WebP format.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("style_reference_images")]
+ public global::System.Collections.Generic.IList? StyleReferenceImages { 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.
+ ///
+ ///
+ /// The image being reframed; only JPEG, WebP and PNG formats are supported at this time.
+ ///
+ ///
+ /// The image being reframed; only JPEG, WebP and PNG formats are supported at this time.
+ ///
+ ///
+ /// The resolutions supported for model version V_3.
+ /// Example: 1024x1024
+ ///
+ ///
+ /// Default Value: 1
+ ///
+ ///
+ /// Example: 12345
+ ///
+ ///
+ /// The rendering speed to use.
+ /// Default Value: BALANCED
+ ///
+ ///
+ /// Only available for model version V_2 and V_2_TURBO. A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members).
+ ///
+ ///
+ /// A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.
+ /// Example: [AAFF5733, 0133FF57, DE3357FF]
+ ///
+ ///
+ /// A set of images to use as style references. The images should be in JPEG, PNG or WebP format.
+ ///
+#if NET7_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers]
+#endif
+ public ReframeImageRequestV3(
+ byte[] imageFile,
+ string imageFilename,
+ global::Ideogram.ResolutionV3 resolution,
+ int? numImages,
+ int? seed,
+ global::Ideogram.RenderingSpeed? renderingSpeed,
+ global::Ideogram.ColorPaletteWithPresetNameOrMembers? colorPalette,
+ global::System.Collections.Generic.IList? styleCodes,
+ global::System.Collections.Generic.IList? styleReferenceImages)
+ {
+ this.ImageFile = imageFile ?? throw new global::System.ArgumentNullException(nameof(imageFile));
+ this.ImageFilename = imageFilename ?? throw new global::System.ArgumentNullException(nameof(imageFilename));
+ this.Resolution = resolution;
+ this.NumImages = numImages;
+ this.Seed = seed;
+ this.RenderingSpeed = renderingSpeed;
+ this.ColorPalette = colorPalette;
+ this.StyleCodes = styleCodes;
+ this.StyleReferenceImages = styleReferenceImages;
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public ReframeImageRequestV3()
+ {
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageRequestV3.Json.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageRequestV3.Json.g.cs
new file mode 100644
index 0000000..f7fe01d
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageRequestV3.Json.g.cs
@@ -0,0 +1,92 @@
+#nullable enable
+
+namespace Ideogram
+{
+ public sealed partial class RemixImageRequestV3
+ {
+ ///
+ /// 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 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)
+ {
+ return global::System.Text.Json.JsonSerializer.Serialize(
+ this,
+ jsonSerializerOptions);
+ }
+
+ ///
+ /// Deserializes a JSON string using the provided JsonSerializerContext.
+ ///
+ public static global::Ideogram.RemixImageRequestV3? FromJson(
+ string json,
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return global::System.Text.Json.JsonSerializer.Deserialize(
+ json,
+ typeof(global::Ideogram.RemixImageRequestV3),
+ jsonSerializerContext) as global::Ideogram.RemixImageRequestV3;
+ }
+
+ ///
+ /// 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::Ideogram.RemixImageRequestV3? FromJson(
+ string json,
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ 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::Ideogram.RemixImageRequestV3),
+ jsonSerializerContext).ConfigureAwait(false)) as global::Ideogram.RemixImageRequestV3;
+ }
+
+ ///
+ /// 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)
+ {
+ return global::System.Text.Json.JsonSerializer.DeserializeAsync(
+ jsonStream,
+ jsonSerializerOptions);
+ }
+ }
+}
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageRequestV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageRequestV3.g.cs
new file mode 100644
index 0000000..fd3395e
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageRequestV3.g.cs
@@ -0,0 +1,236 @@
+
+#nullable enable
+
+namespace Ideogram
+{
+ ///
+ ///
+ ///
+ public sealed partial class RemixImageRequestV3
+ {
+ ///
+ /// The image to remix binary; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("image_file")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required byte[] ImageFile { get; set; }
+
+ ///
+ /// The image to remix binary; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("image_filename")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required string ImageFilename { get; set; }
+
+ ///
+ /// The prompt to use to generate the image.
+ /// Example: A photo of a cat
+ ///
+ /// A photo of a cat
+ [global::System.Text.Json.Serialization.JsonPropertyName("prompt")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required string Prompt { get; set; }
+
+ ///
+ /// Default Value: 50
+ /// Example: 50
+ ///
+ /// 50
+ [global::System.Text.Json.Serialization.JsonPropertyName("image_weight")]
+ public int? ImageWeight { get; set; }
+
+ ///
+ /// Example: 12345
+ ///
+ /// 12345
+ [global::System.Text.Json.Serialization.JsonPropertyName("seed")]
+ public int? Seed { get; set; }
+
+ ///
+ /// The resolutions supported for model version V_3.
+ /// Example: 1024x1024
+ ///
+ /// 1024x1024
+ [global::System.Text.Json.Serialization.JsonPropertyName("resolution")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.ResolutionV3JsonConverter))]
+ public global::Ideogram.ResolutionV3? Resolution { get; set; }
+
+ ///
+ /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1:1.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("aspect_ratio")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.AspectRatioV3JsonConverter))]
+ public global::Ideogram.AspectRatioV3? AspectRatio { get; set; }
+
+ ///
+ /// The rendering speed to use.
+ /// Default Value: BALANCED
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("rendering_speed")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.RenderingSpeedJsonConverter))]
+ public global::Ideogram.RenderingSpeed? RenderingSpeed { get; set; }
+
+ ///
+ /// Determine if MagicPrompt should be used in generating the request or not
+ /// Example: ON
+ ///
+ /// ON
+ [global::System.Text.Json.Serialization.JsonPropertyName("magic_prompt")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.MagicPromptOptionJsonConverter))]
+ public global::Ideogram.MagicPromptOption? MagicPrompt { get; set; }
+
+ ///
+ /// Description of what to exclude from an image. Descriptions in the prompt take precedence
+ /// to descriptions in the negative prompt.
+ /// Example: brush strokes, painting
+ ///
+ /// brush strokes, painting
+ [global::System.Text.Json.Serialization.JsonPropertyName("negative_prompt")]
+ public string? NegativePrompt { get; set; }
+
+ ///
+ /// Number of images to generate.
+ /// Default Value: 1
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("num_images")]
+ public int? NumImages { get; set; }
+
+ ///
+ /// Only available for model version V_2 and V_2_TURBO. A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members).
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("color_palette")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.ColorPaletteWithPresetNameOrMembersJsonConverter))]
+ public global::Ideogram.ColorPaletteWithPresetNameOrMembers? ColorPalette { get; set; }
+
+ ///
+ /// A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.
+ /// Example: [AAFF5733, 0133FF57, DE3357FF]
+ ///
+ /// [AAFF5733, 0133FF57, DE3357FF]
+ [global::System.Text.Json.Serialization.JsonPropertyName("style_codes")]
+ public global::System.Collections.Generic.IList? StyleCodes { get; set; }
+
+ ///
+ /// The style type to generate with.
+ /// Example: REALISTIC
+ ///
+ /// REALISTIC
+ [global::System.Text.Json.Serialization.JsonPropertyName("style_type")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.StyleTypeV3JsonConverter))]
+ public global::Ideogram.StyleTypeV3? StyleType { get; set; }
+
+ ///
+ /// A set of images to use as style references. The images should be in JPEG, PNG or WebP format.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("style_reference_images")]
+ public global::System.Collections.Generic.IList? StyleReferenceImages { 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.
+ ///
+ ///
+ /// The image to remix binary; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ ///
+ /// The image to remix binary; only JPEG, WebP and PNG formats are supported at this time
+ ///
+ ///
+ /// The prompt to use to generate the image.
+ /// Example: A photo of a cat
+ ///
+ ///
+ /// Default Value: 50
+ /// Example: 50
+ ///
+ ///
+ /// Example: 12345
+ ///
+ ///
+ /// The resolutions supported for model version V_3.
+ /// Example: 1024x1024
+ ///
+ ///
+ /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1:1.
+ ///
+ ///
+ /// The rendering speed to use.
+ /// Default Value: BALANCED
+ ///
+ ///
+ /// Determine if MagicPrompt should be used in generating the request or not
+ /// Example: ON
+ ///
+ ///
+ /// Description of what to exclude from an image. Descriptions in the prompt take precedence
+ /// to descriptions in the negative prompt.
+ /// Example: brush strokes, painting
+ ///
+ ///
+ /// Number of images to generate.
+ /// Default Value: 1
+ ///
+ ///
+ /// Only available for model version V_2 and V_2_TURBO. A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members).
+ ///
+ ///
+ /// A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.
+ /// Example: [AAFF5733, 0133FF57, DE3357FF]
+ ///
+ ///
+ /// The style type to generate with.
+ /// Example: REALISTIC
+ ///
+ ///
+ /// A set of images to use as style references. The images should be in JPEG, PNG or WebP format.
+ ///
+#if NET7_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers]
+#endif
+ public RemixImageRequestV3(
+ byte[] imageFile,
+ string imageFilename,
+ string prompt,
+ int? imageWeight,
+ int? seed,
+ global::Ideogram.ResolutionV3? resolution,
+ global::Ideogram.AspectRatioV3? aspectRatio,
+ global::Ideogram.RenderingSpeed? renderingSpeed,
+ global::Ideogram.MagicPromptOption? magicPrompt,
+ string? negativePrompt,
+ int? numImages,
+ global::Ideogram.ColorPaletteWithPresetNameOrMembers? colorPalette,
+ global::System.Collections.Generic.IList? styleCodes,
+ global::Ideogram.StyleTypeV3? styleType,
+ global::System.Collections.Generic.IList? styleReferenceImages)
+ {
+ this.ImageFile = imageFile ?? throw new global::System.ArgumentNullException(nameof(imageFile));
+ this.ImageFilename = imageFilename ?? throw new global::System.ArgumentNullException(nameof(imageFilename));
+ this.Prompt = prompt ?? throw new global::System.ArgumentNullException(nameof(prompt));
+ this.ImageWeight = imageWeight;
+ this.Seed = seed;
+ this.Resolution = resolution;
+ this.AspectRatio = aspectRatio;
+ this.RenderingSpeed = renderingSpeed;
+ this.MagicPrompt = magicPrompt;
+ this.NegativePrompt = negativePrompt;
+ this.NumImages = numImages;
+ this.ColorPalette = colorPalette;
+ this.StyleCodes = styleCodes;
+ this.StyleType = styleType;
+ this.StyleReferenceImages = styleReferenceImages;
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public RemixImageRequestV3()
+ {
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.RenderingSpeed.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.RenderingSpeed.g.cs
new file mode 100644
index 0000000..47c5279
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.Models.RenderingSpeed.g.cs
@@ -0,0 +1,58 @@
+
+#nullable enable
+
+namespace Ideogram
+{
+ ///
+ /// The rendering speed to use.
+ /// Default Value: BALANCED
+ ///
+ public enum RenderingSpeed
+ {
+ ///
+ ///
+ ///
+ TURBO,
+ ///
+ ///
+ ///
+ BALANCED,
+ ///
+ ///
+ ///
+ QUALITY,
+ }
+
+ ///
+ /// Enum extensions to do fast conversions without the reflection.
+ ///
+ public static class RenderingSpeedExtensions
+ {
+ ///
+ /// Converts an enum to a string.
+ ///
+ public static string ToValueString(this RenderingSpeed value)
+ {
+ return value switch
+ {
+ RenderingSpeed.TURBO => "TURBO",
+ RenderingSpeed.BALANCED => "BALANCED",
+ RenderingSpeed.QUALITY => "QUALITY",
+ _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null),
+ };
+ }
+ ///
+ /// Converts an string to a enum.
+ ///
+ public static RenderingSpeed? ToEnum(string value)
+ {
+ return value switch
+ {
+ "TURBO" => RenderingSpeed.TURBO,
+ "BALANCED" => RenderingSpeed.BALANCED,
+ "QUALITY" => RenderingSpeed.QUALITY,
+ _ => null,
+ };
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.ResolutionV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.ResolutionV3.g.cs
new file mode 100644
index 0000000..c909c50
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.Models.ResolutionV3.g.cs
@@ -0,0 +1,454 @@
+
+#nullable enable
+
+namespace Ideogram
+{
+ ///
+ /// The resolutions supported for model version V_3.
+ /// Example: 1024x1024
+ ///
+ public enum ResolutionV3
+ {
+ ///
+ ///
+ ///
+ x512x1536,
+ ///
+ ///
+ ///
+ x576x1408,
+ ///
+ ///
+ ///
+ x576x1472,
+ ///
+ ///
+ ///
+ x576x1536,
+ ///
+ ///
+ ///
+ x640x1344,
+ ///
+ ///
+ ///
+ x640x1408,
+ ///
+ ///
+ ///
+ x640x1472,
+ ///
+ ///
+ ///
+ x640x1536,
+ ///
+ ///
+ ///
+ x704x1152,
+ ///
+ ///
+ ///
+ x704x1216,
+ ///
+ ///
+ ///
+ x704x1280,
+ ///
+ ///
+ ///
+ x704x1344,
+ ///
+ ///
+ ///
+ x704x1408,
+ ///
+ ///
+ ///
+ x704x1472,
+ ///
+ ///
+ ///
+ x736x1312,
+ ///
+ ///
+ ///
+ x768x1088,
+ ///
+ ///
+ ///
+ x768x1216,
+ ///
+ ///
+ ///
+ x768x1280,
+ ///
+ ///
+ ///
+ x768x1344,
+ ///
+ ///
+ ///
+ x800x1280,
+ ///
+ ///
+ ///
+ x832x960,
+ ///
+ ///
+ ///
+ x832x1024,
+ ///
+ ///
+ ///
+ x832x1088,
+ ///
+ ///
+ ///
+ x832x1152,
+ ///
+ ///
+ ///
+ x832x1216,
+ ///
+ ///
+ ///
+ x832x1248,
+ ///
+ ///
+ ///
+ x864x1152,
+ ///
+ ///
+ ///
+ x896x960,
+ ///
+ ///
+ ///
+ x896x1024,
+ ///
+ ///
+ ///
+ x896x1088,
+ ///
+ ///
+ ///
+ x896x1120,
+ ///
+ ///
+ ///
+ x896x1152,
+ ///
+ ///
+ ///
+ x960x832,
+ ///
+ ///
+ ///
+ x960x896,
+ ///
+ ///
+ ///
+ x960x1024,
+ ///
+ ///
+ ///
+ x960x1088,
+ ///
+ ///
+ ///
+ x1024x832,
+ ///
+ ///
+ ///
+ x1024x896,
+ ///
+ ///
+ ///
+ x1024x960,
+ ///
+ ///
+ ///
+ x1024x1024,
+ ///
+ ///
+ ///
+ x1088x768,
+ ///
+ ///
+ ///
+ x1088x832,
+ ///
+ ///
+ ///
+ x1088x896,
+ ///
+ ///
+ ///
+ x1088x960,
+ ///
+ ///
+ ///
+ x1120x896,
+ ///
+ ///
+ ///
+ x1152x704,
+ ///
+ ///
+ ///
+ x1152x832,
+ ///
+ ///
+ ///
+ x1152x864,
+ ///
+ ///
+ ///
+ x1152x896,
+ ///
+ ///
+ ///
+ x1216x704,
+ ///
+ ///
+ ///
+ x1216x768,
+ ///
+ ///
+ ///
+ x1216x832,
+ ///
+ ///
+ ///
+ x1248x832,
+ ///
+ ///
+ ///
+ x1280x704,
+ ///
+ ///
+ ///
+ x1280x768,
+ ///
+ ///
+ ///
+ x1280x800,
+ ///
+ ///
+ ///
+ x1312x736,
+ ///
+ ///
+ ///
+ x1344x640,
+ ///
+ ///
+ ///
+ x1344x704,
+ ///
+ ///
+ ///
+ x1344x768,
+ ///
+ ///
+ ///
+ x1408x576,
+ ///
+ ///
+ ///
+ x1408x640,
+ ///
+ ///
+ ///
+ x1408x704,
+ ///
+ ///
+ ///
+ x1472x576,
+ ///
+ ///
+ ///
+ x1472x640,
+ ///
+ ///
+ ///
+ x1472x704,
+ ///
+ ///
+ ///
+ x1536x512,
+ ///
+ ///
+ ///
+ x1536x576,
+ ///
+ ///
+ ///
+ x1536x640,
+ }
+
+ ///
+ /// Enum extensions to do fast conversions without the reflection.
+ ///
+ public static class ResolutionV3Extensions
+ {
+ ///
+ /// Converts an enum to a string.
+ ///
+ public static string ToValueString(this ResolutionV3 value)
+ {
+ return value switch
+ {
+ ResolutionV3.x512x1536 => "512x1536",
+ ResolutionV3.x576x1408 => "576x1408",
+ ResolutionV3.x576x1472 => "576x1472",
+ ResolutionV3.x576x1536 => "576x1536",
+ ResolutionV3.x640x1344 => "640x1344",
+ ResolutionV3.x640x1408 => "640x1408",
+ ResolutionV3.x640x1472 => "640x1472",
+ ResolutionV3.x640x1536 => "640x1536",
+ ResolutionV3.x704x1152 => "704x1152",
+ ResolutionV3.x704x1216 => "704x1216",
+ ResolutionV3.x704x1280 => "704x1280",
+ ResolutionV3.x704x1344 => "704x1344",
+ ResolutionV3.x704x1408 => "704x1408",
+ ResolutionV3.x704x1472 => "704x1472",
+ ResolutionV3.x736x1312 => "736x1312",
+ ResolutionV3.x768x1088 => "768x1088",
+ ResolutionV3.x768x1216 => "768x1216",
+ ResolutionV3.x768x1280 => "768x1280",
+ ResolutionV3.x768x1344 => "768x1344",
+ ResolutionV3.x800x1280 => "800x1280",
+ ResolutionV3.x832x960 => "832x960",
+ ResolutionV3.x832x1024 => "832x1024",
+ ResolutionV3.x832x1088 => "832x1088",
+ ResolutionV3.x832x1152 => "832x1152",
+ ResolutionV3.x832x1216 => "832x1216",
+ ResolutionV3.x832x1248 => "832x1248",
+ ResolutionV3.x864x1152 => "864x1152",
+ ResolutionV3.x896x960 => "896x960",
+ ResolutionV3.x896x1024 => "896x1024",
+ ResolutionV3.x896x1088 => "896x1088",
+ ResolutionV3.x896x1120 => "896x1120",
+ ResolutionV3.x896x1152 => "896x1152",
+ ResolutionV3.x960x832 => "960x832",
+ ResolutionV3.x960x896 => "960x896",
+ ResolutionV3.x960x1024 => "960x1024",
+ ResolutionV3.x960x1088 => "960x1088",
+ ResolutionV3.x1024x832 => "1024x832",
+ ResolutionV3.x1024x896 => "1024x896",
+ ResolutionV3.x1024x960 => "1024x960",
+ ResolutionV3.x1024x1024 => "1024x1024",
+ ResolutionV3.x1088x768 => "1088x768",
+ ResolutionV3.x1088x832 => "1088x832",
+ ResolutionV3.x1088x896 => "1088x896",
+ ResolutionV3.x1088x960 => "1088x960",
+ ResolutionV3.x1120x896 => "1120x896",
+ ResolutionV3.x1152x704 => "1152x704",
+ ResolutionV3.x1152x832 => "1152x832",
+ ResolutionV3.x1152x864 => "1152x864",
+ ResolutionV3.x1152x896 => "1152x896",
+ ResolutionV3.x1216x704 => "1216x704",
+ ResolutionV3.x1216x768 => "1216x768",
+ ResolutionV3.x1216x832 => "1216x832",
+ ResolutionV3.x1248x832 => "1248x832",
+ ResolutionV3.x1280x704 => "1280x704",
+ ResolutionV3.x1280x768 => "1280x768",
+ ResolutionV3.x1280x800 => "1280x800",
+ ResolutionV3.x1312x736 => "1312x736",
+ ResolutionV3.x1344x640 => "1344x640",
+ ResolutionV3.x1344x704 => "1344x704",
+ ResolutionV3.x1344x768 => "1344x768",
+ ResolutionV3.x1408x576 => "1408x576",
+ ResolutionV3.x1408x640 => "1408x640",
+ ResolutionV3.x1408x704 => "1408x704",
+ ResolutionV3.x1472x576 => "1472x576",
+ ResolutionV3.x1472x640 => "1472x640",
+ ResolutionV3.x1472x704 => "1472x704",
+ ResolutionV3.x1536x512 => "1536x512",
+ ResolutionV3.x1536x576 => "1536x576",
+ ResolutionV3.x1536x640 => "1536x640",
+ _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null),
+ };
+ }
+ ///
+ /// Converts an string to a enum.
+ ///
+ public static ResolutionV3? ToEnum(string value)
+ {
+ return value switch
+ {
+ "512x1536" => ResolutionV3.x512x1536,
+ "576x1408" => ResolutionV3.x576x1408,
+ "576x1472" => ResolutionV3.x576x1472,
+ "576x1536" => ResolutionV3.x576x1536,
+ "640x1344" => ResolutionV3.x640x1344,
+ "640x1408" => ResolutionV3.x640x1408,
+ "640x1472" => ResolutionV3.x640x1472,
+ "640x1536" => ResolutionV3.x640x1536,
+ "704x1152" => ResolutionV3.x704x1152,
+ "704x1216" => ResolutionV3.x704x1216,
+ "704x1280" => ResolutionV3.x704x1280,
+ "704x1344" => ResolutionV3.x704x1344,
+ "704x1408" => ResolutionV3.x704x1408,
+ "704x1472" => ResolutionV3.x704x1472,
+ "736x1312" => ResolutionV3.x736x1312,
+ "768x1088" => ResolutionV3.x768x1088,
+ "768x1216" => ResolutionV3.x768x1216,
+ "768x1280" => ResolutionV3.x768x1280,
+ "768x1344" => ResolutionV3.x768x1344,
+ "800x1280" => ResolutionV3.x800x1280,
+ "832x960" => ResolutionV3.x832x960,
+ "832x1024" => ResolutionV3.x832x1024,
+ "832x1088" => ResolutionV3.x832x1088,
+ "832x1152" => ResolutionV3.x832x1152,
+ "832x1216" => ResolutionV3.x832x1216,
+ "832x1248" => ResolutionV3.x832x1248,
+ "864x1152" => ResolutionV3.x864x1152,
+ "896x960" => ResolutionV3.x896x960,
+ "896x1024" => ResolutionV3.x896x1024,
+ "896x1088" => ResolutionV3.x896x1088,
+ "896x1120" => ResolutionV3.x896x1120,
+ "896x1152" => ResolutionV3.x896x1152,
+ "960x832" => ResolutionV3.x960x832,
+ "960x896" => ResolutionV3.x960x896,
+ "960x1024" => ResolutionV3.x960x1024,
+ "960x1088" => ResolutionV3.x960x1088,
+ "1024x832" => ResolutionV3.x1024x832,
+ "1024x896" => ResolutionV3.x1024x896,
+ "1024x960" => ResolutionV3.x1024x960,
+ "1024x1024" => ResolutionV3.x1024x1024,
+ "1088x768" => ResolutionV3.x1088x768,
+ "1088x832" => ResolutionV3.x1088x832,
+ "1088x896" => ResolutionV3.x1088x896,
+ "1088x960" => ResolutionV3.x1088x960,
+ "1120x896" => ResolutionV3.x1120x896,
+ "1152x704" => ResolutionV3.x1152x704,
+ "1152x832" => ResolutionV3.x1152x832,
+ "1152x864" => ResolutionV3.x1152x864,
+ "1152x896" => ResolutionV3.x1152x896,
+ "1216x704" => ResolutionV3.x1216x704,
+ "1216x768" => ResolutionV3.x1216x768,
+ "1216x832" => ResolutionV3.x1216x832,
+ "1248x832" => ResolutionV3.x1248x832,
+ "1280x704" => ResolutionV3.x1280x704,
+ "1280x768" => ResolutionV3.x1280x768,
+ "1280x800" => ResolutionV3.x1280x800,
+ "1312x736" => ResolutionV3.x1312x736,
+ "1344x640" => ResolutionV3.x1344x640,
+ "1344x704" => ResolutionV3.x1344x704,
+ "1344x768" => ResolutionV3.x1344x768,
+ "1408x576" => ResolutionV3.x1408x576,
+ "1408x640" => ResolutionV3.x1408x640,
+ "1408x704" => ResolutionV3.x1408x704,
+ "1472x576" => ResolutionV3.x1472x576,
+ "1472x640" => ResolutionV3.x1472x640,
+ "1472x704" => ResolutionV3.x1472x704,
+ "1536x512" => ResolutionV3.x1536x512,
+ "1536x576" => ResolutionV3.x1536x576,
+ "1536x640" => ResolutionV3.x1536x640,
+ _ => null,
+ };
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.StyleTypeV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.StyleTypeV3.g.cs
new file mode 100644
index 0000000..7fb595a
--- /dev/null
+++ b/src/libs/Ideogram/Generated/Ideogram.Models.StyleTypeV3.g.cs
@@ -0,0 +1,64 @@
+
+#nullable enable
+
+namespace Ideogram
+{
+ ///
+ /// The style type to generate with.
+ /// Example: REALISTIC
+ ///
+ public enum StyleTypeV3
+ {
+ ///
+ ///
+ ///
+ AUTO,
+ ///
+ ///
+ ///
+ GENERAL,
+ ///
+ ///
+ ///
+ REALISTIC,
+ ///
+ ///
+ ///
+ DESIGN,
+ }
+
+ ///
+ /// Enum extensions to do fast conversions without the reflection.
+ ///
+ public static class StyleTypeV3Extensions
+ {
+ ///
+ /// Converts an enum to a string.
+ ///
+ public static string ToValueString(this StyleTypeV3 value)
+ {
+ return value switch
+ {
+ StyleTypeV3.AUTO => "AUTO",
+ StyleTypeV3.GENERAL => "GENERAL",
+ StyleTypeV3.REALISTIC => "REALISTIC",
+ StyleTypeV3.DESIGN => "DESIGN",
+ _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null),
+ };
+ }
+ ///
+ /// Converts an string to a enum.
+ ///
+ public static StyleTypeV3? ToEnum(string value)
+ {
+ return value switch
+ {
+ "AUTO" => StyleTypeV3.AUTO,
+ "GENERAL" => StyleTypeV3.GENERAL,
+ "REALISTIC" => StyleTypeV3.REALISTIC,
+ "DESIGN" => StyleTypeV3.DESIGN,
+ _ => null,
+ };
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Ideogram/Generated/JsonConverters.AspectRatioV3.g.cs b/src/libs/Ideogram/Generated/JsonConverters.AspectRatioV3.g.cs
new file mode 100644
index 0000000..6a38187
--- /dev/null
+++ b/src/libs/Ideogram/Generated/JsonConverters.AspectRatioV3.g.cs
@@ -0,0 +1,49 @@
+#nullable enable
+
+namespace Ideogram.JsonConverters
+{
+ ///
+ public sealed class AspectRatioV3JsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::Ideogram.AspectRatioV3 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::Ideogram.AspectRatioV3Extensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::Ideogram.AspectRatioV3)numValue;
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::Ideogram.AspectRatioV3 value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::Ideogram.AspectRatioV3Extensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/Ideogram/Generated/JsonConverters.AspectRatioV3Nullable.g.cs b/src/libs/Ideogram/Generated/JsonConverters.AspectRatioV3Nullable.g.cs
new file mode 100644
index 0000000..7d3cdbf
--- /dev/null
+++ b/src/libs/Ideogram/Generated/JsonConverters.AspectRatioV3Nullable.g.cs
@@ -0,0 +1,56 @@
+#nullable enable
+
+namespace Ideogram.JsonConverters
+{
+ ///
+ public sealed class AspectRatioV3NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::Ideogram.AspectRatioV3? 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::Ideogram.AspectRatioV3Extensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::Ideogram.AspectRatioV3)numValue;
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::Ideogram.AspectRatioV3? 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::Ideogram.AspectRatioV3Extensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/Ideogram/Generated/JsonConverters.RenderingSpeed.g.cs b/src/libs/Ideogram/Generated/JsonConverters.RenderingSpeed.g.cs
new file mode 100644
index 0000000..8a50135
--- /dev/null
+++ b/src/libs/Ideogram/Generated/JsonConverters.RenderingSpeed.g.cs
@@ -0,0 +1,49 @@
+#nullable enable
+
+namespace Ideogram.JsonConverters
+{
+ ///
+ public sealed class RenderingSpeedJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::Ideogram.RenderingSpeed 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::Ideogram.RenderingSpeedExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::Ideogram.RenderingSpeed)numValue;
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::Ideogram.RenderingSpeed value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::Ideogram.RenderingSpeedExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/Ideogram/Generated/JsonConverters.RenderingSpeedNullable.g.cs b/src/libs/Ideogram/Generated/JsonConverters.RenderingSpeedNullable.g.cs
new file mode 100644
index 0000000..a5fc7d7
--- /dev/null
+++ b/src/libs/Ideogram/Generated/JsonConverters.RenderingSpeedNullable.g.cs
@@ -0,0 +1,56 @@
+#nullable enable
+
+namespace Ideogram.JsonConverters
+{
+ ///
+ public sealed class RenderingSpeedNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::Ideogram.RenderingSpeed? 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::Ideogram.RenderingSpeedExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::Ideogram.RenderingSpeed)numValue;
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::Ideogram.RenderingSpeed? 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::Ideogram.RenderingSpeedExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/Ideogram/Generated/JsonConverters.ResolutionV3.g.cs b/src/libs/Ideogram/Generated/JsonConverters.ResolutionV3.g.cs
new file mode 100644
index 0000000..73f03a8
--- /dev/null
+++ b/src/libs/Ideogram/Generated/JsonConverters.ResolutionV3.g.cs
@@ -0,0 +1,49 @@
+#nullable enable
+
+namespace Ideogram.JsonConverters
+{
+ ///
+ public sealed class ResolutionV3JsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::Ideogram.ResolutionV3 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::Ideogram.ResolutionV3Extensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::Ideogram.ResolutionV3)numValue;
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::Ideogram.ResolutionV3 value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::Ideogram.ResolutionV3Extensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/Ideogram/Generated/JsonConverters.ResolutionV3Nullable.g.cs b/src/libs/Ideogram/Generated/JsonConverters.ResolutionV3Nullable.g.cs
new file mode 100644
index 0000000..a4818b2
--- /dev/null
+++ b/src/libs/Ideogram/Generated/JsonConverters.ResolutionV3Nullable.g.cs
@@ -0,0 +1,56 @@
+#nullable enable
+
+namespace Ideogram.JsonConverters
+{
+ ///
+ public sealed class ResolutionV3NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::Ideogram.ResolutionV3? 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::Ideogram.ResolutionV3Extensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::Ideogram.ResolutionV3)numValue;
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::Ideogram.ResolutionV3? 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::Ideogram.ResolutionV3Extensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/Ideogram/Generated/JsonConverters.StyleTypeV3.g.cs b/src/libs/Ideogram/Generated/JsonConverters.StyleTypeV3.g.cs
new file mode 100644
index 0000000..4de094c
--- /dev/null
+++ b/src/libs/Ideogram/Generated/JsonConverters.StyleTypeV3.g.cs
@@ -0,0 +1,49 @@
+#nullable enable
+
+namespace Ideogram.JsonConverters
+{
+ ///
+ public sealed class StyleTypeV3JsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::Ideogram.StyleTypeV3 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::Ideogram.StyleTypeV3Extensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::Ideogram.StyleTypeV3)numValue;
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::Ideogram.StyleTypeV3 value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::Ideogram.StyleTypeV3Extensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/Ideogram/Generated/JsonConverters.StyleTypeV3Nullable.g.cs b/src/libs/Ideogram/Generated/JsonConverters.StyleTypeV3Nullable.g.cs
new file mode 100644
index 0000000..1d17ec9
--- /dev/null
+++ b/src/libs/Ideogram/Generated/JsonConverters.StyleTypeV3Nullable.g.cs
@@ -0,0 +1,56 @@
+#nullable enable
+
+namespace Ideogram.JsonConverters
+{
+ ///
+ public sealed class StyleTypeV3NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::Ideogram.StyleTypeV3? 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::Ideogram.StyleTypeV3Extensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::Ideogram.StyleTypeV3)numValue;
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::Ideogram.StyleTypeV3? 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::Ideogram.StyleTypeV3Extensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/Ideogram/Generated/JsonSerializerContext.g.cs b/src/libs/Ideogram/Generated/JsonSerializerContext.g.cs
index 9f513c8..48d26e4 100644
--- a/src/libs/Ideogram/Generated/JsonSerializerContext.g.cs
+++ b/src/libs/Ideogram/Generated/JsonSerializerContext.g.cs
@@ -27,6 +27,14 @@ namespace Ideogram
typeof(global::Ideogram.JsonConverters.ResolutionNullableJsonConverter),
typeof(global::Ideogram.JsonConverters.ColorPalettePresetNameJsonConverter),
typeof(global::Ideogram.JsonConverters.ColorPalettePresetNameNullableJsonConverter),
+ typeof(global::Ideogram.JsonConverters.ResolutionV3JsonConverter),
+ typeof(global::Ideogram.JsonConverters.ResolutionV3NullableJsonConverter),
+ typeof(global::Ideogram.JsonConverters.AspectRatioV3JsonConverter),
+ typeof(global::Ideogram.JsonConverters.AspectRatioV3NullableJsonConverter),
+ typeof(global::Ideogram.JsonConverters.RenderingSpeedJsonConverter),
+ typeof(global::Ideogram.JsonConverters.RenderingSpeedNullableJsonConverter),
+ typeof(global::Ideogram.JsonConverters.StyleTypeV3JsonConverter),
+ typeof(global::Ideogram.JsonConverters.StyleTypeV3NullableJsonConverter),
typeof(global::Ideogram.JsonConverters.InternalTestingEnumFieldJsonConverter),
typeof(global::Ideogram.JsonConverters.InternalTestingEnumFieldNullableJsonConverter),
typeof(global::Ideogram.JsonConverters.ColorPaletteWithPresetNameOrMembersJsonConverter),
diff --git a/src/libs/Ideogram/Generated/JsonSerializerContextTypes.g.cs b/src/libs/Ideogram/Generated/JsonSerializerContextTypes.g.cs
index 0251411..e48c6f0 100644
--- a/src/libs/Ideogram/Generated/JsonSerializerContextTypes.g.cs
+++ b/src/libs/Ideogram/Generated/JsonSerializerContextTypes.g.cs
@@ -122,142 +122,190 @@ public sealed partial class JsonSerializerContextTypes
///
///
///
- public global::Ideogram.InternalTestingRequest? Type24 { get; set; }
+ public global::Ideogram.GenerateImageRequestV3? Type24 { get; set; }
///
///
///
- public global::Ideogram.InternalTestingNestedObject? Type25 { get; set; }
+ public global::Ideogram.ResolutionV3? Type25 { get; set; }
///
///
///
- public global::Ideogram.InternalTestingNestedObjectRequiredFields? Type26 { get; set; }
+ public global::Ideogram.AspectRatioV3? Type26 { get; set; }
///
///
///
- public global::System.DateTime? Type27 { get; set; }
+ public global::Ideogram.RenderingSpeed? Type27 { get; set; }
///
///
///
- public global::System.Collections.Generic.IList? Type28 { get; set; }
+ public global::Ideogram.StyleTypeV3? Type28 { get; set; }
///
///
///
- public global::Ideogram.InternalTestingEnumField? Type29 { get; set; }
+ public global::System.Collections.Generic.IList? Type29 { get; set; }
///
///
///
- public global::Ideogram.RemixImageRequest? Type30 { get; set; }
+ public global::Ideogram.RemixImageRequestV3? Type30 { get; set; }
///
///
///
- public global::Ideogram.InitialImageRequest? Type31 { get; set; }
+ public global::Ideogram.EditImageRequestV3? Type31 { get; set; }
///
///
///
- public global::Ideogram.ReframeImageRequest? Type32 { get; set; }
+ public global::Ideogram.ReframeImageRequestV3? Type32 { get; set; }
///
///
///
- public global::Ideogram.UpscaleImageRequest? Type33 { get; set; }
+ public global::Ideogram.InternalTestingRequest? Type33 { get; set; }
///
///
///
- public global::Ideogram.UpscaleInitialImageRequest? Type34 { get; set; }
+ public global::Ideogram.InternalTestingNestedObject? Type34 { get; set; }
///
///
///
- public global::Ideogram.GenerateImageResponse? Type35 { get; set; }
+ public global::Ideogram.InternalTestingNestedObjectRequiredFields? Type35 { get; set; }
///
///
///
- public global::System.Collections.Generic.IList? Type36 { get; set; }
+ public global::System.DateTime? Type36 { get; set; }
///
///
///
- public global::Ideogram.ImageObject? Type37 { get; set; }
+ public global::System.Collections.Generic.IList? Type37 { get; set; }
///
///
///
- public bool? Type38 { get; set; }
+ public global::Ideogram.InternalTestingEnumField? Type38 { get; set; }
///
///
///
- public global::Ideogram.GenerateImageSafetyError? Type39 { get; set; }
+ public global::Ideogram.RemixImageRequest? Type39 { get; set; }
///
///
///
- public global::Ideogram.ImageSafetyError? Type40 { get; set; }
+ public global::Ideogram.InitialImageRequest? Type40 { get; set; }
///
///
///
- public global::Ideogram.ManageApiSubscriptionResponse? Type41 { get; set; }
+ public global::Ideogram.ReframeImageRequest? Type41 { get; set; }
///
///
///
- public global::Ideogram.MetronomeLinks? Type42 { get; set; }
+ public global::Ideogram.UpscaleImageRequest? Type42 { get; set; }
///
///
///
- public global::Ideogram.RechargeSettingsResponse? Type43 { get; set; }
+ public global::Ideogram.UpscaleInitialImageRequest? Type43 { get; set; }
///
///
///
- public global::Ideogram.RechargeSettings? Type44 { get; set; }
+ public global::Ideogram.GenerateImageResponse? Type44 { get; set; }
///
///
///
- public global::Ideogram.Price? Type45 { get; set; }
+ public global::System.Collections.Generic.IList? Type45 { get; set; }
///
///
///
- public global::Ideogram.PostApiSubscriptionResponse? Type46 { get; set; }
+ public global::Ideogram.ImageObject? Type46 { get; set; }
///
///
///
- public global::Ideogram.PostApiSubscriptionError? Type47 { get; set; }
+ public bool? Type47 { get; set; }
///
///
///
- public global::Ideogram.PostApiSubscriptionRequest? Type48 { get; set; }
+ public global::Ideogram.ImageGenerationResponseV3? Type48 { get; set; }
///
///
///
- public global::Ideogram.PostApiReactivateResponse? Type49 { get; set; }
+ public global::System.Collections.Generic.IList? Type49 { get; set; }
///
///
///
- public global::Ideogram.GetApiKeysResponse? Type50 { get; set; }
+ public global::Ideogram.ImageGenerationObjectV3? Type50 { get; set; }
///
///
///
- public global::System.Collections.Generic.IList? Type51 { get; set; }
+ public global::Ideogram.GenerateImageSafetyError? Type51 { get; set; }
///
///
///
- public global::Ideogram.RedactedApiKey? Type52 { get; set; }
+ public global::Ideogram.ImageSafetyError? Type52 { get; set; }
///
///
///
- public global::Ideogram.PostApiKeyResponse? Type53 { get; set; }
+ public global::Ideogram.ManageApiSubscriptionResponse? Type53 { get; set; }
///
///
///
- public global::Ideogram.ManageApiStripeSubscriptionResponse? Type54 { get; set; }
+ public global::Ideogram.MetronomeLinks? Type54 { get; set; }
///
///
///
- public global::Ideogram.GetApiTermsResponse? Type55 { get; set; }
+ public global::Ideogram.RechargeSettingsResponse? Type55 { get; set; }
///
///
///
- public global::Ideogram.ApiTerms? Type56 { get; set; }
+ public global::Ideogram.RechargeSettings? Type56 { get; set; }
///
///
///
- public global::Ideogram.PostApiTermsRequest? Type57 { get; set; }
+ public global::Ideogram.Price? Type57 { get; set; }
///
///
///
- public global::Ideogram.PostInternalTesting200Response? Type58 { get; set; }
+ public global::Ideogram.PostApiSubscriptionResponse? Type58 { get; set; }
+ ///
+ ///
+ ///
+ public global::Ideogram.PostApiSubscriptionError? Type59 { get; set; }
+ ///
+ ///
+ ///
+ public global::Ideogram.PostApiSubscriptionRequest? Type60 { get; set; }
+ ///
+ ///
+ ///
+ public global::Ideogram.PostApiReactivateResponse? Type61 { get; set; }
+ ///
+ ///
+ ///
+ public global::Ideogram.GetApiKeysResponse? Type62 { get; set; }
+ ///
+ ///
+ ///
+ public global::System.Collections.Generic.IList? Type63 { get; set; }
+ ///
+ ///
+ ///
+ public global::Ideogram.RedactedApiKey? Type64 { get; set; }
+ ///
+ ///
+ ///
+ public global::Ideogram.PostApiKeyResponse? Type65 { get; set; }
+ ///
+ ///
+ ///
+ public global::Ideogram.ManageApiStripeSubscriptionResponse? Type66 { get; set; }
+ ///
+ ///
+ ///
+ public global::Ideogram.GetApiTermsResponse? Type67 { get; set; }
+ ///
+ ///
+ ///
+ public global::Ideogram.ApiTerms? Type68 { get; set; }
+ ///
+ ///
+ ///
+ public global::Ideogram.PostApiTermsRequest? Type69 { get; set; }
+ ///
+ ///
+ ///
+ public global::Ideogram.PostInternalTesting200Response? Type70 { get; set; }
}
}
\ No newline at end of file
diff --git a/src/libs/Ideogram/openapi.yaml b/src/libs/Ideogram/openapi.yaml
index 73edb36..6919795 100644
--- a/src/libs/Ideogram/openapi.yaml
+++ b/src/libs/Ideogram/openapi.yaml
@@ -491,6 +491,165 @@ paths:
'429':
description: Too many requests.
x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller
+ /v1/edit/ideogram-v3:
+ post:
+ tags:
+ - generate
+ summary: Edit with Ideogram 3.0
+ description: "Edit a given image synchronously using the provided mask with Ideogram 3.0. The mask indicates which part of the image\nshould be edited, while the prompt and chosen style can further guide the edit.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n"
+ operationId: post_edit_image_v3
+ requestBody:
+ description: A request to edit an image with Ideogram 3.0.
+ content:
+ multipart/form-data:
+ schema:
+ $ref: '#/components/schemas/EditImageRequestV3'
+ encoding:
+ color_palette:
+ contentType: application/json
+ style: form
+ required: true
+ x-body-name: body
+ responses:
+ '200':
+ description: Image edits generated successfully.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ImageGenerationResponseV3'
+ '400':
+ description: Invalid input provided.
+ '401':
+ description: Not authorized to generate an image.
+ '422':
+ description: Prompt or Initial Image failed the safety checks.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GenerateImageSafetyError'
+ '429':
+ description: Too many requests.
+ x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller
+ /v1/generate/ideogram-v3:
+ post:
+ tags:
+ - generate
+ summary: Generate with Ideogram 3.0
+ description: "Generates images synchronously based on a given prompt and optional parameters using the Ideogram 3.0 model.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n"
+ operationId: post_generate_image_v3
+ requestBody:
+ description: A request to generate an image with Ideogram 3.0.
+ content:
+ multipart/form-data:
+ schema:
+ $ref: '#/components/schemas/GenerateImageRequestV3'
+ encoding:
+ color_palette:
+ contentType: application/json
+ style: form
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GenerateImageRequestV3'
+ required: true
+ x-body-name: body
+ responses:
+ '200':
+ description: Image(s) generated successfully.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ImageGenerationResponseV3'
+ '400':
+ description: Invalid input provided.
+ '401':
+ description: Not authorized to generate an image.
+ '422':
+ description: Prompt failed the safety check.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GenerateImageSafetyError'
+ '429':
+ description: Too many requests.
+ x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller
+ /v1/reframe/ideogram-v3:
+ post:
+ tags:
+ - generate
+ summary: Reframe with Ideogram 3.0
+ description: "Reframe a square image to a chosen resolution with Ideogram 3.0. The supported image formats include JPEG, PNG, and WebP.\n\nImage links are available for a limited period of time; if you would like to keep the image, you must download it\n"
+ operationId: post_reframe_image_v3
+ requestBody:
+ description: A request to reframe an image in a new resolution
+ content:
+ multipart/form-data:
+ schema:
+ $ref: '#/components/schemas/ReframeImageRequestV3'
+ encoding:
+ color_palette:
+ contentType: application/json
+ style: form
+ required: true
+ x-body-name: body
+ responses:
+ '200':
+ description: Image re-frames generated successfully.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ImageGenerationResponseV3'
+ '400':
+ description: Invalid input provided.
+ '401':
+ description: Not authorized to generate an image.
+ '422':
+ description: Prompt or Image failed the safety checks.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GenerateImageSafetyError'
+ '429':
+ description: Too many requests.
+ x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller
+ /v1/remix/ideogram-v3:
+ post:
+ tags:
+ - generate
+ summary: Remix with Ideogram 3.0
+ description: "Remix provided images synchronously based on a given prompt and optional parameters with the Ideogram 3.0 model.\n\nInput images are cropped to the chosen aspect ratio before being remixed.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n"
+ operationId: post_remix_image_v3
+ requestBody:
+ description: A request to remix an image with Ideogram 3.0.
+ content:
+ multipart/form-data:
+ schema:
+ $ref: '#/components/schemas/RemixImageRequestV3'
+ encoding:
+ color_palette:
+ contentType: application/json
+ style: form
+ required: true
+ x-body-name: body
+ responses:
+ '200':
+ description: Image(s) generated successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ImageGenerationResponseV3'
+ '400':
+ description: Invalid input provided
+ '403':
+ description: Not authorized to generate an image.
+ '422':
+ description: Prompt or provided image failed safety check.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GenerateImageSafetyError'
+ '429':
+ description: Too many requests.
+ x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller
components:
schemas:
DescribeResponse:
@@ -570,6 +729,175 @@ components:
magic_prompt_option: AUTO
model: V_2
prompt: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there is an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.'
+ GenerateImageRequestV3:
+ required:
+ - prompt
+ type: object
+ properties:
+ prompt:
+ type: string
+ description: The prompt to use to generate the image.
+ example: A photo of a cat
+ seed:
+ title: Seed
+ maximum: 2147483647
+ minimum: 0
+ type: integer
+ example: 12345
+ resolution:
+ $ref: '#/components/schemas/ResolutionV3'
+ aspect_ratio:
+ $ref: '#/components/schemas/AspectRatioV3'
+ rendering_speed:
+ $ref: '#/components/schemas/RenderingSpeed'
+ magic_prompt:
+ $ref: '#/components/schemas/MagicPromptOption'
+ negative_prompt:
+ type: string
+ description: "Description of what to exclude from an image. Descriptions in the prompt take precedence\nto descriptions in the negative prompt.\n"
+ example: 'brush strokes, painting'
+ num_images:
+ maximum: 8
+ minimum: 1
+ type: integer
+ description: Number of images to generate.
+ default: 1
+ color_palette:
+ $ref: '#/components/schemas/ColorPaletteWithPresetNameOrMembers'
+ style_codes:
+ type: array
+ items:
+ $ref: '#/components/schemas/StyleCode'
+ description: A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.
+ example:
+ - AAFF5733
+ - 0133FF57
+ - DE3357FF
+ style_type:
+ $ref: '#/components/schemas/StyleTypeV3'
+ style_reference_images:
+ type: array
+ items:
+ type: string
+ format: binary
+ description: 'A set of images to use as style references. The images should be in JPEG, PNG or WebP format.'
+ RemixImageRequestV3:
+ required:
+ - image_file
+ - prompt
+ type: object
+ properties:
+ image_file:
+ type: string
+ description: 'The image to remix binary; only JPEG, WebP and PNG formats are supported at this time'
+ format: binary
+ prompt:
+ type: string
+ description: The prompt to use to generate the image.
+ example: A photo of a cat
+ image_weight:
+ maximum: 100
+ minimum: 1
+ type: integer
+ default: 50
+ example: 50
+ seed:
+ $ref: '#/components/schemas/Seed'
+ resolution:
+ $ref: '#/components/schemas/ResolutionV3'
+ aspect_ratio:
+ $ref: '#/components/schemas/AspectRatioV3'
+ rendering_speed:
+ $ref: '#/components/schemas/RenderingSpeed'
+ magic_prompt:
+ $ref: '#/components/schemas/MagicPromptOption'
+ negative_prompt:
+ type: string
+ description: "Description of what to exclude from an image. Descriptions in the prompt take precedence\nto descriptions in the negative prompt.\n"
+ example: 'brush strokes, painting'
+ num_images:
+ maximum: 8
+ minimum: 1
+ type: integer
+ description: Number of images to generate.
+ default: 1
+ color_palette:
+ $ref: '#/components/schemas/ColorPaletteWithPresetNameOrMembers'
+ style_codes:
+ $ref: '#/components/schemas/StyleCodes'
+ style_type:
+ $ref: '#/components/schemas/StyleTypeV3'
+ style_reference_images:
+ type: array
+ items:
+ type: string
+ format: binary
+ description: 'A set of images to use as style references. The images should be in JPEG, PNG or WebP format.'
+ EditImageRequestV3:
+ required:
+ - image_file
+ - mask
+ - prompt
+ type: object
+ properties:
+ image_file:
+ type: string
+ description: 'The image being edited; only JPEG, WebP and PNG formats are supported at this time'
+ format: binary
+ mask:
+ type: string
+ description: 'A black and white image of the same size as the image being edited. Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time'
+ format: binary
+ prompt:
+ type: string
+ description: The prompt used to describe the edited result.
+ example: A photo of a cat.
+ magic_prompt:
+ $ref: '#/components/schemas/MagicPromptOption'
+ num_images:
+ $ref: '#/components/schemas/NumImages'
+ seed:
+ $ref: '#/components/schemas/Seed'
+ rendering_speed:
+ $ref: '#/components/schemas/RenderingSpeed'
+ color_palette:
+ $ref: '#/components/schemas/ColorPaletteWithPresetNameOrMembers'
+ style_codes:
+ $ref: '#/components/schemas/StyleCodes'
+ style_reference_images:
+ type: array
+ items:
+ type: string
+ format: binary
+ description: 'A set of images to use as style references. The images should be in JPEG, PNG or WebP format.'
+ ReframeImageRequestV3:
+ required:
+ - image_file
+ - resolution
+ type: object
+ properties:
+ image_file:
+ type: string
+ description: 'The image being reframed; only JPEG, WebP and PNG formats are supported at this time.'
+ format: binary
+ resolution:
+ $ref: '#/components/schemas/ResolutionV3'
+ num_images:
+ $ref: '#/components/schemas/NumImages'
+ seed:
+ $ref: '#/components/schemas/Seed'
+ rendering_speed:
+ $ref: '#/components/schemas/RenderingSpeed'
+ color_palette:
+ $ref: '#/components/schemas/ColorPaletteWithPresetNameOrMembers'
+ style_codes:
+ $ref: '#/components/schemas/StyleCodes'
+ style_reference_images:
+ type: array
+ items:
+ type: string
+ format: binary
+ description: 'A set of images to use as style references. The images should be in JPEG, PNG or WebP format.'
InternalTestingRequest:
required:
- required_date_type_field
@@ -805,7 +1133,41 @@ components:
title: data
type: array
items:
- $ref: '#/components/schemas/ImageObject'
+ $ref: '#/components/schemas/ImageObject'
+ description: A list of ImageObjects that contain the generated image(s).
+ description: "The response which contains information about the generated image, including the download link.\nImages links are available for a limited period of time; if you would like to keep the image, you must download it."
+ example:
+ data:
+ - style_type: REALISTIC
+ seed: 12345
+ prompt: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there''s an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.'
+ resolution: 1024x1024
+ url: https://ideogram.ai/api/images/direct/8YEpFzHuS-S6xXEGmCsf7g
+ is_image_safe: true
+ - style_type: REALISTIC
+ seed: 12345
+ prompt: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there''s an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.'
+ resolution: 1024x1024
+ url: https://ideogram.ai/api/images/direct/8YEpFzHuS-S6xXEGmCsf7g
+ is_image_safe: true
+ created: '2000-01-23T04:56:07.0000000+00:00'
+ ImageGenerationResponseV3:
+ title: ImageGenerationResponseV3
+ required:
+ - created
+ - data
+ type: object
+ properties:
+ created:
+ title: created
+ type: string
+ description: The time the request was created.
+ format: date-time
+ data:
+ title: data
+ type: array
+ items:
+ $ref: '#/components/schemas/ImageGenerationObjectV3'
description: A list of ImageObjects that contain the generated image(s).
description: "The response which contains information about the generated image, including the download link.\nImages links are available for a limited period of time; if you would like to keep the image, you must download it."
example:
@@ -814,15 +1176,57 @@ components:
seed: 12345
prompt: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there''s an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.'
resolution: 1024x1024
- url: https://ideogram.ai/api/images/direct/8YEpFzHuS-S6xXEGmCsf7g
+ url: https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89
is_image_safe: true
- style_type: REALISTIC
seed: 12345
prompt: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there''s an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.'
resolution: 1024x1024
- url: https://ideogram.ai/api/images/direct/8YEpFzHuS-S6xXEGmCsf7g
+ url: https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89
is_image_safe: true
created: '2000-01-23T04:56:07.0000000+00:00'
+ ImageGenerationObjectV3:
+ title: ImageGenerationObjectV3
+ required:
+ - is_image_safe
+ - prompt
+ - resolution
+ - seed
+ type: object
+ properties:
+ url:
+ title: url
+ type: string
+ description: The direct link to the image generated.
+ format: uri
+ nullable: true
+ example: https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89
+ prompt:
+ title: prompt
+ type: string
+ description: The prompt used for the generation. This may be different from the original prompt.
+ example: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there''s an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.'
+ resolution:
+ $ref: '#/components/schemas/ResolutionV3'
+ is_image_safe:
+ title: is_image_safe
+ type: boolean
+ description: 'Whether this request passes safety checks. If false, the url field will be empty.'
+ seed:
+ title: Seed
+ maximum: 2147483647
+ minimum: 0
+ type: integer
+ example: 12345
+ style_type:
+ $ref: '#/components/schemas/StyleTypeV3'
+ example:
+ style_type: REALISTIC
+ seed: 12345
+ prompt: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there''s an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.'
+ resolution: 1024x1024
+ url: https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89
+ is_image_safe: true
ImageObject:
title: ImageObject
required:
@@ -1240,109 +1644,110 @@ components:
type: string
description: The style type to generate with; this is only applicable for models V_2 and above and should not be specified for model versions V_1.
example: REALISTIC
- Resolution:
- title: Resolution
+ ResolutionV3:
+ title: ResolutionV3
enum:
- - RESOLUTION_512_1536
- - RESOLUTION_576_1408
- - RESOLUTION_576_1472
- - RESOLUTION_576_1536
- - RESOLUTION_640_1024
- - RESOLUTION_640_1344
- - RESOLUTION_640_1408
- - RESOLUTION_640_1472
- - RESOLUTION_640_1536
- - RESOLUTION_704_1152
- - RESOLUTION_704_1216
- - RESOLUTION_704_1280
- - RESOLUTION_704_1344
- - RESOLUTION_704_1408
- - RESOLUTION_704_1472
- - RESOLUTION_720_1280
- - RESOLUTION_736_1312
- - RESOLUTION_768_1024
- - RESOLUTION_768_1088
- - RESOLUTION_768_1152
- - RESOLUTION_768_1216
- - RESOLUTION_768_1232
- - RESOLUTION_768_1280
- - RESOLUTION_768_1344
- - RESOLUTION_832_960
- - RESOLUTION_832_1024
- - RESOLUTION_832_1088
- - RESOLUTION_832_1152
- - RESOLUTION_832_1216
- - RESOLUTION_832_1248
- - RESOLUTION_864_1152
- - RESOLUTION_896_960
- - RESOLUTION_896_1024
- - RESOLUTION_896_1088
- - RESOLUTION_896_1120
- - RESOLUTION_896_1152
- - RESOLUTION_960_832
- - RESOLUTION_960_896
- - RESOLUTION_960_1024
- - RESOLUTION_960_1088
- - RESOLUTION_1024_640
- - RESOLUTION_1024_768
- - RESOLUTION_1024_832
- - RESOLUTION_1024_896
- - RESOLUTION_1024_960
- - RESOLUTION_1024_1024
- - RESOLUTION_1088_768
- - RESOLUTION_1088_832
- - RESOLUTION_1088_896
- - RESOLUTION_1088_960
- - RESOLUTION_1120_896
- - RESOLUTION_1152_704
- - RESOLUTION_1152_768
- - RESOLUTION_1152_832
- - RESOLUTION_1152_864
- - RESOLUTION_1152_896
- - RESOLUTION_1216_704
- - RESOLUTION_1216_768
- - RESOLUTION_1216_832
- - RESOLUTION_1232_768
- - RESOLUTION_1248_832
- - RESOLUTION_1280_704
- - RESOLUTION_1280_720
- - RESOLUTION_1280_768
- - RESOLUTION_1280_800
- - RESOLUTION_1312_736
- - RESOLUTION_1344_640
- - RESOLUTION_1344_704
- - RESOLUTION_1344_768
- - RESOLUTION_1408_576
- - RESOLUTION_1408_640
- - RESOLUTION_1408_704
- - RESOLUTION_1472_576
- - RESOLUTION_1472_640
- - RESOLUTION_1472_704
- - RESOLUTION_1536_512
- - RESOLUTION_1536_576
- - RESOLUTION_1536_640
+ - 512x1536
+ - 576x1408
+ - 576x1472
+ - 576x1536
+ - 640x1344
+ - 640x1408
+ - 640x1472
+ - 640x1536
+ - 704x1152
+ - 704x1216
+ - 704x1280
+ - 704x1344
+ - 704x1408
+ - 704x1472
+ - 736x1312
+ - 768x1088
+ - 768x1216
+ - 768x1280
+ - 768x1344
+ - 800x1280
+ - 832x960
+ - 832x1024
+ - 832x1088
+ - 832x1152
+ - 832x1216
+ - 832x1248
+ - 864x1152
+ - 896x960
+ - 896x1024
+ - 896x1088
+ - 896x1120
+ - 896x1152
+ - 960x832
+ - 960x896
+ - 960x1024
+ - 960x1088
+ - 1024x832
+ - 1024x896
+ - 1024x960
+ - 1024x1024
+ - 1088x768
+ - 1088x832
+ - 1088x896
+ - 1088x960
+ - 1120x896
+ - 1152x704
+ - 1152x832
+ - 1152x864
+ - 1152x896
+ - 1216x704
+ - 1216x768
+ - 1216x832
+ - 1248x832
+ - 1280x704
+ - 1280x768
+ - 1280x800
+ - 1312x736
+ - 1344x640
+ - 1344x704
+ - 1344x768
+ - 1408x576
+ - 1408x640
+ - 1408x704
+ - 1472x576
+ - 1472x640
+ - 1472x704
+ - 1536x512
+ - 1536x576
+ - 1536x640
type: string
- description: '(For model_version for 2.0 only, cannot be used in conjunction with aspect_ratio) The resolution to use for image generation, represented in width x height. If not specified, defaults to using aspect_ratio.'
- example: RESOLUTION_1024_1024
- AspectRatio:
- title: AspectRatio
+ description: The resolutions supported for model version V_3.
+ example: 1024x1024
+ AspectRatioV3:
+ title: AspectRatioV3
enum:
- - ASPECT_10_16
- - ASPECT_16_10
- - ASPECT_9_16
- - ASPECT_16_9
- - ASPECT_3_2
- - ASPECT_2_3
- - ASPECT_4_3
- - ASPECT_3_4
- - ASPECT_1_1
- - ASPECT_1_3
- - ASPECT_3_1
+ - 1x3
+ - 3x1
+ - 1x2
+ - 2x1
+ - 9x16
+ - 16x9
+ - 10x16
+ - 16x10
+ - 2x3
+ - 3x2
+ - 3x4
+ - 4x3
+ - 4x5
+ - 5x4
+ - 1x1
type: string
- description: '(Cannot be used in conjunction with resolution) The aspect ratio to use for image generation, which determines the image''s resolution. Defaults to ASPECT_1_1.'
- externalDocs:
- url: https://docs.ideogram.ai/usage/advanced-prompting/aspect-ratios
- example: ASPECT_10_16
+ description: 'The aspect ratio to use for image generation, which determines the image''s resolution. Cannot be used in conjunction with resolution. Defaults to 1:1.'
+ RenderingSpeed:
+ title: RenderingSpeed
+ enum:
+ - TURBO
+ - BALANCED
+ - QUALITY
+ type: string
+ description: The rendering speed to use.
+ default: BALANCED
ColorPaletteWithPresetNameOrMembers:
title: ColorPaletteWithPresetNameOrMembers
oneOf:
@@ -1401,7 +1806,7 @@ components:
- ColorPaletteMember:
color_hex: '#642a9c'
color_weight: 0.05
- description: A color palette represented only via its members
+ description: A color palette represented only via its members. Cannot be used in conjunction with preset name.
ColorPaletteMembers:
title: ColorPaletteMembers
maxItems: 8
@@ -1446,6 +1851,133 @@ components:
description: The weight of the color in the color palette.
example: 0.25
description: A member of a color palette.
+ StyleCodes:
+ type: array
+ items:
+ $ref: '#/components/schemas/StyleCode'
+ description: A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.
+ example:
+ - AAFF5733
+ - 0133FF57
+ - DE3357FF
+ StyleCode:
+ pattern: '^[0-9a-fA-F]{8}$'
+ type: string
+ description: The 8 character hexadecimal representation of the style code.
+ example: ABCD1234
+ StyleTypeV3:
+ title: StyleTypeV3
+ enum:
+ - AUTO
+ - GENERAL
+ - REALISTIC
+ - DESIGN
+ type: string
+ description: The style type to generate with.
+ example: REALISTIC
+ Resolution:
+ title: Resolution
+ enum:
+ - RESOLUTION_512_1536
+ - RESOLUTION_576_1408
+ - RESOLUTION_576_1472
+ - RESOLUTION_576_1536
+ - RESOLUTION_640_1024
+ - RESOLUTION_640_1344
+ - RESOLUTION_640_1408
+ - RESOLUTION_640_1472
+ - RESOLUTION_640_1536
+ - RESOLUTION_704_1152
+ - RESOLUTION_704_1216
+ - RESOLUTION_704_1280
+ - RESOLUTION_704_1344
+ - RESOLUTION_704_1408
+ - RESOLUTION_704_1472
+ - RESOLUTION_720_1280
+ - RESOLUTION_736_1312
+ - RESOLUTION_768_1024
+ - RESOLUTION_768_1088
+ - RESOLUTION_768_1152
+ - RESOLUTION_768_1216
+ - RESOLUTION_768_1232
+ - RESOLUTION_768_1280
+ - RESOLUTION_768_1344
+ - RESOLUTION_832_960
+ - RESOLUTION_832_1024
+ - RESOLUTION_832_1088
+ - RESOLUTION_832_1152
+ - RESOLUTION_832_1216
+ - RESOLUTION_832_1248
+ - RESOLUTION_864_1152
+ - RESOLUTION_896_960
+ - RESOLUTION_896_1024
+ - RESOLUTION_896_1088
+ - RESOLUTION_896_1120
+ - RESOLUTION_896_1152
+ - RESOLUTION_960_832
+ - RESOLUTION_960_896
+ - RESOLUTION_960_1024
+ - RESOLUTION_960_1088
+ - RESOLUTION_1024_640
+ - RESOLUTION_1024_768
+ - RESOLUTION_1024_832
+ - RESOLUTION_1024_896
+ - RESOLUTION_1024_960
+ - RESOLUTION_1024_1024
+ - RESOLUTION_1088_768
+ - RESOLUTION_1088_832
+ - RESOLUTION_1088_896
+ - RESOLUTION_1088_960
+ - RESOLUTION_1120_896
+ - RESOLUTION_1152_704
+ - RESOLUTION_1152_768
+ - RESOLUTION_1152_832
+ - RESOLUTION_1152_864
+ - RESOLUTION_1152_896
+ - RESOLUTION_1216_704
+ - RESOLUTION_1216_768
+ - RESOLUTION_1216_832
+ - RESOLUTION_1232_768
+ - RESOLUTION_1248_832
+ - RESOLUTION_1280_704
+ - RESOLUTION_1280_720
+ - RESOLUTION_1280_768
+ - RESOLUTION_1280_800
+ - RESOLUTION_1312_736
+ - RESOLUTION_1344_640
+ - RESOLUTION_1344_704
+ - RESOLUTION_1344_768
+ - RESOLUTION_1408_576
+ - RESOLUTION_1408_640
+ - RESOLUTION_1408_704
+ - RESOLUTION_1472_576
+ - RESOLUTION_1472_640
+ - RESOLUTION_1472_704
+ - RESOLUTION_1536_512
+ - RESOLUTION_1536_576
+ - RESOLUTION_1536_640
+ type: string
+ description: '(For model_version for 2.0 only, cannot be used in conjunction with aspect_ratio) The resolution to use for image generation, represented in width x height. If not specified, defaults to using aspect_ratio.'
+ example: RESOLUTION_1024_1024
+ AspectRatio:
+ title: AspectRatio
+ enum:
+ - ASPECT_10_16
+ - ASPECT_16_10
+ - ASPECT_9_16
+ - ASPECT_16_9
+ - ASPECT_3_2
+ - ASPECT_2_3
+ - ASPECT_4_3
+ - ASPECT_3_4
+ - ASPECT_1_1
+ - ASPECT_1_3
+ - ASPECT_3_1
+ type: string
+ description: '(Cannot be used in conjunction with resolution) The aspect ratio to use for image generation, which determines the image''s resolution. Defaults to ASPECT_1_1.'
+ externalDocs:
+ url: https://docs.ideogram.ai/usage/advanced-prompting/aspect-ratios
+ example: ASPECT_10_16
Price:
title: Price
required: