diff --git a/src/libs/Ideogram/Generated/Ideogram.EditWorkflowClient.PostAdResizer.g.cs b/src/libs/Ideogram/Generated/Ideogram.EditWorkflowClient.PostAdResizer.g.cs index ce4ec4c0..dfb8feb1 100644 --- a/src/libs/Ideogram/Generated/Ideogram.EditWorkflowClient.PostAdResizer.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.EditWorkflowClient.PostAdResizer.g.cs @@ -44,7 +44,7 @@ partial void ProcessPostAdResizerResponseContent( ref string content); /// - /// Advertisement Resizer
+ /// Advertisement Resizer v2
/// Reframes the source creative to the exact requested ad resolution,
/// regenerating the layout so text and key elements stay legible at the
/// target size.
@@ -55,11 +55,17 @@ partial void ProcessPostAdResizerResponseContent( /// space around it is filled in so the returned image is still exactly the
/// requested resolution. Omit `platform` and the advertisement fills the
/// whole frame.
- /// Safe zones are published per aspect ratio, and not every platform
- /// publishes one for every ratio. `google` and `tiktok` publish `16:9`,
- /// `1:1`, and `9:16`; `meta` and `snapchat` publish `9:16` only. A
- /// `platform` combined with a `resolution` that platform has no safe zone
- /// for is rejected with a 400.
+ /// Each platform accepts only the resolutions for which it publishes a
+ /// safe zone:
+ /// | Platform | Accepted resolutions |
+ /// | --- | --- |
+ /// | `google` | `1920x1080`, `3840x2160`, `1080x1080`, `2400x2400`, `2880x2880`, `1080x1920`, `2160x3840` |
+ /// | `tiktok` | `1920x1080`, `3840x2160`, `1080x1080`, `2400x2400`, `2880x2880`, `1080x1920`, `2160x3840` |
+ /// | `meta` | `1080x1920`, `2160x3840` |
+ /// | `snapchat` | `1080x1920`, `2160x3840` |
+ /// A `platform` combined with any other `resolution` is rejected with a
+ /// 400. When `platform` is omitted, every resolution in the request schema
+ /// is accepted.
/// The request is processed asynchronously. Poll
/// `GET /v1/generations/{generation_id}` with the returned `generation_id`
/// until the generation is completed or failed. The completed generation
@@ -95,7 +101,7 @@ partial void ProcessPostAdResizerResponseContent( return __response.Body; } /// - /// Advertisement Resizer
+ /// Advertisement Resizer v2
/// Reframes the source creative to the exact requested ad resolution,
/// regenerating the layout so text and key elements stay legible at the
/// target size.
@@ -106,11 +112,17 @@ partial void ProcessPostAdResizerResponseContent( /// space around it is filled in so the returned image is still exactly the
/// requested resolution. Omit `platform` and the advertisement fills the
/// whole frame.
- /// Safe zones are published per aspect ratio, and not every platform
- /// publishes one for every ratio. `google` and `tiktok` publish `16:9`,
- /// `1:1`, and `9:16`; `meta` and `snapchat` publish `9:16` only. A
- /// `platform` combined with a `resolution` that platform has no safe zone
- /// for is rejected with a 400.
+ /// Each platform accepts only the resolutions for which it publishes a
+ /// safe zone:
+ /// | Platform | Accepted resolutions |
+ /// | --- | --- |
+ /// | `google` | `1920x1080`, `3840x2160`, `1080x1080`, `2400x2400`, `2880x2880`, `1080x1920`, `2160x3840` |
+ /// | `tiktok` | `1920x1080`, `3840x2160`, `1080x1080`, `2400x2400`, `2880x2880`, `1080x1920`, `2160x3840` |
+ /// | `meta` | `1080x1920`, `2160x3840` |
+ /// | `snapchat` | `1080x1920`, `2160x3840` |
+ /// A `platform` combined with any other `resolution` is rejected with a
+ /// 400. When `platform` is omitted, every resolution in the request schema
+ /// is accepted.
/// The request is processed asynchronously. Poll
/// `GET /v1/generations/{generation_id}` with the returned `generation_id`
/// until the generation is completed or failed. The completed generation
@@ -839,7 +851,7 @@ request.Imagename is null } } /// - /// Advertisement Resizer
+ /// Advertisement Resizer v2
/// Reframes the source creative to the exact requested ad resolution,
/// regenerating the layout so text and key elements stay legible at the
/// target size.
@@ -850,11 +862,17 @@ request.Imagename is null /// space around it is filled in so the returned image is still exactly the
/// requested resolution. Omit `platform` and the advertisement fills the
/// whole frame.
- /// Safe zones are published per aspect ratio, and not every platform
- /// publishes one for every ratio. `google` and `tiktok` publish `16:9`,
- /// `1:1`, and `9:16`; `meta` and `snapchat` publish `9:16` only. A
- /// `platform` combined with a `resolution` that platform has no safe zone
- /// for is rejected with a 400.
+ /// Each platform accepts only the resolutions for which it publishes a
+ /// safe zone:
+ /// | Platform | Accepted resolutions |
+ /// | --- | --- |
+ /// | `google` | `1920x1080`, `3840x2160`, `1080x1080`, `2400x2400`, `2880x2880`, `1080x1920`, `2160x3840` |
+ /// | `tiktok` | `1920x1080`, `3840x2160`, `1080x1080`, `2400x2400`, `2880x2880`, `1080x1920`, `2160x3840` |
+ /// | `meta` | `1080x1920`, `2160x3840` |
+ /// | `snapchat` | `1080x1920`, `2160x3840` |
+ /// A `platform` combined with any other `resolution` is rejected with a
+ /// 400. When `platform` is omitted, every resolution in the request schema
+ /// is accepted.
/// The request is processed asynchronously. Poll
/// `GET /v1/generations/{generation_id}` with the returned `generation_id`
/// until the generation is completed or failed. The completed generation
diff --git a/src/libs/Ideogram/Generated/Ideogram.IEditWorkflowClient.PostAdResizer.g.cs b/src/libs/Ideogram/Generated/Ideogram.IEditWorkflowClient.PostAdResizer.g.cs index 35edbfba..a1d18099 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IEditWorkflowClient.PostAdResizer.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IEditWorkflowClient.PostAdResizer.g.cs @@ -5,7 +5,7 @@ namespace Ideogram public partial interface IEditWorkflowClient { /// - /// Advertisement Resizer
+ /// Advertisement Resizer v2
/// Reframes the source creative to the exact requested ad resolution,
/// regenerating the layout so text and key elements stay legible at the
/// target size.
@@ -16,11 +16,17 @@ public partial interface IEditWorkflowClient /// space around it is filled in so the returned image is still exactly the
/// requested resolution. Omit `platform` and the advertisement fills the
/// whole frame.
- /// Safe zones are published per aspect ratio, and not every platform
- /// publishes one for every ratio. `google` and `tiktok` publish `16:9`,
- /// `1:1`, and `9:16`; `meta` and `snapchat` publish `9:16` only. A
- /// `platform` combined with a `resolution` that platform has no safe zone
- /// for is rejected with a 400.
+ /// Each platform accepts only the resolutions for which it publishes a
+ /// safe zone:
+ /// | Platform | Accepted resolutions |
+ /// | --- | --- |
+ /// | `google` | `1920x1080`, `3840x2160`, `1080x1080`, `2400x2400`, `2880x2880`, `1080x1920`, `2160x3840` |
+ /// | `tiktok` | `1920x1080`, `3840x2160`, `1080x1080`, `2400x2400`, `2880x2880`, `1080x1920`, `2160x3840` |
+ /// | `meta` | `1080x1920`, `2160x3840` |
+ /// | `snapchat` | `1080x1920`, `2160x3840` |
+ /// A `platform` combined with any other `resolution` is rejected with a
+ /// 400. When `platform` is omitted, every resolution in the request schema
+ /// is accepted.
/// The request is processed asynchronously. Poll
/// `GET /v1/generations/{generation_id}` with the returned `generation_id`
/// until the generation is completed or failed. The completed generation
@@ -45,7 +51,7 @@ public partial interface IEditWorkflowClient global::Ideogram.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default); /// - /// Advertisement Resizer
+ /// Advertisement Resizer v2
/// Reframes the source creative to the exact requested ad resolution,
/// regenerating the layout so text and key elements stay legible at the
/// target size.
@@ -56,11 +62,17 @@ public partial interface IEditWorkflowClient /// space around it is filled in so the returned image is still exactly the
/// requested resolution. Omit `platform` and the advertisement fills the
/// whole frame.
- /// Safe zones are published per aspect ratio, and not every platform
- /// publishes one for every ratio. `google` and `tiktok` publish `16:9`,
- /// `1:1`, and `9:16`; `meta` and `snapchat` publish `9:16` only. A
- /// `platform` combined with a `resolution` that platform has no safe zone
- /// for is rejected with a 400.
+ /// Each platform accepts only the resolutions for which it publishes a
+ /// safe zone:
+ /// | Platform | Accepted resolutions |
+ /// | --- | --- |
+ /// | `google` | `1920x1080`, `3840x2160`, `1080x1080`, `2400x2400`, `2880x2880`, `1080x1920`, `2160x3840` |
+ /// | `tiktok` | `1920x1080`, `3840x2160`, `1080x1080`, `2400x2400`, `2880x2880`, `1080x1920`, `2160x3840` |
+ /// | `meta` | `1080x1920`, `2160x3840` |
+ /// | `snapchat` | `1080x1920`, `2160x3840` |
+ /// A `platform` combined with any other `resolution` is rejected with a
+ /// 400. When `platform` is omitted, every resolution in the request schema
+ /// is accepted.
/// The request is processed asynchronously. Poll
/// `GET /v1/generations/{generation_id}` with the returned `generation_id`
/// until the generation is completed or failed. The completed generation
@@ -85,7 +97,7 @@ public partial interface IEditWorkflowClient global::Ideogram.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default); /// - /// Advertisement Resizer
+ /// Advertisement Resizer v2
/// Reframes the source creative to the exact requested ad resolution,
/// regenerating the layout so text and key elements stay legible at the
/// target size.
@@ -96,11 +108,17 @@ public partial interface IEditWorkflowClient /// space around it is filled in so the returned image is still exactly the
/// requested resolution. Omit `platform` and the advertisement fills the
/// whole frame.
- /// Safe zones are published per aspect ratio, and not every platform
- /// publishes one for every ratio. `google` and `tiktok` publish `16:9`,
- /// `1:1`, and `9:16`; `meta` and `snapchat` publish `9:16` only. A
- /// `platform` combined with a `resolution` that platform has no safe zone
- /// for is rejected with a 400.
+ /// Each platform accepts only the resolutions for which it publishes a
+ /// safe zone:
+ /// | Platform | Accepted resolutions |
+ /// | --- | --- |
+ /// | `google` | `1920x1080`, `3840x2160`, `1080x1080`, `2400x2400`, `2880x2880`, `1080x1920`, `2160x3840` |
+ /// | `tiktok` | `1920x1080`, `3840x2160`, `1080x1080`, `2400x2400`, `2880x2880`, `1080x1920`, `2160x3840` |
+ /// | `meta` | `1080x1920`, `2160x3840` |
+ /// | `snapchat` | `1080x1920`, `2160x3840` |
+ /// A `platform` combined with any other `resolution` is rejected with a
+ /// 400. When `platform` is omitted, every resolution in the request schema
+ /// is accepted.
/// The request is processed asynchronously. Poll
/// `GET /v1/generations/{generation_id}` with the returned `generation_id`
/// until the generation is completed or failed. The completed generation
diff --git a/src/libs/Ideogram/Generated/Ideogram.IImagesGenerateClient.PostGenerateImageV2Ideogram45.g.cs b/src/libs/Ideogram/Generated/Ideogram.IImagesGenerateClient.PostGenerateImageV2Ideogram45.g.cs index df7412e5..877955e1 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IImagesGenerateClient.PostGenerateImageV2Ideogram45.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IImagesGenerateClient.PostGenerateImageV2Ideogram45.g.cs @@ -9,7 +9,8 @@ public partial interface IImagesGenerateClient /// Generate one or more images with Ideogram 4.5. Supplying source
/// images turns the request into an image-to-image transform: the model
/// conditions on the sources, the prompt becomes optional guidance, and
- /// `size` may be "auto" to derive the output from the first source.
+ /// `size` may be "source" to keep the first source's own size or "auto"
+ /// to let the server pick the canvas from the sources and the prompt.
/// Provide sources either as `image_asset_identifiers` references or as
/// raw `images` bytes (multipart requests only); if both are supplied,
/// the references win and the bytes are ignored. The `prompt` accepts
@@ -22,7 +23,7 @@ public partial interface IImagesGenerateClient /// prompt verbatim.
/// Ideogram 4.5 renders a fixed set of output sizes. When `size`
/// is omitted, the server picks a supported size automatically based on
- /// the prompt.
+ /// the prompt, and on the source images when there are any.
/// By default the request blocks until the images are ready and returns
/// them in `data`. Set `async` to true to return immediately after the
/// request is accepted, then poll for completion and results with
@@ -50,7 +51,8 @@ public partial interface IImagesGenerateClient /// Generate one or more images with Ideogram 4.5. Supplying source
/// images turns the request into an image-to-image transform: the model
/// conditions on the sources, the prompt becomes optional guidance, and
- /// `size` may be "auto" to derive the output from the first source.
+ /// `size` may be "source" to keep the first source's own size or "auto"
+ /// to let the server pick the canvas from the sources and the prompt.
/// Provide sources either as `image_asset_identifiers` references or as
/// raw `images` bytes (multipart requests only); if both are supplied,
/// the references win and the bytes are ignored. The `prompt` accepts
@@ -63,7 +65,7 @@ public partial interface IImagesGenerateClient /// prompt verbatim.
/// Ideogram 4.5 renders a fixed set of output sizes. When `size`
/// is omitted, the server picks a supported size automatically based on
- /// the prompt.
+ /// the prompt, and on the source images when there are any.
/// By default the request blocks until the images are ready and returns
/// them in `data`. Set `async` to true to return immediately after the
/// request is accepted, then poll for completion and results with
@@ -91,7 +93,8 @@ public partial interface IImagesGenerateClient /// Generate one or more images with Ideogram 4.5. Supplying source
/// images turns the request into an image-to-image transform: the model
/// conditions on the sources, the prompt becomes optional guidance, and
- /// `size` may be "auto" to derive the output from the first source.
+ /// `size` may be "source" to keep the first source's own size or "auto"
+ /// to let the server pick the canvas from the sources and the prompt.
/// Provide sources either as `image_asset_identifiers` references or as
/// raw `images` bytes (multipart requests only); if both are supplied,
/// the references win and the bytes are ignored. The `prompt` accepts
@@ -104,7 +107,7 @@ public partial interface IImagesGenerateClient /// prompt verbatim.
/// Ideogram 4.5 renders a fixed set of output sizes. When `size`
/// is omitted, the server picks a supported size automatically based on
- /// the prompt.
+ /// the prompt, and on the source images when there are any.
/// By default the request blocks until the images are ready and returns
/// them in `data`. Set `async` to true to return immediately after the
/// request is accepted, then poll for completion and results with
@@ -147,27 +150,30 @@ public partial interface IImagesGenerateClient /// An optional mask confining the edit to part of the first source image, as raw bytes (multipart requests only; JPEG, PNG, or WEBP, max 25MB). Black marks the area to edit and white the area to preserve; values in between are rounded to whichever is nearer. The mask must have the same width and height as the first source image, and must contain both black and white areas. Requires source images uploaded as raw `images` bytes; masks cannot be combined with `image_asset_identifiers`. The mask is supplied to the model as an additional reference image, so a masked request may carry at most three other source images. Supplying a mask fixes the output to the first source's own size, so `size` is rejected alongside it. /// /// - /// The output size: "auto" or an exact "WIDTHxHEIGHT".
+ /// The output size: "auto", "source" or an exact "WIDTHxHEIGHT".
/// Without source images, an exact size must be one of the supported
/// 1K/2K presets (for example 1024x1024, 2048x2048 or 1440x2880);
/// "auto" or omitted lets the server pick a supported size based on
- /// the prompt.
- /// With source images, "auto" (the default) returns the output at the
- /// first source image's own width and height. A source too large for
- /// the model is scaled down to fit while keeping its exact proportion,
- /// and a source whose aspect ratio is outside 1:6 to 6:1 is rejected,
- /// because serving it would mean reshaping an image you did not ask to
- /// reshape — name an exact size if that is what you want.
+ /// the prompt. "source" is rejected because there is no source image
+ /// to size from.
+ /// With source images, "auto" (the default) lets the server pick a
+ /// supported 2K size from the source images and the prompt, and
+ /// "source" returns the output at the first source image's own width
+ /// and height. With "source", a source too large for the model is
+ /// scaled down to fit while keeping its exact proportion. Whatever the
+ /// size, every source image's aspect ratio must be between 1:6 and
+ /// 6:1; the model does not accept a reference outside that range.
/// An exact size must have both dimensions multiples of 32 and at least
/// 256px, the total size at most 2048x2048 pixels, and the aspect ratio
/// at most 6:1. Naming one reshapes the source to it.
/// Pricing is tiered by the resolved output pixels: up to 1024x1024
- /// bills as 1K, above that as 2K.
+ /// bills as 1K, above that as 2K. An "auto" size bills as 2K.
+ /// Default Value: auto
/// Example: 2048x2048 /// - /// - /// The rendering speed to use.
- /// Default Value: default + /// + /// The rendering quality to use. Higher quality renders take longer.
+ /// Default Value: high /// /// /// Random seed. Set for reproducible generation.
@@ -213,7 +219,7 @@ public partial interface IImagesGenerateClient byte[]? mask = default, string? maskname = default, string? size = default, - global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed? renderingSpeed = default, + global::Ideogram.GenerateImageIdeogram45RequestQuality? quality = default, int? seed = default, int? numImages = default, bool? enableCopyrightDetection = default, diff --git a/src/libs/Ideogram/Generated/Ideogram.IImagesPreciseEditClient.PostPreciseEditImageV2Ideogram45.g.cs b/src/libs/Ideogram/Generated/Ideogram.IImagesPreciseEditClient.PostPreciseEditImageV2Ideogram45.g.cs index 227281ee..cdfc8415 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IImagesPreciseEditClient.PostPreciseEditImageV2Ideogram45.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IImagesPreciseEditClient.PostPreciseEditImageV2Ideogram45.g.cs @@ -14,6 +14,10 @@ public partial interface IImagesPreciseEditClient /// `POST /v2/image/generate/ideogram-4-5`, this endpoint takes no `size`:
/// the output always matches the image being edited, so the edit drops
/// back into whatever it came from without reframing.
+ /// Pixels the edit did not meaningfully change are restored exactly from
+ /// the image being edited, with the edited region blended smoothly into
+ /// its surroundings — untouched areas stay identical across repeated
+ /// edits.
/// Supply the image to edit as an `image_asset_identifier` reference or as
/// raw `image` bytes (multipart requests only); if both are supplied, the
/// reference wins and the bytes are ignored. Add up to four more images
@@ -60,6 +64,10 @@ public partial interface IImagesPreciseEditClient /// `POST /v2/image/generate/ideogram-4-5`, this endpoint takes no `size`:
/// the output always matches the image being edited, so the edit drops
/// back into whatever it came from without reframing.
+ /// Pixels the edit did not meaningfully change are restored exactly from
+ /// the image being edited, with the edited region blended smoothly into
+ /// its surroundings — untouched areas stay identical across repeated
+ /// edits.
/// Supply the image to edit as an `image_asset_identifier` reference or as
/// raw `image` bytes (multipart requests only); if both are supplied, the
/// reference wins and the bytes are ignored. Add up to four more images
@@ -106,6 +114,10 @@ public partial interface IImagesPreciseEditClient /// `POST /v2/image/generate/ideogram-4-5`, this endpoint takes no `size`:
/// the output always matches the image being edited, so the edit drops
/// back into whatever it came from without reframing.
+ /// Pixels the edit did not meaningfully change are restored exactly from
+ /// the image being edited, with the edited region blended smoothly into
+ /// its surroundings — untouched areas stay identical across repeated
+ /// edits.
/// Supply the image to edit as an `image_asset_identifier` reference or as
/// raw `image` bytes (multipart requests only); if both are supplied, the
/// reference wins and the bytes are ignored. Add up to four more images
@@ -160,9 +172,9 @@ public partial interface IImagesPreciseEditClient /// /// An optional mask confining the edit to part of `image`, as raw bytes (multipart requests only; JPEG, PNG, or WEBP, max 25MB). Black marks the area to edit and white the area to preserve; values in between are rounded to whichever is nearer. The mask must have the same width and height as `image`, and must contain both black and white areas. Requires the image being edited to be uploaded as raw `image` bytes in the same request; masks cannot be combined with asset references. The mask is supplied to the model as an additional reference image, so a masked request may carry at most three `reference_images`. /// - /// - /// The rendering speed to use. `ultra` renders multiple candidate edits internally and returns the one that best applies the instruction; it takes longer than `quality`, is priced higher, and supports at most 4 images per request.
- /// Default Value: default + /// + /// The rendering quality to use. `very_high` renders multiple candidate edits internally and returns the one that best applies the instruction; it takes longer than `high`, is priced higher, and supports at most 4 images per request.
+ /// Default Value: high /// /// /// Random seed. Set for reproducible generation.
@@ -209,7 +221,7 @@ public partial interface IImagesPreciseEditClient global::System.Collections.Generic.IList? referenceImages = default, byte[]? mask = default, string? maskname = default, - global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed? renderingSpeed = default, + global::Ideogram.PreciseEditImageIdeogram45RequestQuality? quality = default, int? seed = default, int? numImages = default, bool? enableCopyrightDetection = default, diff --git a/src/libs/Ideogram/Generated/Ideogram.ImagesGenerate.JsonSerializerContext.g.cs b/src/libs/Ideogram/Generated/Ideogram.ImagesGenerate.JsonSerializerContext.g.cs index 1ad3246a..7e4cfcad 100644 --- a/src/libs/Ideogram/Generated/Ideogram.ImagesGenerate.JsonSerializerContext.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.ImagesGenerate.JsonSerializerContext.g.cs @@ -70,7 +70,7 @@ namespace Ideogram [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageZImageRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageIdeogram45Response))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageIdeogram45Request))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed), TypeInfoPropertyName = "GenerateImageIdeogram45RequestRenderingSpeed2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageIdeogram45RequestQuality), TypeInfoPropertyName = "GenerateImageIdeogram45RequestQuality2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBanana2Response))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBanana2Request))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBanana2RequestResolutionTier), TypeInfoPropertyName = "GenerateImageNanoBanana2RequestResolutionTier2")] @@ -127,7 +127,7 @@ namespace Ideogram [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageIdeogramV4TransparentRequestRenderingSpeed?), TypeInfoPropertyName = "NullableGenerateImageIdeogramV4TransparentRequestRenderingSpeed2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerationQuality?), TypeInfoPropertyName = "NullableGenerationQuality2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImagePImageIdeogramRequestResolution?), TypeInfoPropertyName = "NullableGenerateImagePImageIdeogramRequestResolution2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed?), TypeInfoPropertyName = "NullableGenerateImageIdeogram45RequestRenderingSpeed2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageIdeogram45RequestQuality?), TypeInfoPropertyName = "NullableGenerateImageIdeogram45RequestQuality2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBanana2RequestResolutionTier?), TypeInfoPropertyName = "NullableGenerateImageNanoBanana2RequestResolutionTier2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBananaProRequestResolutionTier?), TypeInfoPropertyName = "NullableGenerateImageNanoBananaProRequestResolutionTier2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageGptImage25FlareRequestBackground?), TypeInfoPropertyName = "NullableGenerateImageGptImage25FlareRequestBackground2")] @@ -254,9 +254,9 @@ public override bool CanConvert(global::System.Type typeToConvert) || typeToConvert == typeof(global::Ideogram.GenerateImagePImageIdeogramRequestResolution?) - || typeToConvert == typeof(global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed) + || typeToConvert == typeof(global::Ideogram.GenerateImageIdeogram45RequestQuality) - || typeToConvert == typeof(global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed?) + || typeToConvert == typeof(global::Ideogram.GenerateImageIdeogram45RequestQuality?) || typeToConvert == typeof(global::Ideogram.GenerateImageNanoBanana2RequestResolutionTier) @@ -451,14 +451,14 @@ public override bool CanConvert(global::System.Type typeToConvert) return new global::Ideogram.JsonConverters.GenerateImagePImageIdeogramRequestResolutionNullableJsonConverter(); } - if (typeToConvert == typeof(global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed)) + if (typeToConvert == typeof(global::Ideogram.GenerateImageIdeogram45RequestQuality)) { - return new global::Ideogram.JsonConverters.GenerateImageIdeogram45RequestRenderingSpeedJsonConverter(); + return new global::Ideogram.JsonConverters.GenerateImageIdeogram45RequestQualityJsonConverter(); } - if (typeToConvert == typeof(global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed?)) + if (typeToConvert == typeof(global::Ideogram.GenerateImageIdeogram45RequestQuality?)) { - return new global::Ideogram.JsonConverters.GenerateImageIdeogram45RequestRenderingSpeedNullableJsonConverter(); + return new global::Ideogram.JsonConverters.GenerateImageIdeogram45RequestQualityNullableJsonConverter(); } if (typeToConvert == typeof(global::Ideogram.GenerateImageNanoBanana2RequestResolutionTier)) diff --git a/src/libs/Ideogram/Generated/Ideogram.ImagesGenerateClient.PostGenerateImageV2Ideogram45.g.cs b/src/libs/Ideogram/Generated/Ideogram.ImagesGenerateClient.PostGenerateImageV2Ideogram45.g.cs index f715c64b..9f7f9cbc 100644 --- a/src/libs/Ideogram/Generated/Ideogram.ImagesGenerateClient.PostGenerateImageV2Ideogram45.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.ImagesGenerateClient.PostGenerateImageV2Ideogram45.g.cs @@ -48,7 +48,8 @@ partial void ProcessPostGenerateImageV2Ideogram45ResponseContent( /// Generate one or more images with Ideogram 4.5. Supplying source
/// images turns the request into an image-to-image transform: the model
/// conditions on the sources, the prompt becomes optional guidance, and
- /// `size` may be "auto" to derive the output from the first source.
+ /// `size` may be "source" to keep the first source's own size or "auto"
+ /// to let the server pick the canvas from the sources and the prompt.
/// Provide sources either as `image_asset_identifiers` references or as
/// raw `images` bytes (multipart requests only); if both are supplied,
/// the references win and the bytes are ignored. The `prompt` accepts
@@ -61,7 +62,7 @@ partial void ProcessPostGenerateImageV2Ideogram45ResponseContent( /// prompt verbatim.
/// Ideogram 4.5 renders a fixed set of output sizes. When `size`
/// is omitted, the server picks a supported size automatically based on
- /// the prompt.
+ /// the prompt, and on the source images when there are any.
/// By default the request blocks until the images are ready and returns
/// them in `data`. Set `async` to true to return immediately after the
/// request is accepted, then poll for completion and results with
@@ -100,7 +101,8 @@ partial void ProcessPostGenerateImageV2Ideogram45ResponseContent( /// Generate one or more images with Ideogram 4.5. Supplying source
/// images turns the request into an image-to-image transform: the model
/// conditions on the sources, the prompt becomes optional guidance, and
- /// `size` may be "auto" to derive the output from the first source.
+ /// `size` may be "source" to keep the first source's own size or "auto"
+ /// to let the server pick the canvas from the sources and the prompt.
/// Provide sources either as `image_asset_identifiers` references or as
/// raw `images` bytes (multipart requests only); if both are supplied,
/// the references win and the bytes are ignored. The `prompt` accepts
@@ -113,7 +115,7 @@ partial void ProcessPostGenerateImageV2Ideogram45ResponseContent( /// prompt verbatim.
/// Ideogram 4.5 renders a fixed set of output sizes. When `size`
/// is omitted, the server picks a supported size automatically based on
- /// the prompt.
+ /// the prompt, and on the source images when there are any.
/// By default the request blocks until the images are ready and returns
/// them in `data`. Set `async` to true to return immediately after the
/// request is accepted, then poll for completion and results with
@@ -294,12 +296,12 @@ request.Maskname is null name: "\"size\""); } - if (request.RenderingSpeed != default) + if (request.Quality != default) { __httpRequestContent.Add( - content: new global::System.Net.Http.StringContent((request.RenderingSpeed).HasValue ? (request.RenderingSpeed).GetValueOrDefault().ToValueString() : string.Empty), - name: "\"rendering_speed\""); + content: new global::System.Net.Http.StringContent((request.Quality).HasValue ? (request.Quality).GetValueOrDefault().ToValueString() : string.Empty), + name: "\"quality\""); } if (request.Seed != default) @@ -887,7 +889,8 @@ request.Maskname is null /// Generate one or more images with Ideogram 4.5. Supplying source
/// images turns the request into an image-to-image transform: the model
/// conditions on the sources, the prompt becomes optional guidance, and
- /// `size` may be "auto" to derive the output from the first source.
+ /// `size` may be "source" to keep the first source's own size or "auto"
+ /// to let the server pick the canvas from the sources and the prompt.
/// Provide sources either as `image_asset_identifiers` references or as
/// raw `images` bytes (multipart requests only); if both are supplied,
/// the references win and the bytes are ignored. The `prompt` accepts
@@ -900,7 +903,7 @@ request.Maskname is null /// prompt verbatim.
/// Ideogram 4.5 renders a fixed set of output sizes. When `size`
/// is omitted, the server picks a supported size automatically based on
- /// the prompt.
+ /// the prompt, and on the source images when there are any.
/// By default the request blocks until the images are ready and returns
/// them in `data`. Set `async` to true to return immediately after the
/// request is accepted, then poll for completion and results with
@@ -943,27 +946,30 @@ request.Maskname is null /// An optional mask confining the edit to part of the first source image, as raw bytes (multipart requests only; JPEG, PNG, or WEBP, max 25MB). Black marks the area to edit and white the area to preserve; values in between are rounded to whichever is nearer. The mask must have the same width and height as the first source image, and must contain both black and white areas. Requires source images uploaded as raw `images` bytes; masks cannot be combined with `image_asset_identifiers`. The mask is supplied to the model as an additional reference image, so a masked request may carry at most three other source images. Supplying a mask fixes the output to the first source's own size, so `size` is rejected alongside it. /// /// - /// The output size: "auto" or an exact "WIDTHxHEIGHT".
+ /// The output size: "auto", "source" or an exact "WIDTHxHEIGHT".
/// Without source images, an exact size must be one of the supported
/// 1K/2K presets (for example 1024x1024, 2048x2048 or 1440x2880);
/// "auto" or omitted lets the server pick a supported size based on
- /// the prompt.
- /// With source images, "auto" (the default) returns the output at the
- /// first source image's own width and height. A source too large for
- /// the model is scaled down to fit while keeping its exact proportion,
- /// and a source whose aspect ratio is outside 1:6 to 6:1 is rejected,
- /// because serving it would mean reshaping an image you did not ask to
- /// reshape — name an exact size if that is what you want.
+ /// the prompt. "source" is rejected because there is no source image
+ /// to size from.
+ /// With source images, "auto" (the default) lets the server pick a
+ /// supported 2K size from the source images and the prompt, and
+ /// "source" returns the output at the first source image's own width
+ /// and height. With "source", a source too large for the model is
+ /// scaled down to fit while keeping its exact proportion. Whatever the
+ /// size, every source image's aspect ratio must be between 1:6 and
+ /// 6:1; the model does not accept a reference outside that range.
/// An exact size must have both dimensions multiples of 32 and at least
/// 256px, the total size at most 2048x2048 pixels, and the aspect ratio
/// at most 6:1. Naming one reshapes the source to it.
/// Pricing is tiered by the resolved output pixels: up to 1024x1024
- /// bills as 1K, above that as 2K.
+ /// bills as 1K, above that as 2K. An "auto" size bills as 2K.
+ /// Default Value: auto
/// Example: 2048x2048 /// - /// - /// The rendering speed to use.
- /// Default Value: default + /// + /// The rendering quality to use. Higher quality renders take longer.
+ /// Default Value: high /// /// /// Random seed. Set for reproducible generation.
@@ -1009,7 +1015,7 @@ request.Maskname is null byte[]? mask = default, string? maskname = default, string? size = default, - global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed? renderingSpeed = default, + global::Ideogram.GenerateImageIdeogram45RequestQuality? quality = default, int? seed = default, int? numImages = default, bool? enableCopyrightDetection = default, @@ -1029,7 +1035,7 @@ request.Maskname is null Mask = mask, Maskname = maskname, Size = size, - RenderingSpeed = renderingSpeed, + Quality = quality, Seed = seed, NumImages = numImages, EnableCopyrightDetection = enableCopyrightDetection, diff --git a/src/libs/Ideogram/Generated/Ideogram.ImagesPreciseEdit.JsonSerializerContext.g.cs b/src/libs/Ideogram/Generated/Ideogram.ImagesPreciseEdit.JsonSerializerContext.g.cs index 48849cbe..9ec88a3a 100644 --- a/src/libs/Ideogram/Generated/Ideogram.ImagesPreciseEdit.JsonSerializerContext.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.ImagesPreciseEdit.JsonSerializerContext.g.cs @@ -31,12 +31,12 @@ namespace Ideogram [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GeneratedImageObject))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.PreciseEditImageIdeogram45Response))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.PreciseEditImageIdeogram45Request))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed), TypeInfoPropertyName = "PreciseEditImageIdeogram45RequestRenderingSpeed2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.PreciseEditImageIdeogram45RequestQuality), TypeInfoPropertyName = "PreciseEditImageIdeogram45RequestQuality2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.AssetType), TypeInfoPropertyName = "AssetType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(int?))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool?))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerationRejectReason?), TypeInfoPropertyName = "NullableGenerationRejectReason2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed?), TypeInfoPropertyName = "NullablePreciseEditImageIdeogram45RequestRenderingSpeed2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.PreciseEditImageIdeogram45RequestQuality?), TypeInfoPropertyName = "NullablePreciseEditImageIdeogram45RequestQuality2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.AssetType?), TypeInfoPropertyName = "NullableAssetType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] @@ -111,9 +111,9 @@ public override bool CanConvert(global::System.Type typeToConvert) || typeToConvert == typeof(global::Ideogram.GenerationRejectReason?) - || typeToConvert == typeof(global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed) + || typeToConvert == typeof(global::Ideogram.PreciseEditImageIdeogram45RequestQuality) - || typeToConvert == typeof(global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed?) + || typeToConvert == typeof(global::Ideogram.PreciseEditImageIdeogram45RequestQuality?) || typeToConvert == typeof(global::Ideogram.AssetType) @@ -134,14 +134,14 @@ public override bool CanConvert(global::System.Type typeToConvert) return new global::Ideogram.JsonConverters.GenerationRejectReasonNullableJsonConverter(); } - if (typeToConvert == typeof(global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed)) + if (typeToConvert == typeof(global::Ideogram.PreciseEditImageIdeogram45RequestQuality)) { - return new global::Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestRenderingSpeedJsonConverter(); + return new global::Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestQualityJsonConverter(); } - if (typeToConvert == typeof(global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed?)) + if (typeToConvert == typeof(global::Ideogram.PreciseEditImageIdeogram45RequestQuality?)) { - return new global::Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestRenderingSpeedNullableJsonConverter(); + return new global::Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestQualityNullableJsonConverter(); } if (typeToConvert == typeof(global::Ideogram.AssetType)) diff --git a/src/libs/Ideogram/Generated/Ideogram.ImagesPreciseEditClient.PostPreciseEditImageV2Ideogram45.g.cs b/src/libs/Ideogram/Generated/Ideogram.ImagesPreciseEditClient.PostPreciseEditImageV2Ideogram45.g.cs index 9c8dceba..a56b7b74 100644 --- a/src/libs/Ideogram/Generated/Ideogram.ImagesPreciseEditClient.PostPreciseEditImageV2Ideogram45.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.ImagesPreciseEditClient.PostPreciseEditImageV2Ideogram45.g.cs @@ -53,6 +53,10 @@ partial void ProcessPostPreciseEditImageV2Ideogram45ResponseContent( /// `POST /v2/image/generate/ideogram-4-5`, this endpoint takes no `size`:
/// the output always matches the image being edited, so the edit drops
/// back into whatever it came from without reframing.
+ /// Pixels the edit did not meaningfully change are restored exactly from
+ /// the image being edited, with the edited region blended smoothly into
+ /// its surroundings — untouched areas stay identical across repeated
+ /// edits.
/// Supply the image to edit as an `image_asset_identifier` reference or as
/// raw `image` bytes (multipart requests only); if both are supplied, the
/// reference wins and the bytes are ignored. Add up to four more images
@@ -110,6 +114,10 @@ partial void ProcessPostPreciseEditImageV2Ideogram45ResponseContent( /// `POST /v2/image/generate/ideogram-4-5`, this endpoint takes no `size`:
/// the output always matches the image being edited, so the edit drops
/// back into whatever it came from without reframing.
+ /// Pixels the edit did not meaningfully change are restored exactly from
+ /// the image being edited, with the edited region blended smoothly into
+ /// its surroundings — untouched areas stay identical across repeated
+ /// edits.
/// Supply the image to edit as an `image_asset_identifier` reference or as
/// raw `image` bytes (multipart requests only); if both are supplied, the
/// reference wins and the bytes are ignored. Add up to four more images
@@ -338,12 +346,12 @@ request.Maskname is null } } - if (request.RenderingSpeed != default) + if (request.Quality != default) { __httpRequestContent.Add( - content: new global::System.Net.Http.StringContent((request.RenderingSpeed).HasValue ? (request.RenderingSpeed).GetValueOrDefault().ToValueString() : string.Empty), - name: "\"rendering_speed\""); + content: new global::System.Net.Http.StringContent((request.Quality).HasValue ? (request.Quality).GetValueOrDefault().ToValueString() : string.Empty), + name: "\"quality\""); } if (request.Seed != default) @@ -936,6 +944,10 @@ request.Maskname is null /// `POST /v2/image/generate/ideogram-4-5`, this endpoint takes no `size`:
/// the output always matches the image being edited, so the edit drops
/// back into whatever it came from without reframing.
+ /// Pixels the edit did not meaningfully change are restored exactly from
+ /// the image being edited, with the edited region blended smoothly into
+ /// its surroundings — untouched areas stay identical across repeated
+ /// edits.
/// Supply the image to edit as an `image_asset_identifier` reference or as
/// raw `image` bytes (multipart requests only); if both are supplied, the
/// reference wins and the bytes are ignored. Add up to four more images
@@ -990,9 +1002,9 @@ request.Maskname is null /// /// An optional mask confining the edit to part of `image`, as raw bytes (multipart requests only; JPEG, PNG, or WEBP, max 25MB). Black marks the area to edit and white the area to preserve; values in between are rounded to whichever is nearer. The mask must have the same width and height as `image`, and must contain both black and white areas. Requires the image being edited to be uploaded as raw `image` bytes in the same request; masks cannot be combined with asset references. The mask is supplied to the model as an additional reference image, so a masked request may carry at most three `reference_images`. /// - /// - /// The rendering speed to use. `ultra` renders multiple candidate edits internally and returns the one that best applies the instruction; it takes longer than `quality`, is priced higher, and supports at most 4 images per request.
- /// Default Value: default + /// + /// The rendering quality to use. `very_high` renders multiple candidate edits internally and returns the one that best applies the instruction; it takes longer than `high`, is priced higher, and supports at most 4 images per request.
+ /// Default Value: high /// /// /// Random seed. Set for reproducible generation.
@@ -1039,7 +1051,7 @@ request.Maskname is null global::System.Collections.Generic.IList? referenceImages = default, byte[]? mask = default, string? maskname = default, - global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed? renderingSpeed = default, + global::Ideogram.PreciseEditImageIdeogram45RequestQuality? quality = default, int? seed = default, int? numImages = default, bool? enableCopyrightDetection = default, @@ -1060,7 +1072,7 @@ request.Maskname is null ReferenceImages = referenceImages, Mask = mask, Maskname = maskname, - RenderingSpeed = renderingSpeed, + Quality = quality, Seed = seed, NumImages = numImages, EnableCopyrightDetection = enableCopyrightDetection, diff --git a/src/libs/Ideogram/Generated/Ideogram.JsonConverters.GenerateImageIdeogram45RequestRenderingSpeed.g.cs b/src/libs/Ideogram/Generated/Ideogram.JsonConverters.GenerateImageIdeogram45RequestQuality.g.cs similarity index 76% rename from src/libs/Ideogram/Generated/Ideogram.JsonConverters.GenerateImageIdeogram45RequestRenderingSpeed.g.cs rename to src/libs/Ideogram/Generated/Ideogram.JsonConverters.GenerateImageIdeogram45RequestQuality.g.cs index 71d88a25..c9b97040 100644 --- a/src/libs/Ideogram/Generated/Ideogram.JsonConverters.GenerateImageIdeogram45RequestRenderingSpeed.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.JsonConverters.GenerateImageIdeogram45RequestQuality.g.cs @@ -3,10 +3,10 @@ namespace Ideogram.JsonConverters { /// - public sealed class GenerateImageIdeogram45RequestRenderingSpeedJsonConverter : global::System.Text.Json.Serialization.JsonConverter + public sealed class GenerateImageIdeogram45RequestQualityJsonConverter : global::System.Text.Json.Serialization.JsonConverter { /// - public override global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed Read( + public override global::Ideogram.GenerateImageIdeogram45RequestQuality Read( ref global::System.Text.Json.Utf8JsonReader reader, global::System.Type typeToConvert, global::System.Text.Json.JsonSerializerOptions options) @@ -18,7 +18,7 @@ public sealed class GenerateImageIdeogram45RequestRenderingSpeedJsonConverter : var stringValue = reader.GetString(); if (stringValue != null) { - return global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeedExtensions.ToEnum(stringValue) ?? default; + return global::Ideogram.GenerateImageIdeogram45RequestQualityExtensions.ToEnum(stringValue) ?? default; } break; @@ -26,11 +26,11 @@ public sealed class GenerateImageIdeogram45RequestRenderingSpeedJsonConverter : case global::System.Text.Json.JsonTokenType.Number: { var numValue = reader.GetInt32(); - return (global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed)numValue; + return (global::Ideogram.GenerateImageIdeogram45RequestQuality)numValue; } case global::System.Text.Json.JsonTokenType.Null: { - return default(global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed); + return default(global::Ideogram.GenerateImageIdeogram45RequestQuality); } default: throw new global::System.ArgumentOutOfRangeException(nameof(reader)); @@ -42,12 +42,12 @@ public sealed class GenerateImageIdeogram45RequestRenderingSpeedJsonConverter : /// public override void Write( global::System.Text.Json.Utf8JsonWriter writer, - global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed value, + global::Ideogram.GenerateImageIdeogram45RequestQuality value, global::System.Text.Json.JsonSerializerOptions options) { writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); - writer.WriteStringValue(global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeedExtensions.ToValueString(value)); + writer.WriteStringValue(global::Ideogram.GenerateImageIdeogram45RequestQualityExtensions.ToValueString(value)); } } } diff --git a/src/libs/Ideogram/Generated/Ideogram.JsonConverters.GenerateImageIdeogram45RequestRenderingSpeedNullable.g.cs b/src/libs/Ideogram/Generated/Ideogram.JsonConverters.GenerateImageIdeogram45RequestQualityNullable.g.cs similarity index 77% rename from src/libs/Ideogram/Generated/Ideogram.JsonConverters.GenerateImageIdeogram45RequestRenderingSpeedNullable.g.cs rename to src/libs/Ideogram/Generated/Ideogram.JsonConverters.GenerateImageIdeogram45RequestQualityNullable.g.cs index 6e41758d..92bdc0fe 100644 --- a/src/libs/Ideogram/Generated/Ideogram.JsonConverters.GenerateImageIdeogram45RequestRenderingSpeedNullable.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.JsonConverters.GenerateImageIdeogram45RequestQualityNullable.g.cs @@ -3,10 +3,10 @@ namespace Ideogram.JsonConverters { /// - public sealed class GenerateImageIdeogram45RequestRenderingSpeedNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + public sealed class GenerateImageIdeogram45RequestQualityNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter { /// - public override global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed? Read( + public override global::Ideogram.GenerateImageIdeogram45RequestQuality? Read( ref global::System.Text.Json.Utf8JsonReader reader, global::System.Type typeToConvert, global::System.Text.Json.JsonSerializerOptions options) @@ -18,7 +18,7 @@ public sealed class GenerateImageIdeogram45RequestRenderingSpeedNullableJsonConv var stringValue = reader.GetString(); if (stringValue != null) { - return global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeedExtensions.ToEnum(stringValue); + return global::Ideogram.GenerateImageIdeogram45RequestQualityExtensions.ToEnum(stringValue); } break; @@ -26,11 +26,11 @@ public sealed class GenerateImageIdeogram45RequestRenderingSpeedNullableJsonConv case global::System.Text.Json.JsonTokenType.Number: { var numValue = reader.GetInt32(); - return (global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed)numValue; + return (global::Ideogram.GenerateImageIdeogram45RequestQuality)numValue; } case global::System.Text.Json.JsonTokenType.Null: { - return default(global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed?); + return default(global::Ideogram.GenerateImageIdeogram45RequestQuality?); } default: throw new global::System.ArgumentOutOfRangeException(nameof(reader)); @@ -42,7 +42,7 @@ public sealed class GenerateImageIdeogram45RequestRenderingSpeedNullableJsonConv /// public override void Write( global::System.Text.Json.Utf8JsonWriter writer, - global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed? value, + global::Ideogram.GenerateImageIdeogram45RequestQuality? value, global::System.Text.Json.JsonSerializerOptions options) { writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); @@ -53,7 +53,7 @@ public override void Write( } else { - writer.WriteStringValue(global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeedExtensions.ToValueString(value.Value)); + writer.WriteStringValue(global::Ideogram.GenerateImageIdeogram45RequestQualityExtensions.ToValueString(value.Value)); } } } diff --git a/src/libs/Ideogram/Generated/Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestRenderingSpeed.g.cs b/src/libs/Ideogram/Generated/Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestQuality.g.cs similarity index 75% rename from src/libs/Ideogram/Generated/Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestRenderingSpeed.g.cs rename to src/libs/Ideogram/Generated/Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestQuality.g.cs index 1bd3d5d2..1114dd69 100644 --- a/src/libs/Ideogram/Generated/Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestRenderingSpeed.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestQuality.g.cs @@ -3,10 +3,10 @@ namespace Ideogram.JsonConverters { /// - public sealed class PreciseEditImageIdeogram45RequestRenderingSpeedJsonConverter : global::System.Text.Json.Serialization.JsonConverter + public sealed class PreciseEditImageIdeogram45RequestQualityJsonConverter : global::System.Text.Json.Serialization.JsonConverter { /// - public override global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed Read( + public override global::Ideogram.PreciseEditImageIdeogram45RequestQuality Read( ref global::System.Text.Json.Utf8JsonReader reader, global::System.Type typeToConvert, global::System.Text.Json.JsonSerializerOptions options) @@ -18,7 +18,7 @@ public sealed class PreciseEditImageIdeogram45RequestRenderingSpeedJsonConverter var stringValue = reader.GetString(); if (stringValue != null) { - return global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeedExtensions.ToEnum(stringValue) ?? default; + return global::Ideogram.PreciseEditImageIdeogram45RequestQualityExtensions.ToEnum(stringValue) ?? default; } break; @@ -26,11 +26,11 @@ public sealed class PreciseEditImageIdeogram45RequestRenderingSpeedJsonConverter case global::System.Text.Json.JsonTokenType.Number: { var numValue = reader.GetInt32(); - return (global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed)numValue; + return (global::Ideogram.PreciseEditImageIdeogram45RequestQuality)numValue; } case global::System.Text.Json.JsonTokenType.Null: { - return default(global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed); + return default(global::Ideogram.PreciseEditImageIdeogram45RequestQuality); } default: throw new global::System.ArgumentOutOfRangeException(nameof(reader)); @@ -42,12 +42,12 @@ public sealed class PreciseEditImageIdeogram45RequestRenderingSpeedJsonConverter /// public override void Write( global::System.Text.Json.Utf8JsonWriter writer, - global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed value, + global::Ideogram.PreciseEditImageIdeogram45RequestQuality value, global::System.Text.Json.JsonSerializerOptions options) { writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); - writer.WriteStringValue(global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeedExtensions.ToValueString(value)); + writer.WriteStringValue(global::Ideogram.PreciseEditImageIdeogram45RequestQualityExtensions.ToValueString(value)); } } } diff --git a/src/libs/Ideogram/Generated/Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestRenderingSpeedNullable.g.cs b/src/libs/Ideogram/Generated/Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestQualityNullable.g.cs similarity index 76% rename from src/libs/Ideogram/Generated/Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestRenderingSpeedNullable.g.cs rename to src/libs/Ideogram/Generated/Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestQualityNullable.g.cs index 36b7463c..58dbf7a7 100644 --- a/src/libs/Ideogram/Generated/Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestRenderingSpeedNullable.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestQualityNullable.g.cs @@ -3,10 +3,10 @@ namespace Ideogram.JsonConverters { /// - public sealed class PreciseEditImageIdeogram45RequestRenderingSpeedNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + public sealed class PreciseEditImageIdeogram45RequestQualityNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter { /// - public override global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed? Read( + public override global::Ideogram.PreciseEditImageIdeogram45RequestQuality? Read( ref global::System.Text.Json.Utf8JsonReader reader, global::System.Type typeToConvert, global::System.Text.Json.JsonSerializerOptions options) @@ -18,7 +18,7 @@ public sealed class PreciseEditImageIdeogram45RequestRenderingSpeedNullableJsonC var stringValue = reader.GetString(); if (stringValue != null) { - return global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeedExtensions.ToEnum(stringValue); + return global::Ideogram.PreciseEditImageIdeogram45RequestQualityExtensions.ToEnum(stringValue); } break; @@ -26,11 +26,11 @@ public sealed class PreciseEditImageIdeogram45RequestRenderingSpeedNullableJsonC case global::System.Text.Json.JsonTokenType.Number: { var numValue = reader.GetInt32(); - return (global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed)numValue; + return (global::Ideogram.PreciseEditImageIdeogram45RequestQuality)numValue; } case global::System.Text.Json.JsonTokenType.Null: { - return default(global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed?); + return default(global::Ideogram.PreciseEditImageIdeogram45RequestQuality?); } default: throw new global::System.ArgumentOutOfRangeException(nameof(reader)); @@ -42,7 +42,7 @@ public sealed class PreciseEditImageIdeogram45RequestRenderingSpeedNullableJsonC /// public override void Write( global::System.Text.Json.Utf8JsonWriter writer, - global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed? value, + global::Ideogram.PreciseEditImageIdeogram45RequestQuality? value, global::System.Text.Json.JsonSerializerOptions options) { writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); @@ -53,7 +53,7 @@ public override void Write( } else { - writer.WriteStringValue(global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeedExtensions.ToValueString(value.Value)); + writer.WriteStringValue(global::Ideogram.PreciseEditImageIdeogram45RequestQualityExtensions.ToValueString(value.Value)); } } } diff --git a/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContext.g.cs b/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContext.g.cs index 237b3e23..55095824 100644 --- a/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContext.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContext.g.cs @@ -407,10 +407,10 @@ namespace Ideogram [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageZImageRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageIdeogram45Response))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageIdeogram45Request))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed), TypeInfoPropertyName = "GenerateImageIdeogram45RequestRenderingSpeed2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageIdeogram45RequestQuality), TypeInfoPropertyName = "GenerateImageIdeogram45RequestQuality2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.PreciseEditImageIdeogram45Response))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.PreciseEditImageIdeogram45Request))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed), TypeInfoPropertyName = "PreciseEditImageIdeogram45RequestRenderingSpeed2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.PreciseEditImageIdeogram45RequestQuality), TypeInfoPropertyName = "PreciseEditImageIdeogram45RequestQuality2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBanana2Response))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBanana2Request))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBanana2RequestResolutionTier), TypeInfoPropertyName = "GenerateImageNanoBanana2RequestResolutionTier2")] @@ -780,8 +780,8 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageIdeogramV4TransparentRequestRenderingSpeed?), TypeInfoPropertyName = "NullableGenerateImageIdeogramV4TransparentRequestRenderingSpeed2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerationQuality?), TypeInfoPropertyName = "NullableGenerationQuality2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImagePImageIdeogramRequestResolution?), TypeInfoPropertyName = "NullableGenerateImagePImageIdeogramRequestResolution2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed?), TypeInfoPropertyName = "NullableGenerateImageIdeogram45RequestRenderingSpeed2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed?), TypeInfoPropertyName = "NullablePreciseEditImageIdeogram45RequestRenderingSpeed2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageIdeogram45RequestQuality?), TypeInfoPropertyName = "NullableGenerateImageIdeogram45RequestQuality2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.PreciseEditImageIdeogram45RequestQuality?), TypeInfoPropertyName = "NullablePreciseEditImageIdeogram45RequestQuality2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBanana2RequestResolutionTier?), TypeInfoPropertyName = "NullableGenerateImageNanoBanana2RequestResolutionTier2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBananaProRequestResolutionTier?), TypeInfoPropertyName = "NullableGenerateImageNanoBananaProRequestResolutionTier2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageGptImage25FlareRequestBackground?), TypeInfoPropertyName = "NullableGenerateImageGptImage25FlareRequestBackground2")] @@ -1341,13 +1341,13 @@ public override bool CanConvert(global::System.Type typeToConvert) || typeToConvert == typeof(global::Ideogram.GenerateImagePImageIdeogramRequestResolution?) - || typeToConvert == typeof(global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed) + || typeToConvert == typeof(global::Ideogram.GenerateImageIdeogram45RequestQuality) - || typeToConvert == typeof(global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed?) + || typeToConvert == typeof(global::Ideogram.GenerateImageIdeogram45RequestQuality?) - || typeToConvert == typeof(global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed) + || typeToConvert == typeof(global::Ideogram.PreciseEditImageIdeogram45RequestQuality) - || typeToConvert == typeof(global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed?) + || typeToConvert == typeof(global::Ideogram.PreciseEditImageIdeogram45RequestQuality?) || typeToConvert == typeof(global::Ideogram.GenerateImageNanoBanana2RequestResolutionTier) @@ -2616,24 +2616,24 @@ public override bool CanConvert(global::System.Type typeToConvert) return new global::Ideogram.JsonConverters.GenerateImagePImageIdeogramRequestResolutionNullableJsonConverter(); } - if (typeToConvert == typeof(global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed)) + if (typeToConvert == typeof(global::Ideogram.GenerateImageIdeogram45RequestQuality)) { - return new global::Ideogram.JsonConverters.GenerateImageIdeogram45RequestRenderingSpeedJsonConverter(); + return new global::Ideogram.JsonConverters.GenerateImageIdeogram45RequestQualityJsonConverter(); } - if (typeToConvert == typeof(global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed?)) + if (typeToConvert == typeof(global::Ideogram.GenerateImageIdeogram45RequestQuality?)) { - return new global::Ideogram.JsonConverters.GenerateImageIdeogram45RequestRenderingSpeedNullableJsonConverter(); + return new global::Ideogram.JsonConverters.GenerateImageIdeogram45RequestQualityNullableJsonConverter(); } - if (typeToConvert == typeof(global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed)) + if (typeToConvert == typeof(global::Ideogram.PreciseEditImageIdeogram45RequestQuality)) { - return new global::Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestRenderingSpeedJsonConverter(); + return new global::Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestQualityJsonConverter(); } - if (typeToConvert == typeof(global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed?)) + if (typeToConvert == typeof(global::Ideogram.PreciseEditImageIdeogram45RequestQuality?)) { - return new global::Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestRenderingSpeedNullableJsonConverter(); + return new global::Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestQualityNullableJsonConverter(); } if (typeToConvert == typeof(global::Ideogram.GenerateImageNanoBanana2RequestResolutionTier)) diff --git a/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContextTypes.g.cs b/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContextTypes.g.cs index c4791150..fda26630 100644 --- a/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContextTypes.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContextTypes.g.cs @@ -1593,7 +1593,7 @@ public sealed partial class JsonSerializerContextTypes /// /// /// - public global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed? Type390 { get; set; } + public global::Ideogram.GenerateImageIdeogram45RequestQuality? Type390 { get; set; } /// /// /// @@ -1605,7 +1605,7 @@ public sealed partial class JsonSerializerContextTypes /// /// /// - public global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed? Type393 { get; set; } + public global::Ideogram.PreciseEditImageIdeogram45RequestQuality? Type393 { get; set; } /// /// /// diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogram45Request.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogram45Request.g.cs index 76f90a56..8d6a4f1b 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogram45Request.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogram45Request.g.cs @@ -60,22 +60,25 @@ public sealed partial class GenerateImageIdeogram45Request public string? Maskname { get; set; } /// - /// The output size: "auto" or an exact "WIDTHxHEIGHT".
+ /// The output size: "auto", "source" or an exact "WIDTHxHEIGHT".
/// Without source images, an exact size must be one of the supported
/// 1K/2K presets (for example 1024x1024, 2048x2048 or 1440x2880);
/// "auto" or omitted lets the server pick a supported size based on
- /// the prompt.
- /// With source images, "auto" (the default) returns the output at the
- /// first source image's own width and height. A source too large for
- /// the model is scaled down to fit while keeping its exact proportion,
- /// and a source whose aspect ratio is outside 1:6 to 6:1 is rejected,
- /// because serving it would mean reshaping an image you did not ask to
- /// reshape — name an exact size if that is what you want.
+ /// the prompt. "source" is rejected because there is no source image
+ /// to size from.
+ /// With source images, "auto" (the default) lets the server pick a
+ /// supported 2K size from the source images and the prompt, and
+ /// "source" returns the output at the first source image's own width
+ /// and height. With "source", a source too large for the model is
+ /// scaled down to fit while keeping its exact proportion. Whatever the
+ /// size, every source image's aspect ratio must be between 1:6 and
+ /// 6:1; the model does not accept a reference outside that range.
/// An exact size must have both dimensions multiples of 32 and at least
/// 256px, the total size at most 2048x2048 pixels, and the aspect ratio
/// at most 6:1. Naming one reshapes the source to it.
/// Pricing is tiered by the resolved output pixels: up to 1024x1024
- /// bills as 1K, above that as 2K.
+ /// bills as 1K, above that as 2K. An "auto" size bills as 2K.
+ /// Default Value: auto
/// Example: 2048x2048 ///
/// 2048x2048 @@ -83,12 +86,12 @@ public sealed partial class GenerateImageIdeogram45Request public string? Size { get; set; } /// - /// The rendering speed to use.
- /// Default Value: default + /// The rendering quality to use. Higher quality renders take longer.
+ /// Default Value: high ///
- [global::System.Text.Json.Serialization.JsonPropertyName("rendering_speed")] - [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.GenerateImageIdeogram45RequestRenderingSpeedJsonConverter))] - public global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed? RenderingSpeed { get; set; } + [global::System.Text.Json.Serialization.JsonPropertyName("quality")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.GenerateImageIdeogram45RequestQualityJsonConverter))] + public global::Ideogram.GenerateImageIdeogram45RequestQuality? Quality { get; set; } /// /// Random seed. Set for reproducible generation.
@@ -184,27 +187,30 @@ public sealed partial class GenerateImageIdeogram45Request /// An optional mask confining the edit to part of the first source image, as raw bytes (multipart requests only; JPEG, PNG, or WEBP, max 25MB). Black marks the area to edit and white the area to preserve; values in between are rounded to whichever is nearer. The mask must have the same width and height as the first source image, and must contain both black and white areas. Requires source images uploaded as raw `images` bytes; masks cannot be combined with `image_asset_identifiers`. The mask is supplied to the model as an additional reference image, so a masked request may carry at most three other source images. Supplying a mask fixes the output to the first source's own size, so `size` is rejected alongside it. /// /// - /// The output size: "auto" or an exact "WIDTHxHEIGHT".
+ /// The output size: "auto", "source" or an exact "WIDTHxHEIGHT".
/// Without source images, an exact size must be one of the supported
/// 1K/2K presets (for example 1024x1024, 2048x2048 or 1440x2880);
/// "auto" or omitted lets the server pick a supported size based on
- /// the prompt.
- /// With source images, "auto" (the default) returns the output at the
- /// first source image's own width and height. A source too large for
- /// the model is scaled down to fit while keeping its exact proportion,
- /// and a source whose aspect ratio is outside 1:6 to 6:1 is rejected,
- /// because serving it would mean reshaping an image you did not ask to
- /// reshape — name an exact size if that is what you want.
+ /// the prompt. "source" is rejected because there is no source image
+ /// to size from.
+ /// With source images, "auto" (the default) lets the server pick a
+ /// supported 2K size from the source images and the prompt, and
+ /// "source" returns the output at the first source image's own width
+ /// and height. With "source", a source too large for the model is
+ /// scaled down to fit while keeping its exact proportion. Whatever the
+ /// size, every source image's aspect ratio must be between 1:6 and
+ /// 6:1; the model does not accept a reference outside that range.
/// An exact size must have both dimensions multiples of 32 and at least
/// 256px, the total size at most 2048x2048 pixels, and the aspect ratio
/// at most 6:1. Naming one reshapes the source to it.
/// Pricing is tiered by the resolved output pixels: up to 1024x1024
- /// bills as 1K, above that as 2K.
+ /// bills as 1K, above that as 2K. An "auto" size bills as 2K.
+ /// Default Value: auto
/// Example: 2048x2048 /// - /// - /// The rendering speed to use.
- /// Default Value: default + /// + /// The rendering quality to use. Higher quality renders take longer.
+ /// Default Value: high /// /// /// Random seed. Set for reproducible generation.
@@ -249,7 +255,7 @@ public GenerateImageIdeogram45Request( byte[]? mask, string? maskname, string? size, - global::Ideogram.GenerateImageIdeogram45RequestRenderingSpeed? renderingSpeed, + global::Ideogram.GenerateImageIdeogram45RequestQuality? quality, int? seed, int? numImages, bool? enableCopyrightDetection, @@ -265,7 +271,7 @@ public GenerateImageIdeogram45Request( this.Mask = mask; this.Maskname = maskname; this.Size = size; - this.RenderingSpeed = renderingSpeed; + this.Quality = quality; this.Seed = seed; this.NumImages = numImages; this.EnableCopyrightDetection = enableCopyrightDetection; diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogram45RequestRenderingSpeed.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogram45RequestQuality.g.cs similarity index 51% rename from src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogram45RequestRenderingSpeed.g.cs rename to src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogram45RequestQuality.g.cs index 5a72aedc..e8e700b4 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogram45RequestRenderingSpeed.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogram45RequestQuality.g.cs @@ -4,53 +4,53 @@ namespace Ideogram { /// - /// The rendering speed to use.
- /// Default Value: default + /// The rendering quality to use. Higher quality renders take longer.
+ /// Default Value: high ///
- public enum GenerateImageIdeogram45RequestRenderingSpeed + public enum GenerateImageIdeogram45RequestQuality { /// /// /// - Default, + High, /// /// /// - Quality, + Low, /// /// /// - Turbo, + Medium, } /// /// Enum extensions to do fast conversions without the reflection. /// - public static class GenerateImageIdeogram45RequestRenderingSpeedExtensions + public static class GenerateImageIdeogram45RequestQualityExtensions { /// /// Converts an enum to a string. /// - public static string ToValueString(this GenerateImageIdeogram45RequestRenderingSpeed value) + public static string ToValueString(this GenerateImageIdeogram45RequestQuality value) { return value switch { - GenerateImageIdeogram45RequestRenderingSpeed.Default => "default", - GenerateImageIdeogram45RequestRenderingSpeed.Quality => "quality", - GenerateImageIdeogram45RequestRenderingSpeed.Turbo => "turbo", + GenerateImageIdeogram45RequestQuality.High => "high", + GenerateImageIdeogram45RequestQuality.Low => "low", + GenerateImageIdeogram45RequestQuality.Medium => "medium", _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), }; } /// /// Converts an string to a enum. /// - public static GenerateImageIdeogram45RequestRenderingSpeed? ToEnum(string value) + public static GenerateImageIdeogram45RequestQuality? ToEnum(string value) { return value switch { - "default" => GenerateImageIdeogram45RequestRenderingSpeed.Default, - "quality" => GenerateImageIdeogram45RequestRenderingSpeed.Quality, - "turbo" => GenerateImageIdeogram45RequestRenderingSpeed.Turbo, + "high" => GenerateImageIdeogram45RequestQuality.High, + "low" => GenerateImageIdeogram45RequestQuality.Low, + "medium" => GenerateImageIdeogram45RequestQuality.Medium, _ => null, }; } diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.PreciseEditImageIdeogram45Request.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.PreciseEditImageIdeogram45Request.g.cs index 89edac15..98b8d3fb 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.PreciseEditImageIdeogram45Request.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.PreciseEditImageIdeogram45Request.g.cs @@ -65,12 +65,12 @@ public sealed partial class PreciseEditImageIdeogram45Request public string? Maskname { get; set; } /// - /// The rendering speed to use. `ultra` renders multiple candidate edits internally and returns the one that best applies the instruction; it takes longer than `quality`, is priced higher, and supports at most 4 images per request.
- /// Default Value: default + /// The rendering quality to use. `very_high` renders multiple candidate edits internally and returns the one that best applies the instruction; it takes longer than `high`, is priced higher, and supports at most 4 images per request.
+ /// Default Value: high ///
- [global::System.Text.Json.Serialization.JsonPropertyName("rendering_speed")] - [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestRenderingSpeedJsonConverter))] - public global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed? RenderingSpeed { get; set; } + [global::System.Text.Json.Serialization.JsonPropertyName("quality")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestQualityJsonConverter))] + public global::Ideogram.PreciseEditImageIdeogram45RequestQuality? Quality { get; set; } /// /// Random seed. Set for reproducible generation.
@@ -164,9 +164,9 @@ public sealed partial class PreciseEditImageIdeogram45Request /// /// An optional mask confining the edit to part of `image`, as raw bytes (multipart requests only; JPEG, PNG, or WEBP, max 25MB). Black marks the area to edit and white the area to preserve; values in between are rounded to whichever is nearer. The mask must have the same width and height as `image`, and must contain both black and white areas. Requires the image being edited to be uploaded as raw `image` bytes in the same request; masks cannot be combined with asset references. The mask is supplied to the model as an additional reference image, so a masked request may carry at most three `reference_images`. /// - /// - /// The rendering speed to use. `ultra` renders multiple candidate edits internally and returns the one that best applies the instruction; it takes longer than `quality`, is priced higher, and supports at most 4 images per request.
- /// Default Value: default + /// + /// The rendering quality to use. `very_high` renders multiple candidate edits internally and returns the one that best applies the instruction; it takes longer than `high`, is priced higher, and supports at most 4 images per request.
+ /// Default Value: high /// /// /// Random seed. Set for reproducible generation.
@@ -212,7 +212,7 @@ public PreciseEditImageIdeogram45Request( global::System.Collections.Generic.IList? referenceImages, byte[]? mask, string? maskname, - global::Ideogram.PreciseEditImageIdeogram45RequestRenderingSpeed? renderingSpeed, + global::Ideogram.PreciseEditImageIdeogram45RequestQuality? quality, int? seed, int? numImages, bool? enableCopyrightDetection, @@ -229,7 +229,7 @@ public PreciseEditImageIdeogram45Request( this.ReferenceImages = referenceImages; this.Mask = mask; this.Maskname = maskname; - this.RenderingSpeed = renderingSpeed; + this.Quality = quality; this.Seed = seed; this.NumImages = numImages; this.EnableCopyrightDetection = enableCopyrightDetection; diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.PreciseEditImageIdeogram45RequestQuality.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.PreciseEditImageIdeogram45RequestQuality.g.cs new file mode 100644 index 00000000..b608e92a --- /dev/null +++ b/src/libs/Ideogram/Generated/Ideogram.Models.PreciseEditImageIdeogram45RequestQuality.g.cs @@ -0,0 +1,64 @@ + +#nullable enable + +namespace Ideogram +{ + /// + /// The rendering quality to use. `very_high` renders multiple candidate edits internally and returns the one that best applies the instruction; it takes longer than `high`, is priced higher, and supports at most 4 images per request.
+ /// Default Value: high + ///
+ public enum PreciseEditImageIdeogram45RequestQuality + { + /// + /// + /// + High, + /// + /// + /// + Low, + /// + /// + /// + Medium, + /// + /// + /// + VeryHigh, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class PreciseEditImageIdeogram45RequestQualityExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this PreciseEditImageIdeogram45RequestQuality value) + { + return value switch + { + PreciseEditImageIdeogram45RequestQuality.High => "high", + PreciseEditImageIdeogram45RequestQuality.Low => "low", + PreciseEditImageIdeogram45RequestQuality.Medium => "medium", + PreciseEditImageIdeogram45RequestQuality.VeryHigh => "very_high", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static PreciseEditImageIdeogram45RequestQuality? ToEnum(string value) + { + return value switch + { + "high" => PreciseEditImageIdeogram45RequestQuality.High, + "low" => PreciseEditImageIdeogram45RequestQuality.Low, + "medium" => PreciseEditImageIdeogram45RequestQuality.Medium, + "very_high" => PreciseEditImageIdeogram45RequestQuality.VeryHigh, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.PreciseEditImageIdeogram45RequestRenderingSpeed.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.PreciseEditImageIdeogram45RequestRenderingSpeed.g.cs deleted file mode 100644 index ed49709a..00000000 --- a/src/libs/Ideogram/Generated/Ideogram.Models.PreciseEditImageIdeogram45RequestRenderingSpeed.g.cs +++ /dev/null @@ -1,64 +0,0 @@ - -#nullable enable - -namespace Ideogram -{ - /// - /// The rendering speed to use. `ultra` renders multiple candidate edits internally and returns the one that best applies the instruction; it takes longer than `quality`, is priced higher, and supports at most 4 images per request.
- /// Default Value: default - ///
- public enum PreciseEditImageIdeogram45RequestRenderingSpeed - { - /// - /// - /// - Default, - /// - /// - /// - Quality, - /// - /// - /// - Turbo, - /// - /// - /// - Ultra, - } - - /// - /// Enum extensions to do fast conversions without the reflection. - /// - public static class PreciseEditImageIdeogram45RequestRenderingSpeedExtensions - { - /// - /// Converts an enum to a string. - /// - public static string ToValueString(this PreciseEditImageIdeogram45RequestRenderingSpeed value) - { - return value switch - { - PreciseEditImageIdeogram45RequestRenderingSpeed.Default => "default", - PreciseEditImageIdeogram45RequestRenderingSpeed.Quality => "quality", - PreciseEditImageIdeogram45RequestRenderingSpeed.Turbo => "turbo", - PreciseEditImageIdeogram45RequestRenderingSpeed.Ultra => "ultra", - _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), - }; - } - /// - /// Converts an string to a enum. - /// - public static PreciseEditImageIdeogram45RequestRenderingSpeed? ToEnum(string value) - { - return value switch - { - "default" => PreciseEditImageIdeogram45RequestRenderingSpeed.Default, - "quality" => PreciseEditImageIdeogram45RequestRenderingSpeed.Quality, - "turbo" => PreciseEditImageIdeogram45RequestRenderingSpeed.Turbo, - "ultra" => PreciseEditImageIdeogram45RequestRenderingSpeed.Ultra, - _ => null, - }; - } - } -} \ No newline at end of file diff --git a/src/libs/Ideogram/Generated/autosdk.generated-examples.json b/src/libs/Ideogram/Generated/autosdk.generated-examples.json index 50420059..d785424b 100644 --- a/src/libs/Ideogram/Generated/autosdk.generated-examples.json +++ b/src/libs/Ideogram/Generated/autosdk.generated-examples.json @@ -156,11 +156,11 @@ }, { "Order": 15, - "Title": "Advertisement Resizer", + "Title": "Advertisement Resizer v2", "Slug": "post-ad-resizer", - "Description": "Reframes the source creative to the exact requested ad resolution,\nregenerating the layout so text and key elements stay legible at the\ntarget size.\n\nSupply \u0060platform\u0060 to keep the whole advertisement clear of that\nplatform\u0027s own interface. The advertisement is generated at the largest\nrectangle that fits inside the platform\u0027s published safe zone for the\nrequested aspect ratio, placed at that rectangle\u0027s position, and the\nspace around it is filled in so the returned image is still exactly the\nrequested resolution. Omit \u0060platform\u0060 and the advertisement fills the\nwhole frame.\n\nSafe zones are published per aspect ratio, and not every platform\npublishes one for every ratio. \u0060google\u0060 and \u0060tiktok\u0060 publish \u006016:9\u0060,\n\u00601:1\u0060, and \u00609:16\u0060; \u0060meta\u0060 and \u0060snapchat\u0060 publish \u00609:16\u0060 only. A\n\u0060platform\u0060 combined with a \u0060resolution\u0060 that platform has no safe zone\nfor is rejected with a 400.\n\nThe request is processed asynchronously. Poll\n\u0060GET /v1/generations/{generation_id}\u0060 with the returned \u0060generation_id\u0060\nuntil the generation is completed or failed. The completed generation\nreports the exact amount billed for the request in\n\u0060usage_cost_usd_micros\u0060.\n\nSupply the source creative as either an \u0060AssetIdentifier\u0060 reference\n(\u0060image_asset_identifier\u0060) or the raw image bytes directly (\u0060image\u0060,\nmultipart requests only). Provide exactly one of the two forms;\nsupplying both, or neither, is rejected with a 400.", + "Description": "Reframes the source creative to the exact requested ad resolution,\nregenerating the layout so text and key elements stay legible at the\ntarget size.\n\nSupply \u0060platform\u0060 to keep the whole advertisement clear of that\nplatform\u0027s own interface. The advertisement is generated at the largest\nrectangle that fits inside the platform\u0027s published safe zone for the\nrequested aspect ratio, placed at that rectangle\u0027s position, and the\nspace around it is filled in so the returned image is still exactly the\nrequested resolution. Omit \u0060platform\u0060 and the advertisement fills the\nwhole frame.\n\nEach platform accepts only the resolutions for which it publishes a\nsafe zone:\n\n| Platform | Accepted resolutions |\n| --- | --- |\n| \u0060google\u0060 | \u00601920x1080\u0060, \u00603840x2160\u0060, \u00601080x1080\u0060, \u00602400x2400\u0060, \u00602880x2880\u0060, \u00601080x1920\u0060, \u00602160x3840\u0060 |\n| \u0060tiktok\u0060 | \u00601920x1080\u0060, \u00603840x2160\u0060, \u00601080x1080\u0060, \u00602400x2400\u0060, \u00602880x2880\u0060, \u00601080x1920\u0060, \u00602160x3840\u0060 |\n| \u0060meta\u0060 | \u00601080x1920\u0060, \u00602160x3840\u0060 |\n| \u0060snapchat\u0060 | \u00601080x1920\u0060, \u00602160x3840\u0060 |\n\nA \u0060platform\u0060 combined with any other \u0060resolution\u0060 is rejected with a\n400. When \u0060platform\u0060 is omitted, every resolution in the request schema\nis accepted.\n\nThe request is processed asynchronously. Poll\n\u0060GET /v1/generations/{generation_id}\u0060 with the returned \u0060generation_id\u0060\nuntil the generation is completed or failed. The completed generation\nreports the exact amount billed for the request in\n\u0060usage_cost_usd_micros\u0060.\n\nSupply the source creative as either an \u0060AssetIdentifier\u0060 reference\n(\u0060image_asset_identifier\u0060) or the raw image bytes directly (\u0060image\u0060,\nmultipart requests only). Provide exactly one of the two forms;\nsupplying both, or neither, is rejected with a 400.", "Language": "http", - "Code": "### Advertisement Resizer\n# @name post_ad_resizer\nPOST {{host}}/v2/tool/ad-resizer?dry_run=false\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data; boundary=AutoSDKBoundary\nAccept: application/json\n\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022image_asset_identifier\u0022\n\n{\u0022asset_type\u0022:\u0022RESPONSE\u0022,\u0022asset_id\u0022:\u00227uS_VESkRI6O3-sVgHQp_A\u0022}\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022image\u0022; filename=\u0022image.bin\u0022\nContent-Type: application/octet-stream\n\n\u003C ./image.bin\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022resolution\u0022\n\n300x250\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022platform\u0022\n\ngoogle\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022prompt\u0022\n\nstring\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022quality\u0022\n\nlow\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022num_images\u0022\n\n1\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022target_collection_id\u0022\n\nstring\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022private\u0022\n\ntrue\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022webhook_url\u0022\n\nhttps://api.example.com/webhooks/ideogram\n--AutoSDKBoundary--\n\n## Responses\n# 200\n# Description: Ad resize accepted for asynchronous processing.\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Unauthorized.\n# 402\n# Description: Insufficient credits or quota.\n# Content-Type: application/json\n# 403\n# Description: Not authorized to resize an ad.\n# 404\n# Description: Source asset not found.\n# 422\n# Description: The prompt was rejected by safety checks.\n# 429\n# Description: Too many requests.\n# Content-Type: application/json", + "Code": "### Advertisement Resizer v2\n# @name post_ad_resizer\nPOST {{host}}/v2/tool/ad-resizer?dry_run=false\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data; boundary=AutoSDKBoundary\nAccept: application/json\n\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022image_asset_identifier\u0022\n\n{\u0022asset_type\u0022:\u0022RESPONSE\u0022,\u0022asset_id\u0022:\u00227uS_VESkRI6O3-sVgHQp_A\u0022}\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022image\u0022; filename=\u0022image.bin\u0022\nContent-Type: application/octet-stream\n\n\u003C ./image.bin\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022resolution\u0022\n\n300x250\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022platform\u0022\n\ngoogle\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022prompt\u0022\n\nstring\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022quality\u0022\n\nlow\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022num_images\u0022\n\n1\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022target_collection_id\u0022\n\nstring\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022private\u0022\n\ntrue\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022webhook_url\u0022\n\nhttps://api.example.com/webhooks/ideogram\n--AutoSDKBoundary--\n\n## Responses\n# 200\n# Description: Ad resize accepted for asynchronous processing.\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Unauthorized.\n# 402\n# Description: Insufficient credits or quota.\n# Content-Type: application/json\n# 403\n# Description: Not authorized to resize an ad.\n# 404\n# Description: Source asset not found.\n# 422\n# Description: The prompt was rejected by safety checks.\n# 429\n# Description: Too many requests.\n# Content-Type: application/json", "Format": "http", "OperationId": "post_ad_resizer", "Setup": null @@ -972,9 +972,9 @@ "Order": 89, "Title": "Generate images with Ideogram 4.5, from a prompt or by transforming source images", "Slug": "post-generate-image-v2-ideogram45", - "Description": "Generate one or more images with Ideogram 4.5. Supplying source\nimages turns the request into an image-to-image transform: the model\nconditions on the sources, the prompt becomes optional guidance, and\n\u0060size\u0060 may be \u0022auto\u0022 to derive the output from the first source.\nProvide sources either as \u0060image_asset_identifiers\u0060 references or as\nraw \u0060images\u0060 bytes (multipart requests only); if both are supplied,\nthe references win and the bytes are ignored. The \u0060prompt\u0060 accepts\neither natural language or a structured Ideogram 4.0 JSON prompt; the\nserver detects which was supplied.\n\n\u0060magic_prompt\u0060 controls automatic prompt rewriting: \u0060auto\u0060 (the\ndefault) and \u0060on\u0060 rewrite a natural-language prompt, a prompt that is\nalready a valid structured JSON prompt is always consumed directly,\nand \u0060off\u0060 disables rewriting entirely so the model receives your\nprompt verbatim.\n\nIdeogram 4.5 renders a fixed set of output sizes. When \u0060size\u0060\nis omitted, the server picks a supported size automatically based on\nthe prompt.\n\nBy default the request blocks until the images are ready and returns\nthem in \u0060data\u0060. Set \u0060async\u0060 to true to return immediately after the\nrequest is accepted, then poll for completion and results with\n\u0060GET /v1/generations/{generation_id}\u0060 using the returned\n\u0060generation_id\u0060.\n\nSupplying a \u0060webhook_url\u0060 makes the request asynchronous whatever\n\u0060async\u0060 says: the response returns as soon as the request is accepted,\nand the finished result is POSTed to that URL.", + "Description": "Generate one or more images with Ideogram 4.5. Supplying source\nimages turns the request into an image-to-image transform: the model\nconditions on the sources, the prompt becomes optional guidance, and\n\u0060size\u0060 may be \u0022source\u0022 to keep the first source\u0027s own size or \u0022auto\u0022\nto let the server pick the canvas from the sources and the prompt.\nProvide sources either as \u0060image_asset_identifiers\u0060 references or as\nraw \u0060images\u0060 bytes (multipart requests only); if both are supplied,\nthe references win and the bytes are ignored. The \u0060prompt\u0060 accepts\neither natural language or a structured Ideogram 4.0 JSON prompt; the\nserver detects which was supplied.\n\n\u0060magic_prompt\u0060 controls automatic prompt rewriting: \u0060auto\u0060 (the\ndefault) and \u0060on\u0060 rewrite a natural-language prompt, a prompt that is\nalready a valid structured JSON prompt is always consumed directly,\nand \u0060off\u0060 disables rewriting entirely so the model receives your\nprompt verbatim.\n\nIdeogram 4.5 renders a fixed set of output sizes. When \u0060size\u0060\nis omitted, the server picks a supported size automatically based on\nthe prompt, and on the source images when there are any.\n\nBy default the request blocks until the images are ready and returns\nthem in \u0060data\u0060. Set \u0060async\u0060 to true to return immediately after the\nrequest is accepted, then poll for completion and results with\n\u0060GET /v1/generations/{generation_id}\u0060 using the returned\n\u0060generation_id\u0060.\n\nSupplying a \u0060webhook_url\u0060 makes the request asynchronous whatever\n\u0060async\u0060 says: the response returns as soon as the request is accepted,\nand the finished result is POSTed to that URL.", "Language": "http", - "Code": "### Generate images with Ideogram 4.5, from a prompt or by transforming source images\n# @name post_generate_image_v2_ideogram45\nPOST {{host}}/v2/image/generate/ideogram-4-5?dry_run=false\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data; boundary=AutoSDKBoundary\nAccept: application/json\n\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022prompt\u0022\n\nstring\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022magic_prompt\u0022\n\nauto\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022image_asset_identifiers\u0022\n\n{\u0022asset_type\u0022:\u0022RESPONSE\u0022,\u0022asset_id\u0022:\u00227uS_VESkRI6O3-sVgHQp_A\u0022}\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022images\u0022; filename=\u0022images.bin\u0022\nContent-Type: application/octet-stream\n\n\u003C ./images.bin\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022mask\u0022; filename=\u0022mask.bin\u0022\nContent-Type: application/octet-stream\n\n\u003C ./mask.bin\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022size\u0022\n\n2048x2048\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022rendering_speed\u0022\n\ndefault\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022seed\u0022\n\n12345\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022num_images\u0022\n\n1\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022enable_copyright_detection\u0022\n\ntrue\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022async\u0022\n\nfalse\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022webhook_url\u0022\n\nhttps://api.example.com/webhooks/ideogram\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022private\u0022\n\ntrue\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022target_collection_id\u0022\n\nstring\n--AutoSDKBoundary--\n\n## Responses\n# 200\n# Description: The generated images (synchronous requests), or an acknowledgement to poll with \u0060GET /v1/generations/{generation_id}\u0060 (\u0060async\u0060 requests).\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Unauthorized.\n# 402\n# Description: Insufficient credits or quota.\n# Content-Type: application/json\n# 422\n# Description: The prompt did not pass safety checks.\n# 429\n# Description: Too many requests.\n# Content-Type: application/json\n# 500\n# Description: Internal server error.\n# 503\n# Description: The endpoint is temporarily unavailable.", + "Code": "### Generate images with Ideogram 4.5, from a prompt or by transforming source images\n# @name post_generate_image_v2_ideogram45\nPOST {{host}}/v2/image/generate/ideogram-4-5?dry_run=false\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data; boundary=AutoSDKBoundary\nAccept: application/json\n\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022prompt\u0022\n\nstring\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022magic_prompt\u0022\n\nauto\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022image_asset_identifiers\u0022\n\n{\u0022asset_type\u0022:\u0022RESPONSE\u0022,\u0022asset_id\u0022:\u00227uS_VESkRI6O3-sVgHQp_A\u0022}\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022images\u0022; filename=\u0022images.bin\u0022\nContent-Type: application/octet-stream\n\n\u003C ./images.bin\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022mask\u0022; filename=\u0022mask.bin\u0022\nContent-Type: application/octet-stream\n\n\u003C ./mask.bin\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022size\u0022\n\n2048x2048\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022quality\u0022\n\nhigh\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022seed\u0022\n\n12345\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022num_images\u0022\n\n1\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022enable_copyright_detection\u0022\n\ntrue\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022async\u0022\n\nfalse\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022webhook_url\u0022\n\nhttps://api.example.com/webhooks/ideogram\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022private\u0022\n\ntrue\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022target_collection_id\u0022\n\nstring\n--AutoSDKBoundary--\n\n## Responses\n# 200\n# Description: The generated images (synchronous requests), or an acknowledgement to poll with \u0060GET /v1/generations/{generation_id}\u0060 (\u0060async\u0060 requests).\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Unauthorized.\n# 402\n# Description: Insufficient credits or quota.\n# Content-Type: application/json\n# 422\n# Description: The prompt did not pass safety checks.\n# 429\n# Description: Too many requests.\n# Content-Type: application/json\n# 500\n# Description: Internal server error.\n# 503\n# Description: The endpoint is temporarily unavailable.", "Format": "http", "OperationId": "post_generate_image_v2_ideogram45", "Setup": null @@ -1159,9 +1159,9 @@ "Order": 106, "Title": "Edit an image with Ideogram 4.5, keeping the source\u0027s exact geometry", "Slug": "post-precise-edit-image-v2-ideogram45", - "Description": "Edit an image with Ideogram 4.5, returning output at that image\u0027s exact\nwidth and height. An image too large for the model is scaled down to\nfit while keeping its exact proportion, and one whose aspect ratio is\noutside 1:6 to 6:1 is rejected \u2014 this endpoint never reshapes, so there\nis no size to reshape it to. Unlike\n\u0060POST /v2/image/generate/ideogram-4-5\u0060, this endpoint takes no \u0060size\u0060:\nthe output always matches the image being edited, so the edit drops\nback into whatever it came from without reframing.\n\nSupply the image to edit as an \u0060image_asset_identifier\u0060 reference or as\nraw \u0060image\u0060 bytes (multipart requests only); if both are supplied, the\nreference wins and the bytes are ignored. Add up to four more images\nvia \u0060reference_image_asset_identifiers\u0060 or \u0060reference_images\u0060 to guide\nthe edit \u2014 those are never edited themselves.\n\nSupply a \u0060mask\u0060 to confine the edit to part of the image being edited.\nThe mask is optional \u2014 without one the prompt is applied to the whole\nimage. Masks are read as an additional reference image, so a masked\nrequest may carry at most three \u0060reference_images\u0060.\n\nThe \u0060prompt\u0060 is the edit instruction. It accepts either natural\nlanguage or a structured JSON prompt; the server detects which was\nsupplied. A natural-language instruction is automatically rewritten\ninto the model\u0027s structured edit contract, while a prompt that is\nalready valid structured JSON is consumed directly.\n\nBy default the request blocks until the images are ready and returns\nthem in \u0060data\u0060. Set \u0060async\u0060 to true to return immediately after the\nrequest is accepted, then poll for completion and results with\n\u0060GET /v1/generations/{generation_id}\u0060 using the returned\n\u0060generation_id\u0060.\n\nSupplying a \u0060webhook_url\u0060 makes the request asynchronous whatever\n\u0060async\u0060 says: the response returns as soon as the request is accepted,\nand the finished result is POSTed to that URL.", + "Description": "Edit an image with Ideogram 4.5, returning output at that image\u0027s exact\nwidth and height. An image too large for the model is scaled down to\nfit while keeping its exact proportion, and one whose aspect ratio is\noutside 1:6 to 6:1 is rejected \u2014 this endpoint never reshapes, so there\nis no size to reshape it to. Unlike\n\u0060POST /v2/image/generate/ideogram-4-5\u0060, this endpoint takes no \u0060size\u0060:\nthe output always matches the image being edited, so the edit drops\nback into whatever it came from without reframing.\n\nPixels the edit did not meaningfully change are restored exactly from\nthe image being edited, with the edited region blended smoothly into\nits surroundings \u2014 untouched areas stay identical across repeated\nedits.\n\nSupply the image to edit as an \u0060image_asset_identifier\u0060 reference or as\nraw \u0060image\u0060 bytes (multipart requests only); if both are supplied, the\nreference wins and the bytes are ignored. Add up to four more images\nvia \u0060reference_image_asset_identifiers\u0060 or \u0060reference_images\u0060 to guide\nthe edit \u2014 those are never edited themselves.\n\nSupply a \u0060mask\u0060 to confine the edit to part of the image being edited.\nThe mask is optional \u2014 without one the prompt is applied to the whole\nimage. Masks are read as an additional reference image, so a masked\nrequest may carry at most three \u0060reference_images\u0060.\n\nThe \u0060prompt\u0060 is the edit instruction. It accepts either natural\nlanguage or a structured JSON prompt; the server detects which was\nsupplied. A natural-language instruction is automatically rewritten\ninto the model\u0027s structured edit contract, while a prompt that is\nalready valid structured JSON is consumed directly.\n\nBy default the request blocks until the images are ready and returns\nthem in \u0060data\u0060. Set \u0060async\u0060 to true to return immediately after the\nrequest is accepted, then poll for completion and results with\n\u0060GET /v1/generations/{generation_id}\u0060 using the returned\n\u0060generation_id\u0060.\n\nSupplying a \u0060webhook_url\u0060 makes the request asynchronous whatever\n\u0060async\u0060 says: the response returns as soon as the request is accepted,\nand the finished result is POSTed to that URL.", "Language": "http", - "Code": "### Edit an image with Ideogram 4.5, keeping the source\u0027s exact geometry\n# @name post_precise_edit_image_v2_ideogram45\nPOST {{host}}/v2/image/precise-edit/ideogram-4-5?dry_run=false\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data; boundary=AutoSDKBoundary\nAccept: application/json\n\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022prompt\u0022\n\nstring\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022image_asset_identifier\u0022\n\nstring\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022image\u0022; filename=\u0022image.bin\u0022\nContent-Type: application/octet-stream\n\n\u003C ./image.bin\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022reference_image_asset_identifiers\u0022\n\n{\u0022asset_type\u0022:\u0022RESPONSE\u0022,\u0022asset_id\u0022:\u00227uS_VESkRI6O3-sVgHQp_A\u0022}\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022reference_images\u0022; filename=\u0022reference_images.bin\u0022\nContent-Type: application/octet-stream\n\n\u003C ./reference_images.bin\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022mask\u0022; filename=\u0022mask.bin\u0022\nContent-Type: application/octet-stream\n\n\u003C ./mask.bin\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022rendering_speed\u0022\n\ndefault\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022seed\u0022\n\n12345\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022num_images\u0022\n\n1\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022enable_copyright_detection\u0022\n\ntrue\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022async\u0022\n\nfalse\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022webhook_url\u0022\n\nhttps://api.example.com/webhooks/ideogram\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022private\u0022\n\ntrue\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022target_collection_id\u0022\n\nstring\n--AutoSDKBoundary--\n\n## Responses\n# 200\n# Description: The edited images (synchronous requests), or an acknowledgement to poll with \u0060GET /v1/generations/{generation_id}\u0060 (\u0060async\u0060 requests).\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Unauthorized.\n# 402\n# Description: Insufficient credits or quota.\n# Content-Type: application/json\n# 422\n# Description: The prompt did not pass safety checks.\n# 429\n# Description: Too many requests.\n# Content-Type: application/json\n# 500\n# Description: Internal server error.\n# 503\n# Description: The endpoint is temporarily unavailable.", + "Code": "### Edit an image with Ideogram 4.5, keeping the source\u0027s exact geometry\n# @name post_precise_edit_image_v2_ideogram45\nPOST {{host}}/v2/image/precise-edit/ideogram-4-5?dry_run=false\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data; boundary=AutoSDKBoundary\nAccept: application/json\n\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022prompt\u0022\n\nstring\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022image_asset_identifier\u0022\n\nstring\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022image\u0022; filename=\u0022image.bin\u0022\nContent-Type: application/octet-stream\n\n\u003C ./image.bin\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022reference_image_asset_identifiers\u0022\n\n{\u0022asset_type\u0022:\u0022RESPONSE\u0022,\u0022asset_id\u0022:\u00227uS_VESkRI6O3-sVgHQp_A\u0022}\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022reference_images\u0022; filename=\u0022reference_images.bin\u0022\nContent-Type: application/octet-stream\n\n\u003C ./reference_images.bin\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022mask\u0022; filename=\u0022mask.bin\u0022\nContent-Type: application/octet-stream\n\n\u003C ./mask.bin\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022quality\u0022\n\nhigh\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022seed\u0022\n\n12345\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022num_images\u0022\n\n1\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022enable_copyright_detection\u0022\n\ntrue\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022async\u0022\n\nfalse\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022webhook_url\u0022\n\nhttps://api.example.com/webhooks/ideogram\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022private\u0022\n\ntrue\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022target_collection_id\u0022\n\nstring\n--AutoSDKBoundary--\n\n## Responses\n# 200\n# Description: The edited images (synchronous requests), or an acknowledgement to poll with \u0060GET /v1/generations/{generation_id}\u0060 (\u0060async\u0060 requests).\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Unauthorized.\n# 402\n# Description: Insufficient credits or quota.\n# Content-Type: application/json\n# 422\n# Description: The prompt did not pass safety checks.\n# 429\n# Description: Too many requests.\n# Content-Type: application/json\n# 500\n# Description: Internal server error.\n# 503\n# Description: The endpoint is temporarily unavailable.", "Format": "http", "OperationId": "post_precise_edit_image_v2_ideogram45", "Setup": null diff --git a/src/libs/Ideogram/openapi.json b/src/libs/Ideogram/openapi.json index 65f2e609..9f2e3acc 100644 --- a/src/libs/Ideogram/openapi.json +++ b/src/libs/Ideogram/openapi.json @@ -8664,7 +8664,7 @@ }, "/v2/image/generate/ideogram-4-5": { "post": { - "description": "Generate one or more images with Ideogram 4.5. Supplying source\nimages turns the request into an image-to-image transform: the model\nconditions on the sources, the prompt becomes optional guidance, and\n`size` may be \"auto\" to derive the output from the first source.\nProvide sources either as `image_asset_identifiers` references or as\nraw `images` bytes (multipart requests only); if both are supplied,\nthe references win and the bytes are ignored. The `prompt` accepts\neither natural language or a structured Ideogram 4.0 JSON prompt; the\nserver detects which was supplied.\n\n`magic_prompt` controls automatic prompt rewriting: `auto` (the\ndefault) and `on` rewrite a natural-language prompt, a prompt that is\nalready a valid structured JSON prompt is always consumed directly,\nand `off` disables rewriting entirely so the model receives your\nprompt verbatim.\n\nIdeogram 4.5 renders a fixed set of output sizes. When `size`\nis omitted, the server picks a supported size automatically based on\nthe prompt.\n\nBy default the request blocks until the images are ready and returns\nthem in `data`. Set `async` to true to return immediately after the\nrequest is accepted, then poll for completion and results with\n`GET /v1/generations/{generation_id}` using the returned\n`generation_id`.\n\nSupplying a `webhook_url` makes the request asynchronous whatever\n`async` says: the response returns as soon as the request is accepted,\nand the finished result is POSTed to that URL.\n", + "description": "Generate one or more images with Ideogram 4.5. Supplying source\nimages turns the request into an image-to-image transform: the model\nconditions on the sources, the prompt becomes optional guidance, and\n`size` may be \"source\" to keep the first source's own size or \"auto\"\nto let the server pick the canvas from the sources and the prompt.\nProvide sources either as `image_asset_identifiers` references or as\nraw `images` bytes (multipart requests only); if both are supplied,\nthe references win and the bytes are ignored. The `prompt` accepts\neither natural language or a structured Ideogram 4.0 JSON prompt; the\nserver detects which was supplied.\n\n`magic_prompt` controls automatic prompt rewriting: `auto` (the\ndefault) and `on` rewrite a natural-language prompt, a prompt that is\nalready a valid structured JSON prompt is always consumed directly,\nand `off` disables rewriting entirely so the model receives your\nprompt verbatim.\n\nIdeogram 4.5 renders a fixed set of output sizes. When `size`\nis omitted, the server picks a supported size automatically based on\nthe prompt, and on the source images when there are any.\n\nBy default the request blocks until the images are ready and returns\nthem in `data`. Set `async` to true to return immediately after the\nrequest is accepted, then poll for completion and results with\n`GET /v1/generations/{generation_id}` using the returned\n`generation_id`.\n\nSupplying a `webhook_url` makes the request asynchronous whatever\n`async` says: the response returns as soon as the request is accepted,\nand the finished result is POSTed to that URL.\n", "operationId": "post_generate_image_v2_ideogram45", "parameters": [ { @@ -9566,7 +9566,7 @@ }, "/v2/image/precise-edit/ideogram-4-5": { "post": { - "description": "Edit an image with Ideogram 4.5, returning output at that image's exact\nwidth and height. An image too large for the model is scaled down to\nfit while keeping its exact proportion, and one whose aspect ratio is\noutside 1:6 to 6:1 is rejected — this endpoint never reshapes, so there\nis no size to reshape it to. Unlike\n`POST /v2/image/generate/ideogram-4-5`, this endpoint takes no `size`:\nthe output always matches the image being edited, so the edit drops\nback into whatever it came from without reframing.\n\nSupply the image to edit as an `image_asset_identifier` reference or as\nraw `image` bytes (multipart requests only); if both are supplied, the\nreference wins and the bytes are ignored. Add up to four more images\nvia `reference_image_asset_identifiers` or `reference_images` to guide\nthe edit — those are never edited themselves.\n\nSupply a `mask` to confine the edit to part of the image being edited.\nThe mask is optional — without one the prompt is applied to the whole\nimage. Masks are read as an additional reference image, so a masked\nrequest may carry at most three `reference_images`.\n\nThe `prompt` is the edit instruction. It accepts either natural\nlanguage or a structured JSON prompt; the server detects which was\nsupplied. A natural-language instruction is automatically rewritten\ninto the model's structured edit contract, while a prompt that is\nalready valid structured JSON is consumed directly.\n\nBy default the request blocks until the images are ready and returns\nthem in `data`. Set `async` to true to return immediately after the\nrequest is accepted, then poll for completion and results with\n`GET /v1/generations/{generation_id}` using the returned\n`generation_id`.\n\nSupplying a `webhook_url` makes the request asynchronous whatever\n`async` says: the response returns as soon as the request is accepted,\nand the finished result is POSTed to that URL.\n", + "description": "Edit an image with Ideogram 4.5, returning output at that image's exact\nwidth and height. An image too large for the model is scaled down to\nfit while keeping its exact proportion, and one whose aspect ratio is\noutside 1:6 to 6:1 is rejected — this endpoint never reshapes, so there\nis no size to reshape it to. Unlike\n`POST /v2/image/generate/ideogram-4-5`, this endpoint takes no `size`:\nthe output always matches the image being edited, so the edit drops\nback into whatever it came from without reframing.\n\nPixels the edit did not meaningfully change are restored exactly from\nthe image being edited, with the edited region blended smoothly into\nits surroundings — untouched areas stay identical across repeated\nedits.\n\nSupply the image to edit as an `image_asset_identifier` reference or as\nraw `image` bytes (multipart requests only); if both are supplied, the\nreference wins and the bytes are ignored. Add up to four more images\nvia `reference_image_asset_identifiers` or `reference_images` to guide\nthe edit — those are never edited themselves.\n\nSupply a `mask` to confine the edit to part of the image being edited.\nThe mask is optional — without one the prompt is applied to the whole\nimage. Masks are read as an additional reference image, so a masked\nrequest may carry at most three `reference_images`.\n\nThe `prompt` is the edit instruction. It accepts either natural\nlanguage or a structured JSON prompt; the server detects which was\nsupplied. A natural-language instruction is automatically rewritten\ninto the model's structured edit contract, while a prompt that is\nalready valid structured JSON is consumed directly.\n\nBy default the request blocks until the images are ready and returns\nthem in `data`. Set `async` to true to return immediately after the\nrequest is accepted, then poll for completion and results with\n`GET /v1/generations/{generation_id}` using the returned\n`generation_id`.\n\nSupplying a `webhook_url` makes the request asynchronous whatever\n`async` says: the response returns as soon as the request is accepted,\nand the finished result is POSTed to that URL.\n", "operationId": "post_precise_edit_image_v2_ideogram45", "parameters": [ { @@ -11610,7 +11610,7 @@ }, "/v2/tool/ad-resizer": { "post": { - "description": "Reframes the source creative to the exact requested ad resolution,\nregenerating the layout so text and key elements stay legible at the\ntarget size.\n\nSupply `platform` to keep the whole advertisement clear of that\nplatform's own interface. The advertisement is generated at the largest\nrectangle that fits inside the platform's published safe zone for the\nrequested aspect ratio, placed at that rectangle's position, and the\nspace around it is filled in so the returned image is still exactly the\nrequested resolution. Omit `platform` and the advertisement fills the\nwhole frame.\n\nSafe zones are published per aspect ratio, and not every platform\npublishes one for every ratio. `google` and `tiktok` publish `16:9`,\n`1:1`, and `9:16`; `meta` and `snapchat` publish `9:16` only. A\n`platform` combined with a `resolution` that platform has no safe zone\nfor is rejected with a 400.\n\nThe request is processed asynchronously. Poll\n`GET /v1/generations/{generation_id}` with the returned `generation_id`\nuntil the generation is completed or failed. The completed generation\nreports the exact amount billed for the request in\n`usage_cost_usd_micros`.\n\nSupply the source creative as either an `AssetIdentifier` reference\n(`image_asset_identifier`) or the raw image bytes directly (`image`,\nmultipart requests only). Provide exactly one of the two forms;\nsupplying both, or neither, is rejected with a 400.\n", + "description": "Reframes the source creative to the exact requested ad resolution,\nregenerating the layout so text and key elements stay legible at the\ntarget size.\n\nSupply `platform` to keep the whole advertisement clear of that\nplatform's own interface. The advertisement is generated at the largest\nrectangle that fits inside the platform's published safe zone for the\nrequested aspect ratio, placed at that rectangle's position, and the\nspace around it is filled in so the returned image is still exactly the\nrequested resolution. Omit `platform` and the advertisement fills the\nwhole frame.\n\nEach platform accepts only the resolutions for which it publishes a\nsafe zone:\n\n| Platform | Accepted resolutions |\n| --- | --- |\n| `google` | `1920x1080`, `3840x2160`, `1080x1080`, `2400x2400`, `2880x2880`, `1080x1920`, `2160x3840` |\n| `tiktok` | `1920x1080`, `3840x2160`, `1080x1080`, `2400x2400`, `2880x2880`, `1080x1920`, `2160x3840` |\n| `meta` | `1080x1920`, `2160x3840` |\n| `snapchat` | `1080x1920`, `2160x3840` |\n\nA `platform` combined with any other `resolution` is rejected with a\n400. When `platform` is omitted, every resolution in the request schema\nis accepted.\n\nThe request is processed asynchronously. Poll\n`GET /v1/generations/{generation_id}` with the returned `generation_id`\nuntil the generation is completed or failed. The completed generation\nreports the exact amount billed for the request in\n`usage_cost_usd_micros`.\n\nSupply the source creative as either an `AssetIdentifier` reference\n(`image_asset_identifier`) or the raw image bytes directly (`image`,\nmultipart requests only). Provide exactly one of the two forms;\nsupplying both, or neither, is rejected with a 400.", "operationId": "post_ad_resizer", "parameters": [ { @@ -11693,10 +11693,35 @@ "description": "Too many requests." } }, - "summary": "Advertisement Resizer", + "summary": "Advertisement Resizer v2", "tags": [ "edit-workflow" ], + "x-fern-examples": [ + { + "request": { + "resolution": "1080x1920", + "platform": "tiktok", + "quality": "high", + "num_images": 1 + }, + "response": { + "body": { + "generation_id": "ZGVtb19nZW5lcmF0aW9uX2lk" + } + }, + "code-samples": [ + { + "sdk": "curl", + "code": "curl -X POST https://api.ideogram.ai/v2/tool/ad-resizer \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F image=@ \\\n -F resolution=1080x1920 \\\n -F platform=tiktok \\\n -F quality=high \\\n -F num_images=1\n" + }, + { + "sdk": "python", + "code": "import requests\n\nresponse = requests.post(\n \"https://api.ideogram.ai/v2/tool/ad-resizer\",\n headers={\"Api-Key\": \"\"},\n data={\n \"resolution\": \"1080x1920\",\n \"platform\": \"tiktok\",\n \"quality\": \"high\",\n \"num_images\": 1,\n },\n files={\"image\": open(\"\", \"rb\")},\n)\nprint(response.json())\n" + } + ] + } + ], "x-openapi-router-controller": "external_api.generated.openapi.controllers.edit_workflow_controller" } }, @@ -27783,18 +27808,19 @@ "type": "string" }, "size": { - "description": "The output size: \"auto\" or an exact \"WIDTHxHEIGHT\".\n\nWithout source images, an exact size must be one of the supported\n1K/2K presets (for example 1024x1024, 2048x2048 or 1440x2880);\n\"auto\" or omitted lets the server pick a supported size based on\nthe prompt.\n\nWith source images, \"auto\" (the default) returns the output at the\nfirst source image's own width and height. A source too large for\nthe model is scaled down to fit while keeping its exact proportion,\nand a source whose aspect ratio is outside 1:6 to 6:1 is rejected,\nbecause serving it would mean reshaping an image you did not ask to\nreshape — name an exact size if that is what you want.\n\nAn exact size must have both dimensions multiples of 32 and at least\n256px, the total size at most 2048x2048 pixels, and the aspect ratio\nat most 6:1. Naming one reshapes the source to it.\n\nPricing is tiered by the resolved output pixels: up to 1024x1024\nbills as 1K, above that as 2K.\n", + "default": "auto", + "description": "The output size: \"auto\", \"source\" or an exact \"WIDTHxHEIGHT\".\n\nWithout source images, an exact size must be one of the supported\n1K/2K presets (for example 1024x1024, 2048x2048 or 1440x2880);\n\"auto\" or omitted lets the server pick a supported size based on\nthe prompt. \"source\" is rejected because there is no source image\nto size from.\n\nWith source images, \"auto\" (the default) lets the server pick a\nsupported 2K size from the source images and the prompt, and\n\"source\" returns the output at the first source image's own width\nand height. With \"source\", a source too large for the model is\nscaled down to fit while keeping its exact proportion. Whatever the\nsize, every source image's aspect ratio must be between 1:6 and\n6:1; the model does not accept a reference outside that range.\n\nAn exact size must have both dimensions multiples of 32 and at least\n256px, the total size at most 2048x2048 pixels, and the aspect ratio\nat most 6:1. Naming one reshapes the source to it.\n\nPricing is tiered by the resolved output pixels: up to 1024x1024\nbills as 1K, above that as 2K. An \"auto\" size bills as 2K.\n", "example": "2048x2048", "nullable": true, "type": "string" }, - "rendering_speed": { - "default": "default", - "description": "The rendering speed to use.", + "quality": { + "default": "high", + "description": "The rendering quality to use. Higher quality renders take longer.", "enum": [ - "turbo", - "default", - "quality" + "low", + "medium", + "high" ], "type": "string" }, @@ -27936,14 +27962,14 @@ "format": "binary", "type": "string" }, - "rendering_speed": { - "default": "default", - "description": "The rendering speed to use. `ultra` renders multiple candidate edits internally and returns the one that best applies the instruction; it takes longer than `quality`, is priced higher, and supports at most 4 images per request.", + "quality": { + "default": "high", + "description": "The rendering quality to use. `very_high` renders multiple candidate edits internally and returns the one that best applies the instruction; it takes longer than `high`, is priced higher, and supports at most 4 images per request.", "enum": [ - "turbo", - "default", - "quality", - "ultra" + "low", + "medium", + "high", + "very_high" ], "type": "string" },