diff --git a/src/libs/Ideogram/Generated/Ideogram.DatasetsClient.TrainDatasetModel.g.cs b/src/libs/Ideogram/Generated/Ideogram.DatasetsClient.TrainDatasetModel.g.cs index 3e493bb..dda622c 100644 --- a/src/libs/Ideogram/Generated/Ideogram.DatasetsClient.TrainDatasetModel.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.DatasetsClient.TrainDatasetModel.g.cs @@ -544,7 +544,7 @@ partial void ProcessTrainDatasetModelResponseContent( /// /// /// - /// Name for the trained model. Must be 5-30 characters, alphanumeric with spaces and hyphens allowed.
+ /// Name after trimming surrounding whitespace: 5–30 Unicode letters, numbers, spaces, underscores, parentheses, periods, or hyphens.
/// Example: my-custom-model /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. diff --git a/src/libs/Ideogram/Generated/Ideogram.Design.JsonSerializerContext.g.cs b/src/libs/Ideogram/Generated/Ideogram.Design.JsonSerializerContext.g.cs index 3a32929..e9513df 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Design.JsonSerializerContext.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Design.JsonSerializerContext.g.cs @@ -34,6 +34,7 @@ namespace Ideogram [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.LayerizedImageObject))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.LayerizedImageObjectObjectType), TypeInfoPropertyName = "LayerizedImageObjectObjectType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.LayerizeDesignIdeogramV3Request))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.SvgGenerationObject))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.VideoObject))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.DetectedTextBlockAlignment), TypeInfoPropertyName = "DetectedTextBlockAlignment2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] diff --git a/src/libs/Ideogram/Generated/Ideogram.EditWorkflow.JsonSerializerContext.g.cs b/src/libs/Ideogram/Generated/Ideogram.EditWorkflow.JsonSerializerContext.g.cs index 5193c99..043bae9 100644 --- a/src/libs/Ideogram/Generated/Ideogram.EditWorkflow.JsonSerializerContext.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.EditWorkflow.JsonSerializerContext.g.cs @@ -56,6 +56,8 @@ namespace Ideogram [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.AdLocalizerRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.AdLocalizerRequestLanguage), TypeInfoPropertyName = "AdLocalizerRequestLanguage2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.AdLocalizerQuality), TypeInfoPropertyName = "AdLocalizerQuality2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.VectorizerResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.VectorizerRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.AdResizerResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.AdResizerRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.AdResizerRequestResolution), TypeInfoPropertyName = "AdResizerRequestResolution2")] diff --git a/src/libs/Ideogram/Generated/Ideogram.EditWorkflowClient.PostVectorizer.g.cs b/src/libs/Ideogram/Generated/Ideogram.EditWorkflowClient.PostVectorizer.g.cs new file mode 100644 index 0000000..e8324ec --- /dev/null +++ b/src/libs/Ideogram/Generated/Ideogram.EditWorkflowClient.PostVectorizer.g.cs @@ -0,0 +1,824 @@ + +#nullable enable + +namespace Ideogram +{ + public partial class EditWorkflowClient + { + + + private static readonly global::Ideogram.EndPointSecurityRequirement s_PostVectorizerSecurityRequirement0 = + new global::Ideogram.EndPointSecurityRequirement + { + Authorizations = new global::Ideogram.EndPointAuthorizationRequirement[] + { new global::Ideogram.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Ideogram.EndPointSecurityRequirement[] s_PostVectorizerSecurityRequirements = + new global::Ideogram.EndPointSecurityRequirement[] + { s_PostVectorizerSecurityRequirement0, + }; + partial void PreparePostVectorizerArguments( + global::System.Net.Http.HttpClient httpClient, + ref bool? dryRun, + global::Ideogram.VectorizerRequest request); + partial void PreparePostVectorizerRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + bool? dryRun, + global::Ideogram.VectorizerRequest request); + partial void ProcessPostVectorizerResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessPostVectorizerResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Vectorizer
+ /// Converts an image to SVG asynchronously. + ///
+ /// + /// Default Value: false + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task PostVectorizerAsync( + + global::Ideogram.VectorizerRequest request, + bool? dryRun = default, + global::Ideogram.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __response = await PostVectorizerAsResponseAsync( + + request: request, + dryRun: dryRun, + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + + return __response.Body; + } + /// + /// Vectorizer
+ /// Converts an image to SVG asynchronously. + ///
+ /// + /// Default Value: false + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> PostVectorizerAsResponseAsync( + + global::Ideogram.VectorizerRequest request, + bool? dryRun = default, + global::Ideogram.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: HttpClient); + PreparePostVectorizerArguments( + httpClient: HttpClient, + dryRun: ref dryRun, + request: request); + + + var __authorizations = global::Ideogram.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_PostVectorizerSecurityRequirements, + operationName: "PostVectorizerAsync"); + + using var __timeoutCancellationTokenSource = global::Ideogram.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::Ideogram.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::Ideogram.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: false); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::Ideogram.PathBuilder( + path: "/v2/tool/vectorizer", + baseUri: HttpClient.BaseAddress); + __pathBuilder + .AddOptionalParameter("dry_run", dryRun?.ToString().ToLowerInvariant()) + ; + var __path = __pathBuilder.ToString(); + __path = global::Ideogram.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + + var __httpRequestContent = new global::System.Net.Http.MultipartFormDataContent(); + if (request.Image != default) + { + + var __contentImage = new global::System.Net.Http.ByteArrayContent(request.Image ?? global::System.Array.Empty()); + __contentImage.Headers.ContentType = new global::System.Net.Http.Headers.MediaTypeHeaderValue( + request.Imagename is null + ? "application/octet-stream" + : (global::System.IO.Path.GetExtension(request.Imagename) ?? string.Empty).ToLowerInvariant() switch + { + ".aac" => "audio/aac", + ".flac" => "audio/flac", + ".gif" => "image/gif", + ".jpeg" => "image/jpeg", + ".jpg" => "image/jpeg", + ".json" => "application/json", + ".m4a" => "audio/mp4", + ".mp3" => "audio/mpeg", + ".mp4" => "video/mp4", + ".mpeg" => "audio/mpeg", + ".mpga" => "audio/mpeg", + ".oga" => "audio/ogg", + ".ogg" => "audio/ogg", + ".opus" => "audio/ogg", + ".pdf" => "application/pdf", + ".png" => "image/png", + ".txt" => "text/plain", + ".wav" => "audio/wav", + ".weba" => "audio/webm", + ".webm" => "video/webm", + ".webp" => "image/webp", + _ => "application/octet-stream", + }); + __httpRequestContent.Add( + content: __contentImage, + name: "\"image\"", + fileName: request.Imagename != null ? $"\"{request.Imagename}\"" : string.Empty); + if (__contentImage.Headers.ContentDisposition != null) + { + __contentImage.Headers.ContentDisposition.FileNameStar = null; + } + + } + if (request.ImageAssetIdentifier != default) + { + + __httpRequestContent.Add( + content: new global::System.Net.Http.StringContent(request.ImageAssetIdentifier.ToJson(JsonSerializerContext)), + name: "\"image_asset_identifier\""); + + } + if (request.Private != default) + { + + __httpRequestContent.Add( + content: new global::System.Net.Http.StringContent((global::System.Convert.ToString(request.Private, global::System.Globalization.CultureInfo.InvariantCulture) ?? string.Empty).ToLowerInvariant()), + name: "\"private\""); + + } + if (request.TargetCollectionId != default) + { + + __httpRequestContent.Add( + content: new global::System.Net.Http.StringContent(request.TargetCollectionId ?? string.Empty), + name: "\"target_collection_id\""); + + } + if (request.WebhookUrl != default) + { + + __httpRequestContent.Add( + content: new global::System.Net.Http.StringContent(request.WebhookUrl ?? string.Empty), + name: "\"webhook_url\""); + + } + + __httpRequest.Content = __httpRequestContent; + + global::Ideogram.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PreparePostVectorizerRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest, + dryRun: dryRun, + request: request); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::Ideogram.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::Ideogram.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "PostVectorizer", + methodName: "PostVectorizerAsync", + pathTemplate: "\"/v2/tool/vectorizer\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest ?? throw new global::System.InvalidOperationException("The HTTP request was not created before invoking a request hook."), + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::Ideogram.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::Ideogram.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Ideogram.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "PostVectorizer", + methodName: "PostVectorizerAsync", + pathTemplate: "\"/v2/tool/vectorizer\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest ?? throw new global::System.InvalidOperationException("The HTTP request was not created before invoking a request hook."), + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::Ideogram.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::Ideogram.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::Ideogram.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::Ideogram.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Ideogram.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "PostVectorizer", + methodName: "PostVectorizerAsync", + pathTemplate: "\"/v2/tool/vectorizer\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest ?? throw new global::System.InvalidOperationException("The HTTP request was not created before invoking a request hook."), + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::Ideogram.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessPostVectorizerResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::Ideogram.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::Ideogram.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "PostVectorizer", + methodName: "PostVectorizerAsync", + pathTemplate: "\"/v2/tool/vectorizer\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest ?? throw new global::System.InvalidOperationException("The HTTP request was not created before invoking a request hook."), + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::Ideogram.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Ideogram.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "PostVectorizer", + methodName: "PostVectorizerAsync", + pathTemplate: "\"/v2/tool/vectorizer\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest ?? throw new global::System.InvalidOperationException("The HTTP request was not created before invoking a request hook."), + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + // + if ((int)__response.StatusCode == 400) + { + string? __content_400 = null; + global::System.Exception? __exception_400 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + } + else + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + } + } + catch (global::System.Exception __ex) + { + __exception_400 = __ex; + } + + + throw global::Ideogram.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_400 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_400, + responseBody: __content_400, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // + if ((int)__response.StatusCode == 401) + { + string? __content_401 = null; + global::System.Exception? __exception_401 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_401 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + } + else + { + __content_401 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + } + } + catch (global::System.Exception __ex) + { + __exception_401 = __ex; + } + + + throw global::Ideogram.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_401 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_401, + responseBody: __content_401, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Insufficient credits. + if ((int)__response.StatusCode == 402) + { + string? __content_402 = null; + global::System.Exception? __exception_402 = null; + global::Ideogram.GenerationErrorResponse? __value_402 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_402 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_402 = global::Ideogram.GenerationErrorResponse.FromJson(__content_402, JsonSerializerContext); + } + else + { + __content_402 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_402 = global::Ideogram.GenerationErrorResponse.FromJson(__content_402, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_402 = __ex; + } + + + throw global::Ideogram.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_402 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_402, + responseBody: __content_402, + responseObject: __value_402, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // + if ((int)__response.StatusCode == 403) + { + string? __content_403 = null; + global::System.Exception? __exception_403 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_403 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + } + else + { + __content_403 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + } + } + catch (global::System.Exception __ex) + { + __exception_403 = __ex; + } + + + throw global::Ideogram.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_403 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_403, + responseBody: __content_403, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // + if ((int)__response.StatusCode == 404) + { + string? __content_404 = null; + global::System.Exception? __exception_404 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_404 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + } + else + { + __content_404 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + } + } + catch (global::System.Exception __ex) + { + __exception_404 = __ex; + } + + + throw global::Ideogram.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_404 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_404, + responseBody: __content_404, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Too many requests. + if ((int)__response.StatusCode == 429) + { + string? __content_429 = null; + global::System.Exception? __exception_429 = null; + global::Ideogram.GenerationErrorResponse? __value_429 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_429 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_429 = global::Ideogram.GenerationErrorResponse.FromJson(__content_429, JsonSerializerContext); + } + else + { + __content_429 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_429 = global::Ideogram.GenerationErrorResponse.FromJson(__content_429, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_429 = __ex; + } + + + throw global::Ideogram.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_429 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_429, + responseBody: __content_429, + responseObject: __value_429, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // + if ((int)__response.StatusCode == 503) + { + string? __content_503 = null; + global::System.Exception? __exception_503 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_503 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + } + else + { + __content_503 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + } + } + catch (global::System.Exception __ex) + { + __exception_503 = __ex; + } + + + throw global::Ideogram.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_503 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_503, + responseBody: __content_503, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + ProcessPostVectorizerResponseContent( + httpClient: HttpClient, + httpResponseMessage: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + var __value = global::Ideogram.VectorizerResponse.FromJson(__content, JsonSerializerContext) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + return new global::Ideogram.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Ideogram.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + throw global::Ideogram.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + using var __content = await __response.Content.ReadAsStreamAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + var __value = await global::Ideogram.VectorizerResponse.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ?? + throw new global::System.InvalidOperationException("Response deserialization failed."); + return new global::Ideogram.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Ideogram.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw global::Ideogram.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + /// + /// Vectorizer
+ /// Converts an image to SVG asynchronously. + ///
+ /// + /// Default Value: false + /// + /// + /// JPEG, PNG or WEBP source; at most 50 MB. Multipart only. + /// + /// + /// JPEG, PNG or WEBP source; at most 50 MB. Multipart only. + /// + /// + /// An identifier for an ideogram asset.
+ /// Example: {"asset_type":"RESPONSE","asset_id":"7uS_VESkRI6O3-sVgHQp_A"} + /// + /// + /// Outputs are private by default. Enterprise outputs are always private. + /// + /// + /// URL-safe base64 ID of a writable destination collection. + /// + /// + /// HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a
+ /// JSON POST to this URL once all images for the request have finished
+ /// generating. The body mirrors the synchronous generate response:
+ /// `request_id`, `created`, and a `data` array
+ /// containing every generated image (`url`, `prompt`, `resolution`, `seed`,
+ /// `is_image_safe`). Each delivery is signed with Ed25519 and verifiable
+ /// against the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;
+ /// private and loopback hosts and the cloud metadata service are rejected.
+ /// Example: https://api.example.com/webhooks/ideogram + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task PostVectorizerAsync( + bool? dryRun = default, + byte[]? image = default, + string? imagename = default, + global::Ideogram.AssetIdentifier? imageAssetIdentifier = default, + bool? @private = default, + string? targetCollectionId = default, + string? webhookUrl = default, + global::Ideogram.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __request = new global::Ideogram.VectorizerRequest + { + Image = image, + Imagename = imagename, + ImageAssetIdentifier = imageAssetIdentifier, + Private = @private, + TargetCollectionId = targetCollectionId, + WebhookUrl = webhookUrl, + }; + + return await PostVectorizerAsync( + dryRun: dryRun, + request: __request, + requestOptions: requestOptions, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/Ideogram/Generated/Ideogram.Generate.JsonSerializerContext.g.cs b/src/libs/Ideogram/Generated/Ideogram.Generate.JsonSerializerContext.g.cs index bdd589f..20aa5fb 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Generate.JsonSerializerContext.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Generate.JsonSerializerContext.g.cs @@ -178,6 +178,9 @@ namespace Ideogram [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.ColorPalettePresetName), TypeInfoPropertyName = "ColorPalettePresetName2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.ColorPaletteMember))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.SvgGenerationObject))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.SvgGenerationObjectObjectType), TypeInfoPropertyName = "SvgGenerationObjectObjectType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.SvgGenerationObjectMimeType), TypeInfoPropertyName = "SvgGenerationObjectMimeType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.VideoObject))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.VideoObjectObjectType), TypeInfoPropertyName = "VideoObjectObjectType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.DetectedTextBlockAlignment), TypeInfoPropertyName = "DetectedTextBlockAlignment2")] @@ -247,6 +250,8 @@ namespace Ideogram [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.V4ObjPromptElementType?), TypeInfoPropertyName = "NullableV4ObjPromptElementType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.V4TextPromptElementType?), TypeInfoPropertyName = "NullableV4TextPromptElementType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.ColorPalettePresetName?), TypeInfoPropertyName = "NullableColorPalettePresetName2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.SvgGenerationObjectObjectType?), TypeInfoPropertyName = "NullableSvgGenerationObjectObjectType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.SvgGenerationObjectMimeType?), TypeInfoPropertyName = "NullableSvgGenerationObjectMimeType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.VideoObjectObjectType?), TypeInfoPropertyName = "NullableVideoObjectObjectType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.DetectedTextBlockAlignment?), TypeInfoPropertyName = "NullableDetectedTextBlockAlignment2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.DetectedTextBlockFormattingItem?), TypeInfoPropertyName = "NullableDetectedTextBlockFormattingItem2")] @@ -544,6 +549,14 @@ public override bool CanConvert(global::System.Type typeToConvert) || typeToConvert == typeof(global::Ideogram.MagicPromptVersionEnum?) + || typeToConvert == typeof(global::Ideogram.SvgGenerationObjectObjectType) + + || typeToConvert == typeof(global::Ideogram.SvgGenerationObjectObjectType?) + + || typeToConvert == typeof(global::Ideogram.SvgGenerationObjectMimeType) + + || typeToConvert == typeof(global::Ideogram.SvgGenerationObjectMimeType?) + || typeToConvert == typeof(global::Ideogram.VideoObjectObjectType) || typeToConvert == typeof(global::Ideogram.VideoObjectObjectType?) @@ -1057,6 +1070,26 @@ public override bool CanConvert(global::System.Type typeToConvert) return new global::Ideogram.JsonConverters.MagicPromptVersionEnumNullableJsonConverter(); } + if (typeToConvert == typeof(global::Ideogram.SvgGenerationObjectObjectType)) + { + return new global::Ideogram.JsonConverters.SvgGenerationObjectObjectTypeJsonConverter(); + } + + if (typeToConvert == typeof(global::Ideogram.SvgGenerationObjectObjectType?)) + { + return new global::Ideogram.JsonConverters.SvgGenerationObjectObjectTypeNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Ideogram.SvgGenerationObjectMimeType)) + { + return new global::Ideogram.JsonConverters.SvgGenerationObjectMimeTypeJsonConverter(); + } + + if (typeToConvert == typeof(global::Ideogram.SvgGenerationObjectMimeType?)) + { + return new global::Ideogram.JsonConverters.SvgGenerationObjectMimeTypeNullableJsonConverter(); + } + if (typeToConvert == typeof(global::Ideogram.VideoObjectObjectType)) { return new global::Ideogram.JsonConverters.VideoObjectObjectTypeJsonConverter(); diff --git a/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostGenerateDesignV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostGenerateDesignV3.g.cs index 2136fe3..8d60e33 100644 --- a/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostGenerateDesignV3.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostGenerateDesignV3.g.cs @@ -932,7 +932,7 @@ request.FontFileSmallname is null /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
diff --git a/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostGenerateImageV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostGenerateImageV3.g.cs index 997f543..b060d31 100644 --- a/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostGenerateImageV3.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostGenerateImageV3.g.cs @@ -755,7 +755,7 @@ partial void ProcessPostGenerateImageV3ResponseContent( /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
diff --git a/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostGenerateImageV3Transparent.g.cs b/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostGenerateImageV3Transparent.g.cs index 8e6d048..c44290f 100644 --- a/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostGenerateImageV3Transparent.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostGenerateImageV3Transparent.g.cs @@ -685,7 +685,7 @@ partial void ProcessPostGenerateImageV3TransparentResponseContent( /// Example: X2 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
diff --git a/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostRemixImageV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostRemixImageV3.g.cs index 24c5038..85235e0 100644 --- a/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostRemixImageV3.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostRemixImageV3.g.cs @@ -809,7 +809,7 @@ request.Imagename is null /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
@@ -948,7 +948,7 @@ request.Imagename is null /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
@@ -1875,7 +1875,7 @@ __fileNameCharacterReferenceImagesMask is null /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
diff --git a/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostV1EditImage.g.cs b/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostV1EditImage.g.cs index 8f5f45b..4812556 100644 --- a/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostV1EditImage.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.GenerateClient.PostV1EditImage.g.cs @@ -758,7 +758,7 @@ partial void ProcessPostV1EditImageResponseContent( /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// Whether the output should have a transparent background. Default false.
diff --git a/src/libs/Ideogram/Generated/Ideogram.Generations.JsonSerializerContext.g.cs b/src/libs/Ideogram/Generated/Ideogram.Generations.JsonSerializerContext.g.cs index ffebcf4..9158e8c 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Generations.JsonSerializerContext.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Generations.JsonSerializerContext.g.cs @@ -33,6 +33,9 @@ namespace Ideogram [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.DetectedTextBlock))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.LayerizedImageObject))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.LayerizedImageObjectObjectType), TypeInfoPropertyName = "LayerizedImageObjectObjectType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.SvgGenerationObject))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.SvgGenerationObjectObjectType), TypeInfoPropertyName = "SvgGenerationObjectObjectType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.SvgGenerationObjectMimeType), TypeInfoPropertyName = "SvgGenerationObjectMimeType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.VideoObject))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.VideoObjectObjectType), TypeInfoPropertyName = "VideoObjectObjectType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.DetectedTextBlockAlignment), TypeInfoPropertyName = "DetectedTextBlockAlignment2")] @@ -52,6 +55,8 @@ namespace Ideogram [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.ImageObjectWithoutPromptOrSeedObjectType?), TypeInfoPropertyName = "NullableImageObjectWithoutPromptOrSeedObjectType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.ImageGenerationObjectObjectType?), TypeInfoPropertyName = "NullableImageGenerationObjectObjectType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.LayerizedImageObjectObjectType?), TypeInfoPropertyName = "NullableLayerizedImageObjectObjectType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.SvgGenerationObjectObjectType?), TypeInfoPropertyName = "NullableSvgGenerationObjectObjectType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.SvgGenerationObjectMimeType?), TypeInfoPropertyName = "NullableSvgGenerationObjectMimeType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.VideoObjectObjectType?), TypeInfoPropertyName = "NullableVideoObjectObjectType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.DetectedTextBlockAlignment?), TypeInfoPropertyName = "NullableDetectedTextBlockAlignment2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.DetectedTextBlockFormattingItem?), TypeInfoPropertyName = "NullableDetectedTextBlockFormattingItem2")] @@ -151,6 +156,14 @@ public override bool CanConvert(global::System.Type typeToConvert) || typeToConvert == typeof(global::Ideogram.LayerizedImageObjectObjectType?) + || typeToConvert == typeof(global::Ideogram.SvgGenerationObjectObjectType) + + || typeToConvert == typeof(global::Ideogram.SvgGenerationObjectObjectType?) + + || typeToConvert == typeof(global::Ideogram.SvgGenerationObjectMimeType) + + || typeToConvert == typeof(global::Ideogram.SvgGenerationObjectMimeType?) + || typeToConvert == typeof(global::Ideogram.VideoObjectObjectType) || typeToConvert == typeof(global::Ideogram.VideoObjectObjectType?) @@ -226,6 +239,26 @@ public override bool CanConvert(global::System.Type typeToConvert) return new global::Ideogram.JsonConverters.LayerizedImageObjectObjectTypeNullableJsonConverter(); } + if (typeToConvert == typeof(global::Ideogram.SvgGenerationObjectObjectType)) + { + return new global::Ideogram.JsonConverters.SvgGenerationObjectObjectTypeJsonConverter(); + } + + if (typeToConvert == typeof(global::Ideogram.SvgGenerationObjectObjectType?)) + { + return new global::Ideogram.JsonConverters.SvgGenerationObjectObjectTypeNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Ideogram.SvgGenerationObjectMimeType)) + { + return new global::Ideogram.JsonConverters.SvgGenerationObjectMimeTypeJsonConverter(); + } + + if (typeToConvert == typeof(global::Ideogram.SvgGenerationObjectMimeType?)) + { + return new global::Ideogram.JsonConverters.SvgGenerationObjectMimeTypeNullableJsonConverter(); + } + if (typeToConvert == typeof(global::Ideogram.VideoObjectObjectType)) { return new global::Ideogram.JsonConverters.VideoObjectObjectTypeJsonConverter(); diff --git a/src/libs/Ideogram/Generated/Ideogram.IDatasetsClient.TrainDatasetModel.g.cs b/src/libs/Ideogram/Generated/Ideogram.IDatasetsClient.TrainDatasetModel.g.cs index 96fad43..96ecd18 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IDatasetsClient.TrainDatasetModel.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IDatasetsClient.TrainDatasetModel.g.cs @@ -40,7 +40,7 @@ public partial interface IDatasetsClient /// /// /// - /// Name for the trained model. Must be 5-30 characters, alphanumeric with spaces and hyphens allowed.
+ /// Name after trimming surrounding whitespace: 5–30 Unicode letters, numbers, spaces, underscores, parentheses, periods, or hyphens.
/// Example: my-custom-model /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. diff --git a/src/libs/Ideogram/Generated/Ideogram.IEditWorkflowClient.PostVectorizer.g.cs b/src/libs/Ideogram/Generated/Ideogram.IEditWorkflowClient.PostVectorizer.g.cs new file mode 100644 index 0000000..a8fc59e --- /dev/null +++ b/src/libs/Ideogram/Generated/Ideogram.IEditWorkflowClient.PostVectorizer.g.cs @@ -0,0 +1,89 @@ +#nullable enable + +namespace Ideogram +{ + public partial interface IEditWorkflowClient + { + /// + /// Vectorizer
+ /// Converts an image to SVG asynchronously. + ///
+ /// + /// Default Value: false + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task PostVectorizerAsync( + + global::Ideogram.VectorizerRequest request, + bool? dryRun = default, + global::Ideogram.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Vectorizer
+ /// Converts an image to SVG asynchronously. + ///
+ /// + /// Default Value: false + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task> PostVectorizerAsResponseAsync( + + global::Ideogram.VectorizerRequest request, + bool? dryRun = default, + global::Ideogram.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Vectorizer
+ /// Converts an image to SVG asynchronously. + ///
+ /// + /// Default Value: false + /// + /// + /// JPEG, PNG or WEBP source; at most 50 MB. Multipart only. + /// + /// + /// JPEG, PNG or WEBP source; at most 50 MB. Multipart only. + /// + /// + /// An identifier for an ideogram asset.
+ /// Example: {"asset_type":"RESPONSE","asset_id":"7uS_VESkRI6O3-sVgHQp_A"} + /// + /// + /// Outputs are private by default. Enterprise outputs are always private. + /// + /// + /// URL-safe base64 ID of a writable destination collection. + /// + /// + /// HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a
+ /// JSON POST to this URL once all images for the request have finished
+ /// generating. The body mirrors the synchronous generate response:
+ /// `request_id`, `created`, and a `data` array
+ /// containing every generated image (`url`, `prompt`, `resolution`, `seed`,
+ /// `is_image_safe`). Each delivery is signed with Ed25519 and verifiable
+ /// against the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;
+ /// private and loopback hosts and the cloud metadata service are rejected.
+ /// Example: https://api.example.com/webhooks/ideogram + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task PostVectorizerAsync( + bool? dryRun = default, + byte[]? image = default, + string? imagename = default, + global::Ideogram.AssetIdentifier? imageAssetIdentifier = default, + bool? @private = default, + string? targetCollectionId = default, + string? webhookUrl = default, + global::Ideogram.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostGenerateDesignV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostGenerateDesignV3.g.cs index ff616c4..215a582 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostGenerateDesignV3.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostGenerateDesignV3.g.cs @@ -53,7 +53,7 @@ public partial interface IGenerateClient /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
diff --git a/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostGenerateImageV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostGenerateImageV3.g.cs index 03c978a..31d6c3e 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostGenerateImageV3.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostGenerateImageV3.g.cs @@ -50,7 +50,7 @@ public partial interface IGenerateClient /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
diff --git a/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostGenerateImageV3Transparent.g.cs b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostGenerateImageV3Transparent.g.cs index 74c97e9..44b68a0 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostGenerateImageV3Transparent.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostGenerateImageV3Transparent.g.cs @@ -66,7 +66,7 @@ public partial interface IGenerateClient /// Example: X2 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
diff --git a/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostRemixImageV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostRemixImageV3.g.cs index 8b5f3c6..8fe4d01 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostRemixImageV3.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostRemixImageV3.g.cs @@ -66,7 +66,7 @@ public partial interface IGenerateClient /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
@@ -175,7 +175,7 @@ public partial interface IGenerateClient /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
@@ -295,7 +295,7 @@ public partial interface IGenerateClient /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
diff --git a/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostV1EditImage.g.cs b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostV1EditImage.g.cs index dc1ea51..3b108f7 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostV1EditImage.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.PostV1EditImage.g.cs @@ -73,7 +73,7 @@ public partial interface IGenerateClient /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// Whether the output should have a transparent background. Default false.
diff --git a/src/libs/Ideogram/Generated/Ideogram.IImagesGenerateClient.PostGenerateImageV2IdeogramV4.g.cs b/src/libs/Ideogram/Generated/Ideogram.IImagesGenerateClient.PostGenerateImageV2IdeogramV4.g.cs index d34bbd6..5cb2844 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IImagesGenerateClient.PostGenerateImageV2IdeogramV4.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IImagesGenerateClient.PostGenerateImageV2IdeogramV4.g.cs @@ -57,7 +57,7 @@ public partial interface IImagesGenerateClient /// /// The prompt to generate images from, in natural language or as a
/// structured Ideogram 4.0 JSON prompt. A structured JSON prompt is
- /// used as is and skips magic prompt. + /// used as is and skips magic prompt unless `magic_prompt` is `on`. /// /// /// Controls how a natural-language prompt is prepared. `auto` (the
diff --git a/src/libs/Ideogram/Generated/Ideogram.IImagesGenerateClient.PostGenerateImageV2IdeogramV4CustomModel.g.cs b/src/libs/Ideogram/Generated/Ideogram.IImagesGenerateClient.PostGenerateImageV2IdeogramV4CustomModel.g.cs index c9156bc..c0dad8a 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IImagesGenerateClient.PostGenerateImageV2IdeogramV4CustomModel.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IImagesGenerateClient.PostGenerateImageV2IdeogramV4CustomModel.g.cs @@ -57,7 +57,7 @@ public partial interface IImagesGenerateClient /// /// The prompt to generate images from, in natural language or as a
/// structured Ideogram 4.0 JSON prompt. A structured JSON prompt is
- /// used as is and skips magic prompt. + /// used as is and skips magic prompt unless `magic_prompt` is `on`. /// /// /// The custom model URI, in the form `model/<model_name>/version/<version_name>`. You or your organization must have access to the model. The model determines which rendering speeds are supported.
diff --git a/src/libs/Ideogram/Generated/Ideogram.IImagesGenerateClient.PostGenerateImageV2IdeogramV4Transparent.g.cs b/src/libs/Ideogram/Generated/Ideogram.IImagesGenerateClient.PostGenerateImageV2IdeogramV4Transparent.g.cs index c862b8c..1ac7156 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IImagesGenerateClient.PostGenerateImageV2IdeogramV4Transparent.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IImagesGenerateClient.PostGenerateImageV2IdeogramV4Transparent.g.cs @@ -77,10 +77,8 @@ public partial interface IImagesGenerateClient /// Default Value: 1 /// /// - /// The aspect ratio for an Ideogram 4.0 magic prompt. `auto` lets the
- /// model select the most suitable ratio from the prompt; any other value
- /// pins the ratio. The non-auto values are the buckets the 4.0 model
- /// supports.
+ /// Supported output aspect ratios. The operation defines whether `auto`
+ /// preserves the source shape or selects a shape from the prompt.
/// Default Value: auto /// /// diff --git a/src/libs/Ideogram/Generated/Ideogram.IImagesRemixClient.PostRemixImageV2IdeogramV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.IImagesRemixClient.PostRemixImageV2IdeogramV3.g.cs index 1837f41..faf0e3c 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IImagesRemixClient.PostRemixImageV2IdeogramV3.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IImagesRemixClient.PostRemixImageV2IdeogramV3.g.cs @@ -84,7 +84,7 @@ public partial interface IImagesRemixClient /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
diff --git a/src/libs/Ideogram/Generated/Ideogram.IImagesRemixClient.PostRemixImageV2IdeogramV3Character.g.cs b/src/libs/Ideogram/Generated/Ideogram.IImagesRemixClient.PostRemixImageV2IdeogramV3Character.g.cs index 65a4cfd..11ccdab 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IImagesRemixClient.PostRemixImageV2IdeogramV3Character.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IImagesRemixClient.PostRemixImageV2IdeogramV3Character.g.cs @@ -108,7 +108,7 @@ public partial interface IImagesRemixClient /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
diff --git a/src/libs/Ideogram/Generated/Ideogram.IImagesRemixClient.PostRemixImageV2IdeogramV3CustomModel.g.cs b/src/libs/Ideogram/Generated/Ideogram.IImagesRemixClient.PostRemixImageV2IdeogramV3CustomModel.g.cs index 216d4c1..33b874d 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IImagesRemixClient.PostRemixImageV2IdeogramV3CustomModel.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IImagesRemixClient.PostRemixImageV2IdeogramV3CustomModel.g.cs @@ -91,7 +91,7 @@ public partial interface IImagesRemixClient /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use. When omitted, the server chooses a speed supported by the selected custom model. diff --git a/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance25ReferenceToVideo.g.cs b/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance25ReferenceToVideo.g.cs index 17aa0cf..76bb28d 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance25ReferenceToVideo.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance25ReferenceToVideo.g.cs @@ -74,7 +74,7 @@ public partial interface IVideoGenerateClient /// MP3 or WAV audio references, in prompt order. Multipart requests only. Each file must be at most 15 MB and between 2 and 30 seconds long, with a combined duration of at most 30 seconds. Requires at least one reference image. Audio is used for this request only and is not saved to your library. /// /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto /// diff --git a/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance25TextToVideo.g.cs b/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance25TextToVideo.g.cs index 10711ac..6087d48 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance25TextToVideo.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance25TextToVideo.g.cs @@ -56,7 +56,7 @@ public partial interface IVideoGenerateClient /// Example: A red fox running through a snowy forest at dawn. /// /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto /// diff --git a/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance2ImageToVideo.g.cs b/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance2ImageToVideo.g.cs index f87395c..6f57cc4 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance2ImageToVideo.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance2ImageToVideo.g.cs @@ -80,7 +80,7 @@ public partial interface IVideoGenerateClient /// Example: The camera slowly pans right as the waves roll in. /// /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto /// diff --git a/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance2ReferenceToVideo.g.cs b/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance2ReferenceToVideo.g.cs index 1cfbfe0..5c9298f 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance2ReferenceToVideo.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance2ReferenceToVideo.g.cs @@ -74,7 +74,7 @@ public partial interface IVideoGenerateClient /// MP3 or WAV audio references, in prompt order. Multipart requests only. Each file must be at most 15 MB and between 2 and 15 seconds long, with a combined duration of at most 15 seconds. Requires at least one reference image. Audio is used for this request only and is not saved to your library. /// /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto /// diff --git a/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance2TextToVideo.g.cs b/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance2TextToVideo.g.cs index be5b51c..d069fd4 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance2TextToVideo.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IVideoGenerateClient.PostGenerateVideoSeedDance2TextToVideo.g.cs @@ -56,7 +56,7 @@ public partial interface IVideoGenerateClient /// Example: A red fox running through a snowy forest at dawn. /// /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto /// diff --git a/src/libs/Ideogram/Generated/Ideogram.ImagesGenerateClient.PostGenerateImageV2IdeogramV4.g.cs b/src/libs/Ideogram/Generated/Ideogram.ImagesGenerateClient.PostGenerateImageV2IdeogramV4.g.cs index 0bd42a2..b7fc36b 100644 --- a/src/libs/Ideogram/Generated/Ideogram.ImagesGenerateClient.PostGenerateImageV2IdeogramV4.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.ImagesGenerateClient.PostGenerateImageV2IdeogramV4.g.cs @@ -702,7 +702,7 @@ partial void ProcessPostGenerateImageV2IdeogramV4ResponseContent( /// /// The prompt to generate images from, in natural language or as a
/// structured Ideogram 4.0 JSON prompt. A structured JSON prompt is
- /// used as is and skips magic prompt. + /// used as is and skips magic prompt unless `magic_prompt` is `on`. /// /// /// Controls how a natural-language prompt is prepared. `auto` (the
diff --git a/src/libs/Ideogram/Generated/Ideogram.ImagesGenerateClient.PostGenerateImageV2IdeogramV4CustomModel.g.cs b/src/libs/Ideogram/Generated/Ideogram.ImagesGenerateClient.PostGenerateImageV2IdeogramV4CustomModel.g.cs index ad4c53c..b3d4d94 100644 --- a/src/libs/Ideogram/Generated/Ideogram.ImagesGenerateClient.PostGenerateImageV2IdeogramV4CustomModel.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.ImagesGenerateClient.PostGenerateImageV2IdeogramV4CustomModel.g.cs @@ -734,7 +734,7 @@ partial void ProcessPostGenerateImageV2IdeogramV4CustomModelResponseContent( /// /// The prompt to generate images from, in natural language or as a
/// structured Ideogram 4.0 JSON prompt. A structured JSON prompt is
- /// used as is and skips magic prompt. + /// used as is and skips magic prompt unless `magic_prompt` is `on`. /// /// /// The custom model URI, in the form `model/<model_name>/version/<version_name>`. You or your organization must have access to the model. The model determines which rendering speeds are supported.
diff --git a/src/libs/Ideogram/Generated/Ideogram.ImagesGenerateClient.PostGenerateImageV2IdeogramV4Transparent.g.cs b/src/libs/Ideogram/Generated/Ideogram.ImagesGenerateClient.PostGenerateImageV2IdeogramV4Transparent.g.cs index e021d53..612eccc 100644 --- a/src/libs/Ideogram/Generated/Ideogram.ImagesGenerateClient.PostGenerateImageV2IdeogramV4Transparent.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.ImagesGenerateClient.PostGenerateImageV2IdeogramV4Transparent.g.cs @@ -722,10 +722,8 @@ partial void ProcessPostGenerateImageV2IdeogramV4TransparentResponseContent( /// Default Value: 1 /// /// - /// The aspect ratio for an Ideogram 4.0 magic prompt. `auto` lets the
- /// model select the most suitable ratio from the prompt; any other value
- /// pins the ratio. The non-auto values are the buckets the 4.0 model
- /// supports.
+ /// Supported output aspect ratios. The operation defines whether `auto`
+ /// preserves the source shape or selects a shape from the prompt.
/// Default Value: auto /// /// diff --git a/src/libs/Ideogram/Generated/Ideogram.ImagesRemixClient.PostRemixImageV2IdeogramV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.ImagesRemixClient.PostRemixImageV2IdeogramV3.g.cs index c145326..cbd8568 100644 --- a/src/libs/Ideogram/Generated/Ideogram.ImagesRemixClient.PostRemixImageV2IdeogramV3.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.ImagesRemixClient.PostRemixImageV2IdeogramV3.g.cs @@ -992,7 +992,7 @@ request.Imagename is null /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
diff --git a/src/libs/Ideogram/Generated/Ideogram.ImagesRemixClient.PostRemixImageV2IdeogramV3Character.g.cs b/src/libs/Ideogram/Generated/Ideogram.ImagesRemixClient.PostRemixImageV2IdeogramV3Character.g.cs index 5c5c3e5..14b0a48 100644 --- a/src/libs/Ideogram/Generated/Ideogram.ImagesRemixClient.PostRemixImageV2IdeogramV3Character.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.ImagesRemixClient.PostRemixImageV2IdeogramV3Character.g.cs @@ -1076,7 +1076,7 @@ request.CharacterReferenceMaskname is null /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
diff --git a/src/libs/Ideogram/Generated/Ideogram.ImagesRemixClient.PostRemixImageV2IdeogramV3CustomModel.g.cs b/src/libs/Ideogram/Generated/Ideogram.ImagesRemixClient.PostRemixImageV2IdeogramV3CustomModel.g.cs index 66b7613..5c865c8 100644 --- a/src/libs/Ideogram/Generated/Ideogram.ImagesRemixClient.PostRemixImageV2IdeogramV3CustomModel.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.ImagesRemixClient.PostRemixImageV2IdeogramV3CustomModel.g.cs @@ -1011,7 +1011,7 @@ request.Imagename is null /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use. When omitted, the server chooses a speed supported by the selected custom model. diff --git a/src/libs/Ideogram/Generated/Ideogram.JsonConverters.GenerationResponseDataInner.g.cs b/src/libs/Ideogram/Generated/Ideogram.JsonConverters.GenerationResponseDataInner.g.cs index 418ee79..d9662ae 100644 --- a/src/libs/Ideogram/Generated/Ideogram.JsonConverters.GenerationResponseDataInner.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.JsonConverters.GenerationResponseDataInner.g.cs @@ -28,6 +28,13 @@ public class GenerationResponseDataInnerJsonConverter : global::System.Text.Json throw new global::System.InvalidOperationException($"Cannot get type info for {nameof(global::Ideogram.ImageObjectWithoutPromptOrSeed)}"); imageWithoutPromptOrSeed = global::System.Text.Json.JsonSerializer.Deserialize(ref reader, typeInfo); } + global::Ideogram.SvgGenerationObject? svgGeneration = default; + if (discriminator?.ObjectType == global::Ideogram.GenerationResponseDataInnerDiscriminatorObjectType.SvgGeneration) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Ideogram.SvgGenerationObject), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {nameof(global::Ideogram.SvgGenerationObject)}"); + svgGeneration = global::System.Text.Json.JsonSerializer.Deserialize(ref reader, typeInfo); + } global::Ideogram.ImageGenerationObject? imageGeneration = default; if (discriminator?.ObjectType == global::Ideogram.GenerationResponseDataInnerDiscriminatorObjectType.ImageGeneration) { @@ -54,6 +61,8 @@ public class GenerationResponseDataInnerJsonConverter : global::System.Text.Json discriminator?.ObjectType, imageWithoutPromptOrSeed, + svgGeneration, + imageGeneration, videoGeneration, @@ -79,6 +88,12 @@ public override void Write( throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::Ideogram.ImageObjectWithoutPromptOrSeed).Name}"); global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickImageWithoutPromptOrSeed(), typeInfo); } + else if (value.IsSvgGeneration) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Ideogram.SvgGenerationObject), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::Ideogram.SvgGenerationObject).Name}"); + global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickSvgGeneration(), typeInfo); + } else if (value.IsImageGeneration) { var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Ideogram.ImageGenerationObject), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? diff --git a/src/libs/Ideogram/Generated/Ideogram.JsonConverters.SvgGenerationObjectMimeType.g.cs b/src/libs/Ideogram/Generated/Ideogram.JsonConverters.SvgGenerationObjectMimeType.g.cs new file mode 100644 index 0000000..fb312e8 --- /dev/null +++ b/src/libs/Ideogram/Generated/Ideogram.JsonConverters.SvgGenerationObjectMimeType.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Ideogram.JsonConverters +{ + /// + public sealed class SvgGenerationObjectMimeTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Ideogram.SvgGenerationObjectMimeType Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Ideogram.SvgGenerationObjectMimeTypeExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Ideogram.SvgGenerationObjectMimeType)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Ideogram.SvgGenerationObjectMimeType); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Ideogram.SvgGenerationObjectMimeType value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Ideogram.SvgGenerationObjectMimeTypeExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Ideogram/Generated/Ideogram.JsonConverters.SvgGenerationObjectMimeTypeNullable.g.cs b/src/libs/Ideogram/Generated/Ideogram.JsonConverters.SvgGenerationObjectMimeTypeNullable.g.cs new file mode 100644 index 0000000..350d2a6 --- /dev/null +++ b/src/libs/Ideogram/Generated/Ideogram.JsonConverters.SvgGenerationObjectMimeTypeNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Ideogram.JsonConverters +{ + /// + public sealed class SvgGenerationObjectMimeTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Ideogram.SvgGenerationObjectMimeType? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Ideogram.SvgGenerationObjectMimeTypeExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Ideogram.SvgGenerationObjectMimeType)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Ideogram.SvgGenerationObjectMimeType?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Ideogram.SvgGenerationObjectMimeType? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Ideogram.SvgGenerationObjectMimeTypeExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Ideogram/Generated/Ideogram.JsonConverters.SvgGenerationObjectObjectType.g.cs b/src/libs/Ideogram/Generated/Ideogram.JsonConverters.SvgGenerationObjectObjectType.g.cs new file mode 100644 index 0000000..16f02a4 --- /dev/null +++ b/src/libs/Ideogram/Generated/Ideogram.JsonConverters.SvgGenerationObjectObjectType.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Ideogram.JsonConverters +{ + /// + public sealed class SvgGenerationObjectObjectTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Ideogram.SvgGenerationObjectObjectType Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Ideogram.SvgGenerationObjectObjectTypeExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Ideogram.SvgGenerationObjectObjectType)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Ideogram.SvgGenerationObjectObjectType); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Ideogram.SvgGenerationObjectObjectType value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Ideogram.SvgGenerationObjectObjectTypeExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Ideogram/Generated/Ideogram.JsonConverters.SvgGenerationObjectObjectTypeNullable.g.cs b/src/libs/Ideogram/Generated/Ideogram.JsonConverters.SvgGenerationObjectObjectTypeNullable.g.cs new file mode 100644 index 0000000..a201f4a --- /dev/null +++ b/src/libs/Ideogram/Generated/Ideogram.JsonConverters.SvgGenerationObjectObjectTypeNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Ideogram.JsonConverters +{ + /// + public sealed class SvgGenerationObjectObjectTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Ideogram.SvgGenerationObjectObjectType? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Ideogram.SvgGenerationObjectObjectTypeExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Ideogram.SvgGenerationObjectObjectType)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Ideogram.SvgGenerationObjectObjectType?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Ideogram.SvgGenerationObjectObjectType? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Ideogram.SvgGenerationObjectObjectTypeExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContext.g.cs b/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContext.g.cs index 6d785c6..7e2fbd0 100644 --- a/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContext.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContext.g.cs @@ -300,6 +300,8 @@ namespace Ideogram [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.AdLocalizerRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.AdLocalizerRequestLanguage), TypeInfoPropertyName = "AdLocalizerRequestLanguage2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.AdLocalizerQuality), TypeInfoPropertyName = "AdLocalizerQuality2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.VectorizerResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.VectorizerRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.AdResizerResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.AdResizerRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.AdResizerRequestResolution), TypeInfoPropertyName = "AdResizerRequestResolution2")] @@ -507,8 +509,6 @@ namespace Ideogram [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.UsageSegment))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.ToolUsage))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.ToolType), TypeInfoPropertyName = "ToolType2")] internal sealed partial class SourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext { } @@ -519,6 +519,8 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSourceGenerationOptions( DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull )] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.ToolUsage))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.ToolType), TypeInfoPropertyName = "ToolType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.ModelVersion), TypeInfoPropertyName = "ModelVersion2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.SegmentBy), TypeInfoPropertyName = "SegmentBy2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.UsageSource), TypeInfoPropertyName = "UsageSource2")] @@ -623,6 +625,9 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.ColorPalettePresetName), TypeInfoPropertyName = "ColorPalettePresetName2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.ColorPaletteMember))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.SvgGenerationObject))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.SvgGenerationObjectObjectType), TypeInfoPropertyName = "SvgGenerationObjectObjectType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.SvgGenerationObjectMimeType), TypeInfoPropertyName = "SvgGenerationObjectMimeType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.VideoObject))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.VideoObjectObjectType), TypeInfoPropertyName = "VideoObjectObjectType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.DetectedTextBlockAlignment), TypeInfoPropertyName = "DetectedTextBlockAlignment2")] @@ -825,6 +830,8 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.V4ObjPromptElementType?), TypeInfoPropertyName = "NullableV4ObjPromptElementType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.V4TextPromptElementType?), TypeInfoPropertyName = "NullableV4TextPromptElementType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.ColorPalettePresetName?), TypeInfoPropertyName = "NullableColorPalettePresetName2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.SvgGenerationObjectObjectType?), TypeInfoPropertyName = "NullableSvgGenerationObjectObjectType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.SvgGenerationObjectMimeType?), TypeInfoPropertyName = "NullableSvgGenerationObjectMimeType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.VideoObjectObjectType?), TypeInfoPropertyName = "NullableVideoObjectObjectType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.DetectedTextBlockAlignment?), TypeInfoPropertyName = "NullableDetectedTextBlockAlignment2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.DetectedTextBlockFormattingItem?), TypeInfoPropertyName = "NullableDetectedTextBlockFormattingItem2")] @@ -1590,6 +1597,14 @@ public override bool CanConvert(global::System.Type typeToConvert) || typeToConvert == typeof(global::Ideogram.MagicPromptVersionEnum?) + || typeToConvert == typeof(global::Ideogram.SvgGenerationObjectObjectType) + + || typeToConvert == typeof(global::Ideogram.SvgGenerationObjectObjectType?) + + || typeToConvert == typeof(global::Ideogram.SvgGenerationObjectMimeType) + + || typeToConvert == typeof(global::Ideogram.SvgGenerationObjectMimeType?) + || typeToConvert == typeof(global::Ideogram.VideoObjectObjectType) || typeToConvert == typeof(global::Ideogram.VideoObjectObjectType?) @@ -3239,6 +3254,26 @@ public override bool CanConvert(global::System.Type typeToConvert) return new global::Ideogram.JsonConverters.MagicPromptVersionEnumNullableJsonConverter(); } + if (typeToConvert == typeof(global::Ideogram.SvgGenerationObjectObjectType)) + { + return new global::Ideogram.JsonConverters.SvgGenerationObjectObjectTypeJsonConverter(); + } + + if (typeToConvert == typeof(global::Ideogram.SvgGenerationObjectObjectType?)) + { + return new global::Ideogram.JsonConverters.SvgGenerationObjectObjectTypeNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Ideogram.SvgGenerationObjectMimeType)) + { + return new global::Ideogram.JsonConverters.SvgGenerationObjectMimeTypeJsonConverter(); + } + + if (typeToConvert == typeof(global::Ideogram.SvgGenerationObjectMimeType?)) + { + return new global::Ideogram.JsonConverters.SvgGenerationObjectMimeTypeNullableJsonConverter(); + } + if (typeToConvert == typeof(global::Ideogram.VideoObjectObjectType)) { return new global::Ideogram.JsonConverters.VideoObjectObjectTypeJsonConverter(); diff --git a/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContextTypes.g.cs b/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContextTypes.g.cs index 1eda56f..a8aa7ff 100644 --- a/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContextTypes.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContextTypes.g.cs @@ -1185,1351 +1185,1371 @@ public sealed partial class JsonSerializerContextTypes /// /// /// - public global::Ideogram.AdResizerResponse? Type288 { get; set; } + public global::Ideogram.VectorizerResponse? Type288 { get; set; } /// /// /// - public global::Ideogram.AdResizerRequest? Type289 { get; set; } + public global::Ideogram.VectorizerRequest? Type289 { get; set; } /// /// /// - public global::Ideogram.AdResizerRequestResolution? Type290 { get; set; } + public global::Ideogram.AdResizerResponse? Type290 { get; set; } /// /// /// - public global::Ideogram.AdResizerRequestPlatform? Type291 { get; set; } + public global::Ideogram.AdResizerRequest? Type291 { get; set; } /// /// /// - public global::Ideogram.AdResizerQuality? Type292 { get; set; } + public global::Ideogram.AdResizerRequestResolution? Type292 { get; set; } /// /// /// - public global::Ideogram.AdVariationsResponse? Type293 { get; set; } + public global::Ideogram.AdResizerRequestPlatform? Type293 { get; set; } /// /// /// - public global::Ideogram.AdVariationsRequest? Type294 { get; set; } + public global::Ideogram.AdResizerQuality? Type294 { get; set; } /// /// /// - public global::Ideogram.AdVariationsRequestVariationType? Type295 { get; set; } + public global::Ideogram.AdVariationsResponse? Type295 { get; set; } /// /// /// - public global::Ideogram.AdVariationsQuality? Type296 { get; set; } + public global::Ideogram.AdVariationsRequest? Type296 { get; set; } /// /// /// - public global::Ideogram.SketchToRenderResponse? Type297 { get; set; } + public global::Ideogram.AdVariationsRequestVariationType? Type297 { get; set; } /// /// /// - public global::Ideogram.SketchToRenderRequest? Type298 { get; set; } + public global::Ideogram.AdVariationsQuality? Type298 { get; set; } /// /// /// - public global::Ideogram.SketchToRenderQuality? Type299 { get; set; } + public global::Ideogram.SketchToRenderResponse? Type299 { get; set; } /// /// /// - public global::Ideogram.SoleSwapResponse? Type300 { get; set; } + public global::Ideogram.SketchToRenderRequest? Type300 { get; set; } /// /// /// - public global::Ideogram.SoleSwapRequest? Type301 { get; set; } + public global::Ideogram.SketchToRenderQuality? Type301 { get; set; } /// /// /// - public global::Ideogram.SoleSwapRequestBaseGenerationSize? Type302 { get; set; } + public global::Ideogram.SoleSwapResponse? Type302 { get; set; } /// /// /// - public global::Ideogram.SoleSwapQuality? Type303 { get; set; } + public global::Ideogram.SoleSwapRequest? Type303 { get; set; } /// /// /// - public global::Ideogram.SwapProductResponse? Type304 { get; set; } + public global::Ideogram.SoleSwapRequestBaseGenerationSize? Type304 { get; set; } /// /// /// - public global::Ideogram.SwapProductRequest? Type305 { get; set; } + public global::Ideogram.SoleSwapQuality? Type305 { get; set; } /// /// /// - public global::Ideogram.SwapProductMode? Type306 { get; set; } + public global::Ideogram.SwapProductResponse? Type306 { get; set; } /// /// /// - public global::Ideogram.SwapProductQuality? Type307 { get; set; } + public global::Ideogram.SwapProductRequest? Type307 { get; set; } /// /// /// - public global::Ideogram.SkechersStyleEditResponse? Type308 { get; set; } + public global::Ideogram.SwapProductMode? Type308 { get; set; } /// /// /// - public global::Ideogram.SkechersStyleEditRequest? Type309 { get; set; } + public global::Ideogram.SwapProductQuality? Type309 { get; set; } /// /// /// - public global::Ideogram.SkechersStyleEditRequestAspectRatio? Type310 { get; set; } + public global::Ideogram.SkechersStyleEditResponse? Type310 { get; set; } /// /// /// - public global::Ideogram.SkechersStyleEditRequestBaseGenerationSize? Type311 { get; set; } + public global::Ideogram.SkechersStyleEditRequest? Type311 { get; set; } /// /// /// - public global::Ideogram.SkechersStyleEditQuality? Type312 { get; set; } + public global::Ideogram.SkechersStyleEditRequestAspectRatio? Type312 { get; set; } /// /// /// - public global::Ideogram.SwanSLogoDesignResponse? Type313 { get; set; } + public global::Ideogram.SkechersStyleEditRequestBaseGenerationSize? Type313 { get; set; } /// /// /// - public global::Ideogram.SwanSLogoDesignRequest? Type314 { get; set; } + public global::Ideogram.SkechersStyleEditQuality? Type314 { get; set; } /// /// /// - public global::Ideogram.SwanSLogoDesignRequestLogoStyle? Type315 { get; set; } + public global::Ideogram.SwanSLogoDesignResponse? Type315 { get; set; } /// /// /// - public global::Ideogram.SwanSLogoDesignRequestSourceMode? Type316 { get; set; } + public global::Ideogram.SwanSLogoDesignRequest? Type316 { get; set; } /// /// /// - public global::Ideogram.SwanSLogoDesignRequestDesignVariant? Type317 { get; set; } + public global::Ideogram.SwanSLogoDesignRequestLogoStyle? Type317 { get; set; } /// /// /// - public global::Ideogram.SwanSLogoQuality? Type318 { get; set; } + public global::Ideogram.SwanSLogoDesignRequestSourceMode? Type318 { get; set; } /// /// /// - public global::Ideogram.SwanSLogoInstallResponse? Type319 { get; set; } + public global::Ideogram.SwanSLogoDesignRequestDesignVariant? Type319 { get; set; } /// /// /// - public global::Ideogram.SwanSLogoInstallRequest? Type320 { get; set; } + public global::Ideogram.SwanSLogoQuality? Type320 { get; set; } /// /// /// - public global::Ideogram.SwanSLogoInstallRequestLogoStyle? Type321 { get; set; } + public global::Ideogram.SwanSLogoInstallResponse? Type321 { get; set; } /// /// /// - public global::Ideogram.ModelSwapResponse? Type322 { get; set; } + public global::Ideogram.SwanSLogoInstallRequest? Type322 { get; set; } /// /// /// - public global::Ideogram.ModelSwapRequest? Type323 { get; set; } + public global::Ideogram.SwanSLogoInstallRequestLogoStyle? Type323 { get; set; } /// /// /// - public global::Ideogram.ModelSwapQuality? Type324 { get; set; } + public global::Ideogram.ModelSwapResponse? Type324 { get; set; } /// /// /// - public global::Ideogram.MaterialSwapResponse? Type325 { get; set; } + public global::Ideogram.ModelSwapRequest? Type325 { get; set; } /// /// /// - public global::Ideogram.MaterialSwapRequest? Type326 { get; set; } + public global::Ideogram.ModelSwapQuality? Type326 { get; set; } /// /// /// - public global::Ideogram.MaterialSwapQuality? Type327 { get; set; } + public global::Ideogram.MaterialSwapResponse? Type327 { get; set; } /// /// /// - public global::Ideogram.UpscaleToolResponse? Type328 { get; set; } + public global::Ideogram.MaterialSwapRequest? Type328 { get; set; } /// /// /// - public global::Ideogram.UpscaleToolRequest? Type329 { get; set; } + public global::Ideogram.MaterialSwapQuality? Type329 { get; set; } /// /// /// - public global::Ideogram.UpscaleToolRequestUpscaleFactor? Type330 { get; set; } + public global::Ideogram.UpscaleToolResponse? Type330 { get; set; } /// /// /// - public global::Ideogram.LayerizeDesignIdeogramV3Response? Type331 { get; set; } + public global::Ideogram.UpscaleToolRequest? Type331 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type332 { get; set; } + public global::Ideogram.UpscaleToolRequestUpscaleFactor? Type332 { get; set; } /// /// /// - public global::Ideogram.LayerizedImageObject? Type333 { get; set; } + public global::Ideogram.LayerizeDesignIdeogramV3Response? Type333 { get; set; } /// /// /// - public global::Ideogram.LayerizedImageObjectObjectType? Type334 { get; set; } + public global::System.Collections.Generic.IList? Type334 { get; set; } /// /// /// - public global::Ideogram.LayerizeDesignIdeogramV3Request? Type335 { get; set; } + public global::Ideogram.LayerizedImageObject? Type335 { get; set; } /// /// /// - public global::Ideogram.DescribeImageIdeogramV3Response? Type336 { get; set; } + public global::Ideogram.LayerizedImageObjectObjectType? Type336 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type337 { get; set; } + public global::Ideogram.LayerizeDesignIdeogramV3Request? Type337 { get; set; } /// /// /// - public global::Ideogram.GeneratedDescription? Type338 { get; set; } + public global::Ideogram.DescribeImageIdeogramV3Response? Type338 { get; set; } /// /// /// - public global::Ideogram.DescribeImageIdeogramV3Request? Type339 { get; set; } + public global::System.Collections.Generic.IList? Type339 { get; set; } /// /// /// - public global::Ideogram.ImageSafetyError? Type340 { get; set; } + public global::Ideogram.GeneratedDescription? Type340 { get; set; } /// /// /// - public global::Ideogram.DescribeImageIdeogramV4Response? Type341 { get; set; } + public global::Ideogram.DescribeImageIdeogramV3Request? Type341 { get; set; } /// /// /// - public global::Ideogram.DescribeImageIdeogramV4Request? Type342 { get; set; } + public global::Ideogram.ImageSafetyError? Type342 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV3Response? Type343 { get; set; } + public global::Ideogram.DescribeImageIdeogramV4Response? Type343 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type344 { get; set; } + public global::Ideogram.DescribeImageIdeogramV4Request? Type344 { get; set; } /// /// /// - public global::Ideogram.GeneratedImageObject? Type345 { get; set; } + public global::Ideogram.GenerateImageIdeogramV3Response? Type345 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV3Request? Type346 { get; set; } + public global::System.Collections.Generic.IList? Type346 { get; set; } /// /// /// - public global::Ideogram.IdeogramV3AspectRatio? Type347 { get; set; } + public global::Ideogram.GeneratedImageObject? Type347 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV3RequestRenderingSpeed? Type348 { get; set; } + public global::Ideogram.GenerateImageIdeogramV3Request? Type348 { get; set; } /// /// /// - public global::Ideogram.MagicPromptMode? Type349 { get; set; } + public global::Ideogram.IdeogramV3AspectRatio? Type349 { get; set; } /// /// /// - public global::Ideogram.IdeogramColorPalette? Type350 { get; set; } + public global::Ideogram.GenerateImageIdeogramV3RequestRenderingSpeed? Type350 { get; set; } /// /// /// - public global::Ideogram.IdeogramV3StyleType? Type351 { get; set; } + public global::Ideogram.MagicPromptMode? Type351 { get; set; } /// /// /// - public global::Ideogram.IdeogramV3StylePreset? Type352 { get; set; } + public global::Ideogram.IdeogramColorPalette? Type352 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV3CustomModelResponse? Type353 { get; set; } + public global::Ideogram.IdeogramV3StyleType? Type353 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV3CustomModelRequest? Type354 { get; set; } + public global::Ideogram.IdeogramV3StylePreset? Type354 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV3CustomModelRequestRenderingSpeed? Type355 { get; set; } + public global::Ideogram.GenerateImageIdeogramV3CustomModelResponse? Type355 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV4Response? Type356 { get; set; } + public global::Ideogram.GenerateImageIdeogramV3CustomModelRequest? Type356 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV4Request? Type357 { get; set; } + public global::Ideogram.GenerateImageIdeogramV3CustomModelRequestRenderingSpeed? Type357 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV4RequestRenderingSpeed? Type358 { get; set; } + public global::Ideogram.GenerateImageIdeogramV4Response? Type358 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV4CustomModelResponse? Type359 { get; set; } + public global::Ideogram.GenerateImageIdeogramV4Request? Type359 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV4CustomModelRequest? Type360 { get; set; } + public global::Ideogram.GenerateImageIdeogramV4RequestRenderingSpeed? Type360 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type361 { get; set; } + public global::Ideogram.GenerateImageIdeogramV4CustomModelResponse? Type361 { get; set; } /// /// /// - public global::Ideogram.StackedCustomModel? Type362 { get; set; } + public global::Ideogram.GenerateImageIdeogramV4CustomModelRequest? Type362 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV4CustomModelRequestRenderingSpeed? Type363 { get; set; } + public global::System.Collections.Generic.IList? Type363 { get; set; } /// /// /// - public double? Type364 { get; set; } + public global::Ideogram.StackedCustomModel? Type364 { get; set; } /// /// /// - public global::Ideogram.RemixImageIdeogramV3Response? Type365 { get; set; } + public global::Ideogram.GenerateImageIdeogramV4CustomModelRequestRenderingSpeed? Type365 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type366 { get; set; } + public double? Type366 { get; set; } /// /// /// - public global::Ideogram.RemixedImageObject? Type367 { get; set; } + public global::Ideogram.RemixImageIdeogramV3Response? Type367 { get; set; } /// /// /// - public global::Ideogram.RemixImageIdeogramV3Request? Type368 { get; set; } + public global::System.Collections.Generic.IList? Type368 { get; set; } /// /// /// - public global::Ideogram.RemixImageIdeogramV3RequestRenderingSpeed? Type369 { get; set; } + public global::Ideogram.RemixedImageObject? Type369 { get; set; } /// /// /// - public global::Ideogram.RemixImageIdeogramV3CustomModelResponse? Type370 { get; set; } + public global::Ideogram.RemixImageIdeogramV3Request? Type370 { get; set; } /// /// /// - public global::Ideogram.RemixImageIdeogramV3CustomModelRequest? Type371 { get; set; } + public global::Ideogram.RemixImageIdeogramV3RequestRenderingSpeed? Type371 { get; set; } /// /// /// - public global::Ideogram.RemixImageIdeogramV3CustomModelRequestRenderingSpeed? Type372 { get; set; } + public global::Ideogram.RemixImageIdeogramV3CustomModelResponse? Type372 { get; set; } /// /// /// - public global::Ideogram.RemixImageIdeogramV4Response? Type373 { get; set; } + public global::Ideogram.RemixImageIdeogramV3CustomModelRequest? Type373 { get; set; } /// /// /// - public global::Ideogram.RemixImageIdeogramV4Request? Type374 { get; set; } + public global::Ideogram.RemixImageIdeogramV3CustomModelRequestRenderingSpeed? Type374 { get; set; } /// /// /// - public global::Ideogram.RemixImageIdeogramV4RequestRenderingSpeed? Type375 { get; set; } + public global::Ideogram.RemixImageIdeogramV4Response? Type375 { get; set; } /// /// /// - public global::Ideogram.RemixImageIdeogramV3CharacterResponse? Type376 { get; set; } + public global::Ideogram.RemixImageIdeogramV4Request? Type376 { get; set; } /// /// /// - public global::Ideogram.RemixImageIdeogramV3CharacterRequest? Type377 { get; set; } + public global::Ideogram.RemixImageIdeogramV4RequestRenderingSpeed? Type377 { get; set; } /// /// /// - public global::Ideogram.RemixImageIdeogramV3CharacterRequestRenderingSpeed? Type378 { get; set; } + public global::Ideogram.RemixImageIdeogramV3CharacterResponse? Type378 { get; set; } /// /// /// - public global::Ideogram.RemixImageIdeogramV3CharacterRequestStyleType? Type379 { get; set; } + public global::Ideogram.RemixImageIdeogramV3CharacterRequest? Type379 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV3TransparentResponse? Type380 { get; set; } + public global::Ideogram.RemixImageIdeogramV3CharacterRequestRenderingSpeed? Type380 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV3TransparentRequest? Type381 { get; set; } + public global::Ideogram.RemixImageIdeogramV3CharacterRequestStyleType? Type381 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV3TransparentRequestUpscaleFactor? Type382 { get; set; } + public global::Ideogram.GenerateImageIdeogramV3TransparentResponse? Type382 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV3TransparentRequestRenderingSpeed? Type383 { get; set; } + public global::Ideogram.GenerateImageIdeogramV3TransparentRequest? Type383 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV4TransparentResponse? Type384 { get; set; } + public global::Ideogram.GenerateImageIdeogramV3TransparentRequestUpscaleFactor? Type384 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV4TransparentRequest? Type385 { get; set; } + public global::Ideogram.GenerateImageIdeogramV3TransparentRequestRenderingSpeed? Type385 { get; set; } /// /// /// - public global::Ideogram.IdeogramV4AspectRatio? Type386 { get; set; } + public global::Ideogram.GenerateImageIdeogramV4TransparentResponse? Type386 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV4TransparentRequestOutputResolution? Type387 { get; set; } + public global::Ideogram.GenerateImageIdeogramV4TransparentRequest? Type387 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV4TransparentRequestRenderingSpeed? Type388 { get; set; } + public global::Ideogram.IdeogramV4AspectRatio? Type388 { get; set; } /// /// /// - public global::Ideogram.GenerateImagePImageIdeogramResponse? Type389 { get; set; } + public global::Ideogram.GenerateImageIdeogramV4TransparentRequestOutputResolution? Type389 { get; set; } /// /// /// - public global::Ideogram.GenerateImagePImageIdeogramRequest? Type390 { get; set; } + public global::Ideogram.GenerateImageIdeogramV4TransparentRequestRenderingSpeed? Type390 { get; set; } /// /// /// - public global::Ideogram.GenerationQuality? Type391 { get; set; } + public global::Ideogram.GenerateImagePImageIdeogramResponse? Type391 { get; set; } /// /// /// - public global::Ideogram.GenerateImagePImageIdeogramRequestResolution? Type392 { get; set; } + public global::Ideogram.GenerateImagePImageIdeogramRequest? Type392 { get; set; } /// /// /// - public global::Ideogram.GenerateImageZImageResponse? Type393 { get; set; } + public global::Ideogram.GenerationQuality? Type393 { get; set; } /// /// /// - public global::Ideogram.GenerateImageZImageRequest? Type394 { get; set; } + public global::Ideogram.GenerateImagePImageIdeogramRequestResolution? Type394 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogram45Response? Type395 { get; set; } + public global::Ideogram.GenerateImageZImageResponse? Type395 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogram45Request? Type396 { get; set; } + public global::Ideogram.GenerateImageZImageRequest? Type396 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogram45RequestQuality? Type397 { get; set; } + public global::Ideogram.GenerateImageIdeogram45Response? Type397 { get; set; } /// /// /// - public global::Ideogram.PreciseEditImageIdeogram45Response? Type398 { get; set; } + public global::Ideogram.GenerateImageIdeogram45Request? Type398 { get; set; } /// /// /// - public global::Ideogram.PreciseEditImageIdeogram45Request? Type399 { get; set; } + public global::Ideogram.GenerateImageIdeogram45RequestQuality? Type399 { get; set; } /// /// /// - public global::Ideogram.PreciseEditImageIdeogram45RequestQuality? Type400 { get; set; } + public global::Ideogram.PreciseEditImageIdeogram45Response? Type400 { get; set; } /// /// /// - public global::Ideogram.GenerateImageNanoBanana2Response? Type401 { get; set; } + public global::Ideogram.PreciseEditImageIdeogram45Request? Type401 { get; set; } /// /// /// - public global::Ideogram.GenerateImageNanoBanana2Request? Type402 { get; set; } + public global::Ideogram.PreciseEditImageIdeogram45RequestQuality? Type402 { get; set; } /// /// /// - public global::Ideogram.GenerateImageNanoBanana2RequestResolutionTier? Type403 { get; set; } + public global::Ideogram.GenerateImageNanoBanana2Response? Type403 { get; set; } /// /// /// - public global::Ideogram.GenerateImageNanoBananaProResponse? Type404 { get; set; } + public global::Ideogram.GenerateImageNanoBanana2Request? Type404 { get; set; } /// /// /// - public global::Ideogram.GenerateImageNanoBananaProRequest? Type405 { get; set; } + public global::Ideogram.GenerateImageNanoBanana2RequestResolutionTier? Type405 { get; set; } /// /// /// - public global::Ideogram.GenerateImageNanoBananaProRequestResolutionTier? Type406 { get; set; } + public global::Ideogram.GenerateImageNanoBananaProResponse? Type406 { get; set; } /// /// /// - public global::Ideogram.GenerateImageGptImage2Response? Type407 { get; set; } + public global::Ideogram.GenerateImageNanoBananaProRequest? Type407 { get; set; } /// /// /// - public global::Ideogram.GenerateImageGptImage2Request? Type408 { get; set; } + public global::Ideogram.GenerateImageNanoBananaProRequestResolutionTier? Type408 { get; set; } /// /// /// - public global::Ideogram.GenerateImageGptImage25FlareResponse? Type409 { get; set; } + public global::Ideogram.GenerateImageGptImage2Response? Type409 { get; set; } /// /// /// - public global::Ideogram.GenerateImageGptImage25FlareRequest? Type410 { get; set; } + public global::Ideogram.GenerateImageGptImage2Request? Type410 { get; set; } /// /// /// - public global::Ideogram.GenerateImageGptImage25FlareRequestBackground? Type411 { get; set; } + public global::Ideogram.GenerateImageGptImage25FlareResponse? Type411 { get; set; } /// /// /// - public global::Ideogram.GenerateImageGptImage25FlareRequestQuality? Type412 { get; set; } + public global::Ideogram.GenerateImageGptImage25FlareRequest? Type412 { get; set; } /// /// /// - public global::Ideogram.GenerateImageGptImage25SunburstResponse? Type413 { get; set; } + public global::Ideogram.GenerateImageGptImage25FlareRequestBackground? Type413 { get; set; } /// /// /// - public global::Ideogram.GenerateImageGptImage25SunburstRequest? Type414 { get; set; } + public global::Ideogram.GenerateImageGptImage25FlareRequestQuality? Type414 { get; set; } /// /// /// - public global::Ideogram.GenerateImageGptImage25SunburstRequestBackground? Type415 { get; set; } + public global::Ideogram.GenerateImageGptImage25SunburstResponse? Type415 { get; set; } /// /// /// - public global::Ideogram.GenerateImageGptImage25SunburstRequestQuality? Type416 { get; set; } + public global::Ideogram.GenerateImageGptImage25SunburstRequest? Type416 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV2Response? Type417 { get; set; } + public global::Ideogram.GenerateImageGptImage25SunburstRequestBackground? Type417 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV2Request? Type418 { get; set; } + public global::Ideogram.GenerateImageGptImage25SunburstRequestQuality? Type418 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV2RequestRenderingSpeed? Type419 { get; set; } + public global::Ideogram.GenerateImageIdeogramV2Response? Type419 { get; set; } /// /// /// - public global::Ideogram.IdeogramV2StyleType? Type420 { get; set; } + public global::Ideogram.GenerateImageIdeogramV2Request? Type420 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV2AResponse? Type421 { get; set; } + public global::Ideogram.GenerateImageIdeogramV2RequestRenderingSpeed? Type421 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV2ARequest? Type422 { get; set; } + public global::Ideogram.IdeogramV2StyleType? Type422 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV2ARequestRenderingSpeed? Type423 { get; set; } + public global::Ideogram.GenerateImageIdeogramV2AResponse? Type423 { get; set; } /// /// /// - public global::Ideogram.InpaintImageIdeogramV3Response? Type424 { get; set; } + public global::Ideogram.GenerateImageIdeogramV2ARequest? Type424 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type425 { get; set; } + public global::Ideogram.GenerateImageIdeogramV2ARequestRenderingSpeed? Type425 { get; set; } /// /// /// - public global::Ideogram.InpaintedImageObject? Type426 { get; set; } + public global::Ideogram.InpaintImageIdeogramV3Response? Type426 { get; set; } /// /// /// - public global::Ideogram.InpaintImageIdeogramV3Request? Type427 { get; set; } + public global::System.Collections.Generic.IList? Type427 { get; set; } /// /// /// - public global::Ideogram.InpaintImageIdeogramV3RequestRenderingSpeed? Type428 { get; set; } + public global::Ideogram.InpaintedImageObject? Type428 { get; set; } /// /// /// - public global::Ideogram.InpaintImageIdeogramV3CustomModelResponse? Type429 { get; set; } + public global::Ideogram.InpaintImageIdeogramV3Request? Type429 { get; set; } /// /// /// - public global::Ideogram.InpaintImageIdeogramV3CustomModelRequest? Type430 { get; set; } + public global::Ideogram.InpaintImageIdeogramV3RequestRenderingSpeed? Type430 { get; set; } /// /// /// - public global::Ideogram.InpaintImageIdeogramV3CustomModelRequestRenderingSpeed? Type431 { get; set; } + public global::Ideogram.InpaintImageIdeogramV3CustomModelResponse? Type431 { get; set; } /// /// /// - public global::Ideogram.ReframeImageIdeogramV3Response? Type432 { get; set; } + public global::Ideogram.InpaintImageIdeogramV3CustomModelRequest? Type432 { get; set; } /// /// /// - public global::Ideogram.ReframeImageIdeogramV3Request? Type433 { get; set; } + public global::Ideogram.InpaintImageIdeogramV3CustomModelRequestRenderingSpeed? Type433 { get; set; } /// /// /// - public global::Ideogram.ReframeImageIdeogramV3RequestRenderingSpeed? Type434 { get; set; } + public global::Ideogram.ReframeImageIdeogramV3Response? Type434 { get; set; } /// /// /// - public global::Ideogram.ReframeImageNanoBanana2Response? Type435 { get; set; } + public global::Ideogram.ReframeImageIdeogramV3Request? Type435 { get; set; } /// /// /// - public global::Ideogram.ReframeImageNanoBanana2Request? Type436 { get; set; } + public global::Ideogram.ReframeImageIdeogramV3RequestRenderingSpeed? Type436 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV3CharacterResponse? Type437 { get; set; } + public global::Ideogram.ReframeImageNanoBanana2Response? Type437 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV3CharacterRequest? Type438 { get; set; } + public global::Ideogram.ReframeImageNanoBanana2Request? Type438 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV3CharacterRequestRenderingSpeed? Type439 { get; set; } + public global::Ideogram.GenerateImageIdeogramV3CharacterResponse? Type439 { get; set; } /// /// /// - public global::Ideogram.GenerateImageIdeogramV3CharacterRequestStyleType? Type440 { get; set; } + public global::Ideogram.GenerateImageIdeogramV3CharacterRequest? Type440 { get; set; } /// /// /// - public global::Ideogram.InpaintImageIdeogramV3CharacterResponse? Type441 { get; set; } + public global::Ideogram.GenerateImageIdeogramV3CharacterRequestRenderingSpeed? Type441 { get; set; } /// /// /// - public global::Ideogram.InpaintImageIdeogramV3CharacterRequest? Type442 { get; set; } + public global::Ideogram.GenerateImageIdeogramV3CharacterRequestStyleType? Type442 { get; set; } /// /// /// - public global::Ideogram.InpaintImageIdeogramV3CharacterRequestRenderingSpeed? Type443 { get; set; } + public global::Ideogram.InpaintImageIdeogramV3CharacterResponse? Type443 { get; set; } /// /// /// - public global::Ideogram.InpaintImageIdeogramV3CharacterRequestStyleType? Type444 { get; set; } + public global::Ideogram.InpaintImageIdeogramV3CharacterRequest? Type444 { get; set; } /// /// /// - public global::Ideogram.GenerateImageV2AutoResponse? Type445 { get; set; } + public global::Ideogram.InpaintImageIdeogramV3CharacterRequestRenderingSpeed? Type445 { get; set; } /// /// /// - public global::Ideogram.GenerateImageV2AutoRequest? Type446 { get; set; } + public global::Ideogram.InpaintImageIdeogramV3CharacterRequestStyleType? Type446 { get; set; } /// /// /// - public global::Ideogram.GenerateImageV2AutoRequestResolutionTier? Type447 { get; set; } + public global::Ideogram.GenerateImageV2AutoResponse? Type447 { get; set; } /// /// /// - public global::Ideogram.ToolRemixResponse? Type448 { get; set; } + public global::Ideogram.GenerateImageV2AutoRequest? Type448 { get; set; } /// /// /// - public global::Ideogram.ToolRemixRequest? Type449 { get; set; } + public global::Ideogram.GenerateImageV2AutoRequestResolutionTier? Type449 { get; set; } /// /// /// - public global::Ideogram.ToolRemixRequestResolutionTier? Type450 { get; set; } + public global::Ideogram.ToolRemixResponse? Type450 { get; set; } /// /// /// - public global::Ideogram.ResizeAdImageRequest? Type451 { get; set; } + public global::Ideogram.ToolRemixRequest? Type451 { get; set; } /// /// /// - public global::Ideogram.ResizeAdImageRequestResolution? Type452 { get; set; } + public global::Ideogram.ToolRemixRequestResolutionTier? Type452 { get; set; } /// /// /// - public global::Ideogram.ResizeAdImageQuality? Type453 { get; set; } + public global::Ideogram.ResizeAdImageRequest? Type453 { get; set; } /// /// /// - public global::Ideogram.WebhookSigningJwks? Type454 { get; set; } + public global::Ideogram.ResizeAdImageRequestResolution? Type454 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type455 { get; set; } + public global::Ideogram.ResizeAdImageQuality? Type455 { get; set; } /// /// /// - public global::Ideogram.WebhookSigningJwk? Type456 { get; set; } + public global::Ideogram.WebhookSigningJwks? Type456 { get; set; } /// /// /// - public global::Ideogram.ProvenanceVerifyResponse? Type457 { get; set; } + public global::System.Collections.Generic.IList? Type457 { get; set; } /// /// /// - public global::Ideogram.ProvenanceVerifyResponseValidationState? Type458 { get; set; } + public global::Ideogram.WebhookSigningJwk? Type458 { get; set; } /// /// /// - public global::Ideogram.ProvenanceVerifyRequest? Type459 { get; set; } + public global::Ideogram.ProvenanceVerifyResponse? Type459 { get; set; } /// /// /// - public global::Ideogram.ManageApiSubscriptionResponse? Type460 { get; set; } + public global::Ideogram.ProvenanceVerifyResponseValidationState? Type460 { get; set; } /// /// /// - public global::Ideogram.MetronomeLinks? Type461 { get; set; } + public global::Ideogram.ProvenanceVerifyRequest? Type461 { get; set; } /// /// /// - public global::Ideogram.RechargeSettingsResponse? Type462 { get; set; } + public global::Ideogram.ManageApiSubscriptionResponse? Type462 { get; set; } /// /// /// - public global::Ideogram.Price? Type463 { get; set; } + public global::Ideogram.MetronomeLinks? Type463 { get; set; } /// /// /// - public global::Ideogram.RechargeSettings? Type464 { get; set; } + public global::Ideogram.RechargeSettingsResponse? Type464 { get; set; } /// /// /// - public global::Ideogram.PostApiSubscriptionResponse? Type465 { get; set; } + public global::Ideogram.Price? Type465 { get; set; } /// /// /// - public global::Ideogram.PostApiSubscriptionError? Type466 { get; set; } + public global::Ideogram.RechargeSettings? Type466 { get; set; } /// /// /// - public global::Ideogram.PostApiSubscriptionRequest? Type467 { get; set; } + public global::Ideogram.PostApiSubscriptionResponse? Type467 { get; set; } /// /// /// - public global::Ideogram.ManageApiCreditSummaryResponse? Type468 { get; set; } + public global::Ideogram.PostApiSubscriptionError? Type468 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type469 { get; set; } + public global::Ideogram.PostApiSubscriptionRequest? Type469 { get; set; } /// /// /// - public global::Ideogram.CreditGrant? Type470 { get; set; } + public global::Ideogram.ManageApiCreditSummaryResponse? Type470 { get; set; } /// /// /// - public global::Ideogram.GetApiKeysResponse? Type471 { get; set; } + public global::System.Collections.Generic.IList? Type471 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type472 { get; set; } + public global::Ideogram.CreditGrant? Type472 { get; set; } /// /// /// - public global::Ideogram.RedactedApiKey? Type473 { get; set; } + public global::Ideogram.GetApiKeysResponse? Type473 { get; set; } /// /// /// - public global::Ideogram.PostApiKeyResponse? Type474 { get; set; } + public global::System.Collections.Generic.IList? Type474 { get; set; } /// /// /// - public global::Ideogram.CreateApiKeyRequest? Type475 { get; set; } + public global::Ideogram.RedactedApiKey? Type475 { get; set; } /// /// /// - public global::Ideogram.ApiProfileApiKey? Type476 { get; set; } + public global::Ideogram.PostApiKeyResponse? Type476 { get; set; } /// /// /// - public global::Ideogram.ApiKeyStatus? Type477 { get; set; } + public global::Ideogram.CreateApiKeyRequest? Type477 { get; set; } /// /// /// - public global::Ideogram.PatchApiKeyRequest? Type478 { get; set; } + public global::Ideogram.ApiProfileApiKey? Type478 { get; set; } /// /// /// - public global::Ideogram.ManageApiStripeSubscriptionResponse? Type479 { get; set; } + public global::Ideogram.ApiKeyStatus? Type479 { get; set; } /// /// /// - public global::Ideogram.ManageApiPaymentResponse? Type480 { get; set; } + public global::Ideogram.PatchApiKeyRequest? Type480 { get; set; } /// /// /// - public global::Ideogram.GetApiTermsResponse? Type481 { get; set; } + public global::Ideogram.ManageApiStripeSubscriptionResponse? Type481 { get; set; } /// /// /// - public global::Ideogram.ApiTerms? Type482 { get; set; } + public global::Ideogram.ManageApiPaymentResponse? Type482 { get; set; } /// /// /// - public global::Ideogram.PostApiTermsRequest? Type483 { get; set; } + public global::Ideogram.GetApiTermsResponse? Type483 { get; set; } /// /// /// - public global::Ideogram.PostAddCreditsResponse? Type484 { get; set; } + public global::Ideogram.ApiTerms? Type484 { get; set; } /// /// /// - public global::Ideogram.PostAddCreditsError? Type485 { get; set; } + public global::Ideogram.PostApiTermsRequest? Type485 { get; set; } /// /// /// - public global::Ideogram.PostAddCreditsRequest? Type486 { get; set; } + public global::Ideogram.PostAddCreditsResponse? Type486 { get; set; } /// /// /// - public global::Ideogram.GetUserCreditsResponse? Type487 { get; set; } + public global::Ideogram.PostAddCreditsError? Type487 { get; set; } /// /// /// - public global::Ideogram.SpendCommitInfoResponse? Type488 { get; set; } + public global::Ideogram.PostAddCreditsRequest? Type488 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type489 { get; set; } + public global::Ideogram.GetUserCreditsResponse? Type489 { get; set; } /// /// /// - public global::Ideogram.SpendCommitInfo? Type490 { get; set; } + public global::Ideogram.SpendCommitInfoResponse? Type490 { get; set; } /// /// /// - public global::Ideogram.GetUsageInfoResponse? Type491 { get; set; } + public global::System.Collections.Generic.IList? Type491 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type492 { get; set; } + public global::Ideogram.SpendCommitInfo? Type492 { get; set; } /// /// /// - public global::Ideogram.UsageSegment? Type493 { get; set; } + public global::Ideogram.GetUsageInfoResponse? Type493 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type494 { get; set; } + public global::System.Collections.Generic.IList? Type494 { get; set; } /// /// /// - public global::Ideogram.ToolUsage? Type495 { get; set; } + public global::Ideogram.UsageSegment? Type495 { get; set; } /// /// /// - public global::Ideogram.ToolType? Type496 { get; set; } + public global::System.Collections.Generic.IList? Type496 { get; set; } /// /// /// - public global::Ideogram.ModelVersion? Type497 { get; set; } + public global::Ideogram.ToolUsage? Type497 { get; set; } /// /// /// - public global::Ideogram.SegmentBy? Type498 { get; set; } + public global::Ideogram.ToolType? Type498 { get; set; } /// /// /// - public global::Ideogram.UsageSource? Type499 { get; set; } + public global::Ideogram.ModelVersion? Type499 { get; set; } /// /// /// - public global::Ideogram.GetApiProfilesResponse? Type500 { get; set; } + public global::Ideogram.SegmentBy? Type500 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type501 { get; set; } + public global::Ideogram.UsageSource? Type501 { get; set; } /// /// /// - public global::Ideogram.ApiProfile? Type502 { get; set; } + public global::Ideogram.GetApiProfilesResponse? Type502 { get; set; } /// /// /// - public global::Ideogram.ApiProfileType? Type503 { get; set; } + public global::System.Collections.Generic.IList? Type503 { get; set; } /// /// /// - public global::Ideogram.ApiProfileRole? Type504 { get; set; } + public global::Ideogram.ApiProfile? Type504 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type505 { get; set; } + public global::Ideogram.ApiProfileType? Type505 { get; set; } /// /// /// - public global::Ideogram.UpdateOrganizationApiPropertiesResponse? Type506 { get; set; } + public global::Ideogram.ApiProfileRole? Type506 { get; set; } /// /// /// - public global::Ideogram.UpdateOrganizationApiPropertiesRequest? Type507 { get; set; } + public global::System.Collections.Generic.IList? Type507 { get; set; } /// /// /// - public global::Ideogram.GetApiOrganizationUserSuggestionsResponse? Type508 { get; set; } + public global::Ideogram.UpdateOrganizationApiPropertiesResponse? Type508 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type509 { get; set; } + public global::Ideogram.UpdateOrganizationApiPropertiesRequest? Type509 { get; set; } /// /// /// - public global::Ideogram.ApiOrganizationUserSuggestion? Type510 { get; set; } + public global::Ideogram.GetApiOrganizationUserSuggestionsResponse? Type510 { get; set; } /// /// /// - public global::Ideogram.GetOrganizationMembersResponse? Type511 { get; set; } + public global::System.Collections.Generic.IList? Type511 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type512 { get; set; } + public global::Ideogram.ApiOrganizationUserSuggestion? Type512 { get; set; } /// /// /// - public global::Ideogram.OrganizationMember? Type513 { get; set; } + public global::Ideogram.GetOrganizationMembersResponse? Type513 { get; set; } /// /// /// - public global::Ideogram.CreateApiKeyResponse? Type514 { get; set; } + public global::System.Collections.Generic.IList? Type514 { get; set; } /// /// /// - public global::Ideogram.GetApiKeysV2Response? Type515 { get; set; } + public global::Ideogram.OrganizationMember? Type515 { get; set; } /// /// /// - public global::Ideogram.OrganizationMemberOperationResponse? Type516 { get; set; } + public global::Ideogram.CreateApiKeyResponse? Type516 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type517 { get; set; } + public global::Ideogram.GetApiKeysV2Response? Type517 { get; set; } /// /// /// - public global::Ideogram.OrganizationMemberOperationResult? Type518 { get; set; } + public global::Ideogram.OrganizationMemberOperationResponse? Type518 { get; set; } /// /// /// - public global::Ideogram.AddOrganizationMembersRequest? Type519 { get; set; } + public global::System.Collections.Generic.IList? Type519 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type520 { get; set; } + public global::Ideogram.OrganizationMemberOperationResult? Type520 { get; set; } /// /// /// - public global::Ideogram.LiteOrganizationMember? Type521 { get; set; } + public global::Ideogram.AddOrganizationMembersRequest? Type521 { get; set; } /// /// /// - public global::Ideogram.RemoveOrganizationMembersRequest? Type522 { get; set; } + public global::System.Collections.Generic.IList? Type522 { get; set; } /// /// /// - public global::Ideogram.PromoteOrganizationAdminsRequest? Type523 { get; set; } + public global::Ideogram.LiteOrganizationMember? Type523 { get; set; } /// /// /// - public global::Ideogram.DemoteOrganizationAdminsRequest? Type524 { get; set; } + public global::Ideogram.RemoveOrganizationMembersRequest? Type524 { get; set; } /// /// /// - public global::Ideogram.CancelOrganizationInviteRequest? Type525 { get; set; } + public global::Ideogram.PromoteOrganizationAdminsRequest? Type525 { get; set; } /// /// /// - public global::Ideogram.ResendOrganizationInviteRequest? Type526 { get; set; } + public global::Ideogram.DemoteOrganizationAdminsRequest? Type526 { get; set; } /// /// /// - public global::Ideogram.ListOrganizationInvoicesResponse? Type527 { get; set; } + public global::Ideogram.CancelOrganizationInviteRequest? Type527 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type528 { get; set; } + public global::Ideogram.ResendOrganizationInviteRequest? Type528 { get; set; } /// /// /// - public global::Ideogram.Invoice? Type529 { get; set; } + public global::Ideogram.ListOrganizationInvoicesResponse? Type529 { get; set; } /// /// /// - public global::Ideogram.InvoiceStatus? Type530 { get; set; } + public global::System.Collections.Generic.IList? Type530 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type531 { get; set; } + public global::Ideogram.Invoice? Type531 { get; set; } /// /// /// - public global::Ideogram.InvoiceLineItem? Type532 { get; set; } + public global::Ideogram.InvoiceStatus? Type532 { get; set; } /// /// /// - public global::Ideogram.GetOrganizationBillingPortalResponse? Type533 { get; set; } + public global::System.Collections.Generic.IList? Type533 { get; set; } /// /// /// - public global::Ideogram.ListDatasetsResponse? Type534 { get; set; } + public global::Ideogram.InvoiceLineItem? Type534 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type535 { get; set; } + public global::Ideogram.GetOrganizationBillingPortalResponse? Type535 { get; set; } /// /// /// - public global::Ideogram.Dataset? Type536 { get; set; } + public global::Ideogram.ListDatasetsResponse? Type536 { get; set; } /// /// /// - public global::Ideogram.CreateDatasetRequest? Type537 { get; set; } + public global::System.Collections.Generic.IList? Type537 { get; set; } /// /// /// - public global::Ideogram.GetDatasetResponse? Type538 { get; set; } + public global::Ideogram.Dataset? Type538 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type539 { get; set; } + public global::Ideogram.CreateDatasetRequest? Type539 { get; set; } /// /// /// - public global::Ideogram.DatasetFile? Type540 { get; set; } + public global::Ideogram.GetDatasetResponse? Type540 { get; set; } /// /// /// - public global::Ideogram.UploadDatasetAssetsResponse? Type541 { get; set; } + public global::System.Collections.Generic.IList? Type541 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type542 { get; set; } + public global::Ideogram.DatasetFile? Type542 { get; set; } /// /// /// - public global::Ideogram.DatasetUploadSucceededAsset? Type543 { get; set; } + public global::Ideogram.UploadDatasetAssetsResponse? Type543 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type544 { get; set; } + public global::System.Collections.Generic.IList? Type544 { get; set; } /// /// /// - public global::Ideogram.DatasetUploadFailedAsset? Type545 { get; set; } + public global::Ideogram.DatasetUploadSucceededAsset? Type545 { get; set; } /// /// /// - public global::Ideogram.DatasetAssetFailureReason? Type546 { get; set; } + public global::System.Collections.Generic.IList? Type546 { get; set; } /// /// /// - public global::Ideogram.UploadDatasetAssetsRequest? Type547 { get; set; } + public global::Ideogram.DatasetUploadFailedAsset? Type547 { get; set; } /// /// /// - public global::Ideogram.TrainDatasetModelResponse? Type548 { get; set; } + public global::Ideogram.DatasetAssetFailureReason? Type548 { get; set; } /// /// /// - public global::Ideogram.TrainDatasetModelRequest? Type549 { get; set; } + public global::Ideogram.UploadDatasetAssetsRequest? Type549 { get; set; } /// /// /// - public global::Ideogram.ListModelsResponse? Type550 { get; set; } + public global::Ideogram.TrainDatasetModelResponse? Type550 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type551 { get; set; } + public global::Ideogram.TrainDatasetModelRequest? Type551 { get; set; } /// /// /// - public global::Ideogram.CustomModel? Type552 { get; set; } + public global::Ideogram.ListModelsResponse? Type552 { get; set; } /// /// /// - public global::Ideogram.ModelStatus? Type553 { get; set; } + public global::System.Collections.Generic.IList? Type553 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type554 { get; set; } + public global::Ideogram.CustomModel? Type554 { get; set; } /// /// /// - public global::Ideogram.TrainingRun? Type555 { get; set; } + public global::Ideogram.ModelStatus? Type555 { get; set; } /// /// /// - public global::Ideogram.TrainingRunStatus? Type556 { get; set; } + public global::System.Collections.Generic.IList? Type556 { get; set; } /// /// /// - public global::Ideogram.GetModelResponse? Type557 { get; set; } + public global::Ideogram.TrainingRun? Type557 { get; set; } /// /// /// - public global::Ideogram.TrainModelV3Request? Type558 { get; set; } + public global::Ideogram.TrainingRunStatus? Type558 { get; set; } /// /// /// - public global::Ideogram.TrainModelV3AdvancedRequest? Type559 { get; set; } + public global::Ideogram.GetModelResponse? Type559 { get; set; } /// /// /// - public global::Ideogram.TrainModelV4Request? Type560 { get; set; } + public global::Ideogram.TrainModelV3Request? Type560 { get; set; } /// /// /// - public global::Ideogram.TrainModelV4AdvancedRequest? Type561 { get; set; } + public global::Ideogram.TrainModelV3AdvancedRequest? Type561 { get; set; } /// /// /// - public global::Ideogram.PublishMiniAppResponse? Type562 { get; set; } + public global::Ideogram.TrainModelV4Request? Type562 { get; set; } /// /// /// - public global::Ideogram.PublishMiniAppRequest? Type563 { get; set; } + public global::Ideogram.TrainModelV4AdvancedRequest? Type563 { get; set; } /// /// /// - public global::Ideogram.PublishMiniAppRequestEmbed? Type564 { get; set; } + public global::Ideogram.PublishMiniAppResponse? Type564 { get; set; } /// /// /// - public object? Type565 { get; set; } + public global::Ideogram.PublishMiniAppRequest? Type565 { get; set; } /// /// /// - public global::Ideogram.MiniAppArtwork? Type566 { get; set; } + public global::Ideogram.PublishMiniAppRequestEmbed? Type566 { get; set; } /// /// /// - public global::Ideogram.PublishMiniAppPreviewResponse? Type567 { get; set; } + public object? Type567 { get; set; } /// /// /// - public global::Ideogram.PublishMiniAppPreviewRequest? Type568 { get; set; } + public global::Ideogram.MiniAppArtwork? Type568 { get; set; } /// /// /// - public global::Ideogram.PublishMiniAppPreviewRequestEmbed? Type569 { get; set; } + public global::Ideogram.PublishMiniAppPreviewResponse? Type569 { get; set; } /// /// /// - public global::Ideogram.UnpublishMiniAppPreviewResponse? Type570 { get; set; } + public global::Ideogram.PublishMiniAppPreviewRequest? Type570 { get; set; } /// /// /// - public global::Ideogram.GetStaleMiniAppPreviewsResponse? Type571 { get; set; } + public global::Ideogram.PublishMiniAppPreviewRequestEmbed? Type571 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type572 { get; set; } + public global::Ideogram.UnpublishMiniAppPreviewResponse? Type572 { get; set; } /// /// /// - public global::Ideogram.MiniAppMarketingProjectionEntry? Type573 { get; set; } + public global::Ideogram.GetStaleMiniAppPreviewsResponse? Type573 { get; set; } /// /// /// - public global::Ideogram.MiniAppMarketingProjectionEntryEmbed? Type574 { get; set; } + public global::System.Collections.Generic.IList? Type574 { get; set; } /// /// /// - public global::Ideogram.GetIntegrationsResponse? Type575 { get; set; } + public global::Ideogram.MiniAppMarketingProjectionEntry? Type575 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type576 { get; set; } + public global::Ideogram.MiniAppMarketingProjectionEntryEmbed? Type576 { get; set; } /// /// /// - public global::Ideogram.IntegrationType? Type577 { get; set; } + public global::Ideogram.GetIntegrationsResponse? Type577 { get; set; } /// /// /// - public global::Ideogram.IntegrationErrorResponse? Type578 { get; set; } + public global::System.Collections.Generic.IList? Type578 { get; set; } /// /// /// - public global::Ideogram.IntegrationErrorResponseError? Type579 { get; set; } + public global::Ideogram.IntegrationType? Type579 { get; set; } /// /// /// - public global::Ideogram.IntegrationAssetSearchResponse? Type580 { get; set; } + public global::Ideogram.IntegrationErrorResponse? Type580 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type581 { get; set; } + public global::Ideogram.IntegrationErrorResponseError? Type581 { get; set; } /// /// /// - public global::Ideogram.IntegrationAsset? Type582 { get; set; } + public global::Ideogram.IntegrationAssetSearchResponse? Type582 { get; set; } /// /// /// - public global::Ideogram.IntegrationAssetDelivery? Type583 { get; set; } + public global::System.Collections.Generic.IList? Type583 { get; set; } /// /// /// - public global::Ideogram.IntegrationAssetSearchRequest? Type584 { get; set; } + public global::Ideogram.IntegrationAsset? Type584 { get; set; } /// /// /// - public global::Ideogram.V4StyleDescription? Type585 { get; set; } + public global::Ideogram.IntegrationAssetDelivery? Type585 { get; set; } /// /// /// - public global::Ideogram.V4CompositionalDeconstruction? Type586 { get; set; } + public global::Ideogram.IntegrationAssetSearchRequest? Type586 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type587 { get; set; } + public global::Ideogram.V4StyleDescription? Type587 { get; set; } /// /// /// - public global::Ideogram.V4PromptElement? Type588 { get; set; } + public global::Ideogram.V4CompositionalDeconstruction? Type588 { get; set; } /// /// /// - public global::Ideogram.V4ObjPromptElement? Type589 { get; set; } + public global::System.Collections.Generic.IList? Type589 { get; set; } /// /// /// - public global::Ideogram.V4TextPromptElement? Type590 { get; set; } + public global::Ideogram.V4PromptElement? Type590 { get; set; } /// /// /// - public global::Ideogram.V4PromptElementDiscriminator? Type591 { get; set; } + public global::Ideogram.V4ObjPromptElement? Type591 { get; set; } /// /// /// - public global::Ideogram.V4PromptElementDiscriminatorType? Type592 { get; set; } + public global::Ideogram.V4TextPromptElement? Type592 { get; set; } /// /// /// - public global::Ideogram.V4ObjPromptElementType? Type593 { get; set; } + public global::Ideogram.V4PromptElementDiscriminator? Type593 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type594 { get; set; } + public global::Ideogram.V4PromptElementDiscriminatorType? Type594 { get; set; } /// /// /// - public global::Ideogram.V4TextPromptElementType? Type595 { get; set; } + public global::Ideogram.V4ObjPromptElementType? Type595 { get; set; } /// /// /// - public global::Ideogram.ColorPaletteWithPresetName? Type596 { get; set; } + public global::System.Collections.Generic.IList? Type596 { get; set; } /// /// /// - public global::Ideogram.ColorPaletteWithMembers? Type597 { get; set; } + public global::Ideogram.V4TextPromptElementType? Type597 { get; set; } /// /// /// - public global::Ideogram.ColorPalettePresetName? Type598 { get; set; } + public global::Ideogram.ColorPaletteWithPresetName? Type598 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type599 { get; set; } + public global::Ideogram.ColorPaletteWithMembers? Type599 { get; set; } /// /// /// - public global::Ideogram.ColorPaletteMember? Type600 { get; set; } + public global::Ideogram.ColorPalettePresetName? Type600 { get; set; } /// /// /// - public global::Ideogram.VideoObject? Type601 { get; set; } + public global::System.Collections.Generic.IList? Type601 { get; set; } /// /// /// - public global::Ideogram.VideoObjectObjectType? Type602 { get; set; } + public global::Ideogram.ColorPaletteMember? Type602 { get; set; } /// /// /// - public global::Ideogram.DetectedTextBlockAlignment? Type603 { get; set; } + public global::Ideogram.SvgGenerationObject? Type603 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type604 { get; set; } + public global::Ideogram.SvgGenerationObjectObjectType? Type604 { get; set; } /// /// /// - public global::Ideogram.DetectedTextBlockFormattingItem? Type605 { get; set; } + public global::Ideogram.SvgGenerationObjectMimeType? Type605 { get; set; } /// /// /// - public global::Ideogram.DetectedTextBlockRole? Type606 { get; set; } + public global::Ideogram.VideoObject? Type606 { get; set; } /// /// /// - public global::Ideogram.AssetType? Type607 { get; set; } + public global::Ideogram.VideoObjectObjectType? Type607 { get; set; } /// /// /// - public global::Ideogram.IdeogramColorPaletteWithPresetName? Type608 { get; set; } + public global::Ideogram.DetectedTextBlockAlignment? Type608 { get; set; } /// /// /// - public global::Ideogram.IdeogramColorPalettePresetName? Type609 { get; set; } + public global::System.Collections.Generic.IList? Type609 { get; set; } /// /// /// - public global::Ideogram.PostGenerateDesignV4200Response? Type610 { get; set; } + public global::Ideogram.DetectedTextBlockFormattingItem? Type610 { get; set; } /// /// /// - public global::Ideogram.PostGenerateDesignV4200ResponseDiscriminator? Type611 { get; set; } + public global::Ideogram.DetectedTextBlockRole? Type611 { get; set; } /// /// /// - public global::Ideogram.PostGenerateDesignV4200ResponseDiscriminatorResponseType? Type612 { get; set; } + public global::Ideogram.AssetType? Type612 { get; set; } /// /// /// - public global::Ideogram.PostInternalTesting200Response? Type613 { get; set; } + public global::Ideogram.IdeogramColorPaletteWithPresetName? Type613 { get; set; } /// /// /// - public global::Ideogram.GenerationResponseDataInnerDiscriminator? Type614 { get; set; } + public global::Ideogram.IdeogramColorPalettePresetName? Type614 { get; set; } /// /// /// - public global::Ideogram.GenerationResponseDataInnerDiscriminatorObjectType? Type615 { get; set; } + public global::Ideogram.PostGenerateDesignV4200Response? Type615 { get; set; } /// /// /// - public global::Ideogram.MagicPromptRequestMessagesInnerRole? Type616 { get; set; } + public global::Ideogram.PostGenerateDesignV4200ResponseDiscriminator? Type616 { get; set; } /// /// /// - public global::Ideogram.DatasetCoverAssetIdentifier? Type617 { get; set; } + public global::Ideogram.PostGenerateDesignV4200ResponseDiscriminatorResponseType? Type617 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type618 { get; set; } + public global::Ideogram.PostInternalTesting200Response? Type618 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type619 { get; set; } + public global::Ideogram.GenerationResponseDataInnerDiscriminator? Type619 { get; set; } /// /// /// - public global::Ideogram.ListCustomModelsScope? Type620 { get; set; } + public global::Ideogram.GenerationResponseDataInnerDiscriminatorObjectType? Type620 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type621 { get; set; } + public global::Ideogram.MagicPromptRequestMessagesInnerRole? Type621 { get; set; } /// /// /// - public global::Ideogram.GetAccountUsageBucketWidth? Type622 { get; set; } + public global::Ideogram.DatasetCoverAssetIdentifier? Type622 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type623 { get; set; } + public global::System.Collections.Generic.IList? Type623 { get; set; } /// /// /// - public global::Ideogram.GetAccountUsageSource? Type624 { get; set; } + public global::System.Collections.Generic.IList? Type624 { get; set; } + /// + /// + /// + public global::Ideogram.ListCustomModelsScope? Type625 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type626 { get; set; } + /// + /// + /// + public global::Ideogram.GetAccountUsageBucketWidth? Type627 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type628 { get; set; } + /// + /// + /// + public global::Ideogram.GetAccountUsageSource? Type629 { get; set; } /// /// diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.AspectRatioV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.AspectRatioV3.g.cs index d9fdeae..1237128 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.AspectRatioV3.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.AspectRatioV3.g.cs @@ -4,7 +4,7 @@ namespace Ideogram { /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// public enum AspectRatioV3 { diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateDesignRequestV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateDesignRequestV3.g.cs index 5481fc7..106852c 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateDesignRequestV3.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateDesignRequestV3.g.cs @@ -35,7 +35,7 @@ public sealed partial class GenerateDesignRequestV3 public global::Ideogram.ResolutionV3? Resolution { get; set; } /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// [global::System.Text.Json.Serialization.JsonPropertyName("aspect_ratio")] [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.AspectRatioV3JsonConverter))] @@ -231,7 +231,7 @@ public sealed partial class GenerateDesignRequestV3 /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateGraphicRequestV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateGraphicRequestV3.g.cs index 74e4eb2..ada5d5b 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateGraphicRequestV3.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateGraphicRequestV3.g.cs @@ -34,7 +34,7 @@ public sealed partial class GenerateGraphicRequestV3 public global::Ideogram.ResolutionV3? Resolution { get; set; } /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// [global::System.Text.Json.Serialization.JsonPropertyName("aspect_ratio")] [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.AspectRatioV3JsonConverter))] @@ -242,7 +242,7 @@ public sealed partial class GenerateGraphicRequestV3 /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogramV4CustomModelRequest.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogramV4CustomModelRequest.g.cs index bea23d7..5904d3d 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogramV4CustomModelRequest.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogramV4CustomModelRequest.g.cs @@ -11,7 +11,7 @@ public sealed partial class GenerateImageIdeogramV4CustomModelRequest /// /// The prompt to generate images from, in natural language or as a
/// structured Ideogram 4.0 JSON prompt. A structured JSON prompt is
- /// used as is and skips magic prompt. + /// used as is and skips magic prompt unless `magic_prompt` is `on`. ///
[global::System.Text.Json.Serialization.JsonPropertyName("prompt")] [global::System.Text.Json.Serialization.JsonRequired] @@ -129,7 +129,7 @@ public sealed partial class GenerateImageIdeogramV4CustomModelRequest /// /// The prompt to generate images from, in natural language or as a
/// structured Ideogram 4.0 JSON prompt. A structured JSON prompt is
- /// used as is and skips magic prompt. + /// used as is and skips magic prompt unless `magic_prompt` is `on`. /// /// /// The custom model URI, in the form `model/<model_name>/version/<version_name>`. You or your organization must have access to the model. The model determines which rendering speeds are supported.
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogramV4Request.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogramV4Request.g.cs index f3d16d9..948ae02 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogramV4Request.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogramV4Request.g.cs @@ -11,7 +11,7 @@ public sealed partial class GenerateImageIdeogramV4Request /// /// The prompt to generate images from, in natural language or as a
/// structured Ideogram 4.0 JSON prompt. A structured JSON prompt is
- /// used as is and skips magic prompt. + /// used as is and skips magic prompt unless `magic_prompt` is `on`. ///
[global::System.Text.Json.Serialization.JsonPropertyName("prompt")] [global::System.Text.Json.Serialization.JsonRequired] @@ -113,7 +113,7 @@ public sealed partial class GenerateImageIdeogramV4Request /// /// The prompt to generate images from, in natural language or as a
/// structured Ideogram 4.0 JSON prompt. A structured JSON prompt is
- /// used as is and skips magic prompt. + /// used as is and skips magic prompt unless `magic_prompt` is `on`. /// /// /// Controls how a natural-language prompt is prepared. `auto` (the
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogramV4TransparentRequest.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogramV4TransparentRequest.g.cs index 6ea6cf9..bee47ff 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogramV4TransparentRequest.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageIdeogramV4TransparentRequest.g.cs @@ -46,10 +46,8 @@ public sealed partial class GenerateImageIdeogramV4TransparentRequest public int? NumImages { get; set; } /// - /// The aspect ratio for an Ideogram 4.0 magic prompt. `auto` lets the
- /// model select the most suitable ratio from the prompt; any other value
- /// pins the ratio. The non-auto values are the buckets the 4.0 model
- /// supports.
+ /// Supported output aspect ratios. The operation defines whether `auto`
+ /// preserves the source shape or selects a shape from the prompt.
/// Default Value: auto ///
[global::System.Text.Json.Serialization.JsonPropertyName("aspect_ratio")] @@ -148,10 +146,8 @@ public sealed partial class GenerateImageIdeogramV4TransparentRequest /// Default Value: 1 /// /// - /// The aspect ratio for an Ideogram 4.0 magic prompt. `auto` lets the
- /// model select the most suitable ratio from the prompt; any other value
- /// pins the ratio. The non-auto values are the buckets the 4.0 model
- /// supports.
+ /// Supported output aspect ratios. The operation defines whether `auto`
+ /// preserves the source shape or selects a shape from the prompt.
/// Default Value: auto /// /// diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageRequestV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageRequestV3.g.cs index 7134a74..8c1da71 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageRequestV3.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateImageRequestV3.g.cs @@ -35,7 +35,7 @@ public sealed partial class GenerateImageRequestV3 public global::Ideogram.ResolutionV3? Resolution { get; set; } /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// [global::System.Text.Json.Serialization.JsonPropertyName("aspect_ratio")] [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.AspectRatioV3JsonConverter))] @@ -173,7 +173,7 @@ public sealed partial class GenerateImageRequestV3 /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateTransparentImageRequestV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateTransparentImageRequestV3.g.cs index ee0b5f1..4b16497 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateTransparentImageRequestV3.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateTransparentImageRequestV3.g.cs @@ -36,7 +36,7 @@ public sealed partial class GenerateTransparentImageRequestV3 public global::Ideogram.UpscaleFactor? UpscaleFactor { get; set; } /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// [global::System.Text.Json.Serialization.JsonPropertyName("aspect_ratio")] [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.AspectRatioV3JsonConverter))] @@ -124,7 +124,7 @@ public sealed partial class GenerateTransparentImageRequestV3 /// Example: X2 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance25ReferenceToVideoRequest.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance25ReferenceToVideoRequest.g.cs index 53876e9..7a179c4 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance25ReferenceToVideoRequest.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance25ReferenceToVideoRequest.g.cs @@ -45,7 +45,7 @@ public sealed partial class GenerateVideoSeedDance25ReferenceToVideoRequest public global::System.Collections.Generic.IList? ReferenceAudios { get; set; } /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto ///
@@ -131,7 +131,7 @@ public sealed partial class GenerateVideoSeedDance25ReferenceToVideoRequest /// MP3 or WAV audio references, in prompt order. Multipart requests only. Each file must be at most 15 MB and between 2 and 30 seconds long, with a combined duration of at most 30 seconds. Requires at least one reference image. Audio is used for this request only and is not saved to your library. /// /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto /// diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance25TextToVideoRequest.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance25TextToVideoRequest.g.cs index 2882b8f..3341ec1 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance25TextToVideoRequest.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance25TextToVideoRequest.g.cs @@ -19,7 +19,7 @@ public sealed partial class GenerateVideoSeedDance25TextToVideoRequest public required string Prompt { get; set; } /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto ///
@@ -93,7 +93,7 @@ public sealed partial class GenerateVideoSeedDance25TextToVideoRequest /// Example: A red fox running through a snowy forest at dawn. /// /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto /// diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance2ImageToVideoRequest.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance2ImageToVideoRequest.g.cs index baad775..0bdae40 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance2ImageToVideoRequest.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance2ImageToVideoRequest.g.cs @@ -56,7 +56,7 @@ public sealed partial class GenerateVideoSeedDance2ImageToVideoRequest public required string Prompt { get; set; } /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto ///
@@ -148,7 +148,7 @@ public sealed partial class GenerateVideoSeedDance2ImageToVideoRequest /// An optional final frame, in a common format such as JPEG, PNG, or WEBP, up to 50MB. Multipart requests only. When supplied, the video transitions from the first frame to this one. /// /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto /// diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance2ReferenceToVideoRequest.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance2ReferenceToVideoRequest.g.cs index 4225d02..528d341 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance2ReferenceToVideoRequest.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance2ReferenceToVideoRequest.g.cs @@ -45,7 +45,7 @@ public sealed partial class GenerateVideoSeedDance2ReferenceToVideoRequest public global::System.Collections.Generic.IList? ReferenceAudios { get; set; } /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto ///
@@ -131,7 +131,7 @@ public sealed partial class GenerateVideoSeedDance2ReferenceToVideoRequest /// MP3 or WAV audio references, in prompt order. Multipart requests only. Each file must be at most 15 MB and between 2 and 15 seconds long, with a combined duration of at most 15 seconds. Requires at least one reference image. Audio is used for this request only and is not saved to your library. /// /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto /// diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance2TextToVideoRequest.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance2TextToVideoRequest.g.cs index d99a965..992ab8a 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance2TextToVideoRequest.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.GenerateVideoSeedDance2TextToVideoRequest.g.cs @@ -19,7 +19,7 @@ public sealed partial class GenerateVideoSeedDance2TextToVideoRequest public required string Prompt { get; set; } /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto ///
@@ -93,7 +93,7 @@ public sealed partial class GenerateVideoSeedDance2TextToVideoRequest /// Example: A red fox running through a snowy forest at dawn. /// /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto /// diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GenerationResponseDataInner.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GenerationResponseDataInner.g.cs index dc219c8..f56e74f 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.GenerationResponseDataInner.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.GenerationResponseDataInner.g.cs @@ -51,6 +51,43 @@ public bool TryPickImageWithoutPromptOrSeed( ? value : throw new global::System.InvalidOperationException($"Expected union variant 'ImageWithoutPromptOrSeed' but the value was {ToString()}."); + /// + /// + /// +#if NET6_0_OR_GREATER + public global::Ideogram.SvgGenerationObject? SvgGeneration { get; init; } +#else + public global::Ideogram.SvgGenerationObject? SvgGeneration { get; } +#endif + + /// + /// + /// +#if NET6_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.MemberNotNullWhen(true, nameof(SvgGeneration))] +#endif + public bool IsSvgGeneration => SvgGeneration != null; + + /// + /// + /// + public bool TryPickSvgGeneration( +#if NET6_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)] +#endif + out global::Ideogram.SvgGenerationObject? value) + { + value = SvgGeneration; + return IsSvgGeneration; + } + + /// + /// + /// + public global::Ideogram.SvgGenerationObject PickSvgGeneration() => SvgGeneration is { } value + ? value + : throw new global::System.InvalidOperationException($"Expected union variant 'SvgGeneration' but the value was {ToString()}."); + /// /// A single generated image. Model-agnostic shape returned by the generation polling endpoint.
/// Example: {"seed":12345,"object_type":"image.generation","asset_id":"asset_id","prompt":"prompt","resolution":"2048x2048","url":"https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804\u0026sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89","is_image_safe":true} @@ -187,6 +224,29 @@ public GenerationResponseDataInner(global::Ideogram.ImageObjectWithoutPromptOrSe ///
public static GenerationResponseDataInner FromImageWithoutPromptOrSeed(global::Ideogram.ImageObjectWithoutPromptOrSeed? value) => new GenerationResponseDataInner(value); + /// + /// + /// + public static implicit operator GenerationResponseDataInner(global::Ideogram.SvgGenerationObject value) => new GenerationResponseDataInner((global::Ideogram.SvgGenerationObject?)value); + + /// + /// + /// + public static implicit operator global::Ideogram.SvgGenerationObject?(GenerationResponseDataInner @this) => @this.SvgGeneration; + + /// + /// + /// + public GenerationResponseDataInner(global::Ideogram.SvgGenerationObject? value) + { + SvgGeneration = value; + } + + /// + /// + /// + public static GenerationResponseDataInner FromSvgGeneration(global::Ideogram.SvgGenerationObject? value) => new GenerationResponseDataInner(value); + /// /// /// @@ -262,6 +322,7 @@ public GenerationResponseDataInner(global::Ideogram.LayerizedImageObject? value) public GenerationResponseDataInner( global::Ideogram.GenerationResponseDataInnerDiscriminatorObjectType? objectType, global::Ideogram.ImageObjectWithoutPromptOrSeed? imageWithoutPromptOrSeed, + global::Ideogram.SvgGenerationObject? svgGeneration, global::Ideogram.ImageGenerationObject? imageGeneration, global::Ideogram.VideoObject? videoGeneration, global::Ideogram.LayerizedImageObject? layerizedImage @@ -270,6 +331,7 @@ public GenerationResponseDataInner( ObjectType = objectType; ImageWithoutPromptOrSeed = imageWithoutPromptOrSeed; + SvgGeneration = svgGeneration; ImageGeneration = imageGeneration; VideoGeneration = videoGeneration; LayerizedImage = layerizedImage; @@ -282,6 +344,7 @@ public GenerationResponseDataInner( LayerizedImage as object ?? VideoGeneration as object ?? ImageGeneration as object ?? + SvgGeneration as object ?? ImageWithoutPromptOrSeed as object ; @@ -290,6 +353,7 @@ ImageWithoutPromptOrSeed as object ///
public override string? ToString() => ImageWithoutPromptOrSeed?.ToString() ?? + SvgGeneration?.ToString() ?? ImageGeneration?.ToString() ?? VideoGeneration?.ToString() ?? LayerizedImage?.ToString() @@ -300,7 +364,7 @@ ImageWithoutPromptOrSeed as object /// public bool Validate() { - return IsImageWithoutPromptOrSeed && !IsImageGeneration && !IsVideoGeneration && !IsLayerizedImage || !IsImageWithoutPromptOrSeed && IsImageGeneration && !IsVideoGeneration && !IsLayerizedImage || !IsImageWithoutPromptOrSeed && !IsImageGeneration && IsVideoGeneration && !IsLayerizedImage || !IsImageWithoutPromptOrSeed && !IsImageGeneration && !IsVideoGeneration && IsLayerizedImage; + return IsImageWithoutPromptOrSeed && !IsSvgGeneration && !IsImageGeneration && !IsVideoGeneration && !IsLayerizedImage || !IsImageWithoutPromptOrSeed && IsSvgGeneration && !IsImageGeneration && !IsVideoGeneration && !IsLayerizedImage || !IsImageWithoutPromptOrSeed && !IsSvgGeneration && IsImageGeneration && !IsVideoGeneration && !IsLayerizedImage || !IsImageWithoutPromptOrSeed && !IsSvgGeneration && !IsImageGeneration && IsVideoGeneration && !IsLayerizedImage || !IsImageWithoutPromptOrSeed && !IsSvgGeneration && !IsImageGeneration && !IsVideoGeneration && IsLayerizedImage; } /// @@ -308,6 +372,7 @@ public bool Validate() /// public TResult? Match( global::System.Func? imageWithoutPromptOrSeed = null, + global::System.Func? svgGeneration = null, global::System.Func? imageGeneration = null, global::System.Func? videoGeneration = null, global::System.Func? layerizedImage = null, @@ -322,17 +387,21 @@ public bool Validate() { return imageWithoutPromptOrSeed(__value0); } - else if (ImageGeneration is { } __value1 && imageGeneration != null) + else if (SvgGeneration is { } __value1 && svgGeneration != null) { - return imageGeneration(__value1); + return svgGeneration(__value1); } - else if (VideoGeneration is { } __value2 && videoGeneration != null) + else if (ImageGeneration is { } __value2 && imageGeneration != null) { - return videoGeneration(__value2); + return imageGeneration(__value2); } - else if (LayerizedImage is { } __value3 && layerizedImage != null) + else if (VideoGeneration is { } __value3 && videoGeneration != null) { - return layerizedImage(__value3); + return videoGeneration(__value3); + } + else if (LayerizedImage is { } __value4 && layerizedImage != null) + { + return layerizedImage(__value4); } return default(TResult); @@ -344,6 +413,8 @@ public bool Validate() public void Match( global::System.Action? imageWithoutPromptOrSeed = null, + global::System.Action? svgGeneration = null, + global::System.Action? imageGeneration = null, global::System.Action? videoGeneration = null, @@ -360,17 +431,21 @@ public void Match( { imageWithoutPromptOrSeed?.Invoke(__value0); } - else if (ImageGeneration is { } __value1) + else if (SvgGeneration is { } __value1) + { + svgGeneration?.Invoke(__value1); + } + else if (ImageGeneration is { } __value2) { - imageGeneration?.Invoke(__value1); + imageGeneration?.Invoke(__value2); } - else if (VideoGeneration is { } __value2) + else if (VideoGeneration is { } __value3) { - videoGeneration?.Invoke(__value2); + videoGeneration?.Invoke(__value3); } - else if (LayerizedImage is { } __value3) + else if (LayerizedImage is { } __value4) { - layerizedImage?.Invoke(__value3); + layerizedImage?.Invoke(__value4); } } @@ -379,6 +454,7 @@ public void Match( /// public void Switch( global::System.Action? imageWithoutPromptOrSeed = null, + global::System.Action? svgGeneration = null, global::System.Action? imageGeneration = null, global::System.Action? videoGeneration = null, global::System.Action? layerizedImage = null, @@ -393,17 +469,21 @@ public void Switch( { imageWithoutPromptOrSeed?.Invoke(__value0); } - else if (ImageGeneration is { } __value1) + else if (SvgGeneration is { } __value1) + { + svgGeneration?.Invoke(__value1); + } + else if (ImageGeneration is { } __value2) { - imageGeneration?.Invoke(__value1); + imageGeneration?.Invoke(__value2); } - else if (VideoGeneration is { } __value2) + else if (VideoGeneration is { } __value3) { - videoGeneration?.Invoke(__value2); + videoGeneration?.Invoke(__value3); } - else if (LayerizedImage is { } __value3) + else if (LayerizedImage is { } __value4) { - layerizedImage?.Invoke(__value3); + layerizedImage?.Invoke(__value4); } } @@ -416,6 +496,8 @@ public override int GetHashCode() { ImageWithoutPromptOrSeed, typeof(global::Ideogram.ImageObjectWithoutPromptOrSeed), + SvgGeneration, + typeof(global::Ideogram.SvgGenerationObject), ImageGeneration, typeof(global::Ideogram.ImageGenerationObject), VideoGeneration, @@ -439,6 +521,7 @@ public bool Equals(GenerationResponseDataInner other) { return global::System.Collections.Generic.EqualityComparer.Default.Equals(ImageWithoutPromptOrSeed, other.ImageWithoutPromptOrSeed) && + global::System.Collections.Generic.EqualityComparer.Default.Equals(SvgGeneration, other.SvgGeneration) && global::System.Collections.Generic.EqualityComparer.Default.Equals(ImageGeneration, other.ImageGeneration) && global::System.Collections.Generic.EqualityComparer.Default.Equals(VideoGeneration, other.VideoGeneration) && global::System.Collections.Generic.EqualityComparer.Default.Equals(LayerizedImage, other.LayerizedImage) diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GenerationResponseDataInnerDiscriminatorObjectType.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GenerationResponseDataInnerDiscriminatorObjectType.g.cs index d3fe915..9f42f13 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.GenerationResponseDataInnerDiscriminatorObjectType.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.GenerationResponseDataInnerDiscriminatorObjectType.g.cs @@ -23,6 +23,10 @@ public enum GenerationResponseDataInnerDiscriminatorObjectType /// /// /// + SvgGeneration, + /// + /// + /// VideoGeneration, } @@ -41,6 +45,7 @@ public static string ToValueString(this GenerationResponseDataInnerDiscriminator GenerationResponseDataInnerDiscriminatorObjectType.ImageGeneration => "image.generation", GenerationResponseDataInnerDiscriminatorObjectType.ImageWithoutPromptOrSeed => "image.without-prompt-or-seed", GenerationResponseDataInnerDiscriminatorObjectType.LayerizedImage => "layerized_image", + GenerationResponseDataInnerDiscriminatorObjectType.SvgGeneration => "svg.generation", GenerationResponseDataInnerDiscriminatorObjectType.VideoGeneration => "video.generation", _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), }; @@ -55,6 +60,7 @@ public static string ToValueString(this GenerationResponseDataInnerDiscriminator "image.generation" => GenerationResponseDataInnerDiscriminatorObjectType.ImageGeneration, "image.without-prompt-or-seed" => GenerationResponseDataInnerDiscriminatorObjectType.ImageWithoutPromptOrSeed, "layerized_image" => GenerationResponseDataInnerDiscriminatorObjectType.LayerizedImage, + "svg.generation" => GenerationResponseDataInnerDiscriminatorObjectType.SvgGeneration, "video.generation" => GenerationResponseDataInnerDiscriminatorObjectType.VideoGeneration, _ => null, }; diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.IdeogramV4AspectRatio.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.IdeogramV4AspectRatio.g.cs index 8baaffe..926e1cf 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.IdeogramV4AspectRatio.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.IdeogramV4AspectRatio.g.cs @@ -4,10 +4,8 @@ namespace Ideogram { /// - /// The aspect ratio for an Ideogram 4.0 magic prompt. `auto` lets the
- /// model select the most suitable ratio from the prompt; any other value
- /// pins the ratio. The non-auto values are the buckets the 4.0 model
- /// supports.
+ /// Supported output aspect ratios. The operation defines whether `auto`
+ /// preserves the source shape or selects a shape from the prompt.
/// Default Value: auto ///
public enum IdeogramV4AspectRatio diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageIdeogramV3CharacterRequest.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageIdeogramV3CharacterRequest.g.cs index 6e8b486..53a8894 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageIdeogramV3CharacterRequest.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageIdeogramV3CharacterRequest.g.cs @@ -100,7 +100,7 @@ public sealed partial class RemixImageIdeogramV3CharacterRequest public global::Ideogram.ResolutionV3? Resolution { get; set; } /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// [global::System.Text.Json.Serialization.JsonPropertyName("aspect_ratio")] [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.AspectRatioV3JsonConverter))] @@ -255,7 +255,7 @@ public sealed partial class RemixImageIdeogramV3CharacterRequest /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageIdeogramV3CustomModelRequest.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageIdeogramV3CustomModelRequest.g.cs index 91878f0..2a9e21e 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageIdeogramV3CustomModelRequest.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageIdeogramV3CustomModelRequest.g.cs @@ -72,7 +72,7 @@ public sealed partial class RemixImageIdeogramV3CustomModelRequest public global::Ideogram.ResolutionV3? Resolution { get; set; } /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// [global::System.Text.Json.Serialization.JsonPropertyName("aspect_ratio")] [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.AspectRatioV3JsonConverter))] @@ -214,7 +214,7 @@ public sealed partial class RemixImageIdeogramV3CustomModelRequest /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use. When omitted, the server chooses a speed supported by the selected custom model. diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageIdeogramV3Request.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageIdeogramV3Request.g.cs index dc740f6..88412d5 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageIdeogramV3Request.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageIdeogramV3Request.g.cs @@ -63,7 +63,7 @@ public sealed partial class RemixImageIdeogramV3Request public global::Ideogram.ResolutionV3? Resolution { get; set; } /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// [global::System.Text.Json.Serialization.JsonPropertyName("aspect_ratio")] [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.AspectRatioV3JsonConverter))] @@ -224,7 +224,7 @@ public sealed partial class RemixImageIdeogramV3Request /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageRequestV3.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageRequestV3.g.cs index ae3f834..b9cf147 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageRequestV3.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.RemixImageRequestV3.g.cs @@ -57,7 +57,7 @@ public sealed partial class RemixImageRequestV3 public global::Ideogram.ResolutionV3? Resolution { get; set; } /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// [global::System.Text.Json.Serialization.JsonPropertyName("aspect_ratio")] [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.AspectRatioV3JsonConverter))] @@ -195,7 +195,7 @@ public sealed partial class RemixImageRequestV3 /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// The rendering speed to use.
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.SeedDance2AspectRatio.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.SeedDance2AspectRatio.g.cs index e86fc45..c10accc 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.SeedDance2AspectRatio.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.SeedDance2AspectRatio.g.cs @@ -4,7 +4,7 @@ namespace Ideogram { /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto ///
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.SvgGenerationObject.Json.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.SvgGenerationObject.Json.g.cs new file mode 100644 index 0000000..ddeef30 --- /dev/null +++ b/src/libs/Ideogram/Generated/Ideogram.Models.SvgGenerationObject.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace Ideogram +{ + public sealed partial class SvgGenerationObject + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::Ideogram.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::Ideogram.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Ideogram.SvgGenerationObject? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Ideogram.SvgGenerationObject), + jsonSerializerContext) as global::Ideogram.SvgGenerationObject; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::Ideogram.SvgGenerationObject? FromJson( + string json) + { + return FromJson( + json, + global::Ideogram.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Ideogram.SvgGenerationObject? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::Ideogram.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Ideogram.SvgGenerationObject), + jsonSerializerContext).ConfigureAwait(false)) as global::Ideogram.SvgGenerationObject; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::Ideogram.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::Ideogram.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.SvgGenerationObject.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.SvgGenerationObject.g.cs new file mode 100644 index 0000000..9c4a4fc --- /dev/null +++ b/src/libs/Ideogram/Generated/Ideogram.Models.SvgGenerationObject.g.cs @@ -0,0 +1,103 @@ + +#nullable enable + +namespace Ideogram +{ + /// + /// + /// + public sealed partial class SvgGenerationObject + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("object_type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.SvgGenerationObjectObjectTypeJsonConverter))] + public global::Ideogram.SvgGenerationObjectObjectType ObjectType { get; set; } + + /// + /// URL-safe base64 SVG asset ID. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("asset_id")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string AssetId { get; set; } + + /// + /// Signed download URL for the original SVG. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("url")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Url { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("mime_type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.SvgGenerationObjectMimeTypeJsonConverter))] + public global::Ideogram.SvgGenerationObjectMimeType MimeType { get; set; } + + /// + /// Width of the output SVG canvas in pixels. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("width")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int Width { get; set; } + + /// + /// Height of the output SVG canvas in pixels. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("height")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int Height { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// URL-safe base64 SVG asset ID. + /// + /// + /// Signed download URL for the original SVG. + /// + /// + /// Width of the output SVG canvas in pixels. + /// + /// + /// Height of the output SVG canvas in pixels. + /// + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SvgGenerationObject( + string assetId, + string url, + int width, + int height, + global::Ideogram.SvgGenerationObjectObjectType objectType, + global::Ideogram.SvgGenerationObjectMimeType mimeType) + { + this.ObjectType = objectType; + this.AssetId = assetId ?? throw new global::System.ArgumentNullException(nameof(assetId)); + this.Url = url ?? throw new global::System.ArgumentNullException(nameof(url)); + this.MimeType = mimeType; + this.Width = width; + this.Height = height; + } + + /// + /// Initializes a new instance of the class. + /// + public SvgGenerationObject() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.SvgGenerationObjectMimeType.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.SvgGenerationObjectMimeType.g.cs new file mode 100644 index 0000000..e70f8a1 --- /dev/null +++ b/src/libs/Ideogram/Generated/Ideogram.Models.SvgGenerationObjectMimeType.g.cs @@ -0,0 +1,45 @@ + +#nullable enable + +namespace Ideogram +{ + /// + /// + /// + public enum SvgGenerationObjectMimeType + { + /// + /// + /// + ImageSvgPlusxml, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SvgGenerationObjectMimeTypeExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SvgGenerationObjectMimeType value) + { + return value switch + { + SvgGenerationObjectMimeType.ImageSvgPlusxml => "image/svg+xml", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SvgGenerationObjectMimeType? ToEnum(string value) + { + return value switch + { + "image/svg+xml" => SvgGenerationObjectMimeType.ImageSvgPlusxml, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.SvgGenerationObjectObjectType.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.SvgGenerationObjectObjectType.g.cs new file mode 100644 index 0000000..cb4f8d3 --- /dev/null +++ b/src/libs/Ideogram/Generated/Ideogram.Models.SvgGenerationObjectObjectType.g.cs @@ -0,0 +1,45 @@ + +#nullable enable + +namespace Ideogram +{ + /// + /// + /// + public enum SvgGenerationObjectObjectType + { + /// + /// + /// + SvgGeneration, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SvgGenerationObjectObjectTypeExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SvgGenerationObjectObjectType value) + { + return value switch + { + SvgGenerationObjectObjectType.SvgGeneration => "svg.generation", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SvgGenerationObjectObjectType? ToEnum(string value) + { + return value switch + { + "svg.generation" => SvgGenerationObjectObjectType.SvgGeneration, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.TrainDatasetModelRequest.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.TrainDatasetModelRequest.g.cs index 8cfd82d..ad1cf58 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.TrainDatasetModelRequest.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.TrainDatasetModelRequest.g.cs @@ -10,7 +10,7 @@ namespace Ideogram public sealed partial class TrainDatasetModelRequest { /// - /// Name for the trained model. Must be 5-30 characters, alphanumeric with spaces and hyphens allowed.
+ /// Name after trimming surrounding whitespace: 5–30 Unicode letters, numbers, spaces, underscores, parentheses, periods, or hyphens.
/// Example: my-custom-model ///
/// my-custom-model @@ -28,7 +28,7 @@ public sealed partial class TrainDatasetModelRequest /// Initializes a new instance of the class. /// /// - /// Name for the trained model. Must be 5-30 characters, alphanumeric with spaces and hyphens allowed.
+ /// Name after trimming surrounding whitespace: 5–30 Unicode letters, numbers, spaces, underscores, parentheses, periods, or hyphens.
/// Example: my-custom-model /// #if NET7_0_OR_GREATER diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.V1EditImagesRequest.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.V1EditImagesRequest.g.cs index 7559c41..eeac5f3 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.V1EditImagesRequest.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.V1EditImagesRequest.g.cs @@ -69,7 +69,7 @@ public sealed partial class V1EditImagesRequest public global::Ideogram.ResolutionV3? Resolution { get; set; } /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// [global::System.Text.Json.Serialization.JsonPropertyName("aspect_ratio")] [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.AspectRatioV3JsonConverter))] @@ -123,7 +123,7 @@ public sealed partial class V1EditImagesRequest /// Example: 1280x800 /// /// - /// The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1. + /// Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted. /// /// /// Whether the output should have a transparent background. Default false.
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.VectorizerRequest.Json.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.VectorizerRequest.Json.g.cs new file mode 100644 index 0000000..10552fc --- /dev/null +++ b/src/libs/Ideogram/Generated/Ideogram.Models.VectorizerRequest.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace Ideogram +{ + public sealed partial class VectorizerRequest + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::Ideogram.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::Ideogram.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Ideogram.VectorizerRequest? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Ideogram.VectorizerRequest), + jsonSerializerContext) as global::Ideogram.VectorizerRequest; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::Ideogram.VectorizerRequest? FromJson( + string json) + { + return FromJson( + json, + global::Ideogram.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Ideogram.VectorizerRequest? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::Ideogram.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Ideogram.VectorizerRequest), + jsonSerializerContext).ConfigureAwait(false)) as global::Ideogram.VectorizerRequest; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::Ideogram.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::Ideogram.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.VectorizerRequest.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.VectorizerRequest.g.cs new file mode 100644 index 0000000..b18ce11 --- /dev/null +++ b/src/libs/Ideogram/Generated/Ideogram.Models.VectorizerRequest.g.cs @@ -0,0 +1,121 @@ + +#nullable enable + +namespace Ideogram +{ + /// + /// + /// + public sealed partial class VectorizerRequest + { + /// + /// JPEG, PNG or WEBP source; at most 50 MB. Multipart only. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("image")] + public byte[]? Image { get; set; } + + /// + /// JPEG, PNG or WEBP source; at most 50 MB. Multipart only. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("imagename")] + public string? Imagename { get; set; } + + /// + /// An identifier for an ideogram asset.
+ /// Example: {"asset_type":"RESPONSE","asset_id":"7uS_VESkRI6O3-sVgHQp_A"} + ///
+ /// {"asset_type":"RESPONSE","asset_id":"7uS_VESkRI6O3-sVgHQp_A"} + [global::System.Text.Json.Serialization.JsonPropertyName("image_asset_identifier")] + public global::Ideogram.AssetIdentifier? ImageAssetIdentifier { get; set; } + + /// + /// Outputs are private by default. Enterprise outputs are always private. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("private")] + public bool? Private { get; set; } + + /// + /// URL-safe base64 ID of a writable destination collection. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("target_collection_id")] + public string? TargetCollectionId { get; set; } + + /// + /// HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a
+ /// JSON POST to this URL once all images for the request have finished
+ /// generating. The body mirrors the synchronous generate response:
+ /// `request_id`, `created`, and a `data` array
+ /// containing every generated image (`url`, `prompt`, `resolution`, `seed`,
+ /// `is_image_safe`). Each delivery is signed with Ed25519 and verifiable
+ /// against the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;
+ /// private and loopback hosts and the cloud metadata service are rejected.
+ /// Example: https://api.example.com/webhooks/ideogram + ///
+ /// https://api.example.com/webhooks/ideogram + [global::System.Text.Json.Serialization.JsonPropertyName("webhook_url")] + public string? WebhookUrl { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// JPEG, PNG or WEBP source; at most 50 MB. Multipart only. + /// + /// + /// JPEG, PNG or WEBP source; at most 50 MB. Multipart only. + /// + /// + /// An identifier for an ideogram asset.
+ /// Example: {"asset_type":"RESPONSE","asset_id":"7uS_VESkRI6O3-sVgHQp_A"} + /// + /// + /// Outputs are private by default. Enterprise outputs are always private. + /// + /// + /// URL-safe base64 ID of a writable destination collection. + /// + /// + /// HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a
+ /// JSON POST to this URL once all images for the request have finished
+ /// generating. The body mirrors the synchronous generate response:
+ /// `request_id`, `created`, and a `data` array
+ /// containing every generated image (`url`, `prompt`, `resolution`, `seed`,
+ /// `is_image_safe`). Each delivery is signed with Ed25519 and verifiable
+ /// against the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;
+ /// private and loopback hosts and the cloud metadata service are rejected.
+ /// Example: https://api.example.com/webhooks/ideogram + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public VectorizerRequest( + byte[]? image, + string? imagename, + global::Ideogram.AssetIdentifier? imageAssetIdentifier, + bool? @private, + string? targetCollectionId, + string? webhookUrl) + { + this.Image = image; + this.Imagename = imagename; + this.ImageAssetIdentifier = imageAssetIdentifier; + this.Private = @private; + this.TargetCollectionId = targetCollectionId; + this.WebhookUrl = webhookUrl; + } + + /// + /// Initializes a new instance of the class. + /// + public VectorizerRequest() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.VectorizerResponse.Json.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.VectorizerResponse.Json.g.cs new file mode 100644 index 0000000..171500d --- /dev/null +++ b/src/libs/Ideogram/Generated/Ideogram.Models.VectorizerResponse.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace Ideogram +{ + public sealed partial class VectorizerResponse + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::Ideogram.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::Ideogram.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Ideogram.VectorizerResponse? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Ideogram.VectorizerResponse), + jsonSerializerContext) as global::Ideogram.VectorizerResponse; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::Ideogram.VectorizerResponse? FromJson( + string json) + { + return FromJson( + json, + global::Ideogram.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Ideogram.VectorizerResponse? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::Ideogram.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Ideogram.VectorizerResponse), + jsonSerializerContext).ConfigureAwait(false)) as global::Ideogram.VectorizerResponse; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::Ideogram.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::Ideogram.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.VectorizerResponse.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.VectorizerResponse.g.cs new file mode 100644 index 0000000..ae1d39a --- /dev/null +++ b/src/libs/Ideogram/Generated/Ideogram.Models.VectorizerResponse.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Ideogram +{ + /// + /// Example: {"generation_id":"generation_id"} + /// + public sealed partial class VectorizerResponse + { + /// + /// URL-safe base64 generation ID. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("generation_id")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string GenerationId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// URL-safe base64 generation ID. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public VectorizerResponse( + string generationId) + { + this.GenerationId = generationId ?? throw new global::System.ArgumentNullException(nameof(generationId)); + } + + /// + /// Initializes a new instance of the class. + /// + public VectorizerResponse() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance25ReferenceToVideo.g.cs b/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance25ReferenceToVideo.g.cs index 48c15bd..89aeaee 100644 --- a/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance25ReferenceToVideo.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance25ReferenceToVideo.g.cs @@ -894,7 +894,7 @@ partial void ProcessPostGenerateVideoSeedDance25ReferenceToVideoResponseContent( /// MP3 or WAV audio references, in prompt order. Multipart requests only. Each file must be at most 15 MB and between 2 and 30 seconds long, with a combined duration of at most 30 seconds. Requires at least one reference image. Audio is used for this request only and is not saved to your library. /// /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto /// diff --git a/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance25TextToVideo.g.cs b/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance25TextToVideo.g.cs index 762e6b6..6417589 100644 --- a/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance25TextToVideo.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance25TextToVideo.g.cs @@ -733,7 +733,7 @@ partial void ProcessPostGenerateVideoSeedDance25TextToVideoResponseContent( /// Example: A red fox running through a snowy forest at dawn. /// /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto /// diff --git a/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance2ImageToVideo.g.cs b/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance2ImageToVideo.g.cs index afb375f..d69ce44 100644 --- a/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance2ImageToVideo.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance2ImageToVideo.g.cs @@ -948,7 +948,7 @@ request.EndImagename is null /// Example: The camera slowly pans right as the waves roll in. /// /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto /// diff --git a/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance2ReferenceToVideo.g.cs b/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance2ReferenceToVideo.g.cs index 8976699..2e00117 100644 --- a/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance2ReferenceToVideo.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance2ReferenceToVideo.g.cs @@ -894,7 +894,7 @@ partial void ProcessPostGenerateVideoSeedDance2ReferenceToVideoResponseContent( /// MP3 or WAV audio references, in prompt order. Multipart requests only. Each file must be at most 15 MB and between 2 and 15 seconds long, with a combined duration of at most 15 seconds. Requires at least one reference image. Audio is used for this request only and is not saved to your library. /// /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto /// diff --git a/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance2TextToVideo.g.cs b/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance2TextToVideo.g.cs index 39fcdea..4c94c1e 100644 --- a/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance2TextToVideo.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.VideoGenerateClient.PostGenerateVideoSeedDance2TextToVideo.g.cs @@ -733,7 +733,7 @@ partial void ProcessPostGenerateVideoSeedDance2TextToVideoResponseContent( /// Example: A red fox running through a snowy forest at dawn. /// /// - /// The aspect ratio of the generated video. `AUTO` lets the model choose the
+ /// The aspect ratio of the generated video. `auto` lets the model choose the
/// most suitable ratio from the prompt; any other value pins the ratio.
/// Default Value: auto /// diff --git a/src/libs/Ideogram/Generated/autosdk.generated-examples.json b/src/libs/Ideogram/Generated/autosdk.generated-examples.json index 805e8aa..cfab571 100644 --- a/src/libs/Ideogram/Generated/autosdk.generated-examples.json +++ b/src/libs/Ideogram/Generated/autosdk.generated-examples.json @@ -343,6 +343,17 @@ }, { "Order": 32, + "Title": "Vectorizer", + "Slug": "post-vectorizer", + "Description": "Converts an image to SVG asynchronously.", + "Language": "http", + "Code": "### Vectorizer\n# @name post_vectorizer\nPOST {{host}}/v2/tool/vectorizer?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\u0022; filename=\u0022image.bin\u0022\nContent-Type: application/octet-stream\n\n\u003C ./image.bin\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=\u0022private\u0022\n\ntrue\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022target_collection_id\u0022\n\nstring\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: Conversion accepted; dry runs return the shared PriceQuote response.\n# Content-Type: application/json\n# 400\n# Description: Invalid source image or input combination.\n# 401\n# Description: Authentication required.\n# 402\n# Description: Insufficient credits.\n# Content-Type: application/json\n# 403\n# Description: Access denied.\n# 404\n# Description: Source not found.\n# 429\n# Description: Too many requests.\n# Content-Type: application/json\n# 503\n# Description: Conversion is unavailable.", + "Format": "http", + "OperationId": "post_vectorizer", + "Setup": null + }, + { + "Order": 33, "Title": "Dress a person in one or more garments", "Slug": "post-virtual-try-on", "Description": "Generates a photorealistic image of the person in the supplied photo\nwearing the supplied garments, preserving their face, body, and\nbackground.\n\nThe request is processed asynchronously. Poll\n\u0060GET /v2/generations/{generation_id}\u0060 with the returned \u0060generation_id\u0060\nuntil the generation is completed or failed.\n\nSupply the person as either an \u0060AssetIdentifier\u0060 reference\n(\u0060person_asset_identifier\u0060) or the raw image bytes directly\n(\u0060person_image\u0060, multipart requests only), and likewise the garments as\neither \u0060garment_asset_identifiers\u0060 or \u0060garment_images\u0060. For each of the\ntwo sources, provide exactly one of the two forms; supplying both, or\nneither, is rejected with a 400.", @@ -353,7 +364,7 @@ "Setup": null }, { - "Order": 33, + "Order": 34, "Title": "Poll a generation", "Slug": "get-generation", "Description": "Retrieves the current status of an asynchronous generation, and its results once complete. Use the \u0060generation_id\u0060 returned by the async generation endpoint. While the generation is \u0060pending\u0060 or has \u0060failed\u0060, the response contains only \u0060generation_id\u0060, \u0060status\u0060, and \u0060created\u0060. Once \u0060status\u0060 is \u0060completed\u0060, the response includes \u0060response_type\u0060 and \u0060data\u0060, and may include \u0060usage_cost_usd_micros\u0060 when the request uses variable usage-based pricing.", @@ -364,7 +375,7 @@ "Setup": null }, { - "Order": 34, + "Order": 35, "Title": "Edit (legacy)", "Slug": "post-edit-image", "Description": "Edit a given image synchronously using the provided mask. The mask indicates which part of the image\nshould be edited, while the prompt and chosen style type can further guide the edit.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -375,7 +386,7 @@ "Setup": null }, { - "Order": 35, + "Order": 36, "Title": "Generate a design from a text prompt with text detection and correction", "Slug": "post-generate-design-v3", "Description": "Generates a design synchronously from a text prompt using the Ideogram 3.0 model, then detects and corrects text layers within the generated image.\n\nThe response includes the generated image URL along with detected text layers (with font, size, color, position) and image asset layers.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -386,7 +397,7 @@ "Setup": null }, { - "Order": 36, + "Order": 37, "Title": "Generate an editable design with Ideogram 4.0 HTML", "Slug": "post-generate-design-v4", "Description": "Experimental prototype endpoint for generating an editable V4 HTML design from a prompt.\n\nOptionally accepts inspiration reference images to guide transferable visual style. Inspiration images are design/style references only and are not edit targets.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -397,7 +408,7 @@ "Setup": null }, { - "Order": 37, + "Order": 38, "Title": "Generate an editable V4 HTML design asynchronously via webhook", "Slug": "post-generate-design-v4-async", "Description": "Accepts an Ideogram 4.0 HTML design request for asynchronous processing and\nreturns immediately with a request_id. The generated design is POSTed to the\nsupplied \u0060webhook_url\u0060 once ready.", @@ -408,7 +419,7 @@ "Setup": null }, { - "Order": 38, + "Order": 39, "Title": "Generate (legacy)", "Slug": "post-generate-image", "Description": "Generates images synchronously based on a given prompt and optional parameters.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -419,7 +430,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 39, + "Order": 40, "Title": "Generate with ERNIE-Image-Turbo", "Slug": "post-generate-image-ernie", "Description": "Generates images synchronously using the ERNIE-Image-Turbo model. Width\nand height must each be a positive multiple of 16 and the total area\nmust not exceed 1,075,200 pixels (896\u00D71200); the server validates these\nagainst the model\u0027s resolution constraints.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -430,7 +441,7 @@ "Setup": null }, { - "Order": 40, + "Order": 41, "Title": "Generate with ERNIE-Image-Turbo asynchronously via webhook", "Slug": "post-generate-image-ernie-async", "Description": "Accepts an ERNIE-Image-Turbo generation request for asynchronous\nprocessing and returns immediately with a generation_id. The generated\nimages are POSTed to the supplied \u0060webhook_url\u0060 once ready, in a payload\nthat mirrors the synchronous response with an added generation_id for\ncorrelation.\n\nSee [Webhooks](/ideogram-api/webhooks) for the delivery payload and how to verify webhook signatures.", @@ -441,7 +452,7 @@ "Setup": null }, { - "Order": 41, + "Order": 42, "Title": "Generate with FLUX.2-Klein", "Slug": "post-generate-image-flux2-klein", "Description": "Generates images synchronously using the FLUX.2-Klein model. Width and\nheight must each be a positive multiple of 16 and the total area must\nnot exceed 1,048,576 pixels (1024\u00D71024); the server validates these\nagainst the model\u0027s resolution constraints.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -452,7 +463,7 @@ "Setup": null }, { - "Order": 42, + "Order": 43, "Title": "Generate with FLUX.2-Klein asynchronously via webhook", "Slug": "post-generate-image-flux2-klein-async", "Description": "Accepts a FLUX.2-Klein generation request for asynchronous processing and\nreturns immediately with a generation_id. The generated images are POSTed to\nthe supplied \u0060webhook_url\u0060 once ready, in a payload that mirrors the\nsynchronous response with an added generation_id for correlation.\n\nSee [Webhooks](/ideogram-api/webhooks) for the delivery payload and how to verify webhook signatures.", @@ -463,7 +474,7 @@ "Setup": null }, { - "Order": 43, + "Order": 44, "Title": "Generate with FLUX.2-Klein (undistilled base)", "Slug": "post-generate-image-flux2-klein-base", "Description": "Generates images synchronously using the UNDISTILLED FLUX.2-Klein base \u2014 the 50-step quality tier (vs the distilled /v1/flux-2-klein fast tier). Width and\nheight must each be a positive multiple of 16 and the total area must\nnot exceed 1,048,576 pixels (1024\u00D71024); the server validates these\nagainst the model\u0027s resolution constraints.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -474,7 +485,7 @@ "Setup": null }, { - "Order": 44, + "Order": 45, "Title": "Generate with FLUX.2-Klein (undistilled base) asynchronously via webhook", "Slug": "post-generate-image-flux2-klein-base-async", "Description": "Accepts an undistilled-base FLUX.2-Klein generation request for asynchronous processing and\nreturns immediately with a generation_id. The generated images are POSTed to\nthe supplied \u0060webhook_url\u0060 once ready, in a payload that mirrors the\nsynchronous response with an added generation_id for correlation.\n\nSee [Webhooks](/ideogram-api/webhooks) for the delivery payload and how to verify webhook signatures.", @@ -485,7 +496,7 @@ "Setup": null }, { - "Order": 45, + "Order": 46, "Title": "Generate with the distilled few-step Ideogram model (high speed tier)", "Slug": "post-generate-image-p-image-high", "Description": "Generates images synchronously using the distilled few-step Ideogram\nmodel at the high speed tier \u2014 the highest quality, at the highest cost.\nThe speed tier controls the number of diffusion steps and the per-image\nprice.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -496,7 +507,7 @@ "Setup": null }, { - "Order": 46, + "Order": 47, "Title": "Generate with P-Image Ideogram", "Slug": "post-generate-image-p-image-ideogram", "Description": "Generates images synchronously using P-Image Ideogram. \u0060quality\u0060 selects\nthe generation quality level and \u0060resolution\u0060 selects the output-size\ntier. Both parameters have defaults.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download them.", @@ -507,7 +518,7 @@ "Setup": null }, { - "Order": 47, + "Order": 48, "Title": "Generate with P-Image Ideogram asynchronously", "Slug": "post-generate-image-p-image-ideogram-async", "Description": "Accepts a P-Image Ideogram generation request for asynchronous processing\nand returns immediately with a generation_id. Poll\n\u0060GET /v1/generations/{generation_id}\u0060 to retrieve the result. If a\n\u0060webhook_url\u0060 is supplied, the generated images are additionally POSTed\nto it once ready, in a payload that mirrors the synchronous response with\nan added generation_id for correlation.\n\nSee [Webhooks](/ideogram-api/webhooks) for the delivery payload and how to verify webhook signatures.", @@ -518,7 +529,7 @@ "Setup": null }, { - "Order": 48, + "Order": 49, "Title": "Generate with the distilled few-step Ideogram model (low speed tier)", "Slug": "post-generate-image-p-image-low", "Description": "Generates images synchronously using the distilled few-step Ideogram\nmodel at the low speed tier \u2014 fast and low-cost, with a modest quality\ntrade-off. The speed tier controls the number of diffusion steps and the\nper-image price.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -529,7 +540,7 @@ "Setup": null }, { - "Order": 49, + "Order": 50, "Title": "Generate with the distilled few-step Ideogram model (medium speed tier)", "Slug": "post-generate-image-p-image-medium", "Description": "Generates images synchronously using the distilled few-step Ideogram\nmodel at the medium speed tier \u2014 the balanced default of speed, cost, and\nquality. The speed tier controls the number of diffusion steps and the\nper-image price.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -540,7 +551,7 @@ "Setup": null }, { - "Order": 50, + "Order": 51, "Title": "Generate with the distilled few-step Ideogram model (very-low speed tier)", "Slug": "post-generate-image-p-image-very-low", "Description": "Generates images synchronously using the distilled few-step Ideogram\nmodel at the very-low speed tier \u2014 the fastest and lowest-cost option.\nThe speed tier controls the number of diffusion steps and the per-image\nprice.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -551,7 +562,7 @@ "Setup": null }, { - "Order": 51, + "Order": 52, "Title": "Generate with Ideogram 3.0", "Slug": "post-generate-image-v3", "Description": "Generates images synchronously based on a given prompt and optional parameters using the Ideogram 3.0 model.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -562,7 +573,7 @@ "Setup": null }, { - "Order": 52, + "Order": 53, "Title": "Generate with Ideogram 3.0 (Transparent Background)", "Slug": "post-generate-image-v3-transparent", "Description": "Generates images with transparent background synchronously based on a given prompt and optional parameters using\nthe Ideogram 3.0 model. Images will be generated using maximum supported resolution at the specified aspect ratio\nto allow best results with upscaler. The selected resolution is written to the response, not the upscaled final\nresolution.\n\n\u0060rendering_speed=FLASH\u0060 is not supported for transparent-background generation; the request will return a 400.\nUse \u0060TURBO\u0060, \u0060DEFAULT\u0060, or \u0060QUALITY\u0060 instead.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -573,7 +584,7 @@ "Setup": null }, { - "Order": 53, + "Order": 54, "Title": "Generate with Ideogram 4.0", "Slug": "post-generate-image-v4", "Description": "Generates images synchronously using the Ideogram 4.0 model.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -584,7 +595,7 @@ "Setup": null }, { - "Order": 54, + "Order": 55, "Title": "Generate with Ideogram 4.5", "Slug": "post-generate-image-v45", "Description": "Generates images synchronously using the Ideogram 4.5 multimodal model.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -595,7 +606,7 @@ "Setup": null }, { - "Order": 55, + "Order": 56, "Title": "Generate with Ideogram 4.5 asynchronously via webhook", "Slug": "post-generate-image-v45-async", "Description": "Accepts an Ideogram 4.5 generation request for asynchronous processing and\nreturns immediately with a generation_id. The generated images are POSTed to\nthe supplied \u0060webhook_url\u0060 once ready, in a payload that mirrors the\nsynchronous response with an added generation_id for correlation.\n\nSee [Webhooks](/ideogram-api/webhooks) for the delivery payload and how to verify webhook signatures.", @@ -606,7 +617,7 @@ "Setup": null }, { - "Order": 56, + "Order": 57, "Title": "Generate with Ideogram 4.0 asynchronously", "Slug": "post-generate-image-v4-async", "Description": "Accepts an Ideogram 4.0 generation request for asynchronous processing and\nreturns immediately with a generation_id. Poll \u0060GET /v1/generations/{generation_id}\u0060\nto retrieve the result. If a \u0060webhook_url\u0060 is supplied, the generated images are\nadditionally POSTed to it once ready, in a payload that mirrors the synchronous\nresponse with an added generation_id for correlation.\n\nSee [Webhooks](/ideogram-api/webhooks) for the delivery payload and how to verify webhook signatures.", @@ -617,7 +628,7 @@ "Setup": null }, { - "Order": 57, + "Order": 58, "Title": "Generate with the CFG-distilled Ideogram 4.0 model", "Slug": "post-generate-image-v4-cfg-distilled", "Description": "Generates images synchronously using the CFG/guidance-distilled Ideogram\n4.0 model, served guidance-free.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -628,7 +639,7 @@ "Setup": null }, { - "Order": 58, + "Order": 59, "Title": "Generate with the CFG-distilled Ideogram 4.0 model asynchronously via webhook", "Slug": "post-generate-image-v4-cfg-distilled-async", "Description": "Accepts a CFG-distilled Ideogram 4.0 generation request for asynchronous\nprocessing and returns immediately with a generation_id. The generated\nimages are POSTed to the supplied \u0060webhook_url\u0060 once ready, in a payload\nthat mirrors the synchronous response with an added generation_id for\ncorrelation.\n\nSee [Webhooks](/ideogram-api/webhooks) for the delivery payload and how to verify webhook signatures.", @@ -639,7 +650,7 @@ "Setup": null }, { - "Order": 59, + "Order": 60, "Title": "Generate with the fp8-quantized Ideogram 4.0 model", "Slug": "post-generate-image-v4-fp8", "Description": "Generates images synchronously using the fp8-quantized Ideogram 4.0 model.\nA LoRA checkpoint can be layered on the base via the\n\u0060X-Ideogram-Positive-Lora-Ckpt-Path\u0060 header.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -650,7 +661,7 @@ "Setup": null }, { - "Order": 60, + "Order": 61, "Title": "Image-to-image with Ideogram 4.0", "Slug": "post-generate-image-v4-im2-im", "Description": "Generates images synchronously using the Ideogram 4.0 model with an initial image as input.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -661,7 +672,7 @@ "Setup": null }, { - "Order": 61, + "Order": 62, "Title": "Image-to-image with Ideogram 4.0 asynchronously via webhook", "Slug": "post-generate-image-v4-im2-im-async", "Description": "Accepts an Ideogram 4.0 image-to-image request for asynchronous processing\nand returns immediately with a request_id. The generated images are POSTed\nto the supplied \u0060webhook_url\u0060 once ready.", @@ -672,7 +683,7 @@ "Setup": null }, { - "Order": 62, + "Order": 63, "Title": "Generate with Ideogram 4.0 (stable model)", "Slug": "post-generate-image-v4-stable", "Description": "Generates images synchronously using a pinned stable build of the\nIdeogram 4.0 model. This endpoint is intentionally minimal: it accepts\nonly a prompt (and optional seed), pins the underlying model URI, and\nlets the server pick the output resolution automatically.\n\nImages links are available for a limited period of time; if you would\nlike to keep the image, you must download it.", @@ -683,7 +694,7 @@ "Setup": null }, { - "Order": 63, + "Order": 64, "Title": "Generate with Ideogram 4.0 (Transparent Background)", "Slug": "post-generate-image-v4-transparent", "Description": "Generates images with a transparent background synchronously using the\nIdeogram 4.0 model. The result is delivered as a PNG with an alpha\nchannel.\n\nAll Ideogram 4.0 aspect ratios are supported, including \u0060AUTO\u0060, which\nlets the model select the most suitable ratio from the prompt.\n\n\u0060output_resolution\u0060 selects the delivered resolution tier. Tiers are\ntotal-pixel budgets: wide and tall aspect ratios keep the same pixel\nbudget as the square of the named size, so a single dimension may\nexceed it. The response reports the final delivered resolution.\n\nImage links are available for a limited period of time; if you would\nlike to keep the image, you must download it.", @@ -694,7 +705,7 @@ "Setup": null }, { - "Order": 64, + "Order": 65, "Title": "Generate with Ideogram 4.0 (Transparent Background) asynchronously", "Slug": "post-generate-image-v4-transparent-async", "Description": "Accepts an Ideogram 4.0 transparent-background generation request for\nasynchronous processing and returns immediately with a generation_id.\nPoll \u0060GET /v1/generations/{generation_id}\u0060 to retrieve the result. If a\n\u0060webhook_url\u0060 is supplied, the generated images are additionally POSTed\nto it once ready, in a payload that mirrors the synchronous response\nwith an added generation_id for correlation.\n\nSee the synchronous \u0060/v1/ideogram-v4/generate-transparent\u0060 endpoint for\nthe request semantics, including \u0060output_resolution\u0060 tiers.\n\nSee [Webhooks](/ideogram-api/webhooks) for the delivery payload and how to verify webhook signatures.", @@ -705,7 +716,7 @@ "Setup": null }, { - "Order": 65, + "Order": 66, "Title": "Generate with Z-Image", "Slug": "post-generate-image-z-image", "Description": "Generates images synchronously using the Z-Image model. Width and height\nmust each be a positive multiple of 16 and the total area must not exceed\n1,048,576 pixels (1024\u00D71024); the server validates these against the\nmodel\u0027s resolution constraints.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -716,7 +727,7 @@ "Setup": null }, { - "Order": 66, + "Order": 67, "Title": "Generate with Z-Image asynchronously via webhook", "Slug": "post-generate-image-z-image-async", "Description": "Accepts a Z-Image generation request for asynchronous processing and\nreturns immediately with a generation_id. The generated images are POSTed to\nthe supplied \u0060webhook_url\u0060 once ready, in a payload that mirrors the\nsynchronous response with an added generation_id for correlation.\n\nSee [Webhooks](/ideogram-api/webhooks) for the delivery payload and how to verify webhook signatures.", @@ -727,7 +738,7 @@ "Setup": null }, { - "Order": 67, + "Order": 68, "Title": "Inpaint with Ideogram 3.0", "Slug": "post-inpaint-image-v3", "Description": "Inpaint a given image synchronously using the provided mask with Ideogram 3.0. The mask indicates which part of the image\nshould be edited, while the prompt and chosen style can further guide the edit.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -738,7 +749,7 @@ "Setup": null }, { - "Order": 68, + "Order": 69, "Title": "Layerize an existing flat graphic image with text detection and correction", "Slug": "post-layerize-design-v3", "Description": "Processes an existing flat graphic image to detect and correct text layers without generating a new image from scratch.\n\nThe uploaded image is analyzed for text content, which is then removed and returned as structured text layers with font matching, sizing, and color information.\n\nSupported image formats include JPEG, PNG, and WebP (max size 25MB).\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -749,7 +760,7 @@ "Setup": null }, { - "Order": 69, + "Order": 70, "Title": "Detect and remove reference logos from an image", "Slug": "post-layerize-logos", "Description": "Detects caller-supplied reference logos in a flat design image, inpaints\nthem out, and returns the cleaned image together with the matched\nbounding boxes (each tagged with the matching reference\u0027s \u0060REF_\u003Cn\u003E\u0060).", @@ -760,7 +771,7 @@ "Setup": null }, { - "Order": 70, + "Order": 71, "Title": "Layerize Text", "Slug": "post-layerize-text-v3", "Description": "Analyzes an image to detect text regions, then returns each detected text block with its position, content, font information, and styling.\n\nThe response includes a text-erased base image (background with all text removed) and a flat list of detected text blocks.\n\nSupported image formats include JPEG, PNG, and WebP (max size 25MB).\n\nImage links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -771,7 +782,7 @@ "Setup": null }, { - "Order": 71, + "Order": 72, "Title": "Reframe (legacy)", "Slug": "post-reframe-image", "Description": "Reframe a square image to a chosen resolution. The supported image formats include JPEG, PNG, and WebP.\n\nImage links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -782,7 +793,7 @@ "Setup": null }, { - "Order": 72, + "Order": 73, "Title": "Reframe with Ideogram 3.0", "Slug": "post-reframe-image-v3", "Description": "Reframe a square image to a chosen resolution with Ideogram 3.0. The supported image formats include JPEG, PNG, and WebP.\n\nImage links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -793,7 +804,7 @@ "Setup": null }, { - "Order": 73, + "Order": 74, "Title": "Remix (legacy)", "Slug": "post-remix-image", "Description": "Remix provided images synchronously based on a given prompt and optional parameters.\n\nInput images are cropped to the chosen aspect ratio before being remixed.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -804,7 +815,7 @@ "Setup": null }, { - "Order": 74, + "Order": 75, "Title": "Remix with Ideogram 3.0", "Slug": "post-remix-image-v3", "Description": "Remix provided images synchronously based on a given prompt and optional parameters with the Ideogram 3.0 model.\n\nInput images are cropped to the chosen aspect ratio before being remixed.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -815,7 +826,7 @@ "Setup": null }, { - "Order": 75, + "Order": 76, "Title": "Remix with Ideogram 4.0", "Slug": "post-remix-image-v4", "Description": "Remix an image synchronously using the Ideogram 4.0 model with an initial image and a prompt.\n\nMirrors \u0060/v1/ideogram-v3/remix\u0060 semantics (including \u0060image_weight\u0060 for how strongly the\noutput should resemble the input image) but routes the request through the V_4_0 model.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -826,7 +837,7 @@ "Setup": null }, { - "Order": 76, + "Order": 77, "Title": "Remix with Ideogram 4.0 asynchronously", "Slug": "post-remix-image-v4-async", "Description": "Accepts an Ideogram 4.0 remix request for asynchronous processing and returns\nimmediately with a \u0060generation_id\u0060. Poll \u0060GET /v1/generations/{generation_id}\u0060\nto retrieve the result. If a \u0060webhook_url\u0060 is supplied, the generated images\nare additionally POSTed to it once ready.", @@ -837,7 +848,7 @@ "Setup": null }, { - "Order": 77, + "Order": 78, "Title": "Remove Background", "Slug": "post-remove-background", "Description": "Remove the background of a given image synchronously. The foreground subject\nis identified and returned on a transparent background. Supported image formats include JPEG,\nPNG, and WebP.\nImage links are available for a limited period of time; if you would like to keep the image,\nyou must download it.", @@ -848,7 +859,7 @@ "Setup": null }, { - "Order": 78, + "Order": 79, "Title": "Remove Object", "Slug": "post-remove-object", "Description": "Remove a masked object from a given image synchronously. Supply the image and a binary mask marking the region to remove (white = remove); the masked region is regenerated to blend with the surrounding scene. Supported image formats include JPEG, PNG, and WebP. Image links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -859,7 +870,7 @@ "Setup": null }, { - "Order": 79, + "Order": 80, "Title": "Replace Background with Ideogram 3.0", "Slug": "post-replace-background-v3", "Description": "Replace the background of a given image synchronously using a prompt with Ideogram 3.0. The foreground subject\nwill be identified and kept, while the background is replaced based on the prompt and chosen style.\nSupported image formats include JPEG, PNG, and WebP.\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -870,7 +881,7 @@ "Setup": null }, { - "Order": 80, + "Order": 81, "Title": "Advertisement Resizer", "Slug": "post-resize-image-async", "Description": "Resizes an advertisement image to the exact target size. Supply \u0060prompt\u0060\nto provide specific instructions for how the advertisement should look\nafter resizing.\n\nThe request is processed asynchronously and immediately returns a\n\u0060generation_id\u0060. Poll \u0060GET /v1/generations/{generation_id}\u0060 until \u0060status\u0060\nis \u0060completed\u0060 or \u0060failed\u0060. The completed polling response contains the\nfinal resized image(s) in \u0060data\u0060 and the amount charged for variable\nusage-based pricing in \u0060usage_cost_usd_micros\u0060. If a \u0060webhook_url\u0060 is\nsupplied, the completed result is also POSTed to that URL.\n\nSupply the advertisement image as raw \u0060image\u0060 bytes via\n\u0060multipart/form-data\u0060.\n\nThe required \u0060resolution\u0060 (\u0060WIDTHxHEIGHT\u0060) sets the exact output\ndimensions.\n\nThe model is fixed by the route, so no \u0060model\u0060 field is accepted.", @@ -881,7 +892,7 @@ "Setup": null }, { - "Order": 81, + "Order": 82, "Title": "Virtual Try-On with Ideogram 3.0", "Slug": "post-try-on-v3", "Description": "Performs virtual clothing try-on by automatically segmenting the clothing in the provided image\nand replacing it based on the prompt. The user provides an image and an optional prompt describing\nthe desired clothing change (e.g., \u0022change his shirt to a pink shirt\u0022).\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -892,7 +903,7 @@ "Setup": null }, { - "Order": 82, + "Order": 83, "Title": "Upscale", "Slug": "post-upscale-image", "Description": "Upscale provided images synchronously with an optional prompt.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -903,7 +914,7 @@ "Setup": null }, { - "Order": 83, + "Order": 84, "Title": "Edit images with a prompt", "Slug": "post-v1-edit-image", "Description": "Edit one or more images using a text prompt. Provide images via file upload\nor Ideogram image URLs, and describe the desired edit in your prompt.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -914,7 +925,7 @@ "Setup": null }, { - "Order": 84, + "Order": 85, "Title": "Edit an image with a prompt at lower cost and latency", "Slug": "post-v1-edit-lite-image", "Description": "Edit an image using a text prompt, optimized for lower cost and\nlatency. Upload the image being edited via the \u0060image\u0060 field. Up to 9\nadditional \u0060reference_images\u0060 may be supplied to guide the edit.\n\nOutput is always generated at 1K resolution. Input images larger than\n1024px on their long edge are downscaled before processing. The\n\u0060aspect_ratio\u0060 field controls the output aspect ratio only; when\nomitted, the output follows the aspect ratio of the image being\nedited.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", @@ -925,7 +936,7 @@ "Setup": null }, { - "Order": 85, + "Order": 86, "Title": "Poll a generation", "Slug": "get-generation-v2", "Description": "Retrieves the current status of an asynchronous generation, and its\nresults once complete. Use the \u0060generation_id\u0060 returned by any \u0060/v2\u0060\nendpoint that runs asynchronously: every video and tool endpoint, and\nany image endpoint called with \u0060async\u0060 or a \u0060webhook_url\u0060.\n\nWhile the generation is \u0060pending\u0060 or has \u0060failed\u0060, the response\ncontains only \u0060generation_id\u0060, \u0060status\u0060, and \u0060created\u0060 (plus\n\u0060failure_reason\u0060 once failed). Once \u0060status\u0060 is \u0060completed\u0060, the\nresponse includes \u0060response_type\u0060 and \u0060data\u0060. Each \u0060data\u0060 item carries\nan \u0060object_type\u0060 that identifies its shape, so image and video results\ncan be told apart. \u0060usage_cost_usd_micros\u0060 reports the amount billed\nwhen the request uses variable usage-based pricing.\n\nPolling is rate limited per organization; a 429 response carries a\n\u0060Retry-After\u0060 header with the number of seconds to wait.", @@ -936,7 +947,7 @@ "Setup": null }, { - "Order": 86, + "Order": 87, "Title": "Describe with Ideogram 3.0", "Slug": "post-describe-image-ideogram-v3", "Description": "Generate a natural-language description of an image with Ideogram\u0027s 3.0\nimage captioner (a fine-tune of the Qwen2-VL vision-language model).\nUpload the image as \u0060image\u0060 using \u0060multipart/form-data\u0060; the description\nis returned directly.", @@ -947,7 +958,7 @@ "Setup": null }, { - "Order": 87, + "Order": 88, "Title": "Describe with Ideogram 4.0", "Slug": "post-describe-image-ideogram-v4", "Description": "Describe an image as a structured \u0060V4JsonPrompt\u0060 with Ideogram\u0027s 4.0\nimage captioner (a fine-tune of the Qwen3-VL vision-language model).\nUpload the image as \u0060image\u0060 using \u0060multipart/form-data\u0060; the\n\u0060json_prompt\u0060 is returned directly and can be passed to the\n\u0060/v1/ideogram-v4/generate\u0060 endpoints.", @@ -958,7 +969,7 @@ "Setup": null }, { - "Order": 88, + "Order": 89, "Title": "Generate with GPT Image 2", "Slug": "post-generate-image-v2-gpt-image2", "Description": "Generate images with GPT Image 2. Optionally upload source images as\n\u0060images\u0060 using \u0060multipart/form-data\u0060 to edit them with the prompt.\nReturns results directly by default; set \u0060async\u0060 or supply a\n\u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -969,7 +980,7 @@ "Setup": null }, { - "Order": 89, + "Order": 90, "Title": "Generate with GPT Image 2.5 Flare", "Slug": "post-generate-image-v2-gpt-image25-flare", "Description": "Generate images with GPT Image 2.5 Flare, the fast variant of GPT Image\n2.5. Optionally upload source images as \u0060images\u0060 using\n\u0060multipart/form-data\u0060 to edit them with the prompt. Returns results\ndirectly by default; set \u0060async\u0060 or supply a \u0060webhook_url\u0060 to get a\n\u0060generation_id\u0060 and poll \u0060GET /v2/generations/{generation_id}\u0060.", @@ -980,7 +991,7 @@ "Setup": null }, { - "Order": 90, + "Order": 91, "Title": "Generate with GPT Image 2.5 Sunburst", "Slug": "post-generate-image-v2-gpt-image25-sunburst", "Description": "Generate images with GPT Image 2.5 Sunburst, the quality variant of GPT\nImage 2.5, with finer detail at higher latency than Flare. Optionally\nupload source images as \u0060images\u0060 using \u0060multipart/form-data\u0060 to edit\nthem with the prompt. Returns results directly by default; set \u0060async\u0060\nor supply a \u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -991,7 +1002,7 @@ "Setup": null }, { - "Order": 91, + "Order": 92, "Title": "Generate with Ideogram 4.5", "Slug": "post-generate-image-v2-ideogram45", "Description": "Generate images with Ideogram 4.5 from a natural-language or structured\nJSON prompt. Optionally upload source images as \u0060images\u0060 using\n\u0060multipart/form-data\u0060 to edit them with the prompt. Returns results\ndirectly by default; set \u0060async\u0060 or supply a \u0060webhook_url\u0060 to get a\n\u0060generation_id\u0060 and poll \u0060GET /v2/generations/{generation_id}\u0060.", @@ -1002,7 +1013,7 @@ "Setup": null }, { - "Order": 92, + "Order": 93, "Title": "Generate with Ideogram 2.0", "Slug": "post-generate-image-v2-ideogram-v2", "Description": "Generate images from a text prompt with Ideogram 2.0. Returns results\ndirectly by default; set \u0060async\u0060 or supply a \u0060webhook_url\u0060 to get a\n\u0060generation_id\u0060 and poll \u0060GET /v2/generations/{generation_id}\u0060.", @@ -1013,7 +1024,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 93, + "Order": 94, "Title": "Generate with Ideogram 2a", "Slug": "post-generate-image-v2-ideogram-v2-a", "Description": "Generate images from a text prompt with Ideogram 2a, a fast, lower-cost\nmodel. Returns results directly by default; set \u0060async\u0060 or supply a\n\u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1024,7 +1035,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 94, + "Order": 95, "Title": "Generate with Ideogram 3.0", "Slug": "post-generate-image-v2-ideogram-v3", "Description": "Generate images from a text prompt with Ideogram 3.0. Optional style\ncontrols include style codes, a style preset, a color palette, and style\nreferences (uploaded \u0060style_reference_images\u0060). Returns\nresults directly by default; set \u0060async\u0060 or supply a \u0060webhook_url\u0060 to\nget a \u0060generation_id\u0060 and poll \u0060GET /v2/generations/{generation_id}\u0060.", @@ -1035,7 +1046,7 @@ "Setup": null }, { - "Order": 95, + "Order": 96, "Title": "Generate a consistent character with Ideogram 3.0", "Slug": "post-generate-image-v2-ideogram-v3-character", "Description": "Generate images featuring a consistent character with Ideogram 3.0.\nUpload the character as \u0060character_reference_images\u0060 using\n\u0060multipart/form-data\u0060. Returns\nresults directly by default; set \u0060async\u0060 or supply a \u0060webhook_url\u0060 to\nget a \u0060generation_id\u0060 and poll \u0060GET /v2/generations/{generation_id}\u0060.", @@ -1046,7 +1057,7 @@ "Setup": null }, { - "Order": 96, + "Order": 97, "Title": "Generate with a custom Ideogram 3.0 model", "Slug": "post-generate-image-v2-ideogram-v3-custom-model", "Description": "Generate images with a custom Ideogram 3.0 model that you or your\norganization can access, selected by \u0060custom_model_uri\u0060. Returns results\ndirectly by default; set \u0060async\u0060 or supply a \u0060webhook_url\u0060 to get a\n\u0060generation_id\u0060 and poll \u0060GET /v2/generations/{generation_id}\u0060.", @@ -1057,7 +1068,7 @@ "Setup": null }, { - "Order": 97, + "Order": 98, "Title": "Generate transparent images with Ideogram 3.0", "Slug": "post-generate-image-v2-ideogram-v3-transparent", "Description": "Generate images on a transparent background with Ideogram 3.0, delivered\nas PNGs with alpha. Returns results directly by default; set \u0060async\u0060 or\nsupply a \u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1068,7 +1079,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 98, + "Order": 99, "Title": "Generate with Ideogram 4.0", "Slug": "post-generate-image-v2-ideogram-v4", "Description": "Generate images with Ideogram 4.0 from a natural-language or structured\nJSON prompt. Returns results directly by default; set \u0060async\u0060 or supply\na \u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1079,7 +1090,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 99, + "Order": 100, "Title": "Generate with a custom Ideogram 4.0 model", "Slug": "post-generate-image-v2-ideogram-v4-custom-model", "Description": "Generate images with a custom Ideogram 4.0 model that you or your\norganization can access, selected by \u0060custom_model_uri\u0060. Returns results\ndirectly by default; set \u0060async\u0060 or supply a \u0060webhook_url\u0060 to get a\n\u0060generation_id\u0060 and poll \u0060GET /v2/generations/{generation_id}\u0060.", @@ -1090,7 +1101,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 100, + "Order": 101, "Title": "Generate transparent images with Ideogram 4.0", "Slug": "post-generate-image-v2-ideogram-v4-transparent", "Description": "Generate images on a transparent background with Ideogram 4.0, delivered\nas PNGs with alpha. Returns results directly by default; set \u0060async\u0060 or\nsupply a \u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1101,7 +1112,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 101, + "Order": 102, "Title": "Generate with Nano Banana 2", "Slug": "post-generate-image-v2-nano-banana2", "Description": "Generate images with Nano Banana 2. Optionally upload source images as\n\u0060images\u0060 using \u0060multipart/form-data\u0060 to edit them with the prompt.\nReturns results directly by default; set \u0060async\u0060 or supply a\n\u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1112,7 +1123,7 @@ "Setup": null }, { - "Order": 102, + "Order": 103, "Title": "Generate with Nano Banana Pro", "Slug": "post-generate-image-v2-nano-banana-pro", "Description": "Generate images with Nano Banana Pro. Optionally upload source images as\n\u0060images\u0060 using \u0060multipart/form-data\u0060 to edit them with the prompt.\nReturns results directly by default; set \u0060async\u0060 or supply a\n\u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1123,7 +1134,7 @@ "Setup": null }, { - "Order": 103, + "Order": 104, "Title": "Generate with P-Image Ideogram", "Slug": "post-generate-image-v2-p-image-ideogram", "Description": "Generate images with P-Image Ideogram, a fast model with selectable\nquality and resolution tiers. Returns results directly by default; set\n\u0060async\u0060 or supply a \u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1134,7 +1145,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 104, + "Order": 105, "Title": "Generate with Z-Image", "Slug": "post-generate-image-v2-z-image", "Description": "Generate images from a text prompt with Z-Image. Returns results\ndirectly by default; set \u0060async\u0060 or supply a \u0060webhook_url\u0060 to get a\n\u0060generation_id\u0060 and poll \u0060GET /v2/generations/{generation_id}\u0060.", @@ -1145,7 +1156,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 105, + "Order": 106, "Title": "Inpaint with Ideogram 3.0", "Slug": "post-inpaint-image-v2-ideogram-v3", "Description": "Repaint the masked region of a source image with Ideogram 3.0, guided\nby a text prompt. Upload the source \u0060image\u0060 and its \u0060mask\u0060 using\n\u0060multipart/form-data\u0060.\nReturns results directly by default; set \u0060async\u0060 or supply a\n\u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1156,7 +1167,7 @@ "Setup": null }, { - "Order": 106, + "Order": 107, "Title": "Inpaint a consistent character with Ideogram 3.0", "Slug": "post-inpaint-image-v2-ideogram-v3-character", "Description": "Repaint the masked region of a source image with Ideogram 3.0 so it\nfeatures a consistent character. Upload the source \u0060image\u0060, its\n\u0060mask\u0060, and a \u0060character_reference_images\u0060 image (or use a saved\ncharacter) using \u0060multipart/form-data\u0060.\nReturns results directly by default; set \u0060async\u0060 or supply a\n\u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1167,7 +1178,7 @@ "Setup": null }, { - "Order": 107, + "Order": 108, "Title": "Inpaint with a custom Ideogram 3.0 model", "Slug": "post-inpaint-image-v2-ideogram-v3-custom-model", "Description": "Repaint the masked region of a source image with a custom Ideogram 3.0\nmodel, passed as \u0060custom_model_uri\u0060. Upload the source \u0060image\u0060 and its\n\u0060mask\u0060 using \u0060multipart/form-data\u0060. Returns results directly by\ndefault; set \u0060async\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1178,7 +1189,7 @@ "Setup": null }, { - "Order": 108, + "Order": 109, "Title": "Precise edit with Ideogram 4.5", "Slug": "post-precise-edit-image-v2-ideogram45", "Description": "Edit an image with Ideogram 4.5 and get the result back at that image\u0027s\nexact width and height. Upload the image as \u0060image\u0060 using\n\u0060multipart/form-data\u0060, with optional \u0060reference_images\u0060 and a \u0060mask\u0060.\nReturns results directly by default; set \u0060async\u0060 or supply a\n\u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1189,7 +1200,7 @@ "Setup": null }, { - "Order": 109, + "Order": 110, "Title": "Reframe with Ideogram 3.0", "Slug": "post-reframe-image-v2-ideogram-v3", "Description": "Expand an image to a new Ideogram 3.0 resolution, keeping the source\npixels in the center and filling the new area. Upload the source\n\u0060image\u0060 using \u0060multipart/form-data\u0060. Returns results directly by\ndefault; set \u0060async\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1200,7 +1211,7 @@ "Setup": null }, { - "Order": 110, + "Order": 111, "Title": "Reframe with Nano Banana 2", "Slug": "post-reframe-image-nano-banana2", "Description": "Expand an image to a new aspect ratio with Nano Banana 2. Upload the\nsource \u0060image\u0060 using \u0060multipart/form-data\u0060. Always asynchronous:\nreturns a \u0060generation_id\u0060; poll \u0060GET /v2/generations/{generation_id}\u0060\nfor results.", @@ -1211,7 +1222,7 @@ "Setup": null }, { - "Order": 111, + "Order": 112, "Title": "Remix with Ideogram 3.0", "Slug": "post-remix-image-v2-ideogram-v3", "Description": "Transform an existing image with Ideogram 3.0, guided by a text\nprompt. Upload the source \u0060image\u0060 using \u0060multipart/form-data\u0060.\nReturns results directly by default; set \u0060async\u0060 or supply a\n\u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1222,7 +1233,7 @@ "Setup": null }, { - "Order": 112, + "Order": 113, "Title": "Remix a consistent character with Ideogram 3.0", "Slug": "post-remix-image-v2-ideogram-v3-character", "Description": "Transform an existing image with Ideogram 3.0 so it features a\nconsistent character, guided by a text prompt. Upload the source\n\u0060image\u0060 and a \u0060character_reference_images\u0060 image (or use a saved\ncharacter) using \u0060multipart/form-data\u0060.\nReturns results directly by default; set \u0060async\u0060 or supply a\n\u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1233,7 +1244,7 @@ "Setup": null }, { - "Order": 113, + "Order": 114, "Title": "Remix with a custom Ideogram 3.0 model", "Slug": "post-remix-image-v2-ideogram-v3-custom-model", "Description": "Transform an existing image with a custom Ideogram 3.0 model that your\nuser or organization can access, guided by a text prompt. Upload the\nsource \u0060image\u0060 using \u0060multipart/form-data\u0060.\nReturns results directly by default; set \u0060async\u0060 or supply a\n\u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1244,7 +1255,7 @@ "Setup": null }, { - "Order": 114, + "Order": 115, "Title": "Remix with Ideogram 4.0", "Slug": "post-remix-image-v2-ideogram-v4", "Description": "Transform an existing image with Ideogram 4.0, guided by a text\nprompt. Upload the source \u0060image\u0060 using \u0060multipart/form-data\u0060.\nReturns results directly by default; set \u0060async\u0060 or supply a\n\u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1255,7 +1266,7 @@ "Setup": null }, { - "Order": 115, + "Order": 116, "Title": "Upscale with Nano Banana Pro", "Slug": "post-upscale-image-nano-banana-pro", "Description": "Regenerate an image at a higher \u0060resolution_tier\u0060 (1K, 2K, or 4K) while\npreserving its content, composition, and style. Upload the source\n\u0060image\u0060 using \u0060multipart/form-data\u0060.\nReturns results directly by default; set \u0060async\u0060 or supply a\n\u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1266,7 +1277,7 @@ "Setup": null }, { - "Order": 116, + "Order": 117, "Title": "Upscale with Topaz Bloom 2", "Slug": "post-upscale-image-topaz-bloom2", "Description": "Creatively upscale an image to 2x, 4x, or 8x its original resolution,\noptionally guided by a \u0060prompt\u0060. Upload the source \u0060image\u0060 using\n\u0060multipart/form-data\u0060.\nReturns results directly by default; set \u0060async\u0060 or supply a\n\u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1277,7 +1288,7 @@ "Setup": null }, { - "Order": 117, + "Order": 118, "Title": "Upscale with Topaz Redefine", "Slug": "post-upscale-image-topaz-redefine", "Description": "Creatively upscale an image to 2x, 4x, or 8x its original resolution,\nguided by an optional \u0060prompt\u0060 or \u0060autoprompt\u0060. Upload the source\n\u0060image\u0060 using \u0060multipart/form-data\u0060.\nReturns results directly by default; set \u0060async\u0060 or supply a\n\u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1288,7 +1299,7 @@ "Setup": null }, { - "Order": 118, + "Order": 119, "Title": "Upscale with Topaz Standard V2", "Slug": "post-upscale-image-topaz-standard-v2", "Description": "Upscale an image to 2x, 4x, or 8x its original resolution; no prompt is\nneeded. Upload the source \u0060image\u0060 using \u0060multipart/form-data\u0060.\nReturns results directly by default; set \u0060async\u0060 or supply a\n\u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1299,7 +1310,7 @@ "Setup": null }, { - "Order": 119, + "Order": 120, "Title": "Upscale with Topaz Text Refine", "Slug": "post-upscale-image-topaz-text-refine", "Description": "Upscale an image to 2x, 4x, or 8x its original resolution; no prompt is\nneeded. Upload the source \u0060image\u0060 using \u0060multipart/form-data\u0060.\nReturns results directly by default; set \u0060async\u0060 or supply a\n\u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1310,7 +1321,7 @@ "Setup": null }, { - "Order": 120, + "Order": 121, "Title": "Upscale with Topaz Wonder 3.5", "Slug": "post-upscale-image-topaz-wonder35", "Description": "Upscale an image to 2x, 4x, or 8x its original resolution, with\n\u0060enhancement_strength\u0060 controlling how strongly detail is reconstructed.\nUpload the source \u0060image\u0060 using \u0060multipart/form-data\u0060.\nReturns results directly by default; set \u0060async\u0060 or supply a\n\u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1321,7 +1332,7 @@ "Setup": null }, { - "Order": 121, + "Order": 122, "Title": "Fetch the media bytes for an integration asset", "Slug": "get-integration-asset-delivery", "Description": "Redeems the short-lived signed delivery reference returned by an integration asset search and streams the asset\u0027s media bytes. The signed reference is the sole authorization for this endpoint; it is rejected once it expires or when the integration it names has changed.", @@ -1332,7 +1343,7 @@ "Setup": null }, { - "Order": 122, + "Order": 123, "Title": "List enabled integration types", "Slug": "get-integrations", "Description": "Lists the distinct integration types enabled for the authenticated organization. The response does not expose configured integration rows, provider details, configuration, or credentials.", @@ -1343,7 +1354,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 123, + "Order": 124, "Title": "Search assets from an enabled integration type", "Slug": "post-integration-assets-search", "Description": "Generated from OpenAPI examples.", @@ -1354,7 +1365,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 124, + "Order": 125, "Title": "Testing", "Slug": "post-internal-testing", "Description": "Just a testing endpoint", @@ -1365,7 +1376,7 @@ "Setup": null }, { - "Order": 125, + "Order": 126, "Title": "Add members to a specific organization", "Slug": "add-organization-members", "Description": "Generated from OpenAPI examples.", @@ -1376,7 +1387,7 @@ "Setup": null }, { - "Order": 126, + "Order": 127, "Title": "Cancel a pending invite for an organization", "Slug": "cancel-organization-invite", "Description": "Generated from OpenAPI examples.", @@ -1387,7 +1398,7 @@ "Setup": null }, { - "Order": 127, + "Order": 128, "Title": "Creates an API key.", "Slug": "create-api-key", "Description": "Generated from OpenAPI examples.", @@ -1398,7 +1409,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 128, + "Order": 129, "Title": "Create an API key for a specific organization", "Slug": "create-api-key-v2", "Description": "Generated from OpenAPI examples.", @@ -1409,7 +1420,7 @@ "Setup": null }, { - "Order": 129, + "Order": 130, "Title": "Create a payment setup session for inline card collection.", "Slug": "create-api-payment", "Description": "Returns a client_secret for the org\u0027s payment customer so the inline payment\nmodal can save a card without leaving the app.\n\nSoft-deprecated: the inline Elements flow was removed in the Stripe.js\neager-bundle incident (2026-05-20). New clients should use the\nstripe_payment_setup_url field on ManageApiStripeSubscriptionResponse, which\nreturns a hosted Stripe Checkout URL instead. This endpoint will be formally\ndeprecated and then removed once no callers reference it.", @@ -1420,7 +1431,7 @@ "Setup": null }, { - "Order": 130, + "Order": 131, "Title": "Delete an API key.", "Slug": "delete-single-api-key", "Description": "Generated from OpenAPI examples.", @@ -1431,7 +1442,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 131, + "Order": 132, "Title": "Demote admins back to member role in a TEAM_API or ENTERPRISE_API organization", "Slug": "demote-organization-admins", "Description": "Generated from OpenAPI examples.", @@ -1442,7 +1453,7 @@ "Setup": null }, { - "Order": 132, + "Order": 133, "Title": "Lifetime credit totals for the API user\u0027s account.", "Slug": "get-api-credit-summary", "Description": "Returns the lifetime credit KPIs (consumed, expired, issued) used to\nrender the API credit dashboard strip. All values default to $0 when\nMetronome is unavailable so the FE can always render.", @@ -1453,7 +1464,7 @@ "Setup": null }, { - "Order": 133, + "Order": 134, "Title": "Retrieve current API keys and their respective data.", "Slug": "get-api-keys", "Description": "Generated from OpenAPI examples.", @@ -1464,7 +1475,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 134, + "Order": 135, "Title": "Retrieve API keys for a specific organization", "Slug": "get-api-keys-v2", "Description": "Generated from OpenAPI examples.", @@ -1475,7 +1486,7 @@ "Setup": null }, { - "Order": 135, + "Order": 136, "Title": "Get search results for user handles with suggestions for a particular organization.", "Slug": "get-api-organization-user-suggestions", "Description": "Generated from OpenAPI examples.", @@ -1486,7 +1497,7 @@ "Setup": null }, { - "Order": 136, + "Order": 137, "Title": "Retrieve the user\u0027s current API profiles", "Slug": "get-api-profiles", "Description": "Generated from OpenAPI examples.", @@ -1497,7 +1508,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 137, + "Order": 138, "Title": "Retrieve data relevant to connecting to Stripe.", "Slug": "get-api-stripe-subscription", "Description": "Generated from OpenAPI examples.", @@ -1508,7 +1519,7 @@ "Setup": null }, { - "Order": 138, + "Order": 139, "Title": "Retrieve data relevant to creating an API subscription.", "Slug": "get-api-subscription", "Description": "Generated from OpenAPI examples.", @@ -1519,7 +1530,7 @@ "Setup": null }, { - "Order": 139, + "Order": 140, "Title": "Retrieve the latest terms of service for API usage.", "Slug": "get-api-terms", "Description": "Generated from OpenAPI examples.", @@ -1530,7 +1541,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 140, + "Order": 141, "Title": "Retrieve the Stripe billing portal URL for a specific organization", "Slug": "get-organization-billing-portal", "Description": "Generated from OpenAPI examples.", @@ -1541,7 +1552,7 @@ "Setup": null }, { - "Order": 141, + "Order": 142, "Title": "Retrieve members of a specific organization", "Slug": "get-organization-members", "Description": "Returns both active members and pending invites for the organization. A pending invite is identified by a non-null invite_status (e.g. PENDING); active members have a null invite_status.", @@ -1552,7 +1563,7 @@ "Setup": null }, { - "Order": 142, + "Order": 143, "Title": "Retrieve usage information segmented by time period with tool-specific breakdowns", "Slug": "get-usage-info", "Description": "Generated from OpenAPI examples.", @@ -1563,7 +1574,7 @@ "Setup": null }, { - "Order": 143, + "Order": 144, "Title": "Retrieve user credit information and spending metrics", "Slug": "get-user-credits", "Description": "Generated from OpenAPI examples.", @@ -1574,7 +1585,7 @@ "Setup": null }, { - "Order": 144, + "Order": 145, "Title": "Retrieve user spend commit information", "Slug": "get-user-spend-commit-info", "Description": "Generated from OpenAPI examples.", @@ -1585,7 +1596,7 @@ "Setup": null }, { - "Order": 145, + "Order": 146, "Title": "Retrieve invoices for a specific organization", "Slug": "list-organization-invoices", "Description": "Generated from OpenAPI examples.", @@ -1596,7 +1607,7 @@ "Setup": null }, { - "Order": 146, + "Order": 147, "Title": "Add credits to an API user\u0027s account.", "Slug": "post-add-credits-for-api", "Description": "Generated from OpenAPI examples.", @@ -1607,7 +1618,7 @@ "Setup": null }, { - "Order": 147, + "Order": 148, "Title": "Update API subscription settings", "Slug": "post-api-subscription", "Description": "Generated from OpenAPI examples.", @@ -1618,7 +1629,7 @@ "Setup": null }, { - "Order": 148, + "Order": 149, "Title": "Accept terms", "Slug": "post-api-terms", "Description": "Generated from OpenAPI examples.", @@ -1629,7 +1640,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 149, + "Order": 150, "Title": "Promote members to ADMIN role in a TEAM_API or ENTERPRISE_API organization", "Slug": "promote-organization-admins", "Description": "Generated from OpenAPI examples.", @@ -1640,7 +1651,7 @@ "Setup": null }, { - "Order": 150, + "Order": 151, "Title": "Remove members from a specific organization", "Slug": "remove-organization-members", "Description": "Generated from OpenAPI examples.", @@ -1651,7 +1662,7 @@ "Setup": null }, { - "Order": 151, + "Order": 152, "Title": "Resend a pending invite for an organization", "Slug": "resend-organization-invite", "Description": "Generated from OpenAPI examples.", @@ -1662,7 +1673,7 @@ "Setup": null }, { - "Order": 152, + "Order": 153, "Title": "Update a single field on an organization\u0027s API properties.", "Slug": "update-organization-api-properties", "Description": "Lets an organization owner toggle API-only settings such as\ncopyright_detection_enabled. Updates only the fields explicitly present\nin the request body; absent fields are left unchanged.", @@ -1673,7 +1684,7 @@ "Setup": null }, { - "Order": 153, + "Order": 154, "Title": "Update an API key\u0027s user-supplied label.", "Slug": "update-single-api-key", "Description": "Generated from OpenAPI examples.", @@ -1684,7 +1695,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 154, + "Order": 155, "Title": "Get stale mini-app preview entries", "Slug": "get-stale-preview-mini-apps", "Description": "Returns preview ids whose most recent successful publish is older than the cutoff. This read-only endpoint does not delete preview entries.", @@ -1695,7 +1706,7 @@ "Setup": null }, { - "Order": 155, + "Order": 156, "Title": "Publish a mini-app catalog entry", "Slug": "publish-mini-app", "Description": "Publishes a mini-app\u0027s catalog entry. Called by the mini-apps deploy pipeline after a deploy to register or refresh a single app, keyed by its unique slug. Re-publishing an existing app refreshes the deploy-managed fields (label, description, embed mode, scopes, image-input support, deployment details, and website) while leaving administrator-managed settings and artwork untouched. Artwork from the request is used only when creating a new app.", @@ -1706,7 +1717,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 156, + "Order": 157, "Title": "Publish a mini-app preview entry", "Slug": "publish-preview-mini-app", "Description": "Publishes a mini-app preview entry. Called by the mini-apps preview deploy pipeline to register a throwaway preview deploy, keyed by its unique preview id. Re-publishing an existing preview id refreshes every deploy-managed field. Preview entries are independent from the main catalog: they carry no slug, owner, or membership gating, and anyone with the preview link can access the app.", @@ -1717,7 +1728,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 157, + "Order": 158, "Title": "Unpublish a mini-app preview entry", "Slug": "unpublish-preview-mini-app", "Description": "Deletes a mini-app preview entry by its preview id. Repeated requests succeed when the entry is already absent, so preview teardown can retry safely.", @@ -1728,7 +1739,7 @@ "Setup": null }, { - "Order": 158, + "Order": 159, "Title": "Get model details", "Slug": "get-custom-model", "Description": "Get detailed information about a specific custom model. The user must either own the model or the model must be shared with the user\u0027s organization via the model registry. Returns 404 if the model is not found or not accessible.", @@ -1739,7 +1750,7 @@ "Setup": null }, { - "Order": 159, + "Order": 160, "Title": "List models", "Slug": "list-custom-models", "Description": "Lists custom models for the authenticated user. Use the \u0060scope\u0060 parameter to control which models are returned. If omitted, returns both owned models and models shared with the user\u0027s organization via the model registry. \u0060owned\u0060 returns only models created by the user. \u0060shared\u0060 returns only models shared via the model registry, excluding the user\u0027s own models.", @@ -1750,7 +1761,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 160, + "Order": 161, "Title": "Train a custom Ideogram v3 model", "Slug": "train-model-v3", "Description": "Start training a custom Ideogram v3 model from a dataset using default hyperparameters. The dataset must contain at least 15 images and a maximum of 100 images.", @@ -1761,7 +1772,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 161, + "Order": 162, "Title": "Train a custom Ideogram v3 model with advanced hyperparameters", "Slug": "train-model-v3-advanced", "Description": "Start training a custom Ideogram v3 model from a dataset with caller-supplied hyperparameters (training steps, LoRA rank, EMA decay, learning rate). All hyperparameters are optional and fall back to defaults when omitted. The dataset must contain at least 15 images and a maximum of 100 images. Returns the model ID and training status.", @@ -1772,7 +1783,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 162, + "Order": 163, "Title": "Train a custom Ideogram v4 model", "Slug": "train-model-v4", "Description": "Start training a custom Ideogram v4 model from a dataset using default hyperparameters. The dataset must contain at least 15 images and a maximum of 100 images.", @@ -1783,7 +1794,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 163, + "Order": 164, "Title": "Train a custom Ideogram v4 model with advanced hyperparameters", "Slug": "train-model-v4-advanced", "Description": "Start training a custom Ideogram v4 model from a dataset with caller-supplied hyperparameters (training steps, LoRA rank, EMA decay, learning rate). All hyperparameters are optional and fall back to defaults when omitted. The dataset must contain at least 15 images and a maximum of 100 images. Returns the model ID and training status.", @@ -1794,7 +1805,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 164, + "Order": 165, "Title": "Remove an object", "Slug": "post-remove-object-from-v2-assets", "Description": "Remove a masked object from an image. Upload the source \u0060image\u0060 and a\n\u0060mask\u0060 of the same size using \u0060multipart/form-data\u0060. Returns a\n\u0060generation_id\u0060; poll \u0060GET /v2/generations/{generation_id}\u0060 for the\nresult.", @@ -1805,7 +1816,7 @@ "Setup": null }, { - "Order": 165, + "Order": 166, "Title": "Generate Magic Prompt", "Slug": "post-magic-prompt", "Description": "Transforms basic prompts into a magic prompt. Internal use only (feature flagged). TODO: update description if enabled externally.", @@ -1816,7 +1827,7 @@ "Setup": null }, { - "Order": 166, + "Order": 167, "Title": "Generate a Magic Prompt with Ideogram 4.0", "Slug": "post-magic-prompt-v4", "Description": "Transforms a basic prompt into an enhanced Ideogram 4.0 magic prompt.\nThe magic prompt model version is fixed; callers cannot select it.\nWhen \u0060aspect_ratio\u0060 is \u0060AUTO\u0060 (the default), the model selects the most\nsuitable aspect ratio for the prompt and returns it in the response.", @@ -1827,7 +1838,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 167, + "Order": 168, "Title": "Check whether content was created by Ideogram", "Slug": "post-provenance-verify", "Description": "Checks image content for an Ideogram provenance manifest (C2PA Content\nCredentials) and returns the disclosure it carries: the provider name,\nthe generating system and its version, the creation time, and the\ncontent\u0027s unique identifier.\n\nUpload the image to verify as the \u0060content\u0060 part.\n\nThis endpoint is public and unauthenticated \u2014 no API key is required.\nSubmitted content is analyzed in memory and never stored.", @@ -1838,7 +1849,7 @@ "Setup": null }, { - "Order": 168, + "Order": 169, "Title": "Remove background", "Slug": "post-remove-background-v2", "Description": "Remove the background from an image and return the foreground as a\ntransparent PNG. Upload the source \u0060image\u0060 using \u0060multipart/form-data\u0060.\nReturns the result directly by default; set \u0060async\u0060 to get a\n\u0060generation_id\u0060 and poll \u0060GET /v2/generations/{generation_id}\u0060.", @@ -1849,7 +1860,7 @@ "Setup": null }, { - "Order": 169, + "Order": 170, "Title": "Replace background with GPT Image 2", "Slug": "post-replace-background", "Description": "Replace the background of an image from a text prompt while keeping the\nautomatically detected foreground subject; no mask is needed. Upload\nthe source \u0060image\u0060 using \u0060multipart/form-data\u0060.\nReturns a \u0060generation_id\u0060; poll \u0060GET /v2/generations/{generation_id}\u0060\nor supply a \u0060webhook_url\u0060.", @@ -1860,7 +1871,7 @@ "Setup": null }, { - "Order": 170, + "Order": 171, "Title": "Replace background with Ideogram 3.0", "Slug": "post-replace-background-ideogram-v3", "Description": "Replace the background of an image from a text prompt with Ideogram 3.0,\nkeeping the automatically detected foreground subject; no mask is\nneeded. Upload the source \u0060image\u0060 using \u0060multipart/form-data\u0060.\nReturns a \u0060generation_id\u0060; poll \u0060GET /v2/generations/{generation_id}\u0060\nor supply a \u0060webhook_url\u0060.", @@ -1871,7 +1882,7 @@ "Setup": null }, { - "Order": 171, + "Order": 172, "Title": "Upscale with automatic model selection", "Slug": "post-upscale", "Description": "Upscale an image to 2x, 4x, or 8x its original resolution with a model\nIdeogram picks per request; the choice may change over time. Upload the\nsource \u0060image\u0060 using \u0060multipart/form-data\u0060.\nReturns results directly by default; set \u0060async\u0060 or supply a\n\u0060webhook_url\u0060 to get a \u0060generation_id\u0060 and poll\n\u0060GET /v2/generations/{generation_id}\u0060.", @@ -1882,7 +1893,7 @@ "Setup": null }, { - "Order": 172, + "Order": 173, "Title": "Reference to video with MiniMax H3", "Slug": "post-edit-video-minimax-h3-reference-to-video", "Description": "Produce a video from a text prompt and optional reference media with\nMiniMax H3. Upload \u0060reference_images\u0060 and \u0060reference_audios\u0060 using\n\u0060multipart/form-data\u0060, and address them in the prompt by position\n(\u0060Image 1\u0060, \u0060Audio 1\u0060, \u2026). Returns a \u0060generation_id\u0060; poll\n\u0060GET /v2/generations/{generation_id}\u0060 or supply a \u0060webhook_url\u0060.", @@ -1893,7 +1904,7 @@ "Setup": null }, { - "Order": 173, + "Order": 174, "Title": "Edit video with Seedance 2.0", "Slug": "post-edit-video-seed-dance2", "Description": "Edit a video you already have stored with Ideogram by replacing part of\nit. Reference the source video with \u0060video_asset_identifier\u0060 and mark the\nspan to replace with \u0060start_frame_time\u0060 and \u0060end_frame_time\u0060, in seconds.\nSeedance 2.0 generates a new clip for that span from your prompt, and the\nresult is the source video with the generated clip spliced in over the\nspan: everything before \u0060start_frame_time\u0060, then the generated clip, then\neverything from \u0060end_frame_time\u0060 on. That edited video is the asset the\nrequest produces.\n\n\u0060is_start_frame_included\u0060 and \u0060is_end_frame_included\u0060 anchor the generated\nclip on the span\u0027s own end frames, so it joins the surrounding footage\ninstead of cutting to something unrelated. Anchoring the start opens the\nclip on the frame already at \u0060start_frame_time\u0060; anchoring the end lands\nit on the frame at \u0060end_frame_time\u0060; anchoring both joins at each seam. At\nleast one must be anchored.\n\nThe generated clip is used at its own length, which the model rarely makes\nexactly the span\u0027s, so the edited video is usually a different length from\nthe source. Request a \u0060duration\u0060 close to the span to keep them near each\nother. The clip is scaled and cropped to fill the source\u0027s frame and\nconformed to its frame rate, so resolution and aspect ratio follow the\nsource rather than being requested.\n\nVideo generation always runs asynchronously: the response returns as\nsoon as the request is accepted and carries only a \u0060generation_id\u0060.\nPoll for completion and results with\n\u0060GET /v2/generations/{generation_id}\u0060 using that id, or supply a\n\u0060webhook_url\u0060 to have the finished result POSTed to your server\ninstead.\n\nVideo links are available for a limited period of time; download the\nvideo if you want to keep it.", @@ -1904,7 +1915,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 174, + "Order": 175, "Title": "Image to video with Kling v3 Standard", "Slug": "post-generate-video-kling-v3-standard-image-to-video", "Description": "Generate a video from a first-frame image and a text prompt with Kling\nv3 Standard. Upload the first frame as \u0060image\u0060, and optionally a final\nframe as \u0060end_image\u0060, using \u0060multipart/form-data\u0060.\nReturns a \u0060generation_id\u0060; poll \u0060GET /v2/generations/{generation_id}\u0060\nor supply a \u0060webhook_url\u0060.", @@ -1915,7 +1926,7 @@ "Setup": null }, { - "Order": 175, + "Order": 176, "Title": "Text to video with Kling v3 Standard", "Slug": "post-generate-video-kling-v3-standard-text-to-video", "Description": "Generate a video from a text prompt with Kling v3 Standard.\nReturns a \u0060generation_id\u0060; poll \u0060GET /v2/generations/{generation_id}\u0060\nor supply a \u0060webhook_url\u0060.", @@ -1926,7 +1937,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 176, + "Order": 177, "Title": "Image to video with MiniMax H3", "Slug": "post-generate-video-minimax-h3-image-to-video", "Description": "Generate a video from a first-frame image and a text prompt with\nMiniMax H3. Upload the first frame as \u0060image\u0060, and optionally a final\nframe as \u0060end_image\u0060, using \u0060multipart/form-data\u0060.\nReturns a \u0060generation_id\u0060; poll \u0060GET /v2/generations/{generation_id}\u0060\nor supply a \u0060webhook_url\u0060.", @@ -1937,7 +1948,7 @@ "Setup": null }, { - "Order": 177, + "Order": 178, "Title": "Text to video with MiniMax H3", "Slug": "post-generate-video-minimax-h3-text-to-video", "Description": "Generate a video from a text prompt with MiniMax H3.\nReturns a \u0060generation_id\u0060; poll \u0060GET /v2/generations/{generation_id}\u0060\nor supply a \u0060webhook_url\u0060.", @@ -1948,7 +1959,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 178, + "Order": 179, "Title": "Image to video with Seedance 2.5", "Slug": "post-generate-video-seed-dance25-image-to-video", "Description": "Generate a video from a first-frame image and a text prompt with\nSeedance 2.5. Upload the first frame as \u0060image\u0060, and optionally a final\nframe as \u0060end_image\u0060, using \u0060multipart/form-data\u0060.\nReturns a \u0060generation_id\u0060; poll \u0060GET /v2/generations/{generation_id}\u0060\nor supply a \u0060webhook_url\u0060.", @@ -1959,7 +1970,7 @@ "Setup": null }, { - "Order": 179, + "Order": 180, "Title": "Reference to video with Seedance 2.5", "Slug": "post-generate-video-seed-dance25-reference-to-video", "Description": "Generate a video from a text prompt and reference media with\nSeedance 2.5. Upload at least one image in \u0060reference_images\u0060, plus optional\n\u0060reference_audios\u0060, using \u0060multipart/form-data\u0060.\nReturns a \u0060generation_id\u0060; poll \u0060GET /v2/generations/{generation_id}\u0060\nor supply a \u0060webhook_url\u0060.", @@ -1970,7 +1981,7 @@ "Setup": null }, { - "Order": 180, + "Order": 181, "Title": "Text to video with Seedance 2.5", "Slug": "post-generate-video-seed-dance25-text-to-video", "Description": "Generate a video from a text prompt with Seedance 2.5, at up to 1080p and\n30 seconds. Returns a \u0060generation_id\u0060; poll \u0060GET /v2/generations/{generation_id}\u0060\nor supply a \u0060webhook_url\u0060.", @@ -1981,7 +1992,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 181, + "Order": 182, "Title": "Image to video with Seedance 2.0", "Slug": "post-generate-video-seed-dance2-image-to-video", "Description": "Generate one or more videos from a first-frame image and a text prompt\nwith Seedance 2.0. Upload the first frame as \u0060image\u0060, and optionally a final\nframe as \u0060end_image\u0060, using \u0060multipart/form-data\u0060.\nReturns a \u0060generation_id\u0060; poll \u0060GET /v2/generations/{generation_id}\u0060\nor supply a \u0060webhook_url\u0060.", @@ -1992,7 +2003,7 @@ "Setup": null }, { - "Order": 182, + "Order": 183, "Title": "Reference to video with Seedance 2.0", "Slug": "post-generate-video-seed-dance2-reference-to-video", "Description": "Generate a video from a text prompt and reference media with\nSeedance 2.0. Upload at least one image in \u0060reference_images\u0060, plus optional\n\u0060reference_audios\u0060, using \u0060multipart/form-data\u0060.\nReturns a \u0060generation_id\u0060; poll \u0060GET /v2/generations/{generation_id}\u0060\nor supply a \u0060webhook_url\u0060.", @@ -2003,7 +2014,7 @@ "Setup": null }, { - "Order": 183, + "Order": 184, "Title": "Text to video with Seedance 2.0", "Slug": "post-generate-video-seed-dance2-text-to-video", "Description": "Generate one or more videos from a text prompt with Seedance 2.0.\nReturns a \u0060generation_id\u0060; poll \u0060GET /v2/generations/{generation_id}\u0060\nor supply a \u0060webhook_url\u0060.", @@ -2014,7 +2025,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 184, + "Order": 185, "Title": "Turn a still image into a subtle looping video", "Slug": "post-living-image", "Description": "Animates one image into a short, loop-ready clip for use as a living background. The camera stays fixed and only the parts of the scene that would move in real life move: water, light, mist, particles, fabric, creatures. Ideogram inspects the image and writes the motion prompt, so the request needs only the image.\nVideo generation runs asynchronously. Poll \u0060GET /v1/generations/{generation_id}\u0060 with the returned \u0060generation_id\u0060 until the generation completes or fails.", @@ -2025,7 +2036,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 185, + "Order": 186, "Title": "Product 360 Video", "Slug": "post-product360-video", "Description": "Animates one product image through a complete turntable revolution and returns to the starting pose so the result loops cleanly.\nVideo generation runs asynchronously. Poll \u0060GET /v2/generations/{generation_id}\u0060 with the returned \u0060generation_id\u0060 until the generation completes or fails.", @@ -2036,7 +2047,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 186, + "Order": 187, "Title": "Describe", "Slug": "post-describe", "Description": "Describe an image.\n\nSupported image formats include JPEG, PNG, and WebP.", @@ -2047,7 +2058,7 @@ "Setup": null }, { - "Order": 187, + "Order": 188, "Title": "Describe with Ideogram 4.0", "Slug": "post-describe-v4", "Description": "Describe an image with Ideogram 4.0 and return a structured\n\u0060V4JsonPrompt\u0060. The returned \u0060json_prompt\u0060 is a working JSON prompt\nthat can be passed directly as \u0060json_prompt\u0060 to the\n\u0060/v1/ideogram-v4/generate\u0060 family of endpoints.\n\nSupported image formats include JPEG, PNG, and WebP.", @@ -2058,7 +2069,7 @@ "Setup": null }, { - "Order": 188, + "Order": 189, "Title": "Get the public keys used to verify webhook signatures", "Slug": "get-webhook-signing-jwks", "Description": "Returns the set of Ed25519 public keys Ideogram uses to sign outbound\nwebhook payloads. Customers verify incoming webhooks by recomputing the\ncanonical signed message (\u0060request_id\\nuser_id\\ntimestamp\\nsha256_hex(body)\u0060)\nand checking the \u0060X-Ideogram-Webhook-Signature\u0060 header against any key\nin this document.\n\nThe document includes the current signing key plus any keys recently\nrotated out, so signatures already in flight remain verifiable across\nrotations. Cache for up to 24 hours; refresh sooner if a signature\nfails to verify against the cached set.\n\nThis endpoint is public and unauthenticated \u2014 no API key is required.", diff --git a/src/libs/Ideogram/openapi.json b/src/libs/Ideogram/openapi.json index aa134b7..78bb17a 100644 --- a/src/libs/Ideogram/openapi.json +++ b/src/libs/Ideogram/openapi.json @@ -2940,7 +2940,8 @@ "shared" ], "type": "string" - } + }, + "x-tool-description": "Omit for owned and organization-shared models; `owned` returns yours, `shared` returns organization-shared models excluding yours." }, { "description": "Filter by model status. Applied to owned models only; shared models in the model registry are already filtered to available versions. Example: `?status=TRAINING&status=COMPLETED`\n", @@ -2976,6 +2977,7 @@ "tags": [ "models" ], + "x-tool-description": "List custom models.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.models_controller" } }, @@ -7422,7 +7424,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -7639,6 +7642,7 @@ "tags": [ "image-describe" ], + "x-tool-description": "Describe an existing image asset in natural language with the Ideogram 3.0 captioner.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.image_describe_controller" } }, @@ -7745,7 +7749,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -7827,6 +7832,7 @@ "tags": [ "auto-model" ], + "x-tool-description": "Generate from text or edit supplied image assets with a server-selected model. Source images cannot be combined with negative_prompt or style_reference_asset_identifiers.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.auto_model_controller" } }, @@ -7843,7 +7849,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -7919,6 +7926,7 @@ "tags": [ "images-generate" ], + "x-tool-description": "Generate from text or edit supplied image assets with GPT Image 2. The prompt is used without rewriting.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.images_generate_controller" } }, @@ -7935,7 +7943,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -8027,7 +8036,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -8119,7 +8129,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -8201,7 +8212,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -8283,7 +8295,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -8365,6 +8378,7 @@ "tags": [ "images-generate" ], + "x-tool-description": "Generate from text with Ideogram 3.0. Use at most one style reference source: a saved collection or asset identifiers.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.images_generate_controller" } }, @@ -8381,7 +8395,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -8479,7 +8494,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -8564,6 +8580,7 @@ "tags": [ "images-generate" ], + "x-tool-description": "Generate with an accessible custom Ideogram 3.0 model. The model controls available rendering speeds and automatic background removal.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.images_generate_controller" } }, @@ -8580,7 +8597,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -8662,7 +8680,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -8733,6 +8752,7 @@ "label": "Generate 4.0", "order": 1 }, + "x-tool-description": "Generate with Ideogram 4.0 from natural language or a structured JSON prompt. Omit resolution to let the prompt determine the shape.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.images_generate_controller" } }, @@ -8749,7 +8769,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -8847,7 +8868,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -8916,6 +8938,7 @@ "tags": [ "images-generate" ], + "x-tool-description": "Generate with an accessible custom Ideogram 4.0 model from natural language or a structured JSON prompt.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.images_generate_controller" } }, @@ -8932,7 +8955,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -9014,7 +9038,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -9090,6 +9115,7 @@ "tags": [ "images-generate" ], + "x-tool-description": "Generate from text or edit supplied image assets with Nano Banana 2. The prompt is used without rewriting.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.images_generate_controller" } }, @@ -9106,7 +9132,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -9182,6 +9209,7 @@ "tags": [ "images-generate" ], + "x-tool-description": "Generate from text or edit supplied image assets with Nano Banana Pro. The prompt is used without rewriting.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.images_generate_controller" } }, @@ -9198,7 +9226,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -9280,7 +9309,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -9362,7 +9392,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -9463,7 +9494,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -9567,7 +9599,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -9671,7 +9704,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -9766,7 +9800,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -9853,6 +9888,7 @@ "reframe" ], "x-fern-sdk-method-name": "ideogramV3", + "x-tool-description": "Expand an image asset with Ideogram 3.0, preserving source pixels in the center. Use at most one style control: style_preset, style_codes, or style_reference_asset_identifiers.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.images_reframe_controller" } }, @@ -9869,7 +9905,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -9949,6 +9986,7 @@ "reframe" ], "x-fern-sdk-method-name": "nanoBanana2", + "x-tool-description": "Expand an image asset to a new aspect ratio with Nano Banana 2, using the closest supported 1K dimensions.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.images_reframe_controller" } }, @@ -9965,7 +10003,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -10050,6 +10089,7 @@ "tags": [ "auto-model" ], + "x-tool-description": "Remix an image asset with a server-selected model. Omit resolution and aspect_ratio to preserve the source shape. Style controls and shape changes combined with image_weight require the 1K tier; seed reproducibility depends on the selected model.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.auto_model_controller" } }, @@ -10066,7 +10106,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -10151,6 +10192,7 @@ "tags": [ "images-remix" ], + "x-tool-description": "Remix an image asset with Ideogram 3.0. Omit resolution and aspect_ratio to preserve its shape; changing shape center-crops the source.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.images_remix_controller" } }, @@ -10167,7 +10209,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -10252,6 +10295,7 @@ "tags": [ "images-remix" ], + "x-tool-description": "Remix an image asset with Ideogram 3.0 and one character reference. Saved character/style collections take priority over their asset references. Changing shape center-crops the source.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.images_remix_controller" } }, @@ -10268,7 +10312,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -10356,6 +10401,7 @@ "tags": [ "images-remix" ], + "x-tool-description": "Remix an image asset with an accessible custom Ideogram 3.0 model. Omit resolution and aspect_ratio to preserve its shape; changing shape center-crops the source.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.images_remix_controller" } }, @@ -10372,7 +10418,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -10456,6 +10503,7 @@ "label": "Remix", "order": 2 }, + "x-tool-description": "Remix an image asset with Ideogram 4.0. Omit resolution to preserve its shape; shape changes cannot be combined with image_weight. No prompt rewriting or reproducible seed.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.images_remix_controller" } }, @@ -10472,7 +10520,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -10557,6 +10606,7 @@ "label": "Remove background", "order": 3 }, + "x-tool-description": "Remove an image asset’s background and return a foreground PNG with transparency.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.tool_controller" } }, @@ -10573,7 +10623,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -10671,7 +10722,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -10752,6 +10804,7 @@ ], "x-fern-sdk-group-name": "tool", "x-fern-sdk-method-name": "replaceBackground", + "x-tool-description": "Replace an image asset’s background from a prompt, preserving the foreground subject automatically. No mask needed.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.edit_workflow_controller" } }, @@ -10768,7 +10821,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -10865,7 +10919,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -10944,6 +10999,7 @@ "tags": [ "tools" ], + "x-tool-description": "Upscale an image asset with a server-selected model. No prompt; output is limited to 8192 pixels per side.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.tools_controller" } }, @@ -10960,7 +11016,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -11039,6 +11096,7 @@ "tags": [ "images-upscale" ], + "x-tool-description": "Upscale an image asset with Nano Banana Pro, preserving content, composition, and style. The source must be smaller than the requested resolution tier. An optional prompt guides enhancement.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.images_upscale_controller" } }, @@ -11055,7 +11113,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -11134,6 +11193,7 @@ "tags": [ "images-upscale" ], + "x-tool-description": "Creatively upscale an image asset with Topaz Bloom 2. An optional prompt guides detail; creativity controls reinterpretation. Output is limited to 8192 pixels per side.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.images_upscale_controller" } }, @@ -11150,7 +11210,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -11245,7 +11306,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -11321,6 +11383,7 @@ "tags": [ "images-upscale" ], + "x-tool-description": "Upscale an image asset with Topaz Standard V2. No prompt; output is limited to 8192 pixels per side.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.images_upscale_controller" } }, @@ -11337,7 +11400,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -11413,6 +11477,7 @@ "tags": [ "images-upscale" ], + "x-tool-description": "Upscale an image asset with Topaz Text Refine. No prompt; output is limited to 8192 pixels per side.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.images_upscale_controller" } }, @@ -11429,7 +11494,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -11505,6 +11571,7 @@ "tags": [ "images-upscale" ], + "x-tool-description": "Upscale an image asset with Topaz Wonder 3.5. enhancement_strength controls detail reconstruction. No prompt; output is limited to 8192 pixels per side.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.images_upscale_controller" } }, @@ -11654,7 +11721,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -11746,7 +11814,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -11943,7 +12012,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -12032,7 +12102,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -12145,7 +12216,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -12227,7 +12299,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -12549,7 +12622,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { @@ -12618,6 +12692,7 @@ "tags": [ "video-generate" ], + "x-tool-description": "Animate a product image through one complete turntable revolution, returning to the starting pose for a seamless loop.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.video_generate_controller" } }, @@ -13040,10 +13115,10 @@ "x-openapi-router-controller": "external_api.generated.openapi.controllers.edit_workflow_controller" } }, - "/v2/video/edit/seedance-2": { + "/v2/tool/vectorizer": { "post": { - "description": "Edit a video you already have stored with Ideogram by replacing part of\nit. Reference the source video with `video_asset_identifier` and mark the\nspan to replace with `start_frame_time` and `end_frame_time`, in seconds.\nSeedance 2.0 generates a new clip for that span from your prompt, and the\nresult is the source video with the generated clip spliced in over the\nspan: everything before `start_frame_time`, then the generated clip, then\neverything from `end_frame_time` on. That edited video is the asset the\nrequest produces.\n\n`is_start_frame_included` and `is_end_frame_included` anchor the generated\nclip on the span's own end frames, so it joins the surrounding footage\ninstead of cutting to something unrelated. Anchoring the start opens the\nclip on the frame already at `start_frame_time`; anchoring the end lands\nit on the frame at `end_frame_time`; anchoring both joins at each seam. At\nleast one must be anchored.\n\nThe generated clip is used at its own length, which the model rarely makes\nexactly the span's, so the edited video is usually a different length from\nthe source. Request a `duration` close to the span to keep them near each\nother. The clip is scaled and cropped to fill the source's frame and\nconformed to its frame rate, so resolution and aspect ratio follow the\nsource rather than being requested.\n\nVideo generation always runs asynchronously: the response returns as\nsoon as the request is accepted and carries only a `generation_id`.\nPoll for completion and results with\n`GET /v2/generations/{generation_id}` using that id, or supply a\n`webhook_url` to have the finished result POSTed to your server\ninstead.\n\nVideo links are available for a limited period of time; download the\nvideo if you want to keep it.\n", - "operationId": "post_edit_video_seed_dance2", + "description": "Converts an image to SVG asynchronously.", + "operationId": "post_vectorizer", "parameters": [ { "description": "When true, the request is validated and priced but not run: nothing is\ngenerated, stored, or billed, and no safety review is performed. The\nresponse is a `PriceQuote` object instead of the usual response for this\nendpoint. Send exactly the request you would send to generate, so the\nquote reflects the same options.\n", @@ -13053,37 +13128,47 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { "content": { + "multipart/form-data": { + "encoding": { + "image_asset_identifier": { + "contentType": "application/json" + } + }, + "schema": { + "$ref": "#/components/schemas/VectorizerRequest" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/EditVideoSeedDance2Request" + "$ref": "#/components/schemas/VectorizerRequest" } } }, - "description": "A request to edit a video with Seedance 2.0, regenerating it from frames of the source video.", "required": true, - "x-body-name": "edit_video_seed_dance2_request" + "x-body-name": "body" }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateVideoSeedDance2Response" + "$ref": "#/components/schemas/VectorizerResponse" } } }, - "description": "An acknowledgement to poll with `GET /v2/generations/{generation_id}`." + "description": "Conversion accepted; dry runs return the shared PriceQuote response." }, "400": { - "description": "Invalid input provided." + "description": "Invalid source image or input combination." }, "401": { - "description": "Unauthorized." + "description": "Authentication required." }, "402": { "content": { @@ -13093,16 +13178,13 @@ } } }, - "description": "Insufficient credits or quota." + "description": "Insufficient credits." }, "403": { - "description": "This account does not have access to this model." + "description": "Access denied." }, "404": { - "description": "The referenced source video was not found." - }, - "422": { - "description": "The prompt did not pass safety checks." + "description": "Source not found." }, "429": { "content": { @@ -13114,24 +13196,21 @@ }, "description": "Too many requests." }, - "500": { - "description": "Internal server error." - }, "503": { - "description": "The endpoint is temporarily unavailable." + "description": "Conversion is unavailable." } }, - "summary": "Edit video with Seedance 2.0", + "summary": "Vectorizer", "tags": [ - "video-edit" + "edit-workflow" ], - "x-openapi-router-controller": "external_api.generated.openapi.controllers.video_edit_controller" + "x-openapi-router-controller": "external_api.generated.openapi.controllers.edit_workflow_controller" } }, - "/v2/video/generate/kling-3-standard-image-to-video": { + "/v2/video/edit/seedance-2": { "post": { - "description": "Generate a video from a first-frame image and a text prompt with Kling\nv3 Standard. Upload the first frame as `image`, and optionally a final\nframe as `end_image`, using `multipart/form-data`.\nReturns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", - "operationId": "post_generate_video_kling_v3_standard_image_to_video", + "description": "Edit a video you already have stored with Ideogram by replacing part of\nit. Reference the source video with `video_asset_identifier` and mark the\nspan to replace with `start_frame_time` and `end_frame_time`, in seconds.\nSeedance 2.0 generates a new clip for that span from your prompt, and the\nresult is the source video with the generated clip spliced in over the\nspan: everything before `start_frame_time`, then the generated clip, then\neverything from `end_frame_time` on. That edited video is the asset the\nrequest produces.\n\n`is_start_frame_included` and `is_end_frame_included` anchor the generated\nclip on the span's own end frames, so it joins the surrounding footage\ninstead of cutting to something unrelated. Anchoring the start opens the\nclip on the frame already at `start_frame_time`; anchoring the end lands\nit on the frame at `end_frame_time`; anchoring both joins at each seam. At\nleast one must be anchored.\n\nThe generated clip is used at its own length, which the model rarely makes\nexactly the span's, so the edited video is usually a different length from\nthe source. Request a `duration` close to the span to keep them near each\nother. The clip is scaled and cropped to fill the source's frame and\nconformed to its frame rate, so resolution and aspect ratio follow the\nsource rather than being requested.\n\nVideo generation always runs asynchronously: the response returns as\nsoon as the request is accepted and carries only a `generation_id`.\nPoll for completion and results with\n`GET /v2/generations/{generation_id}` using that id, or supply a\n`webhook_url` to have the finished result POSTed to your server\ninstead.\n\nVideo links are available for a limited period of time; download the\nvideo if you want to keep it.\n", + "operationId": "post_edit_video_seed_dance2", "parameters": [ { "description": "When true, the request is validated and priced but not run: nothing is\ngenerated, stored, or billed, and no safety review is performed. The\nresponse is a `PriceQuote` object instead of the usual response for this\nendpoint. Send exactly the request you would send to generate, so the\nquote reflects the same options.\n", @@ -13141,40 +13220,28 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { "content": { - "multipart/form-data": { - "encoding": { - "image_asset_identifier": { - "contentType": "application/json" - }, - "end_image_asset_identifier": { - "contentType": "application/json" - } - }, - "schema": { - "$ref": "#/components/schemas/GenerateVideoKlingV3StandardImageToVideoRequest" - } - }, "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateVideoKlingV3StandardImageToVideoRequest" + "$ref": "#/components/schemas/EditVideoSeedDance2Request" } } }, - "description": "A request to generate a video from a first-frame image with Kling v3 Standard. Upload the first frame as `image` using `multipart/form-data`.", + "description": "A request to edit a video with Seedance 2.0, regenerating it from frames of the source video.", "required": true, - "x-body-name": "body" + "x-body-name": "edit_video_seed_dance2_request" }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateVideoKlingV3Response" + "$ref": "#/components/schemas/GenerateVideoSeedDance2Response" } } }, @@ -13200,7 +13267,7 @@ "description": "This account does not have access to this model." }, "404": { - "description": "The first-frame image was not found." + "description": "The referenced source video was not found." }, "422": { "description": "The prompt did not pass safety checks." @@ -13222,17 +13289,17 @@ "description": "The endpoint is temporarily unavailable." } }, - "summary": "Image to video with Kling v3 Standard", + "summary": "Edit video with Seedance 2.0", "tags": [ - "video-generate" + "video-edit" ], - "x-openapi-router-controller": "external_api.generated.openapi.controllers.video_generate_controller" + "x-openapi-router-controller": "external_api.generated.openapi.controllers.video_edit_controller" } }, - "/v2/video/generate/kling-3-standard-text-to-video": { + "/v2/video/generate/kling-3-standard-image-to-video": { "post": { - "description": "Generate a video from a text prompt with Kling v3 Standard.\nReturns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", - "operationId": "post_generate_video_kling_v3_standard_text_to_video", + "description": "Generate a video from a first-frame image and a text prompt with Kling\nv3 Standard. Upload the first frame as `image`, and optionally a final\nframe as `end_image`, using `multipart/form-data`.\nReturns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", + "operationId": "post_generate_video_kling_v3_standard_image_to_video", "parameters": [ { "description": "When true, the request is validated and priced but not run: nothing is\ngenerated, stored, or billed, and no safety review is performed. The\nresponse is a `PriceQuote` object instead of the usual response for this\nendpoint. Send exactly the request you would send to generate, so the\nquote reflects the same options.\n", @@ -13242,20 +13309,34 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { "content": { + "multipart/form-data": { + "encoding": { + "image_asset_identifier": { + "contentType": "application/json" + }, + "end_image_asset_identifier": { + "contentType": "application/json" + } + }, + "schema": { + "$ref": "#/components/schemas/GenerateVideoKlingV3StandardImageToVideoRequest" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateVideoKlingV3StandardTextToVideoRequest" + "$ref": "#/components/schemas/GenerateVideoKlingV3StandardImageToVideoRequest" } } }, - "description": "A request to generate a video from a text prompt with Kling v3 Standard.", + "description": "A request to generate a video from a first-frame image with Kling v3 Standard. Upload the first frame as `image` using `multipart/form-data`.", "required": true, - "x-body-name": "generate_video_kling_v3_standard_text_to_video_request" + "x-body-name": "body" }, "responses": { "200": { @@ -13287,6 +13368,9 @@ "403": { "description": "This account does not have access to this model." }, + "404": { + "description": "The first-frame image was not found." + }, "422": { "description": "The prompt did not pass safety checks." }, @@ -13307,17 +13391,18 @@ "description": "The endpoint is temporarily unavailable." } }, - "summary": "Text to video with Kling v3 Standard", + "summary": "Image to video with Kling v3 Standard", "tags": [ "video-generate" ], + "x-tool-description": "Animate a first-frame image asset with Kling v3 Standard. Supply end_image_asset_identifier for a transition to a final frame. Video download links expire.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.video_generate_controller" } }, - "/v2/video/generate/minimax-h3-image-to-video": { + "/v2/video/generate/kling-3-standard-text-to-video": { "post": { - "description": "Generate a video from a first-frame image and a text prompt with\nMiniMax H3. Upload the first frame as `image`, and optionally a final\nframe as `end_image`, using `multipart/form-data`.\nReturns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", - "operationId": "post_generate_video_minimax_h3_image_to_video", + "description": "Generate a video from a text prompt with Kling v3 Standard.\nReturns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", + "operationId": "post_generate_video_kling_v3_standard_text_to_video", "parameters": [ { "description": "When true, the request is validated and priced but not run: nothing is\ngenerated, stored, or billed, and no safety review is performed. The\nresponse is a `PriceQuote` object instead of the usual response for this\nendpoint. Send exactly the request you would send to generate, so the\nquote reflects the same options.\n", @@ -13327,40 +13412,28 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { "content": { - "multipart/form-data": { - "encoding": { - "image_asset_identifier": { - "contentType": "application/json" - }, - "end_image_asset_identifier": { - "contentType": "application/json" - } - }, - "schema": { - "$ref": "#/components/schemas/GenerateVideoMinimaxH3ImageToVideoRequest" - } - }, "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateVideoMinimaxH3ImageToVideoRequest" + "$ref": "#/components/schemas/GenerateVideoKlingV3StandardTextToVideoRequest" } } }, - "description": "A request to generate a video from a first-frame image with MiniMax H3. Upload the first frame as `image` using `multipart/form-data`.", + "description": "A request to generate a video from a text prompt with Kling v3 Standard.", "required": true, - "x-body-name": "body" + "x-body-name": "generate_video_kling_v3_standard_text_to_video_request" }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateVideoMinimaxH3Response" + "$ref": "#/components/schemas/GenerateVideoKlingV3Response" } } }, @@ -13385,9 +13458,6 @@ "403": { "description": "This account does not have access to this model." }, - "404": { - "description": "The first-frame image was not found." - }, "422": { "description": "The prompt did not pass safety checks." }, @@ -13408,17 +13478,18 @@ "description": "The endpoint is temporarily unavailable." } }, - "summary": "Image to video with MiniMax H3", + "summary": "Text to video with Kling v3 Standard", "tags": [ "video-generate" ], + "x-tool-description": "Generate a video from text with Kling v3 Standard. Video download links expire.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.video_generate_controller" } }, - "/v2/video/generate/minimax-h3-reference-to-video": { + "/v2/video/generate/minimax-h3-image-to-video": { "post": { - "description": "Produce a video from a text prompt and optional reference media with\nMiniMax H3. Upload `reference_images` and `reference_audios` using\n`multipart/form-data`, and address them in the prompt by position\n(`Image 1`, `Audio 1`, …). Returns a `generation_id`; poll\n`GET /v2/generations/{generation_id}` or supply a `webhook_url`.\n", - "operationId": "post_edit_video_minimax_h3_reference_to_video", + "description": "Generate a video from a first-frame image and a text prompt with\nMiniMax H3. Upload the first frame as `image`, and optionally a final\nframe as `end_image`, using `multipart/form-data`.\nReturns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", + "operationId": "post_generate_video_minimax_h3_image_to_video", "parameters": [ { "description": "When true, the request is validated and priced but not run: nothing is\ngenerated, stored, or billed, and no safety review is performed. The\nresponse is a `PriceQuote` object instead of the usual response for this\nendpoint. Send exactly the request you would send to generate, so the\nquote reflects the same options.\n", @@ -13428,31 +13499,32 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { "content": { "multipart/form-data": { "encoding": { - "reference_image_asset_identifiers": { + "image_asset_identifier": { "contentType": "application/json" }, - "reference_video_asset_identifiers": { + "end_image_asset_identifier": { "contentType": "application/json" } }, "schema": { - "$ref": "#/components/schemas/EditVideoMinimaxH3ReferenceToVideoRequest" + "$ref": "#/components/schemas/GenerateVideoMinimaxH3ImageToVideoRequest" } }, "application/json": { "schema": { - "$ref": "#/components/schemas/EditVideoMinimaxH3ReferenceToVideoRequest" + "$ref": "#/components/schemas/GenerateVideoMinimaxH3ImageToVideoRequest" } } }, - "description": "A request to produce a video from reference media with MiniMax H3. Use `multipart/form-data` to upload reference media.", + "description": "A request to generate a video from a first-frame image with MiniMax H3. Upload the first frame as `image` using `multipart/form-data`.", "required": true, "x-body-name": "body" }, @@ -13487,92 +13559,7 @@ "description": "This account does not have access to this model." }, "404": { - "description": "A referenced asset was not found." - }, - "422": { - "description": "The prompt did not pass safety checks." - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerationErrorResponse" - } - } - }, - "description": "Too many requests." - }, - "500": { - "description": "Internal server error." - }, - "503": { - "description": "The endpoint is temporarily unavailable." - } - }, - "summary": "Reference to video with MiniMax H3", - "tags": [ - "video-edit" - ], - "x-openapi-router-controller": "external_api.generated.openapi.controllers.video_edit_controller" - } - }, - "/v2/video/generate/minimax-h3-text-to-video": { - "post": { - "description": "Generate a video from a text prompt with MiniMax H3.\nReturns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", - "operationId": "post_generate_video_minimax_h3_text_to_video", - "parameters": [ - { - "description": "When true, the request is validated and priced but not run: nothing is\ngenerated, stored, or billed, and no safety review is performed. The\nresponse is a `PriceQuote` object instead of the usual response for this\nendpoint. Send exactly the request you would send to generate, so the\nquote reflects the same options.\n", - "in": "query", - "name": "dry_run", - "required": false, - "schema": { - "default": false, - "type": "boolean" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateVideoMinimaxH3TextToVideoRequest" - } - } - }, - "description": "A request to generate a video from a text prompt with MiniMax H3.", - "required": true, - "x-body-name": "generate_video_minimax_h3_text_to_video_request" - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateVideoMinimaxH3Response" - } - } - }, - "description": "An acknowledgement to poll with `GET /v2/generations/{generation_id}`." - }, - "400": { - "description": "Invalid input provided." - }, - "401": { - "description": "Unauthorized." - }, - "402": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerationErrorResponse" - } - } - }, - "description": "Insufficient credits or quota." - }, - "403": { - "description": "This account does not have access to this model." + "description": "The first-frame image was not found." }, "422": { "description": "The prompt did not pass safety checks." @@ -13594,17 +13581,18 @@ "description": "The endpoint is temporarily unavailable." } }, - "summary": "Text to video with MiniMax H3", + "summary": "Image to video with MiniMax H3", "tags": [ "video-generate" ], + "x-tool-description": "Animate a first-frame image asset with MiniMax H3. Supply end_image_asset_identifier for a transition to a final frame. Video download links expire.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.video_generate_controller" } }, - "/v2/video/generate/seedance-2-5-image-to-video": { + "/v2/video/generate/minimax-h3-reference-to-video": { "post": { - "description": "Generate a video from a first-frame image and a text prompt with\nSeedance 2.5. Upload the first frame as `image`, and optionally a final\nframe as `end_image`, using `multipart/form-data`.\nReturns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", - "operationId": "post_generate_video_seed_dance25_image_to_video", + "description": "Produce a video from a text prompt and optional reference media with\nMiniMax H3. Upload `reference_images` and `reference_audios` using\n`multipart/form-data`, and address them in the prompt by position\n(`Image 1`, `Audio 1`, …). Returns a `generation_id`; poll\n`GET /v2/generations/{generation_id}` or supply a `webhook_url`.\n", + "operationId": "post_edit_video_minimax_h3_reference_to_video", "parameters": [ { "description": "When true, the request is validated and priced but not run: nothing is\ngenerated, stored, or billed, and no safety review is performed. The\nresponse is a `PriceQuote` object instead of the usual response for this\nendpoint. Send exactly the request you would send to generate, so the\nquote reflects the same options.\n", @@ -13614,31 +13602,32 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { "content": { "multipart/form-data": { "encoding": { - "image_asset_identifier": { + "reference_image_asset_identifiers": { "contentType": "application/json" }, - "end_image_asset_identifier": { + "reference_video_asset_identifiers": { "contentType": "application/json" } }, "schema": { - "$ref": "#/components/schemas/GenerateVideoSeedDance25ImageToVideoRequest" + "$ref": "#/components/schemas/EditVideoMinimaxH3ReferenceToVideoRequest" } }, "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateVideoSeedDance25ImageToVideoRequest" + "$ref": "#/components/schemas/EditVideoMinimaxH3ReferenceToVideoRequest" } } }, - "description": "A request to generate a video from a first-frame image with Seedance 2.5. Upload the first frame as `image` using `multipart/form-data`.", + "description": "A request to produce a video from reference media with MiniMax H3. Use `multipart/form-data` to upload reference media.", "required": true, "x-body-name": "body" }, @@ -13647,7 +13636,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateVideoSeedDance25Response" + "$ref": "#/components/schemas/GenerateVideoMinimaxH3Response" } } }, @@ -13673,7 +13662,7 @@ "description": "This account does not have access to this model." }, "404": { - "description": "The first-frame image was not found." + "description": "A referenced asset was not found." }, "422": { "description": "The prompt did not pass safety checks." @@ -13695,17 +13684,18 @@ "description": "The endpoint is temporarily unavailable." } }, - "summary": "Image to video with Seedance 2.5", + "summary": "Reference to video with MiniMax H3", "tags": [ - "video-generate" + "video-edit" ], - "x-openapi-router-controller": "external_api.generated.openapi.controllers.video_generate_controller" + "x-tool-description": "Generate a video with MiniMax H3 from text and optional reference image/video assets. Address references as Image 1 and Video 1 in prompt order. Video download links expire.", + "x-openapi-router-controller": "external_api.generated.openapi.controllers.video_edit_controller" } }, - "/v2/video/generate/seedance-2-5-reference-to-video": { + "/v2/video/generate/minimax-h3-text-to-video": { "post": { - "description": "Generate a video from a text prompt and reference media with\nSeedance 2.5. Upload at least one image in `reference_images`, plus optional\n`reference_audios`, using `multipart/form-data`.\nReturns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", - "operationId": "post_generate_video_seed_dance25_reference_to_video", + "description": "Generate a video from a text prompt with MiniMax H3.\nReturns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", + "operationId": "post_generate_video_minimax_h3_text_to_video", "parameters": [ { "description": "When true, the request is validated and priced but not run: nothing is\ngenerated, stored, or billed, and no safety review is performed. The\nresponse is a `PriceQuote` object instead of the usual response for this\nendpoint. Send exactly the request you would send to generate, so the\nquote reflects the same options.\n", @@ -13715,40 +13705,28 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { "content": { - "multipart/form-data": { - "encoding": { - "reference_image_asset_identifiers": { - "contentType": "application/json" - }, - "reference_video_asset_identifiers": { - "contentType": "application/json" - } - }, - "schema": { - "$ref": "#/components/schemas/GenerateVideoSeedDance25ReferenceToVideoRequest" - } - }, "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateVideoSeedDance25ReferenceToVideoRequest" + "$ref": "#/components/schemas/GenerateVideoMinimaxH3TextToVideoRequest" } } }, - "description": "A request to produce a video from reference media with Seedance 2.5. Upload the references using `multipart/form-data`.", + "description": "A request to generate a video from a text prompt with MiniMax H3.", "required": true, - "x-body-name": "body" + "x-body-name": "generate_video_minimax_h3_text_to_video_request" }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateVideoSeedDance25Response" + "$ref": "#/components/schemas/GenerateVideoMinimaxH3Response" } } }, @@ -13773,9 +13751,6 @@ "403": { "description": "This account does not have access to this model." }, - "404": { - "description": "A reference was not found." - }, "422": { "description": "The prompt did not pass safety checks." }, @@ -13796,17 +13771,18 @@ "description": "The endpoint is temporarily unavailable." } }, - "summary": "Reference to video with Seedance 2.5", + "summary": "Text to video with MiniMax H3", "tags": [ "video-generate" ], + "x-tool-description": "Generate a video from text with MiniMax H3. Video download links expire.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.video_generate_controller" } }, - "/v2/video/generate/seedance-2-5-text-to-video": { + "/v2/video/generate/seedance-2-5-image-to-video": { "post": { - "description": "Generate a video from a text prompt with Seedance 2.5, at up to 1080p and\n30 seconds. Returns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", - "operationId": "post_generate_video_seed_dance25_text_to_video", + "description": "Generate a video from a first-frame image and a text prompt with\nSeedance 2.5. Upload the first frame as `image`, and optionally a final\nframe as `end_image`, using `multipart/form-data`.\nReturns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", + "operationId": "post_generate_video_seed_dance25_image_to_video", "parameters": [ { "description": "When true, the request is validated and priced but not run: nothing is\ngenerated, stored, or billed, and no safety review is performed. The\nresponse is a `PriceQuote` object instead of the usual response for this\nendpoint. Send exactly the request you would send to generate, so the\nquote reflects the same options.\n", @@ -13816,20 +13792,34 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { "content": { + "multipart/form-data": { + "encoding": { + "image_asset_identifier": { + "contentType": "application/json" + }, + "end_image_asset_identifier": { + "contentType": "application/json" + } + }, + "schema": { + "$ref": "#/components/schemas/GenerateVideoSeedDance25ImageToVideoRequest" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateVideoSeedDance25TextToVideoRequest" + "$ref": "#/components/schemas/GenerateVideoSeedDance25ImageToVideoRequest" } } }, - "description": "A request to generate a video from a text prompt with Seedance 2.5.", + "description": "A request to generate a video from a first-frame image with Seedance 2.5. Upload the first frame as `image` using `multipart/form-data`.", "required": true, - "x-body-name": "generate_video_seed_dance25_text_to_video_request" + "x-body-name": "body" }, "responses": { "200": { @@ -13861,6 +13851,9 @@ "403": { "description": "This account does not have access to this model." }, + "404": { + "description": "The first-frame image was not found." + }, "422": { "description": "The prompt did not pass safety checks." }, @@ -13881,17 +13874,18 @@ "description": "The endpoint is temporarily unavailable." } }, - "summary": "Text to video with Seedance 2.5", + "summary": "Image to video with Seedance 2.5", "tags": [ "video-generate" ], + "x-tool-description": "Animate a first-frame image asset with Seedance 2.5. Supply end_image_asset_identifier for a transition to a final frame. Video download links expire.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.video_generate_controller" } }, - "/v2/video/generate/seedance-2-image-to-video": { + "/v2/video/generate/seedance-2-5-reference-to-video": { "post": { - "description": "Generate one or more videos from a first-frame image and a text prompt\nwith Seedance 2.0. Upload the first frame as `image`, and optionally a final\nframe as `end_image`, using `multipart/form-data`.\nReturns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", - "operationId": "post_generate_video_seed_dance2_image_to_video", + "description": "Generate a video from a text prompt and reference media with\nSeedance 2.5. Upload at least one image in `reference_images`, plus optional\n`reference_audios`, using `multipart/form-data`.\nReturns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", + "operationId": "post_generate_video_seed_dance25_reference_to_video", "parameters": [ { "description": "When true, the request is validated and priced but not run: nothing is\ngenerated, stored, or billed, and no safety review is performed. The\nresponse is a `PriceQuote` object instead of the usual response for this\nendpoint. Send exactly the request you would send to generate, so the\nquote reflects the same options.\n", @@ -13901,31 +13895,32 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { "content": { "multipart/form-data": { "encoding": { - "image_asset_identifier": { + "reference_image_asset_identifiers": { "contentType": "application/json" }, - "end_image_asset_identifier": { + "reference_video_asset_identifiers": { "contentType": "application/json" } }, "schema": { - "$ref": "#/components/schemas/GenerateVideoSeedDance2ImageToVideoRequest" + "$ref": "#/components/schemas/GenerateVideoSeedDance25ReferenceToVideoRequest" } }, "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateVideoSeedDance2ImageToVideoRequest" + "$ref": "#/components/schemas/GenerateVideoSeedDance25ReferenceToVideoRequest" } } }, - "description": "A request to generate videos from a first-frame image with Seedance 2.0. Upload the first frame as `image` using `multipart/form-data`.", + "description": "A request to produce a video from reference media with Seedance 2.5. Upload the references using `multipart/form-data`.", "required": true, "x-body-name": "body" }, @@ -13934,7 +13929,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateVideoSeedDance2Response" + "$ref": "#/components/schemas/GenerateVideoSeedDance25Response" } } }, @@ -13960,7 +13955,7 @@ "description": "This account does not have access to this model." }, "404": { - "description": "The first-frame image was not found." + "description": "A reference was not found." }, "422": { "description": "The prompt did not pass safety checks." @@ -13982,17 +13977,18 @@ "description": "The endpoint is temporarily unavailable." } }, - "summary": "Image to video with Seedance 2.0", + "summary": "Reference to video with Seedance 2.5", "tags": [ "video-generate" ], + "x-tool-description": "Generate a video with Seedance 2.5 using at least one reference image or video asset. Address references as [Image1] and [Video1] in prompt order. Video download links expire.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.video_generate_controller" } }, - "/v2/video/generate/seedance-2-reference-to-video": { + "/v2/video/generate/seedance-2-5-text-to-video": { "post": { - "description": "Generate a video from a text prompt and reference media with\nSeedance 2.0. Upload at least one image in `reference_images`, plus optional\n`reference_audios`, using `multipart/form-data`.\nReturns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", - "operationId": "post_generate_video_seed_dance2_reference_to_video", + "description": "Generate a video from a text prompt with Seedance 2.5, at up to 1080p and\n30 seconds. Returns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", + "operationId": "post_generate_video_seed_dance25_text_to_video", "parameters": [ { "description": "When true, the request is validated and priced but not run: nothing is\ngenerated, stored, or billed, and no safety review is performed. The\nresponse is a `PriceQuote` object instead of the usual response for this\nendpoint. Send exactly the request you would send to generate, so the\nquote reflects the same options.\n", @@ -14002,40 +13998,28 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { "content": { - "multipart/form-data": { - "encoding": { - "reference_image_asset_identifiers": { - "contentType": "application/json" - }, - "reference_video_asset_identifiers": { - "contentType": "application/json" - } - }, - "schema": { - "$ref": "#/components/schemas/GenerateVideoSeedDance2ReferenceToVideoRequest" - } - }, "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateVideoSeedDance2ReferenceToVideoRequest" + "$ref": "#/components/schemas/GenerateVideoSeedDance25TextToVideoRequest" } } }, - "description": "A request to produce a video from reference media with Seedance 2.0. Upload the references using `multipart/form-data`.", + "description": "A request to generate a video from a text prompt with Seedance 2.5.", "required": true, - "x-body-name": "body" + "x-body-name": "generate_video_seed_dance25_text_to_video_request" }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateVideoSeedDance2Response" + "$ref": "#/components/schemas/GenerateVideoSeedDance25Response" } } }, @@ -14060,9 +14044,6 @@ "403": { "description": "This account does not have access to this model." }, - "404": { - "description": "A reference was not found." - }, "422": { "description": "The prompt did not pass safety checks." }, @@ -14083,17 +14064,18 @@ "description": "The endpoint is temporarily unavailable." } }, - "summary": "Reference to video with Seedance 2.0", + "summary": "Text to video with Seedance 2.5", "tags": [ "video-generate" ], + "x-tool-description": "Generate a video from text with Seedance 2.5. Video download links expire.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.video_generate_controller" } }, - "/v2/video/generate/seedance-2-text-to-video": { + "/v2/video/generate/seedance-2-image-to-video": { "post": { - "description": "Generate one or more videos from a text prompt with Seedance 2.0.\nReturns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", - "operationId": "post_generate_video_seed_dance2_text_to_video", + "description": "Generate one or more videos from a first-frame image and a text prompt\nwith Seedance 2.0. Upload the first frame as `image`, and optionally a final\nframe as `end_image`, using `multipart/form-data`.\nReturns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", + "operationId": "post_generate_video_seed_dance2_image_to_video", "parameters": [ { "description": "When true, the request is validated and priced but not run: nothing is\ngenerated, stored, or billed, and no safety review is performed. The\nresponse is a `PriceQuote` object instead of the usual response for this\nendpoint. Send exactly the request you would send to generate, so the\nquote reflects the same options.\n", @@ -14103,20 +14085,227 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } ], "requestBody": { "content": { + "multipart/form-data": { + "encoding": { + "image_asset_identifier": { + "contentType": "application/json" + }, + "end_image_asset_identifier": { + "contentType": "application/json" + } + }, + "schema": { + "$ref": "#/components/schemas/GenerateVideoSeedDance2ImageToVideoRequest" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateVideoSeedDance2TextToVideoRequest" + "$ref": "#/components/schemas/GenerateVideoSeedDance2ImageToVideoRequest" } } }, - "description": "A request to generate videos from a text prompt with Seedance 2.0.", + "description": "A request to generate videos from a first-frame image with Seedance 2.0. Upload the first frame as `image` using `multipart/form-data`.", "required": true, - "x-body-name": "generate_video_seed_dance2_text_to_video_request" + "x-body-name": "body" + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateVideoSeedDance2Response" + } + } + }, + "description": "An acknowledgement to poll with `GET /v2/generations/{generation_id}`." + }, + "400": { + "description": "Invalid input provided." + }, + "401": { + "description": "Unauthorized." + }, + "402": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerationErrorResponse" + } + } + }, + "description": "Insufficient credits or quota." + }, + "403": { + "description": "This account does not have access to this model." + }, + "404": { + "description": "The first-frame image was not found." + }, + "422": { + "description": "The prompt did not pass safety checks." + }, + "429": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerationErrorResponse" + } + } + }, + "description": "Too many requests." + }, + "500": { + "description": "Internal server error." + }, + "503": { + "description": "The endpoint is temporarily unavailable." + } + }, + "summary": "Image to video with Seedance 2.0", + "tags": [ + "video-generate" + ], + "x-tool-description": "Animate a first-frame image asset with Seedance 2.0. Supply end_image_asset_identifier for a transition to a final frame. Video download links expire.", + "x-openapi-router-controller": "external_api.generated.openapi.controllers.video_generate_controller" + } + }, + "/v2/video/generate/seedance-2-reference-to-video": { + "post": { + "description": "Generate a video from a text prompt and reference media with\nSeedance 2.0. Upload at least one image in `reference_images`, plus optional\n`reference_audios`, using `multipart/form-data`.\nReturns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", + "operationId": "post_generate_video_seed_dance2_reference_to_video", + "parameters": [ + { + "description": "When true, the request is validated and priced but not run: nothing is\ngenerated, stored, or billed, and no safety review is performed. The\nresponse is a `PriceQuote` object instead of the usual response for this\nendpoint. Send exactly the request you would send to generate, so the\nquote reflects the same options.\n", + "in": "query", + "name": "dry_run", + "required": false, + "schema": { + "default": false, + "type": "boolean" + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "encoding": { + "reference_image_asset_identifiers": { + "contentType": "application/json" + }, + "reference_video_asset_identifiers": { + "contentType": "application/json" + } + }, + "schema": { + "$ref": "#/components/schemas/GenerateVideoSeedDance2ReferenceToVideoRequest" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateVideoSeedDance2ReferenceToVideoRequest" + } + } + }, + "description": "A request to produce a video from reference media with Seedance 2.0. Upload the references using `multipart/form-data`.", + "required": true, + "x-body-name": "body" + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateVideoSeedDance2Response" + } + } + }, + "description": "An acknowledgement to poll with `GET /v2/generations/{generation_id}`." + }, + "400": { + "description": "Invalid input provided." + }, + "401": { + "description": "Unauthorized." + }, + "402": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerationErrorResponse" + } + } + }, + "description": "Insufficient credits or quota." + }, + "403": { + "description": "This account does not have access to this model." + }, + "404": { + "description": "A reference was not found." + }, + "422": { + "description": "The prompt did not pass safety checks." + }, + "429": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerationErrorResponse" + } + } + }, + "description": "Too many requests." + }, + "500": { + "description": "Internal server error." + }, + "503": { + "description": "The endpoint is temporarily unavailable." + } + }, + "summary": "Reference to video with Seedance 2.0", + "tags": [ + "video-generate" + ], + "x-tool-description": "Generate a video with Seedance 2.0 using at least one reference image or video asset. Address references as @Image1 and @Video1 in prompt order. Video download links expire.", + "x-openapi-router-controller": "external_api.generated.openapi.controllers.video_generate_controller" + } + }, + "/v2/video/generate/seedance-2-text-to-video": { + "post": { + "description": "Generate one or more videos from a text prompt with Seedance 2.0.\nReturns a `generation_id`; poll `GET /v2/generations/{generation_id}`\nor supply a `webhook_url`.\n", + "operationId": "post_generate_video_seed_dance2_text_to_video", + "parameters": [ + { + "description": "When true, the request is validated and priced but not run: nothing is\ngenerated, stored, or billed, and no safety review is performed. The\nresponse is a `PriceQuote` object instead of the usual response for this\nendpoint. Send exactly the request you would send to generate, so the\nquote reflects the same options.\n", + "in": "query", + "name": "dry_run", + "required": false, + "schema": { + "default": false, + "type": "boolean" + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateVideoSeedDance2TextToVideoRequest" + } + } + }, + "description": "A request to generate videos from a text prompt with Seedance 2.0.", + "required": true, + "x-body-name": "generate_video_seed_dance2_text_to_video_request" }, "responses": { "200": { @@ -14172,6 +14361,7 @@ "tags": [ "video-generate" ], + "x-tool-description": "Generate a video from text with Seedance 2.0. Video download links expire.", "x-openapi-router-controller": "external_api.generated.openapi.controllers.video_generate_controller" } }, @@ -14413,7 +14603,8 @@ "schema": { "default": false, "type": "boolean" - } + }, + "x-tool-description": "Validate and quote only; no generation, storage, billing, or safety review." } }, "schemas": { @@ -15469,7 +15660,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "resolution": { "$ref": "#/components/schemas/ResolutionV3" @@ -15512,7 +15704,8 @@ "items": { "$ref": "#/components/schemas/StyleCode" }, - "type": "array" + "type": "array", + "x-tool-description": "8-character hex style codes. Allowed combinations with other style controls depend on the operation." }, "style_type": { "$ref": "#/components/schemas/StyleTypeV3" @@ -15573,7 +15766,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "resolution": { "$ref": "#/components/schemas/ResolutionV3" @@ -15616,7 +15810,8 @@ "items": { "$ref": "#/components/schemas/StyleCode" }, - "type": "array" + "type": "array", + "x-tool-description": "8-character hex style codes. Allowed combinations with other style controls depend on the operation." }, "style_type": { "$ref": "#/components/schemas/StyleTypeV3" @@ -15703,7 +15898,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "resolution": { "$ref": "#/components/schemas/ResolutionV3" @@ -15746,7 +15942,8 @@ "items": { "$ref": "#/components/schemas/StyleCode" }, - "type": "array" + "type": "array", + "x-tool-description": "8-character hex style codes. Allowed combinations with other style controls depend on the operation." }, "style_type": { "$ref": "#/components/schemas/StyleTypeV3" @@ -15896,7 +16093,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "upscale_factor": { "$ref": "#/components/schemas/UpscaleFactor" @@ -16787,7 +16985,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "style_type": { "$ref": "#/components/schemas/StyleType" @@ -16803,7 +17002,8 @@ "maximum": 8, "minimum": 1, "title": "NumImages", - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "resolution": { "$ref": "#/components/schemas/Resolution" @@ -16891,7 +17091,8 @@ "maximum": 8, "minimum": 1, "title": "NumImages", - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "seed": { "description": "Random seed. Set for reproducible generation.", @@ -16899,7 +17100,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "title": "UpscaleInitialImageRequest", @@ -17052,7 +17254,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "style_type": { "$ref": "#/components/schemas/StyleTypeV3" @@ -17165,7 +17368,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "style_type": { "$ref": "#/components/schemas/StyleTypeV3" @@ -17229,7 +17433,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "style_type": { "$ref": "#/components/schemas/StyleType" @@ -17487,7 +17692,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -17538,7 +17744,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -17687,7 +17894,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -17761,7 +17969,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -18957,7 +19166,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "style_type": { "$ref": "#/components/schemas/StyleTypeV3" @@ -18974,7 +19184,8 @@ "maximum": 8, "minimum": 1, "title": "NumImages", - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "resolution": { "$ref": "#/components/schemas/ResolutionV3" @@ -19599,7 +19810,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -19721,7 +19933,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "GenerateVideoSeedDance2Response": { "description": "Acknowledgement that the request was accepted. The generated video is not\npart of this response: poll `GET /v2/generations/{generation_id}` with\nthe returned `generation_id`, or receive it at your `webhook_url`.\nVideo links expire after a limited time, so download any video you\nwant to keep.\n", @@ -19768,7 +19981,8 @@ "maxLength": 2000, "minLength": 1, "title": "prompt", - "type": "string" + "type": "string", + "x-tool-description": "Describe the video to generate." }, "aspect_ratio": { "$ref": "#/components/schemas/SeedDance2AspectRatio" @@ -19782,13 +19996,15 @@ "maximum": 15, "minimum": 4, "title": "duration", - "type": "integer" + "type": "integer", + "x-tool-description": "Seconds; omit to let the model choose." }, "generate_audio": { "default": false, "description": "Whether to generate an audio track for the video. Audio roughly\ndoubles the provider cost and is subject to stricter output moderation.\n", "title": "generate_audio", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Audio roughly doubles provider cost and tightens output moderation." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -19796,18 +20012,21 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, "title": "private", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output videos are added to it when the request completes.", "title": "target_collection_id", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -19879,12 +20098,14 @@ "$ref": "#/components/schemas/AssetIdentifier" } ], - "description": "A reference to an image already stored with Ideogram to use as the first frame, in place of uploading `image`. Only image assets are accepted." + "description": "A reference to an image already stored with Ideogram to use as the first frame, in place of uploading `image`. Only image assets are accepted.", + "x-tool-description": "Stored image asset for the first frame." }, "image": { "description": "The first-frame image to animate, in a common format such as JPEG, PNG, or WEBP, up to 50MB. Multipart requests only. The uploaded image is used for this request only and is not stored.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "First frame (JPEG/PNG/WEBP, max 50MB). Multipart only; used for this request, not stored." }, "end_image_asset_identifier": { "allOf": [ @@ -19892,19 +20113,22 @@ "$ref": "#/components/schemas/AssetIdentifier" } ], - "description": "An optional final frame, as a reference to an image already stored with Ideogram. When supplied, the generated video transitions from the first frame to this one. Only image assets are accepted." + "description": "An optional final frame, as a reference to an image already stored with Ideogram. When supplied, the generated video transitions from the first frame to this one. Only image assets are accepted.", + "x-tool-description": "Stored image asset for the final frame; the video transitions from the first frame to it." }, "end_image": { "description": "An optional final frame, in a common format such as JPEG, PNG, or WEBP, up to 50MB. Multipart requests only. When supplied, the video transitions from the first frame to this one.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "Final frame (JPEG/PNG/WEBP, max 50MB). Multipart only; the video transitions from the first frame to it." }, "prompt": { "description": "A natural-language prompt describing how the first frame should animate.", "example": "The camera slowly pans right as the waves roll in.", "maxLength": 2000, "minLength": 1, - "type": "string" + "type": "string", + "x-tool-description": "Describe how to animate the first frame." }, "aspect_ratio": { "$ref": "#/components/schemas/SeedDance2AspectRatio" @@ -19918,13 +20142,15 @@ "maximum": 15, "minimum": 4, "title": "duration", - "type": "integer" + "type": "integer", + "x-tool-description": "Seconds; omit to let the model choose." }, "generate_audio": { "default": false, "description": "Whether to generate an audio track for the video. Audio roughly\ndoubles the provider cost and is subject to stricter output moderation.\n", "title": "generate_audio", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Audio roughly doubles provider cost and tightens output moderation." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -19932,22 +20158,26 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output videos are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ "prompt" ], - "type": "object" + "type": "object", + "x-tool-description": "First frame: image_asset_identifier (required). Final frame: end_image_asset_identifier (optional)." }, "GenerateVideoSeedDance25Response": { "description": "Acknowledgement that the request was accepted. The generated video is not\npart of this response: poll `GET /v2/generations/{generation_id}` with\nthe returned `generation_id`, or receive it at your `webhook_url`.\nVideo links expire after a limited time, so download any video you\nwant to keep.\n", @@ -19994,7 +20224,8 @@ "maxLength": 2000, "minLength": 1, "title": "prompt", - "type": "string" + "type": "string", + "x-tool-description": "Describe the video to generate." }, "aspect_ratio": { "$ref": "#/components/schemas/SeedDance2AspectRatio" @@ -20008,13 +20239,15 @@ "maximum": 30, "minimum": 4, "title": "duration", - "type": "integer" + "type": "integer", + "x-tool-description": "Seconds; omit to let the model choose." }, "generate_audio": { "default": false, "description": "Whether to generate an audio track for the video. Audio roughly\ndoubles the provider cost and is subject to stricter output moderation.\n", "title": "generate_audio", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Audio roughly doubles provider cost and tightens output moderation." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -20022,18 +20255,21 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, "title": "private", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output video is added to it when the request completes.", "title": "target_collection_id", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -20051,7 +20287,8 @@ "1080p" ], "title": "SeedDance25Resolution", - "type": "string" + "type": "string", + "x-tool-description": "Output resolution tier." }, "SeedDance25DurationSeconds": { "description": "The length of the generated video in seconds. When omitted, the model\npicks the best duration for the prompt (\"auto\").\n", @@ -20059,7 +20296,8 @@ "maximum": 30, "minimum": 4, "title": "duration", - "type": "integer" + "type": "integer", + "x-tool-description": "Seconds; omit to let the model choose." }, "GenerateVideoSeedDance25ImageToVideoRequest": { "description": "Request body for Seedance 2.5 image-to-video generation.\nUpload the first frame as `image`, and optionally a final frame as\n`end_image`, using `multipart/form-data`. The video takes its aspect\nratio from the first frame, so there is no `aspect_ratio` field.\n", @@ -20070,12 +20308,14 @@ "$ref": "#/components/schemas/AssetIdentifier" } ], - "description": "A reference to an image already stored with Ideogram to use as the first frame, in place of uploading `image`. Only image assets are accepted." + "description": "A reference to an image already stored with Ideogram to use as the first frame, in place of uploading `image`. Only image assets are accepted.", + "x-tool-description": "Stored image asset for the first frame." }, "image": { "description": "The first-frame image to animate, in a common format such as JPEG, PNG, or WEBP, up to 50MB. Multipart requests only. The uploaded image is used for this request only and is not stored.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "First frame (JPEG/PNG/WEBP, max 50MB). Multipart only; used for this request, not stored." }, "end_image_asset_identifier": { "allOf": [ @@ -20083,19 +20323,22 @@ "$ref": "#/components/schemas/AssetIdentifier" } ], - "description": "An optional final frame, as a reference to an image already stored with Ideogram. When supplied, the generated video transitions from the first frame to this one. Only image assets are accepted." + "description": "An optional final frame, as a reference to an image already stored with Ideogram. When supplied, the generated video transitions from the first frame to this one. Only image assets are accepted.", + "x-tool-description": "Stored image asset for the final frame; the video transitions from the first frame to it." }, "end_image": { "description": "An optional final frame, in a common format such as JPEG, PNG, or WEBP, up to 50MB. Multipart requests only. When supplied, the video transitions from the first frame to this one.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "Final frame (JPEG/PNG/WEBP, max 50MB). Multipart only; the video transitions from the first frame to it." }, "prompt": { "description": "A natural-language prompt describing how the first frame should animate.", "example": "The camera slowly pans right as the waves roll in.", "maxLength": 2000, "minLength": 1, - "type": "string" + "type": "string", + "x-tool-description": "Describe how to animate the first frame." }, "resolution": { "$ref": "#/components/schemas/SeedDance25Resolution" @@ -20106,13 +20349,15 @@ "maximum": 30, "minimum": 4, "title": "duration", - "type": "integer" + "type": "integer", + "x-tool-description": "Seconds; omit to let the model choose." }, "generate_audio": { "default": false, "description": "Whether to generate an audio track for the video. Audio roughly\ndoubles the provider cost and is subject to stricter output moderation.\n", "title": "generate_audio", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Audio roughly doubles provider cost and tightens output moderation." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -20120,22 +20365,26 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output video is added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ "prompt" ], - "type": "object" + "type": "object", + "x-tool-description": "First frame: image_asset_identifier (required). Final frame: end_image_asset_identifier (optional)." }, "GenerateVideoMinimaxH3TextToVideoRequest": { "description": "Request body for MiniMax H3 text-to-video generation.", @@ -20155,7 +20404,8 @@ "maxLength": 2000, "minLength": 1, "title": "prompt", - "type": "string" + "type": "string", + "x-tool-description": "Describe the video to generate." }, "aspect_ratio": { "$ref": "#/components/schemas/MinimaxH3AspectRatio" @@ -20178,18 +20428,21 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, "title": "private", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output video is added to it when the request completes.", "title": "target_collection_id", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -20233,12 +20486,14 @@ "$ref": "#/components/schemas/AssetIdentifier" } ], - "description": "A reference to an image already stored with Ideogram to use as the first frame, in place of uploading `image`. Only image assets are accepted." + "description": "A reference to an image already stored with Ideogram to use as the first frame, in place of uploading `image`. Only image assets are accepted.", + "x-tool-description": "Stored image asset for the first frame." }, "image": { "description": "The first-frame image to animate, in a common format such as JPEG, PNG, or WEBP, up to 50MB. Multipart requests only. The uploaded image is used for this request only and is not stored.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "First frame (JPEG/PNG/WEBP, max 50MB). Multipart only; used for this request, not stored." }, "end_image_asset_identifier": { "allOf": [ @@ -20246,19 +20501,22 @@ "$ref": "#/components/schemas/AssetIdentifier" } ], - "description": "An optional final frame, as a reference to an image already stored with Ideogram. When supplied, the generated video transitions from the first frame to this one. Only image assets are accepted." + "description": "An optional final frame, as a reference to an image already stored with Ideogram. When supplied, the generated video transitions from the first frame to this one. Only image assets are accepted.", + "x-tool-description": "Stored image asset for the final frame; the video transitions from the first frame to it." }, "end_image": { "description": "An optional final frame, in a common format such as JPEG, PNG, or WEBP, up to 50MB. Multipart requests only. When supplied, the video transitions from the first frame to this one.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "Final frame (JPEG/PNG/WEBP, max 50MB). Multipart only; the video transitions from the first frame to it." }, "prompt": { "description": "A natural-language prompt describing how the first frame should animate.", "example": "The camera slowly pans right as the waves roll in.", "maxLength": 2000, "minLength": 1, - "type": "string" + "type": "string", + "x-tool-description": "Describe how to animate the first frame." }, "resolution": { "$ref": "#/components/schemas/MinimaxH3Resolution" @@ -20278,22 +20536,26 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output video is added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ "prompt" ], - "type": "object" + "type": "object", + "x-tool-description": "First frame: image_asset_identifier (required). Final frame: end_image_asset_identifier (optional)." }, "GenerateVideoKlingV3Response": { "description": "Acknowledgement that the request was accepted. The generated video is not\npart of this response: poll `GET /v2/generations/{generation_id}` with\nthe returned `generation_id`, or receive it at your `webhook_url`.\nVideo links expire after a limited time, so download any video you\nwant to keep.\n", @@ -20342,13 +20604,15 @@ "maxLength": 2000, "minLength": 1, "title": "prompt", - "type": "string" + "type": "string", + "x-tool-description": "Describe the video to generate." }, "negative_prompt": { "description": "Description of what to keep out of the video. Descriptions in the prompt take precedence over descriptions in the negative prompt.", "maxLength": 2000, "title": "negative_prompt", - "type": "string" + "type": "string", + "x-tool-description": "What to exclude; prompt takes precedence." }, "aspect_ratio": { "$ref": "#/components/schemas/KlingV3AspectRatio" @@ -20365,7 +20629,8 @@ "default": false, "description": "Whether to generate an audio track for the video. Audio roughly\ndoubles the provider cost and is subject to stricter output moderation.\n", "title": "generate_audio", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Audio roughly doubles provider cost and tightens output moderation." }, "shot_type": { "$ref": "#/components/schemas/KlingV3ShotType" @@ -20377,7 +20642,8 @@ "maximum": 1, "minimum": 0, "title": "cfg_scale", - "type": "number" + "type": "number", + "x-tool-description": "Prompt fidelity (0–1, default 0.5); lower allows more freedom." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -20385,18 +20651,21 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, "title": "private", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output videos are added to it when the request completes.", "title": "target_collection_id", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -20414,12 +20683,14 @@ "$ref": "#/components/schemas/AssetIdentifier" } ], - "description": "A reference to an image already stored with Ideogram to use as the first frame, in place of uploading `image`. Only image assets are accepted." + "description": "A reference to an image already stored with Ideogram to use as the first frame, in place of uploading `image`. Only image assets are accepted.", + "x-tool-description": "Stored image asset for the first frame." }, "image": { "description": "The first-frame image to animate, in a common format such as JPEG, PNG, or WEBP, up to 50MB. Multipart requests only. The uploaded image is used for this request only and is not stored.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "First frame (JPEG/PNG/WEBP, max 50MB). Multipart only; used for this request, not stored." }, "end_image_asset_identifier": { "allOf": [ @@ -20427,24 +20698,28 @@ "$ref": "#/components/schemas/AssetIdentifier" } ], - "description": "An optional final frame, as a reference to an image already stored with Ideogram. When supplied, the generated video transitions from the first frame to this one. Only image assets are accepted." + "description": "An optional final frame, as a reference to an image already stored with Ideogram. When supplied, the generated video transitions from the first frame to this one. Only image assets are accepted.", + "x-tool-description": "Stored image asset for the final frame; the video transitions from the first frame to it." }, "end_image": { "description": "An optional final frame, in a common format such as JPEG, PNG, or WEBP, up to 50MB. Multipart requests only. When supplied, the video transitions from the first frame to this one.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "Final frame (JPEG/PNG/WEBP, max 50MB). Multipart only; the video transitions from the first frame to it." }, "prompt": { "description": "A natural-language prompt describing how the first frame should animate.", "example": "The camera slowly pans right as the waves roll in.", "maxLength": 2000, "minLength": 1, - "type": "string" + "type": "string", + "x-tool-description": "Describe how to animate the first frame." }, "negative_prompt": { "description": "Description of what to keep out of the video. Descriptions in the prompt take precedence over descriptions in the negative prompt.", "maxLength": 2000, - "type": "string" + "type": "string", + "x-tool-description": "What to exclude; prompt takes precedence." }, "duration": { "description": "The length of the generated video in seconds. Defaults to 5 seconds\nwhen omitted.\n", @@ -20458,7 +20733,8 @@ "default": false, "description": "Whether to generate an audio track for the video. Audio roughly\ndoubles the provider cost and is subject to stricter output moderation.\n", "title": "generate_audio", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Audio roughly doubles provider cost and tightens output moderation." }, "shot_type": { "$ref": "#/components/schemas/KlingV3ShotType" @@ -20470,7 +20746,8 @@ "maximum": 1, "minimum": 0, "title": "cfg_scale", - "type": "number" + "type": "number", + "x-tool-description": "Prompt fidelity (0–1, default 0.5); lower allows more freedom." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -20478,22 +20755,26 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output videos are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ "prompt" ], - "type": "object" + "type": "object", + "x-tool-description": "First frame: image_asset_identifier (required). Final frame: end_image_asset_identifier (optional)." }, "GenerateVideoSeedDance2ReferenceToVideoRequest": { "description": "Request body for Seedance 2.0 reference-to-video. Upload\n`reference_images` (at least one is required) and optional\n`reference_audios` using `multipart/form-data`. The prompt refers to\nthem by position: `@Image1`, `@Audio1`, and so on.\n", @@ -20512,7 +20793,8 @@ }, "maxItems": 9, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "Stored image assets in prompt order." }, "reference_images": { "description": "Reference images, in prompt order. Common formats such as JPEG, PNG, and WEBP are supported, up to 50MB each. Multipart requests only. Uploaded images are used for this request only and are not stored.", @@ -20522,7 +20804,8 @@ }, "maxItems": 9, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "Reference images in prompt order (JPEG/PNG/WEBP, max 50MB each). Multipart only; used for this request, not stored." }, "reference_video_asset_identifiers": { "description": "Uploaded or generated videos to use as references, by reference, in prompt order. Each clip must be between 2 and 15 seconds long, and the clips must total no more than 15 seconds. Upload video files first and pass their asset identifiers.", @@ -20541,7 +20824,8 @@ }, "maxItems": 3, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "MP3/WAV in prompt order. Multipart only; max 15MB/file, 2–15s each, total <=15s. Requires a reference image. Used for this request, not stored." }, "aspect_ratio": { "$ref": "#/components/schemas/SeedDance2AspectRatio" @@ -20555,13 +20839,15 @@ "maximum": 15, "minimum": 4, "title": "duration", - "type": "integer" + "type": "integer", + "x-tool-description": "Seconds; omit to let the model choose." }, "generate_audio": { "default": false, "description": "Whether to generate an audio track for the video. Audio roughly\ndoubles the provider cost and is subject to stricter output moderation.\n", "title": "generate_audio", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Audio roughly doubles provider cost and tightens output moderation." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -20569,22 +20855,26 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output videos are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ "prompt" ], - "type": "object" + "type": "object", + "x-tool-description": "Use at least one image or video asset reference, addressed as @Image1 and @Video1 in prompt order." }, "GenerateVideoSeedDance25ReferenceToVideoRequest": { "description": "Request body for Seedance 2.5 reference-to-video. Upload\n`reference_images` (at least one is required) and optional\n`reference_audios` using `multipart/form-data`. The prompt refers to\nthem by position: `[Image1]`, `[Audio1]`, and so on.\n", @@ -20603,7 +20893,8 @@ }, "maxItems": 9, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "Stored image assets in prompt order." }, "reference_images": { "description": "Reference images, in prompt order. Common formats such as JPEG, PNG, and WEBP are supported, up to 50MB each. Multipart requests only. Uploaded images are used for this request only and are not stored.", @@ -20613,7 +20904,8 @@ }, "maxItems": 9, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "Reference images in prompt order (JPEG/PNG/WEBP, max 50MB each). Multipart only; used for this request, not stored." }, "reference_video_asset_identifiers": { "description": "Uploaded or generated videos to use as references, by reference, in prompt order. Each clip must be between 2 and 30 seconds long, and the clips must total no more than 30 seconds. Upload video files first and pass their asset identifiers.", @@ -20632,7 +20924,8 @@ }, "maxItems": 10, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "MP3/WAV in prompt order. Multipart only; max 15MB/file, 2–30s each, total <=30s. Requires a reference image. Used for this request, not stored." }, "aspect_ratio": { "$ref": "#/components/schemas/SeedDance2AspectRatio" @@ -20646,13 +20939,15 @@ "maximum": 30, "minimum": 4, "title": "duration", - "type": "integer" + "type": "integer", + "x-tool-description": "Seconds; omit to let the model choose." }, "generate_audio": { "default": false, "description": "Whether to generate an audio track for the video. Audio roughly\ndoubles the provider cost and is subject to stricter output moderation.\n", "title": "generate_audio", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Audio roughly doubles provider cost and tightens output moderation." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -20660,22 +20955,26 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output videos are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ "prompt" ], - "type": "object" + "type": "object", + "x-tool-description": "Use at least one image or video asset reference, addressed as [Image1] and [Video1] in prompt order." }, "EditVideoMinimaxH3ReferenceToVideoRequest": { "description": "Request body for MiniMax H3 reference-to-video. The prompt addresses\nreferences by position: `Image 1`, `Audio 1`, and so on. References\nare optional; with none, the video is produced from the prompt alone.\nAudio requires an image alongside it, and audio references must total\nat most 15 seconds.\n", @@ -20694,7 +20993,8 @@ }, "maxItems": 9, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "Stored image assets in prompt order." }, "reference_images": { "description": "Images to use as references (max size 50MB each), as raw bytes, in prompt order; only common image formats such as JPEG, PNG, and WEBP are supported. Uploaded images are used for this request only and are not stored.", @@ -20704,7 +21004,8 @@ }, "maxItems": 9, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "Reference images in prompt order (JPEG/PNG/WEBP, max 50MB each); used for this request, not stored." }, "reference_video_asset_identifiers": { "description": "Videos generated or uploaded with Ideogram to use as motion references, by reference, in prompt order. Each clip must be between 2 and 15 seconds long, and the clips must total no more than 15 seconds. Raw video uploads are not accepted.", @@ -20723,7 +21024,8 @@ }, "maxItems": 3, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "MP3/WAV, prompt order: Audio 1–3. Multipart only; max 15MB/file, 2–15s each; audio+video total <=15s. Requires an image/video reference; max 12 references total. Used for this request, not stored." }, "aspect_ratio": { "$ref": "#/components/schemas/MinimaxH3AspectRatio" @@ -20749,22 +21051,26 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output videos are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ "prompt" ], - "type": "object" + "type": "object", + "x-tool-description": "Optional image/video asset references, addressed as Image 1 and Video 1 in prompt order." }, "EditVideoSeedDance2Request": { "description": "Request body for a Seedance 2.0 video edit. `video_asset_identifier`\nnames the video being edited and `start_frame_time`/`end_frame_time` mark\nthe span of it the generated clip replaces. The two `is_*_included` flags\nanchor the generated clip on the span's own end frames; at least one must\nbe anchored.\n", @@ -20845,13 +21151,15 @@ "maximum": 15, "minimum": 4, "title": "duration", - "type": "integer" + "type": "integer", + "x-tool-description": "Seconds; omit to let the model choose." }, "generate_audio": { "default": false, "description": "Whether to generate an audio track for the video. Audio roughly\ndoubles the provider cost and is subject to stricter output moderation.\n", "title": "generate_audio", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Audio roughly doubles provider cost and tightens output moderation." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -20859,18 +21167,21 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, "title": "private", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output videos are added to it when the request completes.", "title": "target_collection_id", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -20925,7 +21236,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. Completed outputs are added to it automatically.", @@ -21016,7 +21328,8 @@ }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. Completed outputs are added to it automatically.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." }, "private": { "description": "Whether to keep the result out of the public gallery. When omitted,\ndefaults to your plan's setting, or public if your plan has none.\nEnterprise generations are always private.\n", @@ -21042,6 +21355,7 @@ "default": false, "description": "When false (the default), wait for and return the foreground image. When true, return as soon as the request is accepted; poll `GET /v2/generations/{generation_id}` for the result.", "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously.", "x-playground-field": { "label": "Async", "order": 3, @@ -21060,7 +21374,8 @@ }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. Completed outputs are added to it automatically.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." }, "private": { "description": "Whether to keep the result out of the public gallery. Enterprise generations are always private.", @@ -21075,7 +21390,8 @@ "required": [ "image_asset_identifier" ], - "type": "object" + "type": "object", + "x-tool-description": "Requires image_asset_identifier (uploaded or generated image)." }, "ReplaceBackgroundResponse": { "description": "Acknowledgement that the request was accepted.", @@ -21128,7 +21444,8 @@ "maximum": 8, "minimum": 1, "title": "NumImages", - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "private": { "description": "Whether to keep the result private. When omitted, defaults to your\nplan's setting. Enterprise generations are always private.\n", @@ -21140,13 +21457,15 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "required": [ "prompt" ], - "type": "object" + "type": "object", + "x-tool-description": "Requires image_asset_identifier. The prompt describes the new background; the foreground is preserved automatically." }, "ReplaceBackgroundQuality": { "description": "The quality tier for the edit. Higher tiers may improve detail and\ntake longer to complete.\n", @@ -21192,7 +21511,8 @@ "maximum": 8, "minimum": 1, "title": "NumImages", - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "private": { "description": "Whether to keep the result private. When omitted, defaults to your\nplan's setting. Enterprise generations are always private.\n", @@ -21204,7 +21524,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "required": [ @@ -21983,7 +22304,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "width": { "description": "The output width in pixels.", @@ -22038,7 +22360,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -22058,7 +22381,8 @@ "image": { "description": "The source image to upscale, in a common format such as JPEG, PNG, or WEBP, up to 50MB. Multipart requests only. The uploaded image is used for this request only and is not stored.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "Source image (JPEG/PNG/WEBP, max 50MB). Multipart only; used for this request, not stored." }, "upscale_factor": { "default": "x2", @@ -22068,14 +22392,16 @@ "x4", "x8" ], - "type": "string" + "type": "string", + "x-tool-description": "String scale (e.g. x2 doubles both dimensions); output max 8192px/side." }, "strength": { "description": "Overall intensity of the enhancement model, from 0.01 to 1. Higher values look crisper but can turn unrealistic. Omit to let the model choose per image.", "format": "float", "maximum": 1, "minimum": 0.01, - "type": "number" + "type": "number", + "x-tool-description": "Enhancement intensity (0.01–1). Higher: crisper, less realistic. Omit for model-selected strength." }, "sharpen": { "description": "Edge sharpening applied after enlarging, from 0 to 1. Omit to let the model choose per image.", @@ -22131,12 +22457,14 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "async": { "default": false, "description": "When false (the default), the request blocks until the upscaled image is ready and returns it in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` for the result.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -22144,19 +22472,23 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, - "type": "object" + "type": "object", + "x-tool-description": "Requires image_asset_identifier (uploaded or generated image)." }, "UpscaleImageTopazWonder35Response": { "description": "Synchronous requests (the default) include the upscaled image in `data`.\nAsync requests omit `data`; poll `GET /v2/generations/{generation_id}`\nwith the returned `generation_id`. `seed` is the seed actually used,\nand `width` and `height` are the output dimensions.\n", @@ -22200,7 +22532,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "width": { "description": "The output width in pixels.", @@ -22231,7 +22564,8 @@ "image": { "description": "The source image to upscale, in a common format such as JPEG, PNG, or WEBP, up to 50MB. Multipart requests only. The uploaded image is used for this request only and is not stored.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "Source image (JPEG/PNG/WEBP, max 50MB). Multipart only; used for this request, not stored." }, "upscale_factor": { "default": "x2", @@ -22241,7 +22575,8 @@ "x4", "x8" ], - "type": "string" + "type": "string", + "x-tool-description": "String scale (e.g. x2 doubles both dimensions); output max 8192px/side." }, "enhancement_strength": { "default": "high", @@ -22259,12 +22594,14 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "async": { "default": false, "description": "When false (the default), the request blocks until the upscaled image is ready and returns it in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` for the result.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -22272,19 +22609,23 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, - "type": "object" + "type": "object", + "x-tool-description": "Requires image_asset_identifier (uploaded or generated image)." }, "UpscaleImageTopazStandardV2Response": { "description": "Synchronous requests (the default) include the upscaled image in `data`.\nAsync requests omit `data`; poll `GET /v2/generations/{generation_id}`\nwith the returned `generation_id`. `seed` is the seed actually used,\nand `width` and `height` are the output dimensions.\n", @@ -22328,7 +22669,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "width": { "description": "The output width in pixels.", @@ -22359,7 +22701,8 @@ "image": { "description": "The source image to upscale, in a common format such as JPEG, PNG, or WEBP, up to 50MB. Multipart requests only. The uploaded image is used for this request only and is not stored.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "Source image (JPEG/PNG/WEBP, max 50MB). Multipart only; used for this request, not stored." }, "upscale_factor": { "default": "x2", @@ -22369,14 +22712,16 @@ "x4", "x8" ], - "type": "string" + "type": "string", + "x-tool-description": "String scale (e.g. x2 doubles both dimensions); output max 8192px/side." }, "strength": { "description": "Overall intensity of the enhancement model, from 0.01 to 1. Higher values look crisper but can turn unrealistic. Omit to let the model choose per image.", "format": "float", "maximum": 1, "minimum": 0.01, - "type": "number" + "type": "number", + "x-tool-description": "Enhancement intensity (0.01–1). Higher: crisper, less realistic. Omit for model-selected strength." }, "sharpen": { "description": "Edge sharpening applied after enlarging, from 0 to 1. Omit to let the model choose per image.", @@ -22429,7 +22774,8 @@ "async": { "default": false, "description": "When false (the default), the request blocks until the upscaled image is ready and returns it in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` for the result.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -22437,19 +22783,23 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, - "type": "object" + "type": "object", + "x-tool-description": "Requires image_asset_identifier (uploaded or generated image)." }, "UpscaleImageTopazBloom2Response": { "description": "Synchronous requests (the default) include the upscaled image in `data`.\nAsync requests omit `data`; poll `GET /v2/generations/{generation_id}`\nwith the returned `generation_id`. `seed` is the seed actually used,\nand `width` and `height` are the output dimensions.\n", @@ -22493,7 +22843,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "width": { "description": "The output width in pixels.", @@ -22524,7 +22875,8 @@ "image": { "description": "The source image to upscale, in a common format such as JPEG, PNG, or WEBP, up to 50MB. Multipart requests only. The uploaded image is used for this request only and is not stored.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "Source image (JPEG/PNG/WEBP, max 50MB). Multipart only; used for this request, not stored." }, "upscale_factor": { "default": "x2", @@ -22534,7 +22886,8 @@ "x4", "x8" ], - "type": "string" + "type": "string", + "x-tool-description": "String scale (e.g. x2 doubles both dimensions); output max 8192px/side." }, "prompt": { "default": "", @@ -22560,12 +22913,14 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "async": { "default": false, "description": "When false (the default), the request blocks until the upscaled image is ready and returns it in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` for the result.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -22573,19 +22928,23 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, - "type": "object" + "type": "object", + "x-tool-description": "Requires image_asset_identifier (uploaded or generated image)." }, "UpscaleImageTopazRedefineResponse": { "description": "Synchronous requests (the default) include the upscaled image in `data`.\nAsync requests omit `data`; poll `GET /v2/generations/{generation_id}`\nwith the returned `generation_id`. `seed` is the seed actually used,\nand `width` and `height` are the output dimensions.\n", @@ -22629,7 +22988,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "width": { "description": "The output width in pixels.", @@ -22660,7 +23020,8 @@ "image": { "description": "The source image to upscale, in a common format such as JPEG, PNG, or WEBP, up to 50MB. Multipart requests only. The uploaded image is used for this request only and is not stored.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "Source image (JPEG/PNG/WEBP, max 50MB). Multipart only; used for this request, not stored." }, "upscale_factor": { "default": "x2", @@ -22670,7 +23031,8 @@ "x4", "x8" ], - "type": "string" + "type": "string", + "x-tool-description": "String scale (e.g. x2 doubles both dimensions); output max 8192px/side." }, "prompt": { "default": "", @@ -22756,12 +23118,14 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "async": { "default": false, "description": "When false (the default), the request blocks until the upscaled image is ready and returns it in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` for the result.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -22769,16 +23133,19 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "type": "object" @@ -22825,7 +23192,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "width": { "description": "The output width in pixels.", @@ -22856,7 +23224,8 @@ "image": { "description": "The source image to upscale, in a common format such as JPEG, PNG, or WEBP, up to 50MB. Multipart requests only. The uploaded image is used for this request only and is not stored.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "Source image (JPEG/PNG/WEBP, max 50MB). Multipart only; used for this request, not stored." }, "prompt": { "description": "Optional short guidance for the enhancement, appended to the model's upscaling instruction. When omitted, the image is upscaled as-is.", @@ -22879,12 +23248,14 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "async": { "default": false, "description": "When false (the default), the request blocks until the upscaled image is ready and returns it in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` for the result.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -22892,19 +23263,23 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, - "type": "object" + "type": "object", + "x-tool-description": "Requires image_asset_identifier (uploaded or generated image)." }, "LookbookResponse": { "description": "Acknowledgement that the Lookbook workflow was accepted. Poll\n`GET /v2/generations/{generation_id}` for status and results.\n", @@ -23001,7 +23376,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "required": [ @@ -23080,7 +23456,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "required": [ @@ -23165,7 +23542,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "required": [ @@ -23331,7 +23709,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "required": [ @@ -23383,12 +23762,14 @@ "maximum": 30, "minimum": 4, "title": "duration", - "type": "integer" + "type": "integer", + "x-tool-description": "Seconds; omit to let the model choose." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output video is added to it when the request completes.", "title": "target_collection_id", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -23585,7 +23966,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "required": [ @@ -23680,7 +24062,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "type": "object" @@ -23770,7 +24153,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "required": [ @@ -23859,7 +24243,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "num_images": { "default": 1, @@ -23882,7 +24267,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "required": [ @@ -23900,6 +24286,53 @@ "title": "AdLocalizerQuality", "type": "string" }, + "VectorizerResponse": { + "example": { + "generation_id": "generation_id" + }, + "properties": { + "generation_id": { + "description": "URL-safe base64 generation ID.", + "title": "generation_id", + "type": "string" + } + }, + "required": [ + "generation_id" + ], + "title": "VectorizerResponse", + "type": "object" + }, + "VectorizerRequest": { + "properties": { + "image": { + "description": "JPEG, PNG or WEBP source; at most 50 MB. Multipart only.", + "format": "binary", + "type": "string" + }, + "image_asset_identifier": { + "$ref": "#/components/schemas/AssetIdentifier" + }, + "private": { + "description": "Outputs are private by default. Enterprise outputs are always private.", + "type": "boolean" + }, + "target_collection_id": { + "description": "URL-safe base64 ID of a writable destination collection.", + "type": "string" + }, + "webhook_url": { + "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", + "example": "https://api.example.com/webhooks/ideogram", + "format": "uri", + "maxLength": 2048, + "title": "webhook_url", + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." + } + }, + "type": "object" + }, "AdResizerResponse": { "description": "Acknowledgement that the ad resize was accepted. Poll\n`GET /v2/generations/{generation_id}` for status and results.\n", "example": { @@ -24006,7 +24439,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "required": [ @@ -24087,7 +24521,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "required": [ @@ -24171,7 +24606,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "required": [ @@ -24290,7 +24726,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "num_images": { "default": 1, @@ -24314,7 +24751,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "required": [ @@ -24444,7 +24882,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "required": [ @@ -24623,7 +25062,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "required": [ @@ -24738,7 +25178,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "required": [ @@ -24870,7 +25311,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "required": [ @@ -24956,7 +25398,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "required": [ @@ -25068,7 +25511,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." } }, "type": "object" @@ -25125,7 +25569,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "width": { "description": "The output width in pixels.", @@ -25156,7 +25601,8 @@ "image": { "description": "The source image to upscale, in a common format such as JPEG, PNG, or WEBP, up to 50MB. Multipart requests only. The uploaded image is used for this request only and is not stored.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "Source image (JPEG/PNG/WEBP, max 50MB). Multipart only; used for this request, not stored." }, "upscale_factor": { "default": "x2", @@ -25166,7 +25612,8 @@ "x4", "x8" ], - "type": "string" + "type": "string", + "x-tool-description": "String scale (e.g. x2 doubles both dimensions); output max 8192px/side." }, "seed": { "description": "Random seed. Set for reproducible generation.", @@ -25174,7 +25621,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "internal": { "default": false, @@ -25184,7 +25632,8 @@ "async": { "default": false, "description": "When false (the default), the request blocks until the upscaled image is ready and returns it in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` for the result.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -25192,19 +25641,23 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, - "type": "object" + "type": "object", + "x-tool-description": "Requires image_asset_identifier (uploaded or generated image)." }, "LayerizeDesignIdeogramV3Response": { "description": "Response returned by `POST /v2/design/layerize/ideogram-3`.\nSynchronous requests (the default) include the layerized design in\n`data`. Asynchronous requests omit `data`; poll\n`GET /v2/generations/{generation_id}` with the returned\n`generation_id`. `seed` is the seed that was used, including when you\ndid not set one.\n", @@ -25342,7 +25795,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -25448,7 +25902,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "text_blocks": { "description": "Flat list of detected text regions in the design.", @@ -25492,7 +25947,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "font_candidate_files": { "description": "Candidate font files to make available for text style matching. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB each, maximum 5 files). Multipart requests only.", @@ -25513,7 +25969,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", @@ -25596,10 +26053,12 @@ "image": { "description": "The image to describe (max 10MB). JPEG, PNG, and WebP are supported. Multipart requests only.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "The image to describe (max size 10MB), as raw bytes; only JPEG, PNG, and WebP formats are supported. Multipart requests only." } }, - "type": "object" + "type": "object", + "x-tool-description": "Requires image_asset_identifier (uploaded or generated image)." }, "ImageSafetyError": { "example": { @@ -25770,7 +26229,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -25819,7 +26279,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -25842,7 +26303,8 @@ "negative_prompt": { "description": "Description of what to exclude from the images. The prompt takes precedence over the negative prompt.", "maxLength": 10000, - "type": "string" + "type": "string", + "x-tool-description": "What to exclude; prompt takes precedence." }, "seed": { "description": "Random seed. Set for reproducible generation.", @@ -25850,7 +26312,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "resolution": { "$ref": "#/components/schemas/ResolutionV3" @@ -25875,14 +26338,16 @@ } ], "default": "auto", - "description": "Controls magic prompt (automatic prompt rewriting). Defaults to `auto`." + "description": "Controls magic prompt (automatic prompt rewriting). Defaults to `auto`.", + "x-tool-description": "Automatic prompt rewriting; default auto." }, "num_images": { "default": 1, "description": "The number of images to generate.", "maximum": 8, "minimum": 1, - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "color_palette": { "$ref": "#/components/schemas/IdeogramColorPalette" @@ -25897,7 +26362,8 @@ "items": { "$ref": "#/components/schemas/StyleCode" }, - "type": "array" + "type": "array", + "x-tool-description": "8-character hex style codes. Allowed combinations with other style controls depend on the operation." }, "style_type": { "$ref": "#/components/schemas/IdeogramV3StyleType" @@ -25908,15 +26374,18 @@ "$ref": "#/components/schemas/IdeogramV3StylePreset" } ], - "description": "A predefined style preset to apply to the generated images. Cannot be combined with style codes or style references." + "description": "A predefined style preset to apply to the generated images. Cannot be combined with style codes or style references.", + "x-tool-description": "Style preset; excludes style codes and style references." }, "style_reference_collection_id": { "description": "A saved style to apply, by its URL-safe base64 collection id. Cannot be combined with `style_reference_images`.", - "type": "string" + "type": "string", + "x-tool-description": "Saved-style collection ID (URL-safe base64); excludes style_reference_asset_identifiers." }, "style_reference_collection_version_id": { "description": "Optional URL-safe base64 version id of the saved style in `style_reference_collection_id`. Ignored without it.", - "type": "string" + "type": "string", + "x-tool-description": "URL-safe base64 version ID of style_reference_collection_id; ignored without it." }, "style_reference_asset_identifiers": { "description": "Existing upload or generated image assets to use as style references, by reference. Cannot be combined with `style_reference_collection_id` or `style_reference_images`.", @@ -25925,7 +26394,8 @@ }, "maxItems": 10, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "Style-reference image assets; cannot combine with style_reference_collection_id." }, "style_reference_images": { "description": "Images to use as style references (max 10, max 25MB each; JPEG, PNG, or WEBP).", @@ -25939,12 +26409,14 @@ "enable_copyright_detection": { "description": "Optional. Run copyright detection on the generated images. Adds latency; flagged images are returned with `is_image_safe: false`.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Check outputs for copyright; adds latency. Flagged images have is_image_safe: false." }, "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -25952,16 +26424,19 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -26011,7 +26486,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -26040,7 +26516,8 @@ "negative_prompt": { "description": "Description of what to exclude from the images. The prompt takes precedence over the negative prompt.", "maxLength": 10000, - "type": "string" + "type": "string", + "x-tool-description": "What to exclude; prompt takes precedence." }, "seed": { "description": "Random seed. Set for reproducible generation.", @@ -26048,7 +26525,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "resolution": { "$ref": "#/components/schemas/ResolutionV3" @@ -26072,14 +26550,16 @@ } ], "default": "auto", - "description": "Controls magic prompt (automatic prompt rewriting). Defaults to `auto`." + "description": "Controls magic prompt (automatic prompt rewriting). Defaults to `auto`.", + "x-tool-description": "Automatic prompt rewriting; default auto." }, "num_images": { "default": 1, "description": "The number of images to generate.", "maximum": 8, "minimum": 1, - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "color_palette": { "$ref": "#/components/schemas/IdeogramColorPalette" @@ -26094,7 +26574,8 @@ "items": { "$ref": "#/components/schemas/StyleCode" }, - "type": "array" + "type": "array", + "x-tool-description": "8-character hex style codes. Allowed combinations with other style controls depend on the operation." }, "style_preset": { "allOf": [ @@ -26102,7 +26583,8 @@ "$ref": "#/components/schemas/IdeogramV3StylePreset" } ], - "description": "A predefined style preset to apply to the generated images. Cannot be combined with style codes or style references." + "description": "A predefined style preset to apply to the generated images. Cannot be combined with style codes or style references.", + "x-tool-description": "Style preset; excludes style codes and style references." }, "style_reference_asset_identifiers": { "description": "Existing upload or generated image assets to use as style references, by reference. Cannot be combined with `style_reference_images`.", @@ -26111,7 +26593,8 @@ }, "maxItems": 10, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "Style-reference image assets." }, "style_reference_images": { "description": "Images to use as style references (max 10, max 25MB each; JPEG, PNG, or WEBP). Multipart requests only.", @@ -26125,12 +26608,14 @@ "enable_copyright_detection": { "description": "Optional. Run copyright detection on the generated images. Adds latency; flagged images are returned with `is_image_safe: false`.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Check outputs for copyright; adds latency. Flagged images have is_image_safe: false." }, "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -26138,16 +26623,19 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -26198,7 +26686,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -26224,11 +26713,12 @@ }, "properties": { "prompt": { - "description": "The prompt to generate images from, in natural language or as a\nstructured Ideogram 4.0 JSON prompt. A structured JSON prompt is\nused as is and skips magic prompt.\n", + "description": "The prompt to generate images from, in natural language or as a\nstructured Ideogram 4.0 JSON prompt. A structured JSON prompt is\nused as is and skips magic prompt unless `magic_prompt` is `on`.\n", "maxLength": 10000, "minLength": 1, "title": "prompt", "type": "string", + "x-tool-description": "Natural language or Ideogram 4.0 JSON. JSON is used unchanged, skipping rewriting unless magic_prompt is on.", "x-playground-field": { "label": "Prompt", "control": "textarea", @@ -26245,7 +26735,8 @@ ], "default": "auto", "description": "Controls how a natural-language prompt is prepared. `auto` (the\ndefault) and `on` rewrite and expand the prompt before generation.\n`off` keeps your wording and only converts it into a structured\nprompt. A valid structured JSON prompt skips magic prompt unless\n`magic_prompt` is `on`.\n", - "title": "magic_prompt" + "title": "magic_prompt", + "x-tool-description": "For natural language, `auto` and `on` rewrite; `off` only converts to structured format. Structured JSON bypasses rewriting unless `on`." }, "seed": { "description": "Random seed. Set for reproducible generation.", @@ -26253,7 +26744,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "num_images": { "default": 1, @@ -26261,7 +26753,8 @@ "maximum": 8, "minimum": 1, "title": "num_images", - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "resolution": { "allOf": [ @@ -26271,6 +26764,7 @@ ], "description": "Optional. When supplied, the images are generated at this\nresolution. When omitted, an aspect ratio is picked automatically\nbased on the prompt.\n", "title": "resolution", + "x-tool-description": "Output resolution; omit to choose an aspect ratio from the prompt.", "x-playground-field": { "label": "Resolution", "order": 2, @@ -26314,6 +26808,7 @@ "nullable": true, "title": "enable_copyright_detection", "type": "boolean", + "x-tool-description": "Check outputs for copyright; adds latency. Flagged images have is_image_safe: false.", "x-playground-field": { "label": "Copyright detection", "order": 4, @@ -26324,7 +26819,8 @@ "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.", "title": "async", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -26332,18 +26828,21 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, "title": "private", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", "title": "target_collection_id", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -26394,7 +26893,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -26427,11 +26927,12 @@ }, "properties": { "prompt": { - "description": "The prompt to generate images from, in natural language or as a\nstructured Ideogram 4.0 JSON prompt. A structured JSON prompt is\nused as is and skips magic prompt.\n", + "description": "The prompt to generate images from, in natural language or as a\nstructured Ideogram 4.0 JSON prompt. A structured JSON prompt is\nused as is and skips magic prompt unless `magic_prompt` is `on`.\n", "maxLength": 10000, "minLength": 1, "title": "prompt", - "type": "string" + "type": "string", + "x-tool-description": "Natural language or Ideogram 4.0 JSON. JSON is used unchanged, skipping rewriting unless magic_prompt is on." }, "custom_model_uri": { "description": "The custom model URI, in the form `model//version/`. You or your organization must have access to the model. The model determines which rendering speeds are supported.", @@ -26466,7 +26967,8 @@ ], "default": "auto", "description": "Controls how a natural-language prompt is prepared. `auto` (the\ndefault) and `on` rewrite and expand the prompt before generation.\n`off` keeps your wording and only converts it into a structured\nprompt. A valid structured JSON prompt skips magic prompt unless\n`magic_prompt` is `on`.\n", - "title": "magic_prompt" + "title": "magic_prompt", + "x-tool-description": "For natural language, `auto` and `on` rewrite; `off` only converts to structured format. Structured JSON bypasses rewriting unless `on`." }, "seed": { "description": "Random seed. Set for reproducible generation.", @@ -26474,7 +26976,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "num_images": { "default": 1, @@ -26482,7 +26985,8 @@ "maximum": 8, "minimum": 1, "title": "num_images", - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "resolution": { "allOf": [ @@ -26491,7 +26995,8 @@ } ], "description": "Optional. When supplied, the images are generated at this\nresolution. When omitted, an aspect ratio is picked automatically\nbased on the prompt.\n", - "title": "resolution" + "title": "resolution", + "x-tool-description": "Output resolution; omit to choose an aspect ratio from the prompt." }, "rendering_speed": { "description": "The rendering speed to use. When omitted, a speed supported by the custom model is used.", @@ -26507,13 +27012,15 @@ "description": "Optional. Run copyright detection on the generated images. Adds latency; flagged images are returned with `is_image_safe: false`.", "nullable": true, "title": "enable_copyright_detection", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Check outputs for copyright; adds latency. Flagged images have is_image_safe: false." }, "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.", "title": "async", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -26521,18 +27028,21 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, "title": "private", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", "title": "target_collection_id", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -26612,7 +27122,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -26661,7 +27172,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -26687,23 +27199,27 @@ "$ref": "#/components/schemas/AssetIdentifier" } ], - "description": "The existing upload or generated image to transform. Supply this or `image`, never both. Omit `resolution` and `aspect_ratio` to keep its shape; a different requested shape center-crops the source to fit first." + "description": "The existing upload or generated image to transform. Supply this or `image`, never both. Omit `resolution` and `aspect_ratio` to keep its shape; a different requested shape center-crops the source to fit first.", + "x-tool-description": "Source image asset. Omit resolution and aspect_ratio to keep its shape; shape changes center-crop it first." }, "image": { "description": "The image to transform (max 50MB). JPEG, PNG, and WEBP are supported. Multipart requests only. The uploaded image is saved to your account as the remix's source. Omit `resolution` and `aspect_ratio` to keep its shape; a different requested shape center-crops the source to fit first.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "Source image (JPEG/PNG/WEBP, max 50MB). Multipart only; saved to your account. Omit resolution and aspect_ratio to keep its shape; shape changes center-crop it first." }, "image_weight": { "description": "Optional. How closely the result should follow the source image, from 1 to 100. When omitted the server chooses a value from your prompt, which is the usual case.", "maximum": 100, "minimum": 1, - "type": "integer" + "type": "integer", + "x-tool-description": "Source fidelity (1–100); omit for prompt-based strength." }, "negative_prompt": { "description": "Description of what to exclude from the images. Descriptions in the prompt take precedence over descriptions in the negative prompt.", "maxLength": 10000, - "type": "string" + "type": "string", + "x-tool-description": "What to exclude; prompt takes precedence." }, "seed": { "description": "Random seed. Set for reproducible generation.", @@ -26711,7 +27227,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "resolution": { "$ref": "#/components/schemas/ResolutionV3" @@ -26736,14 +27253,16 @@ } ], "default": "auto", - "description": "Controls magic prompt (automatic prompt rewriting). Defaults to `auto`." + "description": "Controls magic prompt (automatic prompt rewriting). Defaults to `auto`.", + "x-tool-description": "Automatic prompt rewriting; default auto." }, "num_images": { "default": 1, "description": "The number of images to generate.", "maximum": 8, "minimum": 1, - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "color_palette": { "$ref": "#/components/schemas/IdeogramColorPalette" @@ -26758,7 +27277,8 @@ "items": { "$ref": "#/components/schemas/StyleCode" }, - "type": "array" + "type": "array", + "x-tool-description": "8-character hex style codes. Allowed combinations with other style controls depend on the operation." }, "style_type": { "$ref": "#/components/schemas/IdeogramV3StyleType" @@ -26769,15 +27289,18 @@ "$ref": "#/components/schemas/IdeogramV3StylePreset" } ], - "description": "A predefined style preset to apply to the remixed images. Cannot be combined with style codes or style references." + "description": "A predefined style preset to apply to the remixed images. Cannot be combined with style codes or style references.", + "x-tool-description": "Style preset; excludes style codes and style references." }, "style_reference_collection_id": { "description": "A saved style to apply, by its URL-safe base64 collection id. Cannot be combined with `style_reference_images`.", - "type": "string" + "type": "string", + "x-tool-description": "Saved-style collection ID (URL-safe base64); excludes style_reference_asset_identifiers." }, "style_reference_collection_version_id": { "description": "Optional URL-safe base64 version id pinning a specific version of the `style_reference_collection_id` collection. Ignored without it.", - "type": "string" + "type": "string", + "x-tool-description": "URL-safe base64 version ID of style_reference_collection_id; ignored without it." }, "style_reference_asset_identifiers": { "description": "Existing upload or generated image assets to use as style references, by reference. Cannot be combined with `style_reference_collection_id` or `style_reference_images`.", @@ -26786,7 +27309,8 @@ }, "maxItems": 10, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "Style-reference image assets; cannot combine with style_reference_collection_id." }, "style_reference_images": { "description": "Images to use as style references (max 10, max 25MB each). JPEG, PNG, and WEBP are supported.", @@ -26800,12 +27324,14 @@ "enable_copyright_detection": { "description": "Optional. Opt this request into post-generation copyright detection. Adds detection latency; flagged images come back with `is_image_safe: false`.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Check outputs for copyright; adds latency. Flagged images have is_image_safe: false." }, "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll for completion and results with `GET /v2/generations/{generation_id}` using the returned `generation_id`.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -26813,16 +27339,19 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -26872,7 +27401,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -26904,23 +27434,27 @@ "$ref": "#/components/schemas/AssetIdentifier" } ], - "description": "The existing upload or generated image to transform. Supply this or `image`, never both. Omit `resolution` and `aspect_ratio` to keep its shape; a different requested shape center-crops the source to fit first." + "description": "The existing upload or generated image to transform. Supply this or `image`, never both. Omit `resolution` and `aspect_ratio` to keep its shape; a different requested shape center-crops the source to fit first.", + "x-tool-description": "Source image asset. Omit resolution and aspect_ratio to keep its shape; shape changes center-crop it first." }, "image": { "description": "The image to transform (max 50MB). JPEG, PNG, and WEBP are supported. Multipart requests only. The uploaded image is saved to your account as the remix's source. Omit `resolution` and `aspect_ratio` to keep its shape; a different requested shape center-crops the source to fit first.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "Source image (JPEG/PNG/WEBP, max 50MB). Multipart only; saved to your account. Omit resolution and aspect_ratio to keep its shape; shape changes center-crop it first." }, "image_weight": { "description": "Optional. How closely the result should follow the source image, from 1 to 100. When omitted the server chooses a value from your prompt, which is the usual case.", "maximum": 100, "minimum": 1, - "type": "integer" + "type": "integer", + "x-tool-description": "Source fidelity (1–100); omit for prompt-based strength." }, "negative_prompt": { "description": "Description of what to exclude from the images. Descriptions in the prompt take precedence over descriptions in the negative prompt.", "maxLength": 10000, - "type": "string" + "type": "string", + "x-tool-description": "What to exclude; prompt takes precedence." }, "seed": { "description": "Random seed. Set for reproducible generation.", @@ -26928,7 +27462,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "resolution": { "$ref": "#/components/schemas/ResolutionV3" @@ -26952,14 +27487,16 @@ } ], "default": "auto", - "description": "Controls magic prompt (automatic prompt rewriting). Defaults to `auto`." + "description": "Controls magic prompt (automatic prompt rewriting). Defaults to `auto`.", + "x-tool-description": "Automatic prompt rewriting; default auto." }, "num_images": { "default": 1, "description": "The number of images to generate.", "maximum": 8, "minimum": 1, - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "color_palette": { "$ref": "#/components/schemas/IdeogramColorPalette" @@ -26974,7 +27511,8 @@ "items": { "$ref": "#/components/schemas/StyleCode" }, - "type": "array" + "type": "array", + "x-tool-description": "8-character hex style codes. Allowed combinations with other style controls depend on the operation." }, "style_preset": { "allOf": [ @@ -26982,7 +27520,8 @@ "$ref": "#/components/schemas/IdeogramV3StylePreset" } ], - "description": "A predefined style preset to apply to the remixed images. Cannot be combined with style codes or style references." + "description": "A predefined style preset to apply to the remixed images. Cannot be combined with style codes or style references.", + "x-tool-description": "Style preset; excludes style codes and style references." }, "style_reference_asset_identifiers": { "description": "Existing upload or generated image assets to use as style references, by reference. Takes priority over `style_reference_images` if both are supplied.", @@ -26991,7 +27530,8 @@ }, "maxItems": 10, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "Style-reference image assets." }, "style_reference_images": { "description": "Images to use as style references (max 10, max 25MB each). JPEG, PNG, and WEBP are supported. Multipart requests only.", @@ -27005,12 +27545,14 @@ "enable_copyright_detection": { "description": "Optional. Opt this request into post-generation copyright detection. Adds detection latency; flagged images come back with `is_image_safe: false`.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Check outputs for copyright; adds latency. Flagged images have is_image_safe: false." }, "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll for completion and results with `GET /v2/generations/{generation_id}` using the returned `generation_id`.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -27018,16 +27560,19 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -27078,7 +27623,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -27111,6 +27657,7 @@ } ], "description": "The existing upload or generated image to transform. Supply this or `image`, never both. Omit `resolution` to keep its shape.", + "x-tool-description": "The existing upload or generated image to transform. Omit `resolution` to keep its shape.", "x-playground-field": { "label": "Image asset identifier", "control": "json", @@ -27123,6 +27670,7 @@ "description": "The image to transform (max 50MB). JPEG, PNG, and WEBP are supported. Multipart requests only. The uploaded image is saved to your account as the remix's source. Omit `resolution` to keep its shape.", "format": "binary", "type": "string", + "x-tool-description": "Source image (JPEG/PNG/WEBP, max 50MB). Multipart only; saved to your account. Omit resolution to keep its shape.", "x-playground-field": { "label": "Image upload", "order": 1, @@ -27134,6 +27682,7 @@ "maximum": 100, "minimum": 1, "type": "integer", + "x-tool-description": "Source fidelity (1–100); omit for prompt-based strength. Combining with a resolution that changes the source aspect ratio returns 400.", "x-playground-field": { "label": "Image weight", "control": "slider", @@ -27146,7 +27695,8 @@ "description": "The number of images to generate.", "maximum": 8, "minimum": 1, - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "resolution": { "allOf": [ @@ -27154,7 +27704,8 @@ "$ref": "#/components/schemas/ResolutionV4" } ], - "description": "Optional. When supplied, the images are generated at this\nresolution. When omitted, the source image's shape is kept. A\nresolution whose aspect ratio differs from the source's cannot\nbe combined with `image_weight`.\n" + "description": "Optional. When supplied, the images are generated at this\nresolution. When omitted, the source image's shape is kept. A\nresolution whose aspect ratio differs from the source's cannot\nbe combined with `image_weight`.\n", + "x-tool-description": "Output resolution; omit to keep the source shape. Aspect-ratio changes cannot combine with image_weight." }, "rendering_speed": { "default": "default", @@ -27185,6 +27736,7 @@ "description": "Optional. Opt this request into post-generation copyright detection. Adds detection latency; flagged images come back with `is_image_safe: false`.", "nullable": true, "type": "boolean", + "x-tool-description": "Check outputs for copyright; adds latency. Flagged images have is_image_safe: false.", "x-playground-field": { "label": "Copyright detection", "order": 6, @@ -27194,7 +27746,8 @@ "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll for completion and results with `GET /v2/generations/{generation_id}` using the returned `generation_id`.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -27202,16 +27755,19 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -27261,7 +27817,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -27286,27 +27843,32 @@ "$ref": "#/components/schemas/AssetIdentifier" } ], - "description": "The existing upload or generated image to transform. Supply this or `image`, never both. Omit `resolution` and `aspect_ratio` to keep its shape; a different requested shape center-crops the source to fit first." + "description": "The existing upload or generated image to transform. Supply this or `image`, never both. Omit `resolution` and `aspect_ratio` to keep its shape; a different requested shape center-crops the source to fit first.", + "x-tool-description": "Source image asset. Omit resolution and aspect_ratio to keep its shape; shape changes center-crop it first." }, "image": { "description": "The image to transform (max 50MB). JPEG, PNG, and WEBP are supported. Multipart requests only. The uploaded image is saved to your account as the remix's source. Omit `resolution` and `aspect_ratio` to keep its shape; a different requested shape center-crops the source to fit first.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "Source image (JPEG/PNG/WEBP, max 50MB). Multipart only; saved to your account. Omit resolution and aspect_ratio to keep its shape; shape changes center-crop it first." }, "image_weight": { "description": "Optional. How closely the result should follow the source image, from 1 to 100. When omitted the server chooses a value from your prompt, which is the usual case.", "maximum": 100, "minimum": 1, - "type": "integer" + "type": "integer", + "x-tool-description": "Source fidelity (1–100); omit for prompt-based strength." }, "negative_prompt": { "description": "Description of what to exclude from the images. Descriptions in the prompt take precedence over descriptions in the negative prompt.", "maxLength": 10000, - "type": "string" + "type": "string", + "x-tool-description": "What to exclude; prompt takes precedence." }, "character_reference_collection_id": { "description": "A saved character to feature, by its URL-safe base64 collection id. Takes priority over `character_reference_images` if both are supplied.", - "type": "string" + "type": "string", + "x-tool-description": "A saved character to feature, by its URL-safe base64 collection id. Takes priority over `character_reference_asset_identifiers` if more than one is supplied." }, "character_reference_collection_version_id": { "description": "Optional URL-safe base64 version id pinning a specific version of the `character_reference_collection_id` collection. Ignored without it.", @@ -27319,7 +27881,8 @@ }, "maxItems": 1, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "An existing upload or generated image asset to use as the character reference, by reference." }, "character_reference_images": { "description": "An image to use as the character reference (max 25MB). JPEG, PNG, and WEBP are supported.", @@ -27341,7 +27904,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "resolution": { "$ref": "#/components/schemas/ResolutionV3" @@ -27366,14 +27930,16 @@ } ], "default": "auto", - "description": "Controls magic prompt (automatic prompt rewriting). Defaults to `auto`." + "description": "Controls magic prompt (automatic prompt rewriting). Defaults to `auto`.", + "x-tool-description": "Automatic prompt rewriting; default auto." }, "num_images": { "default": 1, "description": "The number of images to generate.", "maximum": 8, "minimum": 1, - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "style_type": { "default": "auto", @@ -27387,11 +27953,13 @@ }, "style_reference_collection_id": { "description": "A saved style to apply, by its URL-safe base64 collection id. Takes priority over `style_reference_images` if both are supplied.", - "type": "string" + "type": "string", + "x-tool-description": "A saved style to apply, by its URL-safe base64 collection id. Takes priority over `style_reference_asset_identifiers` if more than one is supplied." }, "style_reference_collection_version_id": { "description": "Optional URL-safe base64 version id pinning a specific version of the `style_reference_collection_id` collection. Ignored without it.", - "type": "string" + "type": "string", + "x-tool-description": "URL-safe base64 version ID of style_reference_collection_id; ignored without it." }, "style_reference_asset_identifiers": { "description": "Existing upload or generated image assets to use as style references, by reference. Takes priority over `style_reference_images` if both are supplied.", @@ -27400,7 +27968,8 @@ }, "maxItems": 10, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "Style-reference image assets." }, "style_reference_images": { "description": "Images to use as style references (max 10, max 25MB each). JPEG, PNG, and WEBP are supported.", @@ -27414,12 +27983,14 @@ "enable_copyright_detection": { "description": "Optional. Opt this request into post-generation copyright detection. Adds detection latency; flagged images come back with `is_image_safe: false`.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Check outputs for copyright; adds latency. Flagged images have is_image_safe: false." }, "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll for completion and results with `GET /v2/generations/{generation_id}` using the returned `generation_id`.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -27427,22 +27998,26 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ "prompt" ], - "type": "object" + "type": "object", + "x-tool-description": "Supply one character as a saved collection or asset reference. The collection takes priority." }, "GenerateImageIdeogramV3TransparentResponse": { "description": "Response returned by\n`POST /v2/image/generate/ideogram-3-transparent`. Synchronous\nrequests (the default) include the generated images in `data`.\nAsynchronous requests omit `data`; poll\n`GET /v2/generations/{generation_id}` with the returned\n`generation_id`. `seed` is the seed that was used, including when you\ndid not set one.\n", @@ -27486,7 +28061,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -27524,7 +28100,8 @@ "description": "Description of what to exclude from the images. The prompt takes precedence over the negative prompt.", "maxLength": 10000, "title": "negative_prompt", - "type": "string" + "type": "string", + "x-tool-description": "What to exclude; prompt takes precedence." }, "seed": { "description": "Random seed. Set for reproducible generation.", @@ -27532,7 +28109,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "upscale_factor": { "default": "x1", @@ -27567,7 +28145,8 @@ ], "default": "auto", "description": "Controls magic prompt (automatic prompt rewriting). Defaults to `auto`.", - "title": "magic_prompt" + "title": "magic_prompt", + "x-tool-description": "Automatic prompt rewriting; default auto." }, "num_images": { "default": 1, @@ -27575,19 +28154,22 @@ "maximum": 8, "minimum": 1, "title": "num_images", - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "enable_copyright_detection": { "description": "Optional. Run copyright detection on the generated images. Adds latency; flagged images are returned with `is_image_safe: false`.", "nullable": true, "title": "enable_copyright_detection", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Check outputs for copyright; adds latency. Flagged images have is_image_safe: false." }, "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.", "title": "async", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -27595,18 +28177,21 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, "title": "private", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", "title": "target_collection_id", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -27657,7 +28242,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -27706,7 +28292,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "num_images": { "default": 1, @@ -27714,7 +28301,8 @@ "maximum": 8, "minimum": 1, "title": "num_images", - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "aspect_ratio": { "$ref": "#/components/schemas/IdeogramV4AspectRatio" @@ -27746,13 +28334,15 @@ "description": "Optional. Run copyright detection on the generated images. Adds latency; flagged images are returned with `is_image_safe: false`.", "nullable": true, "title": "enable_copyright_detection", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Check outputs for copyright; adds latency. Flagged images have is_image_safe: false." }, "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.", "title": "async", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -27760,18 +28350,21 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, "title": "private", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", "title": "target_collection_id", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -27822,7 +28415,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -27873,7 +28467,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "num_images": { "default": 1, @@ -27881,7 +28476,8 @@ "maximum": 8, "minimum": 1, "title": "num_images", - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "quality": { "allOf": [ @@ -27929,13 +28525,15 @@ "description": "Optional. Run copyright detection on the generated images. Adds latency; flagged images are returned with `is_image_safe: false`.", "nullable": true, "title": "enable_copyright_detection", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Check outputs for copyright; adds latency. Flagged images have is_image_safe: false." }, "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.", "title": "async", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -27943,18 +28541,21 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, "title": "private", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", "title": "target_collection_id", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -28005,7 +28606,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -28058,7 +28660,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "num_images": { "default": 1, @@ -28066,13 +28669,15 @@ "maximum": 8, "minimum": 1, "title": "num_images", - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.", "title": "async", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -28080,18 +28685,21 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, "title": "private", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", "title": "target_collection_id", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -28142,7 +28750,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -28256,19 +28865,22 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "num_images": { "default": 1, "description": "The number of images to generate.", "maximum": 8, "minimum": 1, - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "enable_copyright_detection": { "description": "Optional. Run copyright detection on the generated images. Adds latency; flagged images are returned with `is_image_safe: false`.", "nullable": true, "type": "boolean", + "x-tool-description": "Check outputs for copyright; adds latency. Flagged images have is_image_safe: false.", "x-playground-field": { "label": "Copyright detection", "order": 4, @@ -28278,7 +28890,8 @@ "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -28286,16 +28899,19 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -28410,7 +29026,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "num_images": { "default": 1, @@ -28435,7 +29052,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", @@ -28494,7 +29112,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -28511,7 +29130,8 @@ "description": "The prompt to generate images from, or the edit instruction to apply when source images are supplied. It is passed to the model as written.", "maxLength": 10000, "minLength": 1, - "type": "string" + "type": "string", + "x-tool-description": "Generation prompt or edit instruction, passed to the model unchanged." }, "image_asset_identifiers": { "description": "Existing upload or generated image assets to edit, by reference. Takes priority over `images` if both are supplied.", @@ -28520,7 +29140,8 @@ }, "maxItems": 10, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "Image assets to edit." }, "images": { "description": "Optional source images to edit (max 10, max 25MB each; JPEG, PNG, or WEBP). Multipart requests only.", @@ -28529,11 +29150,13 @@ "type": "string" }, "maxItems": 10, - "type": "array" + "type": "array", + "x-tool-description": "Images to edit (max 10; JPEG/PNG/WEBP, max 25MB each). Multipart only." }, "aspect_ratio": { "description": "The requested output aspect ratio, for example \"1:1\", \"16:9\", or \"9:16\". The output is served at the closest aspect ratio the model supports, at the requested resolution tier. Defaults to \"1:1\".", - "type": "string" + "type": "string", + "x-tool-description": "Ratio (e.g. 16:9); uses the closest supported ratio at the requested resolution tier. Default 1:1." }, "resolution_tier": { "default": "1K", @@ -28550,7 +29173,8 @@ "description": "The number of images to generate.", "maximum": 8, "minimum": 1, - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "seed": { "description": "Random seed. Set for reproducible generation.", @@ -28558,12 +29182,14 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -28571,22 +29197,26 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ "prompt" ], - "type": "object" + "type": "object", + "x-tool-description": "Supply image_asset_identifiers to edit existing images; omit them to generate from text." }, "GenerateImageNanoBananaProResponse": { "description": "Response returned by `POST /v2/image/generate/nano-banana-pro`.\nSynchronous requests (the default) include the generated images in\n`data`. Asynchronous requests omit `data`; poll\n`GET /v2/generations/{generation_id}` with the returned\n`generation_id`. `seed` is the seed that was used, including when you\ndid not set one.\n", @@ -28630,7 +29260,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -28647,7 +29278,8 @@ "description": "The prompt to generate images from, or the edit instruction to apply when source images are supplied. It is passed to the model as written.", "maxLength": 10000, "minLength": 1, - "type": "string" + "type": "string", + "x-tool-description": "Generation prompt or edit instruction, passed to the model unchanged." }, "image_asset_identifiers": { "description": "Existing upload or generated image assets to edit, by reference. Takes priority over `images` if both are supplied.", @@ -28656,7 +29288,8 @@ }, "maxItems": 10, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "Image assets to edit." }, "images": { "description": "Optional source images to edit (max 10, max 25MB each; JPEG, PNG, or WEBP). Multipart requests only.", @@ -28665,11 +29298,13 @@ "type": "string" }, "maxItems": 10, - "type": "array" + "type": "array", + "x-tool-description": "Images to edit (max 10; JPEG/PNG/WEBP, max 25MB each). Multipart only." }, "aspect_ratio": { "description": "The requested output aspect ratio, for example \"1:1\", \"16:9\", or \"9:16\". The output is served at the closest aspect ratio the model supports, at the requested resolution tier. Defaults to \"1:1\".", - "type": "string" + "type": "string", + "x-tool-description": "Ratio (e.g. 16:9); uses the closest supported ratio at the requested resolution tier. Default 1:1." }, "resolution_tier": { "default": "1K", @@ -28686,7 +29321,8 @@ "description": "The number of images to generate.", "maximum": 8, "minimum": 1, - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "seed": { "description": "Random seed. Set for reproducible generation.", @@ -28694,12 +29330,14 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -28707,22 +29345,26 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ "prompt" ], - "type": "object" + "type": "object", + "x-tool-description": "Supply image_asset_identifiers to edit existing images; omit them to generate from text." }, "GenerateImageGptImage2Response": { "description": "Response returned by `POST /v2/image/generate/gpt-image-2`.\nSynchronous requests (the default) include the generated images in\n`data`. Asynchronous requests omit `data`; poll\n`GET /v2/generations/{generation_id}` with the returned\n`generation_id`. `seed` is the seed that was used, including when you\ndid not set one.\n", @@ -28766,7 +29408,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -28783,7 +29426,8 @@ "description": "The prompt to generate images from, or the edit instruction to apply when source images are supplied. It is passed to the model as written.", "maxLength": 10000, "minLength": 1, - "type": "string" + "type": "string", + "x-tool-description": "Generation prompt or edit instruction, passed to the model unchanged." }, "image_asset_identifiers": { "description": "Existing upload or generated image assets to edit, by reference. Takes priority over `images` if both are supplied.", @@ -28792,7 +29436,8 @@ }, "maxItems": 16, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "Image assets to edit." }, "images": { "description": "Optional source images to edit (max 16, max 25MB each; JPEG, PNG, or WEBP). Multipart requests only.", @@ -28808,7 +29453,8 @@ "description": "The number of images to generate.", "maximum": 8, "minimum": 1, - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "seed": { "description": "Random seed. Set for reproducible generation.", @@ -28816,7 +29462,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "aspect_ratio": { "description": "The requested output aspect ratio, for example \"1:1\", \"16:9\", or \"9:16\". Ignored when `resolution` is provided. Defaults to \"1:1\".", @@ -28824,12 +29471,14 @@ }, "resolution": { "description": "Exact output resolution, formatted as \"WIDTHxHEIGHT\", for example\n\"2048x2048\" or \"1920x1088\". When provided, this takes precedence\nover `aspect_ratio`. The dimensions must satisfy GPT Image 2\nconstraints: each side is a multiple of 16, the largest side is at\nmost 3840px, the long:short ratio is at most 3:1, and total pixels\nare between 655360 and 8294400 inclusive.\n", - "type": "string" + "type": "string", + "x-tool-description": "Exact WIDTHxHEIGHT (e.g. 1920x1088); overrides aspect_ratio. Each side: multiple of 16, max 3840px. Long:short ratio <=3:1; total pixels 655360–8294400 inclusive." }, "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -28837,22 +29486,26 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ "prompt" ], - "type": "object" + "type": "object", + "x-tool-description": "Supply image_asset_identifiers to edit existing images; omit them to generate from text." }, "GenerateImageGptImage25FlareResponse": { "description": "Response returned by `POST /v2/image/generate/gpt-image-2-5-flare`.\nSynchronous requests (the default) include the generated images in\n`data`. Asynchronous requests omit `data`; poll\n`GET /v2/generations/{generation_id}` with the returned\n`generation_id`. `seed` is the seed that was used, including when you\ndid not set one.\n", @@ -28896,7 +29549,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -28913,7 +29567,8 @@ "description": "The prompt to generate images from, or the edit instruction to apply when source images are supplied. It is passed to the model as written.", "maxLength": 10000, "minLength": 1, - "type": "string" + "type": "string", + "x-tool-description": "Generation prompt or edit instruction, passed to the model unchanged." }, "image_asset_identifiers": { "description": "Existing upload or generated image assets to edit, by reference. Takes priority over `images` if both are supplied.", @@ -28964,7 +29619,8 @@ "description": "The number of images to generate.", "maximum": 8, "minimum": 1, - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "seed": { "description": "Random seed. Set for reproducible generation.", @@ -28972,7 +29628,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "aspect_ratio": { "description": "The requested output aspect ratio, for example \"1:1\", \"16:9\", or \"9:16\". Ignored when `resolution` is provided. Defaults to \"1:1\".", @@ -28985,7 +29642,8 @@ "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -28993,16 +29651,19 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -29052,7 +29713,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -29069,7 +29731,8 @@ "description": "The prompt to generate images from, or the edit instruction to apply when source images are supplied. It is passed to the model as written.", "maxLength": 10000, "minLength": 1, - "type": "string" + "type": "string", + "x-tool-description": "Generation prompt or edit instruction, passed to the model unchanged." }, "image_asset_identifiers": { "description": "Existing upload or generated image assets to edit, by reference. Takes priority over `images` if both are supplied.", @@ -29120,7 +29783,8 @@ "description": "The number of images to generate.", "maximum": 8, "minimum": 1, - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "seed": { "description": "Random seed. Set for reproducible generation.", @@ -29128,7 +29792,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "aspect_ratio": { "description": "The requested output aspect ratio, for example \"1:1\", \"16:9\", or \"9:16\". Ignored when `resolution` is provided. Defaults to \"1:1\".", @@ -29141,7 +29806,8 @@ "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -29149,16 +29815,19 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -29208,7 +29877,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -29246,7 +29916,8 @@ "description": "Description of what to exclude from the images. The prompt takes precedence over the negative prompt.", "maxLength": 10000, "title": "negative_prompt", - "type": "string" + "type": "string", + "x-tool-description": "What to exclude; prompt takes precedence." }, "seed": { "description": "Random seed. Set for reproducible generation.", @@ -29254,7 +29925,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "aspect_ratio": { "$ref": "#/components/schemas/IdeogramV3AspectRatio" @@ -29278,7 +29950,8 @@ ], "default": "auto", "description": "Controls magic prompt (automatic prompt rewriting). Defaults to `auto`.", - "title": "magic_prompt" + "title": "magic_prompt", + "x-tool-description": "Automatic prompt rewriting; default auto." }, "num_images": { "default": 1, @@ -29286,7 +29959,8 @@ "maximum": 8, "minimum": 1, "title": "num_images", - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "style_type": { "$ref": "#/components/schemas/IdeogramV2StyleType" @@ -29295,13 +29969,15 @@ "description": "Optional. Run copyright detection on the generated images. Adds latency; flagged images are returned with `is_image_safe: false`.", "nullable": true, "title": "enable_copyright_detection", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Check outputs for copyright; adds latency. Flagged images have is_image_safe: false." }, "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.", "title": "async", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -29309,18 +29985,21 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, "title": "private", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", "title": "target_collection_id", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -29371,7 +30050,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -29410,7 +30090,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "aspect_ratio": { "$ref": "#/components/schemas/IdeogramV3AspectRatio" @@ -29434,7 +30115,8 @@ ], "default": "auto", "description": "Controls magic prompt (automatic prompt rewriting). Defaults to `auto`.", - "title": "magic_prompt" + "title": "magic_prompt", + "x-tool-description": "Automatic prompt rewriting; default auto." }, "num_images": { "default": 1, @@ -29442,7 +30124,8 @@ "maximum": 8, "minimum": 1, "title": "num_images", - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "style_type": { "$ref": "#/components/schemas/IdeogramV2StyleType" @@ -29451,13 +30134,15 @@ "description": "Optional. Run copyright detection on the generated images. Adds latency; flagged images are returned with `is_image_safe: false`.", "nullable": true, "title": "enable_copyright_detection", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Check outputs for copyright; adds latency. Flagged images have is_image_safe: false." }, "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.", "title": "async", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -29465,18 +30150,21 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, "title": "private", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", "title": "target_collection_id", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -29529,7 +30217,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "width": { "description": "The output width in pixels this request resolved to.", @@ -29590,7 +30279,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -29649,7 +30339,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "rendering_speed": { "default": "default", @@ -29682,7 +30373,8 @@ "items": { "$ref": "#/components/schemas/StyleCode" }, - "type": "array" + "type": "array", + "x-tool-description": "8-character hex style codes. Allowed combinations with other style controls depend on the operation." }, "style_reference_collection_id": { "description": "A saved style to apply, by its URL-safe base64 collection id. Takes priority over `style_reference_images` if both are supplied.", @@ -29726,7 +30418,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", @@ -29787,7 +30480,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "width": { "description": "The output width in pixels.", @@ -29874,7 +30568,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "rendering_speed": { "description": "The rendering speed to use. When omitted, the server chooses a speed supported by the selected custom model.", @@ -29903,7 +30598,8 @@ "items": { "$ref": "#/components/schemas/StyleCode" }, - "type": "array" + "type": "array", + "x-tool-description": "8-character hex style codes. Allowed combinations with other style controls depend on the operation." }, "style_reference_collection_id": { "description": "A saved style, by its URL-safe base64 collection id. Takes priority over `style_reference_images` if both are supplied.", @@ -29999,7 +30695,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -30019,7 +30716,8 @@ "image": { "description": "The JPEG, PNG, or WEBP image to reframe (max 25MB). Multipart requests only.", "format": "binary", - "type": "string" + "type": "string", + "x-tool-description": "The JPEG, PNG, or WEBP image to reframe (max 25MB), as raw bytes. Multipart requests only." }, "resolution": { "$ref": "#/components/schemas/ResolutionV3" @@ -30030,7 +30728,8 @@ "maximum": 8, "minimum": 1, "title": "NumImages", - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "seed": { "description": "Random seed. Set for reproducible generation.", @@ -30038,7 +30737,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "rendering_speed": { "default": "default", @@ -30065,7 +30765,8 @@ "items": { "$ref": "#/components/schemas/StyleCode" }, - "type": "array" + "type": "array", + "x-tool-description": "8-character hex style codes. Allowed combinations with other style controls depend on the operation." }, "style_reference_asset_identifiers": { "description": "Existing upload or generated image assets to use as style references. Cannot be combined with a style preset, style codes, or uploaded style reference images.", @@ -30074,7 +30775,8 @@ }, "maxItems": 10, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "Existing upload or generated image assets to use as style references. Cannot be combined with a style preset or style codes." }, "style_reference_images": { "description": "JPEG, PNG, or WEBP style reference images (max 10, max 25MB each). Multipart requests only. Cannot be combined with `style_preset` or `style_codes`.", @@ -30095,7 +30797,8 @@ "required": [ "resolution" ], - "type": "object" + "type": "object", + "x-tool-description": "Requires image_asset_identifier. Use at most one of style_preset, style_codes, or style_reference_asset_identifiers." }, "ReframeImageNanoBanana2Response": { "description": "Acknowledges an accepted asynchronous Reframe request. Poll\n`GET /v2/generations/{generation_id}` for completion and output\nimages. The seed, width, and height report the values the request\nresolved to when the caller left them unset.\n", @@ -30117,7 +30820,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "width": { "description": "The resolved 1K output width in pixels.", @@ -30176,13 +30880,15 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ "aspect_ratio" ], - "type": "object" + "type": "object", + "x-tool-description": "Requires image_asset_identifier for the source image." }, "GenerateImageIdeogramV3CharacterResponse": { "description": "Response returned by `POST /v2/image/generate/ideogram-3-character`.\nSynchronous requests (the default) include the generated images in\n`data`. Asynchronous requests omit `data`; poll\n`GET /v2/generations/{generation_id}` with the returned\n`generation_id`. `seed` is the seed that was used, including when you\ndid not set one.\n", @@ -30226,7 +30932,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -30248,7 +30955,8 @@ "negative_prompt": { "description": "Description of what to exclude from the images. The prompt takes precedence over the negative prompt.", "maxLength": 10000, - "type": "string" + "type": "string", + "x-tool-description": "What to exclude; prompt takes precedence." }, "character_reference_collection_id": { "description": "A saved character to feature, by its URL-safe base64 collection id. Takes priority over `character_reference_images` if both are supplied.", @@ -30287,7 +30995,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "resolution": { "$ref": "#/components/schemas/ResolutionV3" @@ -30312,14 +31021,16 @@ } ], "default": "auto", - "description": "Controls magic prompt (automatic prompt rewriting). Defaults to `auto`." + "description": "Controls magic prompt (automatic prompt rewriting). Defaults to `auto`.", + "x-tool-description": "Automatic prompt rewriting; default auto." }, "num_images": { "default": 1, "description": "The number of images to generate.", "maximum": 8, "minimum": 1, - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "style_type": { "default": "auto", @@ -30337,7 +31048,8 @@ }, "style_reference_collection_version_id": { "description": "Optional URL-safe base64 version id of the saved style in `style_reference_collection_id`. Ignored without it.", - "type": "string" + "type": "string", + "x-tool-description": "URL-safe base64 version ID of style_reference_collection_id; ignored without it." }, "style_reference_asset_identifiers": { "description": "Existing upload or generated image assets to use as style references, by reference. Takes priority over `style_reference_images` if both are supplied.", @@ -30360,12 +31072,14 @@ "enable_copyright_detection": { "description": "Optional. Run copyright detection on the generated images. Adds latency; flagged images are returned with `is_image_safe: false`.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Check outputs for copyright; adds latency. Flagged images have is_image_safe: false." }, "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -30373,16 +31087,19 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Omit/true: private; false: public. Enterprise: always private." }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -30434,7 +31151,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "width": { "description": "The output width in pixels this request resolved to.", @@ -30534,7 +31252,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "rendering_speed": { "default": "default", @@ -30566,7 +31285,8 @@ "items": { "$ref": "#/components/schemas/StyleCode" }, - "type": "array" + "type": "array", + "x-tool-description": "8-character hex style codes. Allowed combinations with other style controls depend on the operation." }, "style_reference_collection_id": { "description": "A saved style to apply, by its URL-safe base64 collection id. Takes priority over `style_reference_images` if both are supplied. Cannot be combined with `style_codes`.", @@ -30610,7 +31330,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.", @@ -30669,7 +31390,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." } }, "required": [ @@ -30695,7 +31417,8 @@ }, "maxItems": 10, "minItems": 1, - "type": "array" + "type": "array", + "x-tool-description": "Existing upload or generated image assets to transform, by reference. Supplying sources turns the request into a transform." }, "images": { "description": "Optional source images to edit (max 10, max 25MB each; JPEG, PNG, or WEBP). Multipart requests only.", @@ -30704,7 +31427,8 @@ "type": "string" }, "maxItems": 10, - "type": "array" + "type": "array", + "x-tool-description": "Images to edit (max 10; JPEG/PNG/WEBP, max 25MB each). Multipart only." }, "negative_prompt": { "description": "Description of what to exclude from the images. The prompt takes precedence over the negative prompt. Not every model uses it. Cannot be combined with source images.", @@ -30724,7 +31448,8 @@ "default": "auto", "description": "The output aspect ratio. `auto` (the default) picks the most suitable ratio for the request. Without source images the value must be a supported ratio (for example \"16x9\" or \"1x1\"); with source images any \"WIDTHxHEIGHT\" value is accepted and the output uses the closest supported shape. Omit `resolution` when supplying a non-`auto` value.", "pattern": "^(auto|[1-9][0-9]{0,4}x[1-9][0-9]{0,4})$", - "type": "string" + "type": "string", + "x-tool-description": "Default auto chooses a ratio. Text-only: use a supported ratio (e.g. 16x9). With source images: any WIDTHxHEIGHT, mapped to the nearest supported shape. Non-auto excludes resolution." }, "resolution": { "description": "The requested output resolution, formatted as \"WIDTHxHEIGHT\" (for example \"1280x800\"). The output is served at the closest resolution the selected model supports. Omit `aspect_ratio` (or leave it `auto`) when supplying a resolution.", @@ -30747,14 +31472,16 @@ } ], "default": "auto", - "description": "Controls magic prompt (automatic prompt rewriting). Defaults to `auto`." + "description": "Controls magic prompt (automatic prompt rewriting). Defaults to `auto`.", + "x-tool-description": "Automatic prompt rewriting; default auto." }, "num_images": { "default": 1, "description": "The number of images to generate.", "maximum": 8, "minimum": 1, - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "seed": { "description": "Random seed. Set for reproducible generation.", @@ -30762,7 +31489,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "private": { "description": "Whether the generated images should be kept private. When omitted, the default follows the caller's plan; some plans always generate privately.", @@ -30770,7 +31498,8 @@ }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." }, "category_id": { "description": "The internal generation category to attribute to the output, as a URL-safe base64 UUID without padding. Only applies when source images are supplied.", @@ -30782,13 +31511,15 @@ "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." } }, "required": [ "prompt" ], - "type": "object" + "type": "object", + "x-tool-description": "Supply image_asset_identifiers to edit existing images; omit them to generate from text. Source images cannot be combined with negative_prompt or style_reference_asset_identifiers." }, "ToolRemixResponse": { "description": "Response returned by `POST /v2/image/remix/auto`. Synchronous\nrequests (the default) include the remixed images in `data`.\nAsynchronous requests omit `data`; poll\n`GET /v2/generations/{generation_id}` with the returned\n`generation_id`.\n", @@ -30857,7 +31588,8 @@ "$ref": "#/components/schemas/AssetIdentifier" } ], - "description": "The existing upload or generated image to transform. Supply this or `image`, never both. Omit `resolution` and `aspect_ratio` to keep its shape." + "description": "The existing upload or generated image to transform. Supply this or `image`, never both. Omit `resolution` and `aspect_ratio` to keep its shape.", + "x-tool-description": "The existing upload or generated image to transform. Omit `resolution` and `aspect_ratio` to keep its shape." }, "image": { "description": "The image to remix (max 50MB; JPEG, PNG, or WEBP). Multipart requests only. The image is used only for this request and is not saved to your account.", @@ -30868,7 +31600,8 @@ "description": "Optional. How closely the result should follow the source image, from 1 to 100. When omitted the selected model chooses its usual strength. Combining a weight with a `resolution` or `aspect_ratio` that changes the source's aspect ratio crops the source to the new shape; this is only available at the 1K tier and is rejected at 2K.", "maximum": 100, "minimum": 1, - "type": "integer" + "type": "integer", + "x-tool-description": "Source fidelity (1–100); omit for model-default strength. Shape changes via resolution/aspect_ratio crop the source and require 1K; rejected at 2K." }, "negative_prompt": { "description": "Description of what to exclude from the images. The prompt takes precedence over the negative prompt. Not every model uses it.", @@ -30878,7 +31611,8 @@ "resolution": { "description": "The requested output resolution, formatted as \"WIDTHxHEIGHT\" (for example \"1280x800\"). The output uses the closest supported resolution in the matching 1K or 2K tier. Omit `aspect_ratio` when supplying a resolution. If `resolution_tier` is also supplied, it must match the tier these dimensions fall in. Combining a shape-changing value with `image_weight` requires the 1K tier.", "pattern": "^[1-9][0-9]{1,4}x[1-9][0-9]{1,4}$", - "type": "string" + "type": "string", + "x-tool-description": "WIDTHxHEIGHT (e.g. 1280x800); uses the closest supported size in its 1K/2K tier. Omit aspect_ratio; resolution_tier must match if set. Shape changes with image_weight require 1K." }, "aspect_ratio": { "allOf": [ @@ -30927,7 +31661,8 @@ }, "style_reference_collection_version_id": { "description": "Optional URL-safe base64 version id of the saved style in `style_reference_collection_id`. Ignored without it.", - "type": "string" + "type": "string", + "x-tool-description": "URL-safe base64 version ID of style_reference_collection_id; ignored without it." }, "style_preset": { "allOf": [ @@ -30955,7 +31690,8 @@ "items": { "$ref": "#/components/schemas/StyleCode" }, - "type": "array" + "type": "array", + "x-tool-description": "8-character hex style codes. Allowed combinations with other style controls depend on the operation." }, "style_type": { "allOf": [ @@ -30970,17 +31706,20 @@ "description": "The number of images to generate.", "maximum": 8, "minimum": 1, - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "enable_copyright_detection": { "description": "Optional. Run copyright detection on the generated images. Adds latency; flagged images are returned with `is_image_safe: false`.", "nullable": true, - "type": "boolean" + "type": "boolean", + "x-tool-description": "Check outputs for copyright; adds latency. Flagged images have is_image_safe: false." }, "async": { "default": false, "description": "When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Always overridden to true; tools run asynchronously." }, "webhook_url": { "description": "HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n", @@ -30988,7 +31727,8 @@ "format": "uri", "maxLength": 2048, "title": "webhook_url", - "type": "string" + "type": "string", + "x-tool-description": "Signed completion callback; public HTTPS only (no private/internal hosts)." }, "private": { "description": "Whether the generated images should be kept private. Omitted or true keeps them private. False publishes them unless the caller's plan always generates privately.", @@ -30997,7 +31737,8 @@ }, "target_collection_id": { "description": "A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.", - "type": "string" + "type": "string", + "x-tool-description": "Destination collection ID (URL-safe base64); must be writable." } }, "required": [ @@ -32358,7 +33099,8 @@ ], "example": "V_0_3", "title": "ModelVersion", - "type": "string" + "type": "string", + "x-tool-description": "Model to use: V_0_3 (1.0), V_1_1 (1.1), V_1_5 (2.0), V_2_1 (2a), V_3_0 or V_3_1 (3.0), V_4_0 (4.0), V_4_D (layered design), V_4_LAYOUT2IMAGE (layout to image), or AUTO (server-selected). Experimental models require account access." }, "GetApiProfilesResponse": { "example": { @@ -33795,7 +34537,7 @@ }, "properties": { "model_name": { - "description": "Name for the trained model. Must be 5-30 characters, alphanumeric with spaces and hyphens allowed.\n", + "description": "Name after trimming surrounding whitespace: 5–30 Unicode letters, numbers, spaces, underscores, parentheses, periods, or hyphens.", "example": "my-custom-model", "title": "model_name", "type": "string" @@ -35519,7 +36261,8 @@ "url": "https://docs.ideogram.ai/using-ideogram/ideogram-features/magic-prompt" }, "title": "MagicPromptOption", - "type": "string" + "type": "string", + "x-tool-description": "Automatic prompt rewriting." }, "Quality": { "description": "The generation quality level. Higher levels may use more inference steps\nor additional prompt processing. `VERY_HIGH` has noticeably higher latency\nand cost than the other levels.\n", @@ -35534,7 +36277,7 @@ "type": "string" }, "AspectRatioV3": { - "description": "The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1.", + "description": "Output aspect ratio. Cannot be combined with resolution. Generation defaults to 1x1; remix keeps the source ratio when both fields are omitted.", "enum": [ "1x3", "3x1", @@ -35553,7 +36296,8 @@ "1x1" ], "title": "AspectRatioV3", - "type": "string" + "type": "string", + "x-tool-description": "Cannot combine with resolution. Omit both: generation uses 1x1; remix keeps the source ratio." }, "Seed": { "description": "Random seed. Set for reproducible generation.", @@ -35561,7 +36305,8 @@ "maximum": 2147483647, "minimum": 0, "title": "Seed", - "type": "integer" + "type": "integer", + "x-tool-description": "Set for reproducible generation." }, "ResolutionV4ImageToImage": { "description": "Output resolutions for Ideogram 4.0 image-to-image. Superset of ResolutionV4 (the 1K/2K t2im set) plus the small 512-tier (512x512, 768x384, 384x768).", @@ -35661,7 +36406,8 @@ "maximum": 8, "minimum": 1, "title": "NumImages", - "type": "integer" + "type": "integer", + "x-tool-description": "Image count." }, "StyleType": { "description": "The style type to generate with; this is only applicable for models V_2 and above and should not be specified for model versions V_1.", @@ -35755,7 +36501,8 @@ ], "example": "1280x800", "title": "ResolutionV3", - "type": "string" + "type": "string", + "x-tool-description": "Output resolution." }, "ColorPaletteWithPresetNameOrMembers": { "description": "A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members). Not supported by V_1, V_1_TURBO, V_2A and V_2A_TURBO models.", @@ -35843,14 +36590,16 @@ "maxItems": 8, "minItems": 1, "title": "ColorPaletteMembers", - "type": "array" + "type": "array", + "x-tool-description": "Palette colors; prefer descending weight order." } }, "required": [ "members" ], "title": "ColorPaletteWithMembers", - "type": "object" + "type": "object", + "x-tool-description": "Palette members; cannot combine with a preset name." }, "ColorPaletteMembers": { "description": "A list of ColorPaletteMembers that define the color palette. Each color palette member\nconsists of a required color hex and an optional weight between 0.05 and 1.0 (inclusive).\nIt is recommended that these weights descend from highest to lowest for the color hexes provided.\n", @@ -35892,7 +36641,8 @@ "maxItems": 8, "minItems": 1, "title": "ColorPaletteMembers", - "type": "array" + "type": "array", + "x-tool-description": "Palette colors; prefer descending weight order." }, "ColorPaletteMember": { "description": "A member of a color palette.", @@ -35902,7 +36652,8 @@ "example": "#FFFFFF", "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$", "title": "color_hex", - "type": "string" + "type": "string", + "x-tool-description": "Hex color." }, "color_weight": { "description": "The weight of the color in the color palette.", @@ -35910,7 +36661,8 @@ "maximum": 1.0, "minimum": 0.05, "title": "color_weight", - "type": "number" + "type": "number", + "x-tool-description": "Color weight." } }, "required": [ @@ -35929,13 +36681,15 @@ "items": { "$ref": "#/components/schemas/StyleCode" }, - "type": "array" + "type": "array", + "x-tool-description": "8-character hex style codes. Allowed combinations with other style controls depend on the operation." }, "StyleCode": { "description": "The 8 character hexadecimal representation of the style code.", "example": "ABCD1234", "pattern": "^[0-9a-fA-F]{8}$", - "type": "string" + "type": "string", + "x-tool-description": "8-character hex style code." }, "StyleTypeV3": { "default": "GENERAL", @@ -36021,7 +36775,8 @@ ], "example": "BRIGHT_ART", "title": "StylePresetV3", - "type": "string" + "type": "string", + "x-tool-description": "Artistic style preset." }, "UpscaleFactor": { "default": "X1", @@ -36190,6 +36945,57 @@ "title": "FreeformResolution", "type": "string" }, + "SvgGenerationObject": { + "properties": { + "object_type": { + "enum": [ + "svg.generation" + ], + "title": "object_type", + "type": "string" + }, + "asset_id": { + "description": "URL-safe base64 SVG asset ID.", + "title": "asset_id", + "type": "string" + }, + "url": { + "description": "Signed download URL for the original SVG.", + "format": "uri", + "title": "url", + "type": "string" + }, + "mime_type": { + "enum": [ + "image/svg+xml" + ], + "title": "mime_type", + "type": "string" + }, + "width": { + "description": "Width of the output SVG canvas in pixels.", + "minimum": 1, + "title": "width", + "type": "integer" + }, + "height": { + "description": "Height of the output SVG canvas in pixels.", + "minimum": 1, + "title": "height", + "type": "integer" + } + }, + "required": [ + "asset_id", + "height", + "mime_type", + "object_type", + "url", + "width" + ], + "title": "SvgGenerationObject", + "type": "object" + }, "VideoObject": { "description": "A single generated video returned by the generation polling endpoint.", "properties": { @@ -36452,7 +37258,8 @@ "asset_type" ], "title": "AssetIdentifier", - "type": "object" + "type": "object", + "x-tool-description": "Existing Ideogram asset." }, "AssetType": { "enum": [ @@ -36467,7 +37274,7 @@ }, "SeedDance2AspectRatio": { "default": "auto", - "description": "The aspect ratio of the generated video. `AUTO` lets the model choose the\nmost suitable ratio from the prompt; any other value pins the ratio.\n", + "description": "The aspect ratio of the generated video. `auto` lets the model choose the\nmost suitable ratio from the prompt; any other value pins the ratio.\n", "enum": [ "auto", "21x9", @@ -36478,7 +37285,8 @@ "9x16" ], "title": "SeedDance2AspectRatio", - "type": "string" + "type": "string", + "x-tool-description": "Output ratio; auto lets the model choose from the prompt." }, "SeedDance2Resolution": { "default": "720p", @@ -36488,7 +37296,8 @@ "720p" ], "title": "SeedDance2Resolution", - "type": "string" + "type": "string", + "x-tool-description": "Output resolution tier." }, "VideoDurationSeconds": { "description": "The length of the generated video in seconds. When omitted, the model\npicks the best duration for the prompt (\"auto\").\n", @@ -36496,13 +37305,15 @@ "maximum": 15, "minimum": 4, "title": "duration", - "type": "integer" + "type": "integer", + "x-tool-description": "Seconds; omit to let the model choose." }, "GenerateVideoAudio": { "default": false, "description": "Whether to generate an audio track for the video. Audio roughly\ndoubles the provider cost and is subject to stricter output moderation.\n", "title": "generate_audio", - "type": "boolean" + "type": "boolean", + "x-tool-description": "Audio roughly doubles provider cost and tightens output moderation." }, "MinimaxH3AspectRatio": { "default": "16x9", @@ -36528,7 +37339,8 @@ "4K" ], "title": "MinimaxH3Resolution", - "type": "string" + "type": "string", + "x-tool-description": "480P/768P: native; 2K/4K: upscaled from 768P. Higher tiers cost more." }, "MinimaxH3DurationSeconds": { "default": 5, @@ -36566,7 +37378,8 @@ "intelligent" ], "title": "KlingV3ShotType", - "type": "string" + "type": "string", + "x-tool-description": "customize: follow the prompt; intelligent: let the model divide it into shots." }, "KlingV3CfgScale": { "description": "How closely the video follows the prompt, from 0 to 1. Lower values\nleave the model more freedom. Defaults to 0.5 when omitted.\n", @@ -36575,7 +37388,8 @@ "maximum": 1, "minimum": 0, "title": "cfg_scale", - "type": "number" + "type": "number", + "x-tool-description": "Prompt fidelity (0–1, default 0.5); lower allows more freedom." }, "MinimaxH3PromptExpansionMode": { "default": "balanced", @@ -36617,7 +37431,8 @@ "1x1" ], "title": "IdeogramV3AspectRatio", - "type": "string" + "type": "string", + "x-tool-description": "Output ratio; auto chooses from the prompt, omission uses 1x1. Cannot combine with resolution." }, "MagicPromptMode": { "description": "Determine if MagicPrompt should be used in generating the request or not.", @@ -36631,7 +37446,8 @@ "url": "https://docs.ideogram.ai/using-ideogram/ideogram-features/magic-prompt" }, "title": "MagicPromptMode", - "type": "string" + "type": "string", + "x-tool-description": "Automatic prompt rewriting." }, "IdeogramColorPalette": { "description": "A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members).", @@ -36643,7 +37459,8 @@ "$ref": "#/components/schemas/ColorPaletteWithMembers" } ], - "title": "IdeogramColorPalette" + "title": "IdeogramColorPalette", + "x-tool-description": "Use either a preset name or hex-color members with optional weights." }, "IdeogramColorPaletteWithPresetName": { "description": "A color palette specified only via its name. Cannot be used in conjunction with members.", @@ -36656,7 +37473,8 @@ "name" ], "title": "IdeogramColorPaletteWithPresetName", - "type": "object" + "type": "object", + "x-tool-description": "Preset palette name; cannot combine with members." }, "IdeogramColorPalettePresetName": { "description": "A color palette preset value.", @@ -36758,11 +37576,12 @@ ], "example": "bright_art", "title": "IdeogramV3StylePreset", - "type": "string" + "type": "string", + "x-tool-description": "Artistic style preset." }, "IdeogramV4AspectRatio": { "default": "auto", - "description": "The aspect ratio for an Ideogram 4.0 magic prompt. `auto` lets the\nmodel select the most suitable ratio from the prompt; any other value\npins the ratio. The non-auto values are the buckets the 4.0 model\nsupports.\n", + "description": "Supported output aspect ratios. The operation defines whether `auto`\npreserves the source shape or selects a shape from the prompt.\n", "enum": [ "auto", "1x4", @@ -36899,6 +37718,7 @@ "discriminator": { "mapping": { "image.without-prompt-or-seed": "#/components/schemas/ImageObjectWithoutPromptOrSeed", + "svg.generation": "#/components/schemas/SvgGenerationObject", "image.generation": "#/components/schemas/ImageGenerationObject", "video.generation": "#/components/schemas/VideoObject", "layerized_image": "#/components/schemas/LayerizedImageObject" @@ -36909,6 +37729,9 @@ { "$ref": "#/components/schemas/ImageObjectWithoutPromptOrSeed" }, + { + "$ref": "#/components/schemas/SvgGenerationObject" + }, { "$ref": "#/components/schemas/ImageGenerationObject" },