diff --git a/src/libs/Ideogram/Generated/Ideogram.IImagesPreciseEditClient.PostPreciseEditImageV2Ideogram45.g.cs b/src/libs/Ideogram/Generated/Ideogram.IImagesPreciseEditClient.PostPreciseEditImageV2Ideogram45.g.cs index 9d2a196..da9de06 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IImagesPreciseEditClient.PostPreciseEditImageV2Ideogram45.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IImagesPreciseEditClient.PostPreciseEditImageV2Ideogram45.g.cs @@ -14,10 +14,13 @@ public partial interface IImagesPreciseEditClient /// `POST /v2/image/generate/ideogram-4-5`, this endpoint takes no `size`:
/// the output always matches the image being edited, so the edit drops
/// back into whatever it came from without reframing.
- /// Pixels the edit did not meaningfully change are restored exactly from
- /// the image being edited, with the edited region blended smoothly into
- /// its surroundings — untouched areas stay identical across repeated
- /// edits.
+ /// When the output is delivered at the image's own size (every image the
+ /// model can hold), pixels the edit did not meaningfully change are
+ /// restored exactly from the image being edited, with the edited region
+ /// blended smoothly into its surroundings — untouched areas stay
+ /// identical across repeated edits. An image too large for the model is
+ /// delivered at the scaled-down size, where every pixel is resampled, so
+ /// it is returned as rendered.
/// Supply the image to edit as an `image_asset_identifier` reference or as
/// raw `image` bytes (multipart requests only); if both are supplied, the
/// reference wins and the bytes are ignored. Add up to four more images
@@ -64,10 +67,13 @@ public partial interface IImagesPreciseEditClient /// `POST /v2/image/generate/ideogram-4-5`, this endpoint takes no `size`:
/// the output always matches the image being edited, so the edit drops
/// back into whatever it came from without reframing.
- /// Pixels the edit did not meaningfully change are restored exactly from
- /// the image being edited, with the edited region blended smoothly into
- /// its surroundings — untouched areas stay identical across repeated
- /// edits.
+ /// When the output is delivered at the image's own size (every image the
+ /// model can hold), pixels the edit did not meaningfully change are
+ /// restored exactly from the image being edited, with the edited region
+ /// blended smoothly into its surroundings — untouched areas stay
+ /// identical across repeated edits. An image too large for the model is
+ /// delivered at the scaled-down size, where every pixel is resampled, so
+ /// it is returned as rendered.
/// Supply the image to edit as an `image_asset_identifier` reference or as
/// raw `image` bytes (multipart requests only); if both are supplied, the
/// reference wins and the bytes are ignored. Add up to four more images
@@ -114,10 +120,13 @@ public partial interface IImagesPreciseEditClient /// `POST /v2/image/generate/ideogram-4-5`, this endpoint takes no `size`:
/// the output always matches the image being edited, so the edit drops
/// back into whatever it came from without reframing.
- /// Pixels the edit did not meaningfully change are restored exactly from
- /// the image being edited, with the edited region blended smoothly into
- /// its surroundings — untouched areas stay identical across repeated
- /// edits.
+ /// When the output is delivered at the image's own size (every image the
+ /// model can hold), pixels the edit did not meaningfully change are
+ /// restored exactly from the image being edited, with the edited region
+ /// blended smoothly into its surroundings — untouched areas stay
+ /// identical across repeated edits. An image too large for the model is
+ /// delivered at the scaled-down size, where every pixel is resampled, so
+ /// it is returned as rendered.
/// Supply the image to edit as an `image_asset_identifier` reference or as
/// raw `image` bytes (multipart requests only); if both are supplied, the
/// reference wins and the bytes are ignored. Add up to four more images
@@ -173,8 +182,8 @@ public partial interface IImagesPreciseEditClient /// An optional mask confining the edit to part of `image`, as raw bytes (multipart requests only; JPEG, PNG, or WEBP, max 25MB). Black marks the area to edit and white the area to preserve; values in between are rounded to whichever is nearer. The mask must have the same width and height as `image`, and must contain both black and white areas. Requires the image being edited to be uploaded as raw `image` bytes in the same request; masks cannot be combined with asset references. The mask is supplied to the model as an additional reference image, so a masked request may carry at most three `reference_images`. /// /// - /// The rendering quality to use. `very_high` takes longer than `high` and is priced higher.
- /// Default Value: high + /// The rendering quality to use. `very_low` is the fastest and cheapest, and `high` takes longer and is priced higher.
+ /// Default Value: medium /// /// /// Random seed. Set for reproducible generation.
diff --git a/src/libs/Ideogram/Generated/Ideogram.IManageClient.ReactivateSubscription.g.cs b/src/libs/Ideogram/Generated/Ideogram.IManageClient.ReactivateSubscription.g.cs deleted file mode 100644 index 21ec74b..0000000 --- a/src/libs/Ideogram/Generated/Ideogram.IManageClient.ReactivateSubscription.g.cs +++ /dev/null @@ -1,26 +0,0 @@ -#nullable enable - -namespace Ideogram -{ - public partial interface IManageClient - { - /// - /// Reactivates a subscription by attempting to re-enable Metronome billing. - /// - /// 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 ReactivateSubscriptionAsync( - global::Ideogram.AutoSDKRequestOptions? requestOptions = default, - global::System.Threading.CancellationToken cancellationToken = default); - /// - /// Reactivates a subscription by attempting to re-enable Metronome billing. - /// - /// 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> ReactivateSubscriptionAsResponseAsync( - 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.ImagesPreciseEditClient.PostPreciseEditImageV2Ideogram45.g.cs b/src/libs/Ideogram/Generated/Ideogram.ImagesPreciseEditClient.PostPreciseEditImageV2Ideogram45.g.cs index 7ce3e2b..759b521 100644 --- a/src/libs/Ideogram/Generated/Ideogram.ImagesPreciseEditClient.PostPreciseEditImageV2Ideogram45.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.ImagesPreciseEditClient.PostPreciseEditImageV2Ideogram45.g.cs @@ -53,10 +53,13 @@ partial void ProcessPostPreciseEditImageV2Ideogram45ResponseContent( /// `POST /v2/image/generate/ideogram-4-5`, this endpoint takes no `size`:
/// the output always matches the image being edited, so the edit drops
/// back into whatever it came from without reframing.
- /// Pixels the edit did not meaningfully change are restored exactly from
- /// the image being edited, with the edited region blended smoothly into
- /// its surroundings — untouched areas stay identical across repeated
- /// edits.
+ /// When the output is delivered at the image's own size (every image the
+ /// model can hold), pixels the edit did not meaningfully change are
+ /// restored exactly from the image being edited, with the edited region
+ /// blended smoothly into its surroundings — untouched areas stay
+ /// identical across repeated edits. An image too large for the model is
+ /// delivered at the scaled-down size, where every pixel is resampled, so
+ /// it is returned as rendered.
/// Supply the image to edit as an `image_asset_identifier` reference or as
/// raw `image` bytes (multipart requests only); if both are supplied, the
/// reference wins and the bytes are ignored. Add up to four more images
@@ -114,10 +117,13 @@ partial void ProcessPostPreciseEditImageV2Ideogram45ResponseContent( /// `POST /v2/image/generate/ideogram-4-5`, this endpoint takes no `size`:
/// the output always matches the image being edited, so the edit drops
/// back into whatever it came from without reframing.
- /// Pixels the edit did not meaningfully change are restored exactly from
- /// the image being edited, with the edited region blended smoothly into
- /// its surroundings — untouched areas stay identical across repeated
- /// edits.
+ /// When the output is delivered at the image's own size (every image the
+ /// model can hold), pixels the edit did not meaningfully change are
+ /// restored exactly from the image being edited, with the edited region
+ /// blended smoothly into its surroundings — untouched areas stay
+ /// identical across repeated edits. An image too large for the model is
+ /// delivered at the scaled-down size, where every pixel is resampled, so
+ /// it is returned as rendered.
/// Supply the image to edit as an `image_asset_identifier` reference or as
/// raw `image` bytes (multipart requests only); if both are supplied, the
/// reference wins and the bytes are ignored. Add up to four more images
@@ -944,10 +950,13 @@ request.Maskname is null /// `POST /v2/image/generate/ideogram-4-5`, this endpoint takes no `size`:
/// the output always matches the image being edited, so the edit drops
/// back into whatever it came from without reframing.
- /// Pixels the edit did not meaningfully change are restored exactly from
- /// the image being edited, with the edited region blended smoothly into
- /// its surroundings — untouched areas stay identical across repeated
- /// edits.
+ /// When the output is delivered at the image's own size (every image the
+ /// model can hold), pixels the edit did not meaningfully change are
+ /// restored exactly from the image being edited, with the edited region
+ /// blended smoothly into its surroundings — untouched areas stay
+ /// identical across repeated edits. An image too large for the model is
+ /// delivered at the scaled-down size, where every pixel is resampled, so
+ /// it is returned as rendered.
/// Supply the image to edit as an `image_asset_identifier` reference or as
/// raw `image` bytes (multipart requests only); if both are supplied, the
/// reference wins and the bytes are ignored. Add up to four more images
@@ -1003,8 +1012,8 @@ request.Maskname is null /// An optional mask confining the edit to part of `image`, as raw bytes (multipart requests only; JPEG, PNG, or WEBP, max 25MB). Black marks the area to edit and white the area to preserve; values in between are rounded to whichever is nearer. The mask must have the same width and height as `image`, and must contain both black and white areas. Requires the image being edited to be uploaded as raw `image` bytes in the same request; masks cannot be combined with asset references. The mask is supplied to the model as an additional reference image, so a masked request may carry at most three `reference_images`. /// /// - /// The rendering quality to use. `very_high` takes longer than `high` and is priced higher.
- /// Default Value: high + /// The rendering quality to use. `very_low` is the fastest and cheapest, and `high` takes longer and is priced higher.
+ /// Default Value: medium /// /// /// Random seed. Set for reproducible generation.
diff --git a/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContext.g.cs b/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContext.g.cs index 125e6c9..df87fc3 100644 --- a/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContext.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContext.g.cs @@ -477,7 +477,6 @@ namespace Ideogram [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.ManageApiCreditSummaryResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.CreditGrant))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.PostApiReactivateResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GetApiKeysResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.RedactedApiKey))] @@ -509,6 +508,7 @@ namespace Ideogram [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.UsageSource), TypeInfoPropertyName = "UsageSource2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GetApiProfilesResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.ApiProfile))] internal sealed partial class SourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext { } @@ -519,7 +519,6 @@ 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.ApiProfile))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.ApiProfileType), TypeInfoPropertyName = "ApiProfileType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.ApiProfileRole), TypeInfoPropertyName = "ApiProfileRole2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] diff --git a/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContextTypes.g.cs b/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContextTypes.g.cs index 7dd356d..af6883b 100644 --- a/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContextTypes.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.JsonSerializerContextTypes.g.cs @@ -1893,623 +1893,619 @@ public sealed partial class JsonSerializerContextTypes /// /// /// - public global::Ideogram.PostApiReactivateResponse? Type465 { get; set; } + public global::Ideogram.GetApiKeysResponse? Type465 { get; set; } /// /// /// - public global::Ideogram.GetApiKeysResponse? Type466 { get; set; } + public global::System.Collections.Generic.IList? Type466 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type467 { get; set; } + public global::Ideogram.RedactedApiKey? Type467 { get; set; } /// /// /// - public global::Ideogram.RedactedApiKey? Type468 { get; set; } + public global::Ideogram.PostApiKeyResponse? Type468 { get; set; } /// /// /// - public global::Ideogram.PostApiKeyResponse? Type469 { get; set; } + public global::Ideogram.CreateApiKeyRequest? Type469 { get; set; } /// /// /// - public global::Ideogram.CreateApiKeyRequest? Type470 { get; set; } + public global::Ideogram.ApiProfileApiKey? Type470 { get; set; } /// /// /// - public global::Ideogram.ApiProfileApiKey? Type471 { get; set; } + public global::Ideogram.ApiKeyStatus? Type471 { get; set; } /// /// /// - public global::Ideogram.ApiKeyStatus? Type472 { get; set; } + public global::Ideogram.PatchApiKeyRequest? Type472 { get; set; } /// /// /// - public global::Ideogram.PatchApiKeyRequest? Type473 { get; set; } + public global::Ideogram.ManageApiStripeSubscriptionResponse? Type473 { get; set; } /// /// /// - public global::Ideogram.ManageApiStripeSubscriptionResponse? Type474 { get; set; } + public global::Ideogram.ManageApiPaymentResponse? Type474 { get; set; } /// /// /// - public global::Ideogram.ManageApiPaymentResponse? Type475 { get; set; } + public global::Ideogram.GetApiTermsResponse? Type475 { get; set; } /// /// /// - public global::Ideogram.GetApiTermsResponse? Type476 { get; set; } + public global::Ideogram.ApiTerms? Type476 { get; set; } /// /// /// - public global::Ideogram.ApiTerms? Type477 { get; set; } + public global::Ideogram.PostApiTermsRequest? Type477 { get; set; } /// /// /// - public global::Ideogram.PostApiTermsRequest? Type478 { get; set; } + public global::Ideogram.PostAddCreditsResponse? Type478 { get; set; } /// /// /// - public global::Ideogram.PostAddCreditsResponse? Type479 { get; set; } + public global::Ideogram.PostAddCreditsError? Type479 { get; set; } /// /// /// - public global::Ideogram.PostAddCreditsError? Type480 { get; set; } + public global::Ideogram.PostAddCreditsRequest? Type480 { get; set; } /// /// /// - public global::Ideogram.PostAddCreditsRequest? Type481 { get; set; } + public global::Ideogram.GetUserCreditsResponse? Type481 { get; set; } /// /// /// - public global::Ideogram.GetUserCreditsResponse? Type482 { get; set; } + public global::Ideogram.SpendCommitInfoResponse? Type482 { get; set; } /// /// /// - public global::Ideogram.SpendCommitInfoResponse? Type483 { get; set; } + public global::System.Collections.Generic.IList? Type483 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type484 { get; set; } + public global::Ideogram.SpendCommitInfo? Type484 { get; set; } /// /// /// - public global::Ideogram.SpendCommitInfo? Type485 { get; set; } + public global::Ideogram.GetUsageInfoResponse? Type485 { get; set; } /// /// /// - public global::Ideogram.GetUsageInfoResponse? Type486 { get; set; } + public global::System.Collections.Generic.IList? Type486 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type487 { get; set; } + public global::Ideogram.UsageSegment? Type487 { get; set; } /// /// /// - public global::Ideogram.UsageSegment? Type488 { get; set; } + public global::System.Collections.Generic.IList? Type488 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type489 { get; set; } + public global::Ideogram.ToolUsage? Type489 { get; set; } /// /// /// - public global::Ideogram.ToolUsage? Type490 { get; set; } + public global::Ideogram.ToolType? Type490 { get; set; } /// /// /// - public global::Ideogram.ToolType? Type491 { get; set; } + public global::Ideogram.ModelVersion? Type491 { get; set; } /// /// /// - public global::Ideogram.ModelVersion? Type492 { get; set; } + public global::Ideogram.SegmentBy? Type492 { get; set; } /// /// /// - public global::Ideogram.SegmentBy? Type493 { get; set; } + public global::Ideogram.UsageSource? Type493 { get; set; } /// /// /// - public global::Ideogram.UsageSource? Type494 { get; set; } + public global::Ideogram.GetApiProfilesResponse? Type494 { get; set; } /// /// /// - public global::Ideogram.GetApiProfilesResponse? Type495 { get; set; } + public global::System.Collections.Generic.IList? Type495 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type496 { get; set; } + public global::Ideogram.ApiProfile? Type496 { get; set; } /// /// /// - public global::Ideogram.ApiProfile? Type497 { get; set; } + public global::Ideogram.ApiProfileType? Type497 { get; set; } /// /// /// - public global::Ideogram.ApiProfileType? Type498 { get; set; } + public global::Ideogram.ApiProfileRole? Type498 { get; set; } /// /// /// - public global::Ideogram.ApiProfileRole? Type499 { get; set; } + public global::System.Collections.Generic.IList? Type499 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type500 { get; set; } + public global::Ideogram.UpdateOrganizationApiPropertiesResponse? Type500 { get; set; } /// /// /// - public global::Ideogram.UpdateOrganizationApiPropertiesResponse? Type501 { get; set; } + public global::Ideogram.UpdateOrganizationApiPropertiesRequest? Type501 { get; set; } /// /// /// - public global::Ideogram.UpdateOrganizationApiPropertiesRequest? Type502 { get; set; } + public global::Ideogram.GetApiOrganizationUserSuggestionsResponse? Type502 { get; set; } /// /// /// - public global::Ideogram.GetApiOrganizationUserSuggestionsResponse? Type503 { get; set; } + public global::System.Collections.Generic.IList? Type503 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type504 { get; set; } + public global::Ideogram.ApiOrganizationUserSuggestion? Type504 { get; set; } /// /// /// - public global::Ideogram.ApiOrganizationUserSuggestion? Type505 { get; set; } + public global::Ideogram.GetOrganizationMembersResponse? Type505 { get; set; } /// /// /// - public global::Ideogram.GetOrganizationMembersResponse? Type506 { get; set; } + public global::System.Collections.Generic.IList? Type506 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type507 { get; set; } + public global::Ideogram.OrganizationMember? Type507 { get; set; } /// /// /// - public global::Ideogram.OrganizationMember? Type508 { get; set; } + public global::Ideogram.CreateApiKeyResponse? Type508 { get; set; } /// /// /// - public global::Ideogram.CreateApiKeyResponse? Type509 { get; set; } + public global::Ideogram.GetApiKeysV2Response? Type509 { get; set; } /// /// /// - public global::Ideogram.GetApiKeysV2Response? Type510 { get; set; } + public global::Ideogram.OrganizationMemberOperationResponse? Type510 { get; set; } /// /// /// - public global::Ideogram.OrganizationMemberOperationResponse? Type511 { get; set; } + public global::System.Collections.Generic.IList? Type511 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type512 { get; set; } + public global::Ideogram.OrganizationMemberOperationResult? Type512 { get; set; } /// /// /// - public global::Ideogram.OrganizationMemberOperationResult? Type513 { get; set; } + public global::Ideogram.AddOrganizationMembersRequest? Type513 { get; set; } /// /// /// - public global::Ideogram.AddOrganizationMembersRequest? Type514 { get; set; } + public global::System.Collections.Generic.IList? Type514 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type515 { get; set; } + public global::Ideogram.LiteOrganizationMember? Type515 { get; set; } /// /// /// - public global::Ideogram.LiteOrganizationMember? Type516 { get; set; } + public global::Ideogram.RemoveOrganizationMembersRequest? Type516 { get; set; } /// /// /// - public global::Ideogram.RemoveOrganizationMembersRequest? Type517 { get; set; } + public global::Ideogram.PromoteOrganizationAdminsRequest? Type517 { get; set; } /// /// /// - public global::Ideogram.PromoteOrganizationAdminsRequest? Type518 { get; set; } + public global::Ideogram.DemoteOrganizationAdminsRequest? Type518 { get; set; } /// /// /// - public global::Ideogram.DemoteOrganizationAdminsRequest? Type519 { get; set; } + public global::Ideogram.CancelOrganizationInviteRequest? Type519 { get; set; } /// /// /// - public global::Ideogram.CancelOrganizationInviteRequest? Type520 { get; set; } + public global::Ideogram.ResendOrganizationInviteRequest? Type520 { get; set; } /// /// /// - public global::Ideogram.ResendOrganizationInviteRequest? Type521 { get; set; } + public global::Ideogram.ListOrganizationInvoicesResponse? Type521 { get; set; } /// /// /// - public global::Ideogram.ListOrganizationInvoicesResponse? Type522 { get; set; } + public global::System.Collections.Generic.IList? Type522 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type523 { get; set; } + public global::Ideogram.Invoice? Type523 { get; set; } /// /// /// - public global::Ideogram.Invoice? Type524 { get; set; } + public global::Ideogram.InvoiceStatus? Type524 { get; set; } /// /// /// - public global::Ideogram.InvoiceStatus? Type525 { get; set; } + public global::System.Collections.Generic.IList? Type525 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type526 { get; set; } + public global::Ideogram.InvoiceLineItem? Type526 { get; set; } /// /// /// - public global::Ideogram.InvoiceLineItem? Type527 { get; set; } + public global::Ideogram.GetOrganizationBillingPortalResponse? Type527 { get; set; } /// /// /// - public global::Ideogram.GetOrganizationBillingPortalResponse? Type528 { get; set; } + public global::Ideogram.ListDatasetsResponse? Type528 { get; set; } /// /// /// - public global::Ideogram.ListDatasetsResponse? Type529 { get; set; } + public global::System.Collections.Generic.IList? Type529 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type530 { get; set; } + public global::Ideogram.Dataset? Type530 { get; set; } /// /// /// - public global::Ideogram.Dataset? Type531 { get; set; } + public global::Ideogram.CreateDatasetRequest? Type531 { get; set; } /// /// /// - public global::Ideogram.CreateDatasetRequest? Type532 { get; set; } + public global::Ideogram.GetDatasetResponse? Type532 { get; set; } /// /// /// - public global::Ideogram.GetDatasetResponse? Type533 { get; set; } + public global::System.Collections.Generic.IList? Type533 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type534 { get; set; } + public global::Ideogram.DatasetFile? Type534 { get; set; } /// /// /// - public global::Ideogram.DatasetFile? Type535 { get; set; } + public global::Ideogram.UploadDatasetAssetsResponse? Type535 { get; set; } /// /// /// - public global::Ideogram.UploadDatasetAssetsResponse? Type536 { get; set; } + public global::System.Collections.Generic.IList? Type536 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type537 { get; set; } + public global::Ideogram.DatasetUploadSucceededAsset? Type537 { get; set; } /// /// /// - public global::Ideogram.DatasetUploadSucceededAsset? Type538 { get; set; } + public global::System.Collections.Generic.IList? Type538 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type539 { get; set; } + public global::Ideogram.DatasetUploadFailedAsset? Type539 { get; set; } /// /// /// - public global::Ideogram.DatasetUploadFailedAsset? Type540 { get; set; } + public global::Ideogram.DatasetAssetFailureReason? Type540 { get; set; } /// /// /// - public global::Ideogram.DatasetAssetFailureReason? Type541 { get; set; } + public global::Ideogram.UploadDatasetAssetsRequest? Type541 { get; set; } /// /// /// - public global::Ideogram.UploadDatasetAssetsRequest? Type542 { get; set; } + public global::Ideogram.TrainDatasetModelResponse? Type542 { get; set; } /// /// /// - public global::Ideogram.TrainDatasetModelResponse? Type543 { get; set; } + public global::Ideogram.TrainDatasetModelRequest? Type543 { get; set; } /// /// /// - public global::Ideogram.TrainDatasetModelRequest? Type544 { get; set; } + public global::Ideogram.ListModelsResponse? Type544 { get; set; } /// /// /// - public global::Ideogram.ListModelsResponse? Type545 { get; set; } + public global::System.Collections.Generic.IList? Type545 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type546 { get; set; } + public global::Ideogram.CustomModel? Type546 { get; set; } /// /// /// - public global::Ideogram.CustomModel? Type547 { get; set; } + public global::Ideogram.ModelStatus? Type547 { get; set; } /// /// /// - public global::Ideogram.ModelStatus? Type548 { get; set; } + public global::System.Collections.Generic.IList? Type548 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type549 { get; set; } + public global::Ideogram.TrainingRun? Type549 { get; set; } /// /// /// - public global::Ideogram.TrainingRun? Type550 { get; set; } + public global::Ideogram.TrainingRunStatus? Type550 { get; set; } /// /// /// - public global::Ideogram.TrainingRunStatus? Type551 { get; set; } + public global::Ideogram.GetModelResponse? Type551 { get; set; } /// /// /// - public global::Ideogram.GetModelResponse? Type552 { get; set; } + public global::Ideogram.TrainModelV3Request? Type552 { get; set; } /// /// /// - public global::Ideogram.TrainModelV3Request? Type553 { get; set; } + public global::Ideogram.TrainModelV3AdvancedRequest? Type553 { get; set; } /// /// /// - public global::Ideogram.TrainModelV3AdvancedRequest? Type554 { get; set; } + public global::Ideogram.TrainModelV4Request? Type554 { get; set; } /// /// /// - public global::Ideogram.TrainModelV4Request? Type555 { get; set; } + public global::Ideogram.TrainModelV4AdvancedRequest? Type555 { get; set; } /// /// /// - public global::Ideogram.TrainModelV4AdvancedRequest? Type556 { get; set; } + public global::Ideogram.PublishMiniAppResponse? Type556 { get; set; } /// /// /// - public global::Ideogram.PublishMiniAppResponse? Type557 { get; set; } + public global::Ideogram.PublishMiniAppRequest? Type557 { get; set; } /// /// /// - public global::Ideogram.PublishMiniAppRequest? Type558 { get; set; } + public global::Ideogram.PublishMiniAppRequestEmbed? Type558 { get; set; } /// /// /// - public global::Ideogram.PublishMiniAppRequestEmbed? Type559 { get; set; } + public object? Type559 { get; set; } /// /// /// - public object? Type560 { get; set; } + public global::Ideogram.MiniAppArtwork? Type560 { get; set; } /// /// /// - public global::Ideogram.MiniAppArtwork? Type561 { get; set; } + public global::Ideogram.PublishMiniAppPreviewResponse? Type561 { get; set; } /// /// /// - public global::Ideogram.PublishMiniAppPreviewResponse? Type562 { get; set; } + public global::Ideogram.PublishMiniAppPreviewRequest? Type562 { get; set; } /// /// /// - public global::Ideogram.PublishMiniAppPreviewRequest? Type563 { get; set; } + public global::Ideogram.PublishMiniAppPreviewRequestEmbed? Type563 { get; set; } /// /// /// - public global::Ideogram.PublishMiniAppPreviewRequestEmbed? Type564 { get; set; } + public global::Ideogram.UnpublishMiniAppPreviewResponse? Type564 { get; set; } /// /// /// - public global::Ideogram.UnpublishMiniAppPreviewResponse? Type565 { get; set; } + public global::Ideogram.GetStaleMiniAppPreviewsResponse? Type565 { get; set; } /// /// /// - public global::Ideogram.GetStaleMiniAppPreviewsResponse? Type566 { get; set; } + public global::System.Collections.Generic.IList? Type566 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type567 { get; set; } + public global::Ideogram.MiniAppMarketingProjectionEntry? Type567 { get; set; } /// /// /// - public global::Ideogram.MiniAppMarketingProjectionEntry? Type568 { get; set; } + public global::Ideogram.MiniAppMarketingProjectionEntryEmbed? Type568 { get; set; } /// /// /// - public global::Ideogram.MiniAppMarketingProjectionEntryEmbed? Type569 { get; set; } + public global::Ideogram.GetIntegrationsResponse? Type569 { get; set; } /// /// /// - public global::Ideogram.GetIntegrationsResponse? Type570 { get; set; } + public global::System.Collections.Generic.IList? Type570 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type571 { get; set; } + public global::Ideogram.IntegrationType? Type571 { get; set; } /// /// /// - public global::Ideogram.IntegrationType? Type572 { get; set; } + public global::Ideogram.IntegrationErrorResponse? Type572 { get; set; } /// /// /// - public global::Ideogram.IntegrationErrorResponse? Type573 { get; set; } + public global::Ideogram.IntegrationErrorResponseError? Type573 { get; set; } /// /// /// - public global::Ideogram.IntegrationErrorResponseError? Type574 { get; set; } + public global::Ideogram.IntegrationAssetSearchResponse? Type574 { get; set; } /// /// /// - public global::Ideogram.IntegrationAssetSearchResponse? Type575 { get; set; } + public global::System.Collections.Generic.IList? Type575 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type576 { get; set; } + public global::Ideogram.IntegrationAsset? Type576 { get; set; } /// /// /// - public global::Ideogram.IntegrationAsset? Type577 { get; set; } + public global::Ideogram.IntegrationAssetDelivery? Type577 { get; set; } /// /// /// - public global::Ideogram.IntegrationAssetDelivery? Type578 { get; set; } + public global::Ideogram.IntegrationAssetSearchRequest? Type578 { get; set; } /// /// /// - public global::Ideogram.IntegrationAssetSearchRequest? Type579 { get; set; } + public global::Ideogram.V4StyleDescription? Type579 { get; set; } /// /// /// - public global::Ideogram.V4StyleDescription? Type580 { get; set; } + public global::Ideogram.V4CompositionalDeconstruction? Type580 { get; set; } /// /// /// - public global::Ideogram.V4CompositionalDeconstruction? Type581 { get; set; } + public global::System.Collections.Generic.IList? Type581 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type582 { get; set; } + public global::Ideogram.V4PromptElement? Type582 { get; set; } /// /// /// - public global::Ideogram.V4PromptElement? Type583 { get; set; } + public global::Ideogram.V4ObjPromptElement? Type583 { get; set; } /// /// /// - public global::Ideogram.V4ObjPromptElement? Type584 { get; set; } + public global::Ideogram.V4TextPromptElement? Type584 { get; set; } /// /// /// - public global::Ideogram.V4TextPromptElement? Type585 { get; set; } + public global::Ideogram.V4PromptElementDiscriminator? Type585 { get; set; } /// /// /// - public global::Ideogram.V4PromptElementDiscriminator? Type586 { get; set; } + public global::Ideogram.V4PromptElementDiscriminatorType? Type586 { get; set; } /// /// /// - public global::Ideogram.V4PromptElementDiscriminatorType? Type587 { get; set; } + public global::Ideogram.V4ObjPromptElementType? Type587 { get; set; } /// /// /// - public global::Ideogram.V4ObjPromptElementType? Type588 { get; set; } + public global::System.Collections.Generic.IList? Type588 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type589 { get; set; } + public global::Ideogram.V4TextPromptElementType? Type589 { get; set; } /// /// /// - public global::Ideogram.V4TextPromptElementType? Type590 { get; set; } + public global::Ideogram.ColorPaletteWithPresetName? Type590 { get; set; } /// /// /// - public global::Ideogram.ColorPaletteWithPresetName? Type591 { get; set; } + public global::Ideogram.ColorPaletteWithMembers? Type591 { get; set; } /// /// /// - public global::Ideogram.ColorPaletteWithMembers? Type592 { get; set; } + public global::Ideogram.ColorPalettePresetName? Type592 { get; set; } /// /// /// - public global::Ideogram.ColorPalettePresetName? Type593 { get; set; } + public global::System.Collections.Generic.IList? Type593 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type594 { get; set; } + public global::Ideogram.ColorPaletteMember? Type594 { get; set; } /// /// /// - public global::Ideogram.ColorPaletteMember? Type595 { get; set; } + public global::Ideogram.VideoObject? Type595 { get; set; } /// /// /// - public global::Ideogram.VideoObject? Type596 { get; set; } + public global::Ideogram.VideoObjectObjectType? Type596 { get; set; } /// /// /// - public global::Ideogram.VideoObjectObjectType? Type597 { get; set; } + public global::Ideogram.DetectedTextBlockAlignment? Type597 { get; set; } /// /// /// - public global::Ideogram.DetectedTextBlockAlignment? Type598 { get; set; } + public global::System.Collections.Generic.IList? Type598 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type599 { get; set; } + public global::Ideogram.DetectedTextBlockFormattingItem? Type599 { get; set; } /// /// /// - public global::Ideogram.DetectedTextBlockFormattingItem? Type600 { get; set; } + public global::Ideogram.DetectedTextBlockRole? Type600 { get; set; } /// /// /// - public global::Ideogram.DetectedTextBlockRole? Type601 { get; set; } + public global::Ideogram.AssetType? Type601 { get; set; } /// /// /// - public global::Ideogram.AssetType? Type602 { get; set; } + public global::Ideogram.IdeogramColorPaletteWithPresetName? Type602 { get; set; } /// /// /// - public global::Ideogram.IdeogramColorPaletteWithPresetName? Type603 { get; set; } + public global::Ideogram.IdeogramColorPalettePresetName? Type603 { get; set; } /// /// /// - public global::Ideogram.IdeogramColorPalettePresetName? Type604 { get; set; } + public global::Ideogram.PostGenerateDesignV4200Response? Type604 { get; set; } /// /// /// - public global::Ideogram.PostGenerateDesignV4200Response? Type605 { get; set; } + public global::Ideogram.PostGenerateDesignV4200ResponseDiscriminator? Type605 { get; set; } /// /// /// - public global::Ideogram.PostGenerateDesignV4200ResponseDiscriminator? Type606 { get; set; } + public global::Ideogram.PostGenerateDesignV4200ResponseDiscriminatorResponseType? Type606 { get; set; } /// /// /// - public global::Ideogram.PostGenerateDesignV4200ResponseDiscriminatorResponseType? Type607 { get; set; } + public global::Ideogram.PostInternalTesting200Response? Type607 { get; set; } /// /// /// - public global::Ideogram.PostInternalTesting200Response? Type608 { get; set; } + public global::Ideogram.GenerationResponseDataInnerDiscriminator? Type608 { get; set; } /// /// /// - public global::Ideogram.GenerationResponseDataInnerDiscriminator? Type609 { get; set; } + public global::Ideogram.GenerationResponseDataInnerDiscriminatorObjectType? Type609 { get; set; } /// /// /// - public global::Ideogram.GenerationResponseDataInnerDiscriminatorObjectType? Type610 { get; set; } + public global::Ideogram.MagicPromptRequestMessagesInnerRole? Type610 { get; set; } /// /// /// - public global::Ideogram.MagicPromptRequestMessagesInnerRole? Type611 { get; set; } + public global::Ideogram.DatasetCoverAssetIdentifier? Type611 { get; set; } /// /// /// - public global::Ideogram.DatasetCoverAssetIdentifier? Type612 { get; set; } + public global::System.Collections.Generic.IList? Type612 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type613 { get; set; } + public global::System.Collections.Generic.IList? Type613 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type614 { get; set; } + public global::Ideogram.ListCustomModelsScope? Type614 { get; set; } /// /// /// - public global::Ideogram.ListCustomModelsScope? Type615 { get; set; } + public global::System.Collections.Generic.IList? Type615 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type616 { get; set; } + public global::Ideogram.GetAccountUsageBucketWidth? Type616 { get; set; } /// /// /// - public global::Ideogram.GetAccountUsageBucketWidth? Type617 { get; set; } + public global::System.Collections.Generic.IList? Type617 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type618 { get; set; } - /// - /// - /// - public global::Ideogram.GetAccountUsageSource? Type619 { get; set; } + public global::Ideogram.GetAccountUsageSource? Type618 { get; set; } /// /// diff --git a/src/libs/Ideogram/Generated/Ideogram.Manage.JsonSerializerContext.g.cs b/src/libs/Ideogram/Generated/Ideogram.Manage.JsonSerializerContext.g.cs index 0a6a9a2..240797b 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Manage.JsonSerializerContext.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Manage.JsonSerializerContext.g.cs @@ -30,7 +30,6 @@ namespace Ideogram [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.ManageApiCreditSummaryResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.CreditGrant))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.PostApiReactivateResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GetApiKeysResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.RedactedApiKey))] diff --git a/src/libs/Ideogram/Generated/Ideogram.ManageClient.ReactivateSubscription.g.cs b/src/libs/Ideogram/Generated/Ideogram.ManageClient.ReactivateSubscription.g.cs deleted file mode 100644 index b79ff33..0000000 --- a/src/libs/Ideogram/Generated/Ideogram.ManageClient.ReactivateSubscription.g.cs +++ /dev/null @@ -1,511 +0,0 @@ - -#nullable enable - -namespace Ideogram -{ - public partial class ManageClient - { - - - private static readonly global::Ideogram.EndPointSecurityRequirement s_ReactivateSubscriptionSecurityRequirement0 = - 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_ReactivateSubscriptionSecurityRequirements = - new global::Ideogram.EndPointSecurityRequirement[] - { s_ReactivateSubscriptionSecurityRequirement0, - }; - partial void PrepareReactivateSubscriptionArguments( - global::System.Net.Http.HttpClient httpClient); - partial void PrepareReactivateSubscriptionRequest( - global::System.Net.Http.HttpClient httpClient, - global::System.Net.Http.HttpRequestMessage httpRequestMessage); - partial void ProcessReactivateSubscriptionResponse( - global::System.Net.Http.HttpClient httpClient, - global::System.Net.Http.HttpResponseMessage httpResponseMessage); - - partial void ProcessReactivateSubscriptionResponseContent( - global::System.Net.Http.HttpClient httpClient, - global::System.Net.Http.HttpResponseMessage httpResponseMessage, - ref string content); - - /// - /// Reactivates a subscription by attempting to re-enable Metronome billing. - /// - /// 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 ReactivateSubscriptionAsync( - global::Ideogram.AutoSDKRequestOptions? requestOptions = default, - global::System.Threading.CancellationToken cancellationToken = default) - { - var __response = await ReactivateSubscriptionAsResponseAsync( - requestOptions: requestOptions, - cancellationToken: cancellationToken - ).ConfigureAwait(false); - - return __response.Body; - } - /// - /// Reactivates a subscription by attempting to re-enable Metronome billing. - /// - /// 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> ReactivateSubscriptionAsResponseAsync( - global::Ideogram.AutoSDKRequestOptions? requestOptions = default, - global::System.Threading.CancellationToken cancellationToken = default) - { - PrepareArguments( - client: HttpClient); - PrepareReactivateSubscriptionArguments( - httpClient: HttpClient); - - - var __authorizations = global::Ideogram.EndPointSecurityResolver.ResolveAuthorizations( - availableAuthorizations: Authorizations, - securityRequirements: s_ReactivateSubscriptionSecurityRequirements, - operationName: "ReactivateSubscriptionAsync"); - - 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: true); - - global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() - { - - var __pathBuilder = new global::Ideogram.PathBuilder( - path: "/manage/api/reactivate", - baseUri: HttpClient.BaseAddress); - 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); - } - } - global::Ideogram.AutoSDKRequestOptionsSupport.ApplyHeaders( - request: __httpRequest, - clientHeaders: Options.Headers, - requestHeaders: requestOptions?.Headers); - - PrepareRequest( - client: HttpClient, - request: __httpRequest); - PrepareReactivateSubscriptionRequest( - httpClient: HttpClient, - httpRequestMessage: __httpRequest); - - 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: "ReactivateSubscription", - methodName: "ReactivateSubscriptionAsync", - pathTemplate: "\"/manage/api/reactivate\"", - 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: "ReactivateSubscription", - methodName: "ReactivateSubscriptionAsync", - pathTemplate: "\"/manage/api/reactivate\"", - 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: "ReactivateSubscription", - methodName: "ReactivateSubscriptionAsync", - pathTemplate: "\"/manage/api/reactivate\"", - 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); - ProcessReactivateSubscriptionResponse( - httpClient: HttpClient, - httpResponseMessage: __response); - if (__response.IsSuccessStatusCode) - { - await global::Ideogram.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( - clientOptions: Options, - context: global::Ideogram.AutoSDKRequestOptionsSupport.CreateHookContext( - operationId: "ReactivateSubscription", - methodName: "ReactivateSubscriptionAsync", - pathTemplate: "\"/manage/api/reactivate\"", - 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: "ReactivateSubscription", - methodName: "ReactivateSubscriptionAsync", - pathTemplate: "\"/manage/api/reactivate\"", - 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 == 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)); - } - // - if ((int)__response.StatusCode == 402) - { - string? __content_402 = null; - global::System.Exception? __exception_402 = null; - try - { - if (__effectiveReadResponseAsString) - { - __content_402 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); - } - else - { - __content_402 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); - } - } - 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, - 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)); - } - - 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); - ProcessReactivateSubscriptionResponseContent( - httpClient: HttpClient, - httpResponseMessage: __response, - content: ref __content); - - try - { - __response.EnsureSuccessStatusCode(); - - var __value = global::Ideogram.PostApiReactivateResponse.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.PostApiReactivateResponse.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(); - } - } - } -} \ No newline at end of file diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.PostApiReactivateResponse.Json.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.PostApiReactivateResponse.Json.g.cs deleted file mode 100644 index 6d6ad62..0000000 --- a/src/libs/Ideogram/Generated/Ideogram.Models.PostApiReactivateResponse.Json.g.cs +++ /dev/null @@ -1,141 +0,0 @@ -#nullable enable - -namespace Ideogram -{ - public sealed partial class PostApiReactivateResponse - { - /// - /// 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.PostApiReactivateResponse? FromJson( - string json, - global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) - { - return global::System.Text.Json.JsonSerializer.Deserialize( - json, - typeof(global::Ideogram.PostApiReactivateResponse), - jsonSerializerContext) as global::Ideogram.PostApiReactivateResponse; - } - - /// - /// Deserializes a JSON string using the generated default JsonSerializerContext. - /// - public static global::Ideogram.PostApiReactivateResponse? 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.PostApiReactivateResponse? 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.PostApiReactivateResponse), - jsonSerializerContext).ConfigureAwait(false)) as global::Ideogram.PostApiReactivateResponse; - } - - /// - /// 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.PostApiReactivateResponse.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.PostApiReactivateResponse.g.cs deleted file mode 100644 index b2c6416..0000000 --- a/src/libs/Ideogram/Generated/Ideogram.Models.PostApiReactivateResponse.g.cs +++ /dev/null @@ -1,48 +0,0 @@ - -#nullable enable - -namespace Ideogram -{ - /// - /// Response to re-activating API settings.
- /// Example: {"recharge_settings":{"is_active":true}} - ///
- public sealed partial class PostApiReactivateResponse - { - /// - /// Example: {"is_active":true} - /// - /// {"is_active":true} - [global::System.Text.Json.Serialization.JsonPropertyName("recharge_settings")] - public global::Ideogram.RechargeSettingsResponse? RechargeSettings { 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. - /// - /// - /// Example: {"is_active":true} - /// -#if NET7_0_OR_GREATER - [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] -#endif - public PostApiReactivateResponse( - global::Ideogram.RechargeSettingsResponse? rechargeSettings) - { - this.RechargeSettings = rechargeSettings; - } - - /// - /// Initializes a new instance of the class. - /// - public PostApiReactivateResponse() - { - } - - } -} \ No newline at end of file diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.PreciseEditImageIdeogram45Request.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.PreciseEditImageIdeogram45Request.g.cs index ba85e16..747789a 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.PreciseEditImageIdeogram45Request.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.PreciseEditImageIdeogram45Request.g.cs @@ -65,8 +65,8 @@ public sealed partial class PreciseEditImageIdeogram45Request public string? Maskname { get; set; } /// - /// The rendering quality to use. `very_high` takes longer than `high` and is priced higher.
- /// Default Value: high + /// The rendering quality to use. `very_low` is the fastest and cheapest, and `high` takes longer and is priced higher.
+ /// Default Value: medium ///
[global::System.Text.Json.Serialization.JsonPropertyName("quality")] [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ideogram.JsonConverters.PreciseEditImageIdeogram45RequestQualityJsonConverter))] @@ -165,8 +165,8 @@ public sealed partial class PreciseEditImageIdeogram45Request /// An optional mask confining the edit to part of `image`, as raw bytes (multipart requests only; JPEG, PNG, or WEBP, max 25MB). Black marks the area to edit and white the area to preserve; values in between are rounded to whichever is nearer. The mask must have the same width and height as `image`, and must contain both black and white areas. Requires the image being edited to be uploaded as raw `image` bytes in the same request; masks cannot be combined with asset references. The mask is supplied to the model as an additional reference image, so a masked request may carry at most three `reference_images`. /// /// - /// The rendering quality to use. `very_high` takes longer than `high` and is priced higher.
- /// Default Value: high + /// The rendering quality to use. `very_low` is the fastest and cheapest, and `high` takes longer and is priced higher.
+ /// Default Value: medium /// /// /// Random seed. Set for reproducible generation.
diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.PreciseEditImageIdeogram45RequestQuality.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.PreciseEditImageIdeogram45RequestQuality.g.cs index b56e043..14a39be 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.PreciseEditImageIdeogram45RequestQuality.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.PreciseEditImageIdeogram45RequestQuality.g.cs @@ -4,8 +4,8 @@ namespace Ideogram { /// - /// The rendering quality to use. `very_high` takes longer than `high` and is priced higher.
- /// Default Value: high + /// The rendering quality to use. `very_low` is the fastest and cheapest, and `high` takes longer and is priced higher.
+ /// Default Value: medium ///
public enum PreciseEditImageIdeogram45RequestQuality { @@ -24,7 +24,7 @@ public enum PreciseEditImageIdeogram45RequestQuality /// /// /// - VeryHigh, + VeryLow, } /// @@ -42,7 +42,7 @@ public static string ToValueString(this PreciseEditImageIdeogram45RequestQuality PreciseEditImageIdeogram45RequestQuality.High => "high", PreciseEditImageIdeogram45RequestQuality.Low => "low", PreciseEditImageIdeogram45RequestQuality.Medium => "medium", - PreciseEditImageIdeogram45RequestQuality.VeryHigh => "very_high", + PreciseEditImageIdeogram45RequestQuality.VeryLow => "very_low", _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), }; } @@ -56,7 +56,7 @@ public static string ToValueString(this PreciseEditImageIdeogram45RequestQuality "high" => PreciseEditImageIdeogram45RequestQuality.High, "low" => PreciseEditImageIdeogram45RequestQuality.Low, "medium" => PreciseEditImageIdeogram45RequestQuality.Medium, - "very_high" => PreciseEditImageIdeogram45RequestQuality.VeryHigh, + "very_low" => PreciseEditImageIdeogram45RequestQuality.VeryLow, _ => null, }; } diff --git a/src/libs/Ideogram/Generated/autosdk.generated-examples.json b/src/libs/Ideogram/Generated/autosdk.generated-examples.json index 4e78bf8..dd04b02 100644 --- a/src/libs/Ideogram/Generated/autosdk.generated-examples.json +++ b/src/libs/Ideogram/Generated/autosdk.generated-examples.json @@ -1159,9 +1159,9 @@ "Order": 106, "Title": "Edit an image with Ideogram 4.5, keeping the source\u0027s exact geometry", "Slug": "post-precise-edit-image-v2-ideogram45", - "Description": "Edit an image with Ideogram 4.5, returning output at that image\u0027s exact\nwidth and height. An image too large for the model is scaled down to\nfit while keeping its exact proportion, and one whose aspect ratio is\noutside 1:6 to 6:1 is rejected \u2014 this endpoint never reshapes, so there\nis no size to reshape it to. Unlike\n\u0060POST /v2/image/generate/ideogram-4-5\u0060, this endpoint takes no \u0060size\u0060:\nthe output always matches the image being edited, so the edit drops\nback into whatever it came from without reframing.\n\nPixels the edit did not meaningfully change are restored exactly from\nthe image being edited, with the edited region blended smoothly into\nits surroundings \u2014 untouched areas stay identical across repeated\nedits.\n\nSupply the image to edit as an \u0060image_asset_identifier\u0060 reference or as\nraw \u0060image\u0060 bytes (multipart requests only); if both are supplied, the\nreference wins and the bytes are ignored. Add up to four more images\nvia \u0060reference_image_asset_identifiers\u0060 or \u0060reference_images\u0060 to guide\nthe edit \u2014 those are never edited themselves.\n\nSupply a \u0060mask\u0060 to confine the edit to part of the image being edited.\nThe mask is optional \u2014 without one the prompt is applied to the whole\nimage. Masks are read as an additional reference image, so a masked\nrequest may carry at most three \u0060reference_images\u0060.\n\nThe \u0060prompt\u0060 is the edit instruction. It accepts either natural\nlanguage or a structured JSON prompt; the server detects which was\nsupplied. A natural-language instruction is automatically rewritten\ninto the model\u0027s structured edit contract, while a prompt that is\nalready valid structured JSON is consumed directly.\n\nBy default the request blocks until the images are ready and returns\nthem in \u0060data\u0060. Set \u0060async\u0060 to true to return immediately after the\nrequest is accepted, then poll for completion and results with\n\u0060GET /v1/generations/{generation_id}\u0060 using the returned\n\u0060generation_id\u0060.\n\nSupplying a \u0060webhook_url\u0060 makes the request asynchronous whatever\n\u0060async\u0060 says: the response returns as soon as the request is accepted,\nand the finished result is POSTed to that URL.", + "Description": "Edit an image with Ideogram 4.5, returning output at that image\u0027s exact\nwidth and height. An image too large for the model is scaled down to\nfit while keeping its exact proportion, and one whose aspect ratio is\noutside 1:6 to 6:1 is rejected \u2014 this endpoint never reshapes, so there\nis no size to reshape it to. Unlike\n\u0060POST /v2/image/generate/ideogram-4-5\u0060, this endpoint takes no \u0060size\u0060:\nthe output always matches the image being edited, so the edit drops\nback into whatever it came from without reframing.\n\nWhen the output is delivered at the image\u0027s own size (every image the\nmodel can hold), pixels the edit did not meaningfully change are\nrestored exactly from the image being edited, with the edited region\nblended smoothly into its surroundings \u2014 untouched areas stay\nidentical across repeated edits. An image too large for the model is\ndelivered at the scaled-down size, where every pixel is resampled, so\nit is returned as rendered.\n\nSupply the image to edit as an \u0060image_asset_identifier\u0060 reference or as\nraw \u0060image\u0060 bytes (multipart requests only); if both are supplied, the\nreference wins and the bytes are ignored. Add up to four more images\nvia \u0060reference_image_asset_identifiers\u0060 or \u0060reference_images\u0060 to guide\nthe edit \u2014 those are never edited themselves.\n\nSupply a \u0060mask\u0060 to confine the edit to part of the image being edited.\nThe mask is optional \u2014 without one the prompt is applied to the whole\nimage. Masks are read as an additional reference image, so a masked\nrequest may carry at most three \u0060reference_images\u0060.\n\nThe \u0060prompt\u0060 is the edit instruction. It accepts either natural\nlanguage or a structured JSON prompt; the server detects which was\nsupplied. A natural-language instruction is automatically rewritten\ninto the model\u0027s structured edit contract, while a prompt that is\nalready valid structured JSON is consumed directly.\n\nBy default the request blocks until the images are ready and returns\nthem in \u0060data\u0060. Set \u0060async\u0060 to true to return immediately after the\nrequest is accepted, then poll for completion and results with\n\u0060GET /v1/generations/{generation_id}\u0060 using the returned\n\u0060generation_id\u0060.\n\nSupplying a \u0060webhook_url\u0060 makes the request asynchronous whatever\n\u0060async\u0060 says: the response returns as soon as the request is accepted,\nand the finished result is POSTed to that URL.", "Language": "http", - "Code": "### Edit an image with Ideogram 4.5, keeping the source\u0027s exact geometry\n# @name post_precise_edit_image_v2_ideogram45\nPOST {{host}}/v2/image/precise-edit/ideogram-4-5?dry_run=false\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data; boundary=AutoSDKBoundary\nAccept: application/json\n\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022prompt\u0022\n\nstring\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022image_asset_identifier\u0022\n\nstring\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022image\u0022; filename=\u0022image.bin\u0022\nContent-Type: application/octet-stream\n\n\u003C ./image.bin\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022reference_image_asset_identifiers\u0022\n\n{\u0022asset_type\u0022:\u0022RESPONSE\u0022,\u0022asset_id\u0022:\u00227uS_VESkRI6O3-sVgHQp_A\u0022}\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022reference_images\u0022; filename=\u0022reference_images.bin\u0022\nContent-Type: application/octet-stream\n\n\u003C ./reference_images.bin\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022mask\u0022; filename=\u0022mask.bin\u0022\nContent-Type: application/octet-stream\n\n\u003C ./mask.bin\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022quality\u0022\n\nhigh\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022seed\u0022\n\n12345\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022num_images\u0022\n\n1\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022enable_copyright_detection\u0022\n\ntrue\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022async\u0022\n\nfalse\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022webhook_url\u0022\n\nhttps://api.example.com/webhooks/ideogram\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022private\u0022\n\ntrue\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022target_collection_id\u0022\n\nstring\n--AutoSDKBoundary--\n\n## Responses\n# 200\n# Description: The edited images (synchronous requests), or an acknowledgement to poll with \u0060GET /v1/generations/{generation_id}\u0060 (\u0060async\u0060 requests).\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Unauthorized.\n# 402\n# Description: Insufficient credits or quota.\n# Content-Type: application/json\n# 422\n# Description: The prompt did not pass safety checks.\n# 429\n# Description: Too many requests.\n# Content-Type: application/json\n# 500\n# Description: Internal server error.\n# 503\n# Description: The endpoint is temporarily unavailable.", + "Code": "### Edit an image with Ideogram 4.5, keeping the source\u0027s exact geometry\n# @name post_precise_edit_image_v2_ideogram45\nPOST {{host}}/v2/image/precise-edit/ideogram-4-5?dry_run=false\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data; boundary=AutoSDKBoundary\nAccept: application/json\n\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022prompt\u0022\n\nstring\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022image_asset_identifier\u0022\n\nstring\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022image\u0022; filename=\u0022image.bin\u0022\nContent-Type: application/octet-stream\n\n\u003C ./image.bin\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022reference_image_asset_identifiers\u0022\n\n{\u0022asset_type\u0022:\u0022RESPONSE\u0022,\u0022asset_id\u0022:\u00227uS_VESkRI6O3-sVgHQp_A\u0022}\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022reference_images\u0022; filename=\u0022reference_images.bin\u0022\nContent-Type: application/octet-stream\n\n\u003C ./reference_images.bin\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022mask\u0022; filename=\u0022mask.bin\u0022\nContent-Type: application/octet-stream\n\n\u003C ./mask.bin\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022quality\u0022\n\nmedium\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022seed\u0022\n\n12345\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022num_images\u0022\n\n1\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022enable_copyright_detection\u0022\n\ntrue\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022async\u0022\n\nfalse\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022webhook_url\u0022\n\nhttps://api.example.com/webhooks/ideogram\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022private\u0022\n\ntrue\n--AutoSDKBoundary\nContent-Disposition: form-data; name=\u0022target_collection_id\u0022\n\nstring\n--AutoSDKBoundary--\n\n## Responses\n# 200\n# Description: The edited images (synchronous requests), or an acknowledgement to poll with \u0060GET /v1/generations/{generation_id}\u0060 (\u0060async\u0060 requests).\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Unauthorized.\n# 402\n# Description: Insufficient credits or quota.\n# Content-Type: application/json\n# 422\n# Description: The prompt did not pass safety checks.\n# 429\n# Description: Too many requests.\n# Content-Type: application/json\n# 500\n# Description: Internal server error.\n# 503\n# Description: The endpoint is temporarily unavailable.", "Format": "http", "OperationId": "post_precise_edit_image_v2_ideogram45", "Setup": null @@ -1619,17 +1619,6 @@ }, { "Order": 148, - "Title": "Reactivates a subscription by attempting to re-enable Metronome billing.", - "Slug": "reactivate-subscription", - "Description": "Generated from OpenAPI examples.", - "Language": "csharp", - "Code": "using var client = new IdeogramClient(apiKey);\nvar response = await client.Manage.ReactivateSubscriptionAsync();\n\n// Example response:\n// {\n// \u0022recharge_settings\u0022: {\n// \u0022is_active\u0022: true\n// }\n// }", - "Format": "sdk", - "OperationId": "reactivate_subscription", - "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." - }, - { - "Order": 149, "Title": "Remove members from a specific organization", "Slug": "remove-organization-members", "Description": "Generated from OpenAPI examples.", @@ -1640,7 +1629,7 @@ "Setup": null }, { - "Order": 150, + "Order": 149, "Title": "Resend a pending invite for an organization", "Slug": "resend-organization-invite", "Description": "Generated from OpenAPI examples.", @@ -1651,7 +1640,7 @@ "Setup": null }, { - "Order": 151, + "Order": 150, "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.", @@ -1662,7 +1651,7 @@ "Setup": null }, { - "Order": 152, + "Order": 151, "Title": "Update an API key\u0027s user-supplied label.", "Slug": "update-single-api-key", "Description": "Generated from OpenAPI examples.", @@ -1673,7 +1662,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 153, + "Order": 152, "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.", @@ -1684,7 +1673,7 @@ "Setup": null }, { - "Order": 154, + "Order": 153, "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.", @@ -1695,7 +1684,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 155, + "Order": 154, "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.", @@ -1706,7 +1695,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 156, + "Order": 155, "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.", @@ -1717,7 +1706,7 @@ "Setup": null }, { - "Order": 157, + "Order": 156, "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.", @@ -1728,7 +1717,7 @@ "Setup": null }, { - "Order": 158, + "Order": 157, "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.", @@ -1739,7 +1728,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 159, + "Order": 158, "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.", @@ -1750,7 +1739,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 160, + "Order": 159, "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.", @@ -1761,7 +1750,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 161, + "Order": 160, "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.", @@ -1772,7 +1761,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 162, + "Order": 161, "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.", @@ -1783,7 +1772,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 163, + "Order": 162, "Title": "Remove a masked object from an image, by asset id or by uploaded bytes", "Slug": "post-remove-object-from-v2-assets", "Description": "Remove a masked object from an image. For each of the source image and the\nmask, supply either an \u0060AssetIdentifier\u0060 reference (\u0060image_asset_identifier\u0060\n/ \u0060mask_asset_identifier\u0060) or the raw image bytes directly (\u0060image\u0060 / \u0060mask\u0060,\nmultipart requests only) \u2014 callers are never required to call\n\u0060POST /v2/assets\u0060 first. If both a reference and bytes are supplied for the\nsame input, the reference wins and the bytes are ignored.\n\nPoll for completion with \u0060GET /v1/generations/{generation_id}\u0060 using the\nreturned \u0060generation_id\u0060.\n\nThis is the \u0060/v2\u0060 capability-first shape; no \u0060model\u0060 or \u0060model_uri\u0060 field is\nexposed until a second backend exists.", @@ -1794,7 +1783,7 @@ "Setup": null }, { - "Order": 164, + "Order": 163, "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.", @@ -1805,7 +1794,7 @@ "Setup": null }, { - "Order": 165, + "Order": 164, "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.", @@ -1816,7 +1805,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 166, + "Order": 165, "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.", @@ -1827,7 +1816,7 @@ "Setup": null }, { - "Order": 167, + "Order": 166, "Title": "Remove an image background", "Slug": "post-remove-background-v2", "Description": "Remove the background from one image and return a foreground PNG with\ntransparency. Supply exactly one source: raw \u0060image\u0060 bytes in a\nmultipart request, or an existing \u0060image_asset_identifier\u0060 in JSON or\nmultipart form.\n\nBy default the request blocks until the foreground image is ready and\nreturns it in \u0060data\u0060. Set \u0060async\u0060 to true to return immediately after\nthe request is accepted, then poll \u0060GET /v1/generations/{generation_id}\u0060.\n\nAPI-key requests use the organization bound to the key. Firebase Bearer\nrequests use their selected organization, and Mini App context tokens\nremain bound to the organization in the token. When \u0060private\u0060 is omitted,\nBearer and Mini App callers inherit their plan\u0027s private-generation\ndefault; Enterprise generations are always private.", @@ -1838,7 +1827,7 @@ "Setup": null }, { - "Order": 168, + "Order": 167, "Title": "Replace an image background", "Slug": "post-replace-background", "Description": "Replaces the background of one image from a text prompt while preserving\nthe foreground subject. The foreground mask is detected automatically;\ncallers do not provide a mask.\n\nThe request is processed asynchronously. Poll\n\u0060GET /v1/generations/{generation_id}\u0060 with the returned \u0060generation_id\u0060\nuntil the generation is completed or failed.\n\nSupply exactly one source transport: an existing \u0060AssetIdentifier\u0060 in\n\u0060image_asset_identifier\u0060, or raw \u0060image\u0060 bytes in a multipart request.\nSupplying both or neither is rejected with a 400.", @@ -1849,7 +1838,7 @@ "Setup": null }, { - "Order": 169, + "Order": 168, "Title": "Replace an image background with Ideogram 3.0", "Slug": "post-replace-background-ideogram-v3", "Description": "Replaces the background of one image from a text prompt while preserving\nthe foreground subject, generated by Ideogram 3.0 inpainting. The\nforeground mask is detected automatically; callers do not provide a mask.\n\nThe request is processed asynchronously. Poll\n\u0060GET /v1/generations/{generation_id}\u0060 with the returned \u0060generation_id\u0060\nuntil the generation is completed or failed.\n\nSupply exactly one source transport: an existing \u0060AssetIdentifier\u0060 in\n\u0060image_asset_identifier\u0060, or raw \u0060image\u0060 bytes in a multipart request.\nSupplying both or neither is rejected with a 400. The source\u0027s longer\nside must be at most 3 times its shorter side; wider aspect ratios are\nrejected with a 400.", @@ -1860,7 +1849,7 @@ "Setup": null }, { - "Order": 170, + "Order": 169, "Title": "Upscale an image", "Slug": "post-upscale", "Description": "Upscale one image to 2x, 4x, or 8x its original resolution, up to a\nmaximum output of 8192px per side. Ideogram selects the best upscaling\nmodel for each request, and the selection may change over time; callers\nnever choose a model.\n\nSupply the source either as an \u0060image_asset_identifier\u0060 reference (an\nimage already stored with Ideogram) or as raw \u0060image\u0060 bytes (multipart\nrequests only). Provide exactly one of the two forms; supplying both,\nor neither, is rejected with a 400. Uploaded bytes are used for this\nrequest only and are not stored as an asset; upscales of a referenced\nasset keep a visible link to their source image.\n\nUpscaling takes no prompt: the source image is enhanced as-is.\n\nBy default the request blocks until the upscaled image is ready and\nreturns it in \u0060data\u0060. Set \u0060async\u0060 to true to return immediately after\nthe request is accepted, then poll for completion and results with\n\u0060GET /v1/generations/{generation_id}\u0060 using the returned\n\u0060generation_id\u0060.\n\nSupplying a \u0060webhook_url\u0060 makes the request asynchronous whatever\n\u0060async\u0060 says: the response returns as soon as the request is accepted,\nand the finished result is POSTed to that URL.", @@ -1871,7 +1860,7 @@ "Setup": null }, { - "Order": 171, + "Order": 170, "Title": "Produce a video from reference media with MiniMax H3", "Slug": "post-edit-video-minimax-h3-reference-to-video", "Description": "Produce a video from a text prompt and reference media with MiniMax H3.\n\nThe prompt addresses the references by position: the first reference\nimage is \u0060Image 1\u0060, the second \u0060Image 2\u0060, the first reference video is\n\u0060Video 1\u0060, and the first reference audio is \u0060Audio 1\u0060. Supply reference\nimages either as\n\u0060reference_image_asset_identifiers\u0060 (images already stored with\nIdeogram) or as raw \u0060reference_images\u0060 bytes (multipart requests only);\nsupplying both is rejected, and uploaded bytes are used for this request\nonly and are not stored as an asset. Supply reference videos as\n\u0060reference_video_asset_identifiers\u0060, which must reference videos\ngenerated or uploaded with Ideogram. At most 9 reference images and 3 reference\nvideos are accepted, and reference videos are capped again on clip\nlength. Optional \u0060reference_audios\u0060 accepts MP3/WAV uploads alongside\nan image or video. Audio and video references must total at most 15\nseconds; at most 12 references are accepted across all media.\n\nReferences are optional. With none, the video is produced from the\nprompt alone.\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 /v1/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.", @@ -1882,7 +1871,7 @@ "Setup": null }, { - "Order": 172, + "Order": 171, "Title": "Edit a video with Seedance 2.0 by regenerating from frames of it", "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 /v1/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.", @@ -1893,7 +1882,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 173, + "Order": 172, "Title": "Generate a video from a first frame with Kling v3 Standard, by asset id or by uploaded bytes", "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. Supply the first frame either as an\n\u0060image_asset_identifier\u0060 reference (an image already stored with\nIdeogram) or as raw \u0060image\u0060 bytes (multipart requests only) \u2014 callers\nare never required to upload the asset first. Exactly one source is\nrequired; supplying neither or both is rejected. Only image assets are\naccepted as a first frame. Uploaded bytes are used for this request\nonly and are not stored as an asset.\n\nTo generate a transition between two stills, supply a final frame as\nwell, in either of the same two forms: \u0060end_image_asset_identifier\u0060 or\n\u0060end_image\u0060. The final frame is optional and follows the same\none-form-only rule.\n\nThe generated video takes its aspect ratio from the first frame, so\nthere is no aspect ratio to set.\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 /v1/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 +1893,7 @@ "Setup": null }, { - "Order": 174, + "Order": 173, "Title": "Generate a video from a text prompt 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.\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 /v1/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.", @@ -1915,7 +1904,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 175, + "Order": 174, "Title": "Generate a video from a first frame with MiniMax H3, by asset id or by uploaded bytes", "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. Supply the first frame either as an\n\u0060image_asset_identifier\u0060 reference (an image already stored with\nIdeogram) or as raw \u0060image\u0060 bytes (multipart requests only) \u2014 callers\nare never required to upload the asset first. Exactly one source is\nrequired; supplying neither or both is rejected. Only image assets are\naccepted as a first frame. Uploaded bytes are used for this request\nonly and are not stored as an asset.\n\nTo generate a transition between two stills, supply a final frame as\nwell, in either of the same two forms: \u0060end_image_asset_identifier\u0060 or\n\u0060end_image\u0060. The final frame is optional and follows the same\none-form-only rule.\n\nThe generated video takes its aspect ratio from the first frame, so\nthis endpoint accepts no \u0060aspect_ratio\u0060.\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 /v1/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.", @@ -1926,7 +1915,7 @@ "Setup": null }, { - "Order": 176, + "Order": 175, "Title": "Generate a video from a text prompt with MiniMax H3", "Slug": "post-generate-video-minimax-h3-text-to-video", "Description": "Generate a video from a text prompt with MiniMax H3.\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 /v1/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.", @@ -1937,7 +1926,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 177, + "Order": 176, "Title": "Generate a video from a first frame with Seedance 2.5, by asset id or by uploaded bytes", "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. Supply the first frame either as an\n\u0060image_asset_identifier\u0060 reference (an image already stored with\nIdeogram) or as raw \u0060image\u0060 bytes (multipart requests only) \u2014 callers\nare never required to upload the asset first. Exactly one source is\nrequired; supplying neither or both is rejected. Only image assets are\naccepted as a first frame. Uploaded bytes are used for this request\nonly and are not stored as an asset.\n\nTo generate a transition between two stills, supply a final frame as\nwell, in either of the same two forms: \u0060end_image_asset_identifier\u0060 or\n\u0060end_image\u0060. The final frame is optional and follows the same\none-form-only rule.\n\nSeedance 2.5 always derives an image-to-video result\u0027s aspect ratio\nfrom its first frame, so this endpoint takes no \u0060aspect_ratio\u0060.\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 /v1/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.", @@ -1948,7 +1937,7 @@ "Setup": null }, { - "Order": 178, + "Order": 177, "Title": "Produce a video from reference images and videos with Seedance 2.5", "Slug": "post-generate-video-seed-dance25-reference-to-video", "Description": "Produce a video from a text prompt and reference media with\nSeedance 2.5.\n\nThe prompt addresses the references by position: the first reference\nimage is \u0060[Image1]\u0060, the second\n\u0060[Image2]\u0060, the first reference video is\n\u0060[Video1]\u0060, and so on. Supply reference images\neither as \u0060reference_image_asset_identifiers\u0060 (images already stored\nwith Ideogram) or as raw \u0060reference_images\u0060 bytes (multipart requests\nonly); supplying both is rejected, and uploaded bytes are used for this\nrequest only and are not stored as an asset. Supply reference videos as\n\u0060reference_video_asset_identifiers\u0060, which can reference uploaded or generated videos. At most 9 reference images and 10\nreference videos are accepted, and reference videos are capped again on\nclip length: each clip must be between 2 and 30 seconds long, and the clips must total no more than 30 seconds.\nSupply up to 10 MP3/WAV \u0060reference_audios\u0060 as multipart files, at most 15 MB each.\nEach audio clip must be 2\u201330 seconds, with at most 30 seconds total. Reference\nthem as \u0060[Audio1]\u0060, \u0060[Audio2]\u0060, and so on. Audio is used for this request only.\n\nAt least one reference image or video is required: the model\nconditions every generation on the media it is given, so a request\nwith no references is rejected.\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 /v1/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.", @@ -1959,7 +1948,7 @@ "Setup": null }, { - "Order": 179, + "Order": 178, "Title": "Generate a video from a text prompt 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, which serves\nresolutions up to 1080p and durations up to 30 seconds.\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 /v1/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.", @@ -1970,7 +1959,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 180, + "Order": 179, "Title": "Generate a video from a first frame with Seedance 2.0, by asset id or by uploaded bytes", "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. Supply the first frame either as an\n\u0060image_asset_identifier\u0060 reference (an image already stored with\nIdeogram) or as raw \u0060image\u0060 bytes (multipart requests only) \u2014 callers\nare never required to upload the asset first. Exactly one source is\nrequired; supplying neither or both is rejected. Only image assets are\naccepted as a first frame. Uploaded bytes are used for this request\nonly and are not stored as an asset.\n\nTo generate a transition between two stills, supply a final frame as\nwell, in either of the same two forms: \u0060end_image_asset_identifier\u0060 or\n\u0060end_image\u0060. The final frame is optional, follows the same one-form-only\nrule, and requires a first frame.\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 /v1/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.", @@ -1981,7 +1970,7 @@ "Setup": null }, { - "Order": 181, + "Order": 180, "Title": "Produce a video from reference images and videos with Seedance 2.0", "Slug": "post-generate-video-seed-dance2-reference-to-video", "Description": "Produce a video from a text prompt and reference media with\nSeedance 2.0.\n\nThe prompt addresses the references by position: the first reference\nimage is \u0060@Image1\u0060, the second\n\u0060@Image2\u0060, the first reference video is\n\u0060@Video1\u0060, and so on. Supply reference images\neither as \u0060reference_image_asset_identifiers\u0060 (images already stored\nwith Ideogram) or as raw \u0060reference_images\u0060 bytes (multipart requests\nonly); supplying both is rejected, and uploaded bytes are used for this\nrequest only and are not stored as an asset. Supply reference videos as\n\u0060reference_video_asset_identifiers\u0060, which can reference uploaded or generated videos. At most 9 reference images and 3\nreference videos are accepted, and reference videos are capped again on\nclip length: each clip must be between 2 and 15 seconds long, and the clips must total no more than 15 seconds.\nSupply up to 3 MP3/WAV \u0060reference_audios\u0060 as multipart files, at most 15 MB each.\nEach audio clip must be 2\u201315 seconds, with at most 15 seconds total. Reference\nthem as \u0060@Audio1\u0060, \u0060@Audio2\u0060, and so on. Audio is used for this request only.\nImages, videos, and audio combined must not exceed 12 references.\n\nAt least one reference image or video is required: the model\nconditions every generation on the media it is given, so a request\nwith no references is rejected.\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 /v1/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.", @@ -1992,7 +1981,7 @@ "Setup": null }, { - "Order": 182, + "Order": 181, "Title": "Generate a video from a text prompt 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.\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 /v1/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.", @@ -2003,7 +1992,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 183, + "Order": 182, "Title": "Create a looping 360-degree product 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 /v1/generations/{generation_id}\u0060 with the returned \u0060generation_id\u0060 until the generation completes or fails.", @@ -2014,7 +2003,7 @@ "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 184, + "Order": 183, "Title": "Describe", "Slug": "post-describe", "Description": "Describe an image.\n\nSupported image formats include JPEG, PNG, and WebP.", @@ -2025,7 +2014,7 @@ "Setup": null }, { - "Order": 185, + "Order": 184, "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.", @@ -2036,7 +2025,7 @@ "Setup": null }, { - "Order": 186, + "Order": 185, "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 394b5ba..6f6b2ad 100644 --- a/src/libs/Ideogram/openapi.json +++ b/src/libs/Ideogram/openapi.json @@ -2149,42 +2149,6 @@ "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller" } }, - "/manage/api/reactivate": { - "post": { - "operationId": "reactivate_subscription", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PostApiReactivateResponse" - } - } - }, - "description": "API subscription content" - }, - "401": { - "description": "Not authorized" - }, - "402": { - "description": "Payment is required; is your payment method setup?" - }, - "404": { - "description": "User does not have a subscription to reactivate." - } - }, - "security": [ - { - "BearerAuth": [] - } - ], - "summary": "Reactivates a subscription by attempting to re-enable Metronome billing.", - "tags": [ - "manage" - ], - "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller" - } - }, "/manage/api/spend_commit": { "get": { "operationId": "get_user_spend_commit_info", @@ -9566,7 +9530,7 @@ }, "/v2/image/precise-edit/ideogram-4-5": { "post": { - "description": "Edit an image with Ideogram 4.5, returning output at that image's exact\nwidth and height. An image too large for the model is scaled down to\nfit while keeping its exact proportion, and one whose aspect ratio is\noutside 1:6 to 6:1 is rejected — this endpoint never reshapes, so there\nis no size to reshape it to. Unlike\n`POST /v2/image/generate/ideogram-4-5`, this endpoint takes no `size`:\nthe output always matches the image being edited, so the edit drops\nback into whatever it came from without reframing.\n\nPixels the edit did not meaningfully change are restored exactly from\nthe image being edited, with the edited region blended smoothly into\nits surroundings — untouched areas stay identical across repeated\nedits.\n\nSupply the image to edit as an `image_asset_identifier` reference or as\nraw `image` bytes (multipart requests only); if both are supplied, the\nreference wins and the bytes are ignored. Add up to four more images\nvia `reference_image_asset_identifiers` or `reference_images` to guide\nthe edit — those are never edited themselves.\n\nSupply a `mask` to confine the edit to part of the image being edited.\nThe mask is optional — without one the prompt is applied to the whole\nimage. Masks are read as an additional reference image, so a masked\nrequest may carry at most three `reference_images`.\n\nThe `prompt` is the edit instruction. It accepts either natural\nlanguage or a structured JSON prompt; the server detects which was\nsupplied. A natural-language instruction is automatically rewritten\ninto the model's structured edit contract, while a prompt that is\nalready valid structured JSON is consumed directly.\n\nBy default the request blocks until the images are ready and returns\nthem in `data`. Set `async` to true to return immediately after the\nrequest is accepted, then poll for completion and results with\n`GET /v1/generations/{generation_id}` using the returned\n`generation_id`.\n\nSupplying a `webhook_url` makes the request asynchronous whatever\n`async` says: the response returns as soon as the request is accepted,\nand the finished result is POSTed to that URL.\n", + "description": "Edit an image with Ideogram 4.5, returning output at that image's exact\nwidth and height. An image too large for the model is scaled down to\nfit while keeping its exact proportion, and one whose aspect ratio is\noutside 1:6 to 6:1 is rejected — this endpoint never reshapes, so there\nis no size to reshape it to. Unlike\n`POST /v2/image/generate/ideogram-4-5`, this endpoint takes no `size`:\nthe output always matches the image being edited, so the edit drops\nback into whatever it came from without reframing.\n\nWhen the output is delivered at the image's own size (every image the\nmodel can hold), pixels the edit did not meaningfully change are\nrestored exactly from the image being edited, with the edited region\nblended smoothly into its surroundings — untouched areas stay\nidentical across repeated edits. An image too large for the model is\ndelivered at the scaled-down size, where every pixel is resampled, so\nit is returned as rendered.\n\nSupply the image to edit as an `image_asset_identifier` reference or as\nraw `image` bytes (multipart requests only); if both are supplied, the\nreference wins and the bytes are ignored. Add up to four more images\nvia `reference_image_asset_identifiers` or `reference_images` to guide\nthe edit — those are never edited themselves.\n\nSupply a `mask` to confine the edit to part of the image being edited.\nThe mask is optional — without one the prompt is applied to the whole\nimage. Masks are read as an additional reference image, so a masked\nrequest may carry at most three `reference_images`.\n\nThe `prompt` is the edit instruction. It accepts either natural\nlanguage or a structured JSON prompt; the server detects which was\nsupplied. A natural-language instruction is automatically rewritten\ninto the model's structured edit contract, while a prompt that is\nalready valid structured JSON is consumed directly.\n\nBy default the request blocks until the images are ready and returns\nthem in `data`. Set `async` to true to return immediately after the\nrequest is accepted, then poll for completion and results with\n`GET /v1/generations/{generation_id}` using the returned\n`generation_id`.\n\nSupplying a `webhook_url` makes the request asynchronous whatever\n`async` says: the response returns as soon as the request is accepted,\nand the finished result is POSTed to that URL.\n", "operationId": "post_precise_edit_image_v2_ideogram45", "parameters": [ { @@ -27981,13 +27945,13 @@ "type": "string" }, "quality": { - "default": "high", - "description": "The rendering quality to use. `very_high` takes longer than `high` and is priced higher.", + "default": "medium", + "description": "The rendering quality to use. `very_low` is the fastest and cheapest, and `high` takes longer and is priced higher.", "enum": [ + "very_low", "low", "medium", - "high", - "very_high" + "high" ], "type": "string" }, @@ -31216,21 +31180,6 @@ "title": "CreditGrant", "type": "object" }, - "PostApiReactivateResponse": { - "description": "Response to re-activating API settings.", - "example": { - "recharge_settings": { - "is_active": true - } - }, - "properties": { - "recharge_settings": { - "$ref": "#/components/schemas/RechargeSettingsResponse" - } - }, - "title": "PostApiReactivateResponse", - "type": "object" - }, "GetApiKeysResponse": { "example": { "current_api_keys": [