From 98db41e7a837274d87a664c6617dd65c6b001535 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 16 Mar 2026 18:46:01 +0000 Subject: [PATCH] feat: Updated OpenAPI spec --- ...gram.DatasetsClient.TrainDatasetModel.g.cs | 4 +- ...ram.IDatasetsClient.TrainDatasetModel.g.cs | 4 +- .../Generated/Ideogram.Models.ApiProfile.g.cs | 2 +- .../Ideogram.Models.ApiProfileApiKey.g.cs | 2 +- .../Ideogram.Models.ColorPaletteMember.g.cs | 6 +- .../Generated/Ideogram.Models.Dataset.g.cs | 2 +- ...ogram.Models.DatasetUploadFailedAsset.g.cs | 2 +- .../Ideogram.Models.GetApiKeysV2Response.g.cs | 2 +- ...deogram.Models.GetApiProfilesResponse.g.cs | 2 +- .../Ideogram.Models.ListDatasetsResponse.g.cs | 2 +- .../Ideogram.Models.OrganizationObject.g.cs | 2 +- .../Ideogram.Models.SharingInfo.g.cs | 8 +- ...ogram.Models.TrainDatasetModelRequest.g.cs | 12 +- ...am.Models.UploadDatasetAssetsResponse.g.cs | 2 +- src/libs/Ideogram/openapi.yaml | 6182 +---------------- 15 files changed, 27 insertions(+), 6207 deletions(-) diff --git a/src/libs/Ideogram/Generated/Ideogram.DatasetsClient.TrainDatasetModel.g.cs b/src/libs/Ideogram/Generated/Ideogram.DatasetsClient.TrainDatasetModel.g.cs index 6c7722e..da4d5b3 100644 --- a/src/libs/Ideogram/Generated/Ideogram.DatasetsClient.TrainDatasetModel.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.DatasetsClient.TrainDatasetModel.g.cs @@ -295,11 +295,11 @@ partial void ProcessTrainDatasetModelResponseContent( /// /// /// Exponential moving average decay rate. Must be greater than 0.
- /// Example: 0.999 + /// Example: 0.999F /// /// /// Learning rate for the optimizer. Must be greater than 0.
- /// Example: 0.0001 + /// Example: 0.0001F /// /// The token to cancel the operation with /// diff --git a/src/libs/Ideogram/Generated/Ideogram.IDatasetsClient.TrainDatasetModel.g.cs b/src/libs/Ideogram/Generated/Ideogram.IDatasetsClient.TrainDatasetModel.g.cs index cce5d24..bae90ac 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IDatasetsClient.TrainDatasetModel.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IDatasetsClient.TrainDatasetModel.g.cs @@ -41,11 +41,11 @@ public partial interface IDatasetsClient /// /// /// Exponential moving average decay rate. Must be greater than 0.
- /// Example: 0.999 + /// Example: 0.999F /// /// /// Learning rate for the optimizer. Must be greater than 0.
- /// Example: 0.0001 + /// Example: 0.0001F /// /// The token to cancel the operation with /// diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.ApiProfile.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.ApiProfile.g.cs index a486b98..74fc610 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.ApiProfile.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.ApiProfile.g.cs @@ -4,7 +4,7 @@ namespace Ideogram { /// - /// Example: {"is_metronome_2_user":true,"role":"OWNER","avatar_url":"https://example.com/avatar.jpg","organization_id":"b3JnYW5pemF0aW9uXzEyMw","name":"Gamma","type":"INDIVIDUAL","api_keys":[{"creation_time":"2000-01-23T04:56:07\u002B00:00","redacted_api_key":"ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","api_key_id":"JRPVD7jWR1aTBYiJ0UFVOg","status":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"},{"creation_time":"2000-01-23T04:56:07\u002B00:00","redacted_api_key":"ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","api_key_id":"JRPVD7jWR1aTBYiJ0UFVOg","status":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"}],"max_num_inflight_requests_permitted":10} + /// Example: {"is_metronome_2_user":true,"role":"OWNER","avatar_url":"https://example.com/avatar.jpg","organization_id":"b3JnYW5pemF0aW9uXzEyMw","name":"Gamma","type":"INDIVIDUAL","api_keys":[{"creation_time":"2000-01-23T04:56:07\u002B00:00","redacted_api_key":"ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","api_key_id":"JRPVD7jWR1aTBYiJ0UFVOg","status":null},{"creation_time":"2000-01-23T04:56:07\u002B00:00","redacted_api_key":"ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","api_key_id":"JRPVD7jWR1aTBYiJ0UFVOg","status":null}],"max_num_inflight_requests_permitted":10} /// public sealed partial class ApiProfile { diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.ApiProfileApiKey.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.ApiProfileApiKey.g.cs index 4738508..5f5515b 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.ApiProfileApiKey.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.ApiProfileApiKey.g.cs @@ -4,7 +4,7 @@ namespace Ideogram { /// - /// Example: {"creation_time":"2000-01-23T04:56:07\u002B00:00","redacted_api_key":"ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","api_key_id":"JRPVD7jWR1aTBYiJ0UFVOg","status":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"} + /// Example: {"creation_time":"2000-01-23T04:56:07\u002B00:00","redacted_api_key":"ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","api_key_id":"JRPVD7jWR1aTBYiJ0UFVOg","status":null} /// public sealed partial class ApiProfileApiKey { diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.ColorPaletteMember.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.ColorPaletteMember.g.cs index ac8e54a..9374e74 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.ColorPaletteMember.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.ColorPaletteMember.g.cs @@ -19,9 +19,9 @@ public sealed partial class ColorPaletteMember /// /// The weight of the color in the color palette.
- /// Example: 0.25 + /// Example: 0.25F ///
- /// 0.25 + /// 0.25F [global::System.Text.Json.Serialization.JsonPropertyName("color_weight")] public double? ColorWeight { get; set; } @@ -40,7 +40,7 @@ public sealed partial class ColorPaletteMember /// /// /// The weight of the color in the color palette.
- /// Example: 0.25 + /// Example: 0.25F /// #if NET7_0_OR_GREATER [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.Dataset.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.Dataset.g.cs index dd1effc..a91565d 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.Dataset.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.Dataset.g.cs @@ -5,7 +5,7 @@ namespace Ideogram { /// /// A dataset for organizing assets.
- /// Example: {"collection_id":"collection_id","creation_time":"2000-01-23T04:56:07\u002B00:00","user_id":"user_id","name":"name","cover_asset_identifier":{"asset_type":"RESPONSE","asset_id":"7uS_VESkRI6O3-sVgHQp_A"},"sharing":[{"updated_time":"2000-01-23T04:56:07\u002B00:00","organization":{"role":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464","publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"},"permission":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464","user":{"badge":"badge","subscription_plan_id":"subscription_plan_id","display_handle":"display_handle","user_id":"user_id","photo_url":"photo_url"}},{"updated_time":"2000-01-23T04:56:07\u002B00:00","organization":{"role":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464","publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"},"permission":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464","user":{"badge":"badge","subscription_plan_id":"subscription_plan_id","display_handle":"display_handle","user_id":"user_id","photo_url":"photo_url"}}]} + /// Example: {"collection_id":"collection_id","creation_time":"2000-01-23T04:56:07\u002B00:00","user_id":"user_id","name":"name","cover_asset_identifier":{"asset_type":"RESPONSE","asset_id":"7uS_VESkRI6O3-sVgHQp_A"},"sharing":[{"updated_time":"2000-01-23T04:56:07\u002B00:00","organization":{"role":null,"publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":null},"permission":null,"user":{"badge":"badge","subscription_plan_id":"subscription_plan_id","display_handle":"display_handle","user_id":"user_id","photo_url":"photo_url"}},{"updated_time":"2000-01-23T04:56:07\u002B00:00","organization":{"role":null,"publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":null},"permission":null,"user":{"badge":"badge","subscription_plan_id":"subscription_plan_id","display_handle":"display_handle","user_id":"user_id","photo_url":"photo_url"}}]} ///
public sealed partial class Dataset { diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.DatasetUploadFailedAsset.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.DatasetUploadFailedAsset.g.cs index 0b4d482..6e9dcae 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.DatasetUploadFailedAsset.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.DatasetUploadFailedAsset.g.cs @@ -4,7 +4,7 @@ namespace Ideogram { /// - /// Example: {"file_name":"file_name","failure_reason":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"} + /// Example: {"file_name":"file_name","failure_reason":null} /// public sealed partial class DatasetUploadFailedAsset { diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GetApiKeysV2Response.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GetApiKeysV2Response.g.cs index 889abb6..4bce556 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.GetApiKeysV2Response.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.GetApiKeysV2Response.g.cs @@ -4,7 +4,7 @@ namespace Ideogram { /// - /// Example: {"api_keys":[{"creation_time":"2000-01-23T04:56:07\u002B00:00","redacted_api_key":"ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","api_key_id":"JRPVD7jWR1aTBYiJ0UFVOg","status":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"},{"creation_time":"2000-01-23T04:56:07\u002B00:00","redacted_api_key":"ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","api_key_id":"JRPVD7jWR1aTBYiJ0UFVOg","status":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"}]} + /// Example: {"api_keys":[{"creation_time":"2000-01-23T04:56:07\u002B00:00","redacted_api_key":"ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","api_key_id":"JRPVD7jWR1aTBYiJ0UFVOg","status":null},{"creation_time":"2000-01-23T04:56:07\u002B00:00","redacted_api_key":"ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","api_key_id":"JRPVD7jWR1aTBYiJ0UFVOg","status":null}]} /// public sealed partial class GetApiKeysV2Response { diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.GetApiProfilesResponse.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.GetApiProfilesResponse.g.cs index 4be451e..4808dea 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.GetApiProfilesResponse.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.GetApiProfilesResponse.g.cs @@ -4,7 +4,7 @@ namespace Ideogram { /// - /// Example: {"profiles":[{"is_metronome_2_user":true,"role":"OWNER","avatar_url":"https://example.com/avatar.jpg","organization_id":"b3JnYW5pemF0aW9uXzEyMw","name":"Gamma","type":"INDIVIDUAL","api_keys":[{"creation_time":"2000-01-23T04:56:07\u002B00:00","redacted_api_key":"ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","api_key_id":"JRPVD7jWR1aTBYiJ0UFVOg","status":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"},{"creation_time":"2000-01-23T04:56:07\u002B00:00","redacted_api_key":"ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","api_key_id":"JRPVD7jWR1aTBYiJ0UFVOg","status":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"}],"max_num_inflight_requests_permitted":10},{"is_metronome_2_user":true,"role":"OWNER","avatar_url":"https://example.com/avatar.jpg","organization_id":"b3JnYW5pemF0aW9uXzEyMw","name":"Gamma","type":"INDIVIDUAL","api_keys":[{"creation_time":"2000-01-23T04:56:07\u002B00:00","redacted_api_key":"ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","api_key_id":"JRPVD7jWR1aTBYiJ0UFVOg","status":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"},{"creation_time":"2000-01-23T04:56:07\u002B00:00","redacted_api_key":"ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","api_key_id":"JRPVD7jWR1aTBYiJ0UFVOg","status":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"}],"max_num_inflight_requests_permitted":10}]} + /// Example: {"profiles":[{"is_metronome_2_user":true,"role":"OWNER","avatar_url":"https://example.com/avatar.jpg","organization_id":"b3JnYW5pemF0aW9uXzEyMw","name":"Gamma","type":"INDIVIDUAL","api_keys":[{"creation_time":"2000-01-23T04:56:07\u002B00:00","redacted_api_key":"ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","api_key_id":"JRPVD7jWR1aTBYiJ0UFVOg","status":null},{"creation_time":"2000-01-23T04:56:07\u002B00:00","redacted_api_key":"ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","api_key_id":"JRPVD7jWR1aTBYiJ0UFVOg","status":null}],"max_num_inflight_requests_permitted":10},{"is_metronome_2_user":true,"role":"OWNER","avatar_url":"https://example.com/avatar.jpg","organization_id":"b3JnYW5pemF0aW9uXzEyMw","name":"Gamma","type":"INDIVIDUAL","api_keys":[{"creation_time":"2000-01-23T04:56:07\u002B00:00","redacted_api_key":"ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","api_key_id":"JRPVD7jWR1aTBYiJ0UFVOg","status":null},{"creation_time":"2000-01-23T04:56:07\u002B00:00","redacted_api_key":"ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","api_key_id":"JRPVD7jWR1aTBYiJ0UFVOg","status":null}],"max_num_inflight_requests_permitted":10}]} /// public sealed partial class GetApiProfilesResponse { diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.ListDatasetsResponse.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.ListDatasetsResponse.g.cs index ada8ff2..4d49b33 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.ListDatasetsResponse.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.ListDatasetsResponse.g.cs @@ -4,7 +4,7 @@ namespace Ideogram { /// - /// Example: {"datasets":[{"collection_id":"collection_id","creation_time":"2000-01-23T04:56:07\u002B00:00","user_id":"user_id","name":"name","cover_asset_identifier":{"asset_type":"RESPONSE","asset_id":"7uS_VESkRI6O3-sVgHQp_A"},"sharing":[{"updated_time":"2000-01-23T04:56:07\u002B00:00","organization":{"role":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464","publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"},"permission":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464","user":{"badge":"badge","subscription_plan_id":"subscription_plan_id","display_handle":"display_handle","user_id":"user_id","photo_url":"photo_url"}},{"updated_time":"2000-01-23T04:56:07\u002B00:00","organization":{"role":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464","publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"},"permission":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464","user":{"badge":"badge","subscription_plan_id":"subscription_plan_id","display_handle":"display_handle","user_id":"user_id","photo_url":"photo_url"}}]},{"collection_id":"collection_id","creation_time":"2000-01-23T04:56:07\u002B00:00","user_id":"user_id","name":"name","cover_asset_identifier":{"asset_type":"RESPONSE","asset_id":"7uS_VESkRI6O3-sVgHQp_A"},"sharing":[{"updated_time":"2000-01-23T04:56:07\u002B00:00","organization":{"role":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464","publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"},"permission":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464","user":{"badge":"badge","subscription_plan_id":"subscription_plan_id","display_handle":"display_handle","user_id":"user_id","photo_url":"photo_url"}},{"updated_time":"2000-01-23T04:56:07\u002B00:00","organization":{"role":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464","publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"},"permission":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464","user":{"badge":"badge","subscription_plan_id":"subscription_plan_id","display_handle":"display_handle","user_id":"user_id","photo_url":"photo_url"}}]}]} + /// Example: {"datasets":[{"collection_id":"collection_id","creation_time":"2000-01-23T04:56:07\u002B00:00","user_id":"user_id","name":"name","cover_asset_identifier":{"asset_type":"RESPONSE","asset_id":"7uS_VESkRI6O3-sVgHQp_A"},"sharing":[{"updated_time":"2000-01-23T04:56:07\u002B00:00","organization":{"role":null,"publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":null},"permission":null,"user":{"badge":"badge","subscription_plan_id":"subscription_plan_id","display_handle":"display_handle","user_id":"user_id","photo_url":"photo_url"}},{"updated_time":"2000-01-23T04:56:07\u002B00:00","organization":{"role":null,"publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":null},"permission":null,"user":{"badge":"badge","subscription_plan_id":"subscription_plan_id","display_handle":"display_handle","user_id":"user_id","photo_url":"photo_url"}}]},{"collection_id":"collection_id","creation_time":"2000-01-23T04:56:07\u002B00:00","user_id":"user_id","name":"name","cover_asset_identifier":{"asset_type":"RESPONSE","asset_id":"7uS_VESkRI6O3-sVgHQp_A"},"sharing":[{"updated_time":"2000-01-23T04:56:07\u002B00:00","organization":{"role":null,"publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":null},"permission":null,"user":{"badge":"badge","subscription_plan_id":"subscription_plan_id","display_handle":"display_handle","user_id":"user_id","photo_url":"photo_url"}},{"updated_time":"2000-01-23T04:56:07\u002B00:00","organization":{"role":null,"publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":null},"permission":null,"user":{"badge":"badge","subscription_plan_id":"subscription_plan_id","display_handle":"display_handle","user_id":"user_id","photo_url":"photo_url"}}]}]} /// public sealed partial class ListDatasetsResponse { diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.OrganizationObject.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.OrganizationObject.g.cs index 921cccf..64465ac 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.OrganizationObject.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.OrganizationObject.g.cs @@ -5,7 +5,7 @@ namespace Ideogram { /// /// An organization object
- /// Example: {"role":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464","publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"} + /// Example: {"role":null,"publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":null} ///
public sealed partial class OrganizationObject { diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.SharingInfo.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.SharingInfo.g.cs index daffbf8..b89dfa9 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.SharingInfo.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.SharingInfo.g.cs @@ -4,7 +4,7 @@ namespace Ideogram { /// - /// Example: {"updated_time":"2000-01-23T04:56:07\u002B00:00","organization":{"role":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464","publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"},"permission":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464","user":{"badge":"badge","subscription_plan_id":"subscription_plan_id","display_handle":"display_handle","user_id":"user_id","photo_url":"photo_url"}} + /// Example: {"updated_time":"2000-01-23T04:56:07\u002B00:00","organization":{"role":null,"publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":null},"permission":null,"user":{"badge":"badge","subscription_plan_id":"subscription_plan_id","display_handle":"display_handle","user_id":"user_id","photo_url":"photo_url"}} /// public sealed partial class SharingInfo { @@ -25,9 +25,9 @@ public sealed partial class SharingInfo /// /// An organization object
- /// Example: {"role":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464","publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"} + /// Example: {"role":null,"publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":null} ///
- /// {"role":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464","publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"} + /// {"role":null,"publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":null} [global::System.Text.Json.Serialization.JsonPropertyName("organization")] public global::Ideogram.OrganizationObject? Organization { get; set; } @@ -55,7 +55,7 @@ public sealed partial class SharingInfo /// /// /// An organization object
- /// Example: {"role":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464","publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"} + /// Example: {"role":null,"publishing_disabled":true,"organization_id":"organization_id","name":"name","avatar":{"avatar_url":"avatar_url"},"type":null} /// /// /// Example: {"badge":"badge","subscription_plan_id":"subscription_plan_id","display_handle":"display_handle","user_id":"user_id","photo_url":"photo_url"} diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.TrainDatasetModelRequest.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.TrainDatasetModelRequest.g.cs index 6e8d23f..2c276fe 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.TrainDatasetModelRequest.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.TrainDatasetModelRequest.g.cs @@ -43,17 +43,17 @@ public sealed partial class TrainDatasetModelRequest /// /// Exponential moving average decay rate. Must be greater than 0.
- /// Example: 0.999 + /// Example: 0.999F ///
- /// 0.999 + /// 0.999F [global::System.Text.Json.Serialization.JsonPropertyName("ema")] public double? Ema { get; set; } /// /// Learning rate for the optimizer. Must be greater than 0.
- /// Example: 0.0001 + /// Example: 0.0001F ///
- /// 0.0001 + /// 0.0001F [global::System.Text.Json.Serialization.JsonPropertyName("learning_rate")] public double? LearningRate { get; set; } @@ -84,11 +84,11 @@ public sealed partial class TrainDatasetModelRequest /// /// /// Exponential moving average decay rate. Must be greater than 0.
- /// Example: 0.999 + /// Example: 0.999F /// /// /// Learning rate for the optimizer. Must be greater than 0.
- /// Example: 0.0001 + /// Example: 0.0001F /// #if NET7_0_OR_GREATER [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] diff --git a/src/libs/Ideogram/Generated/Ideogram.Models.UploadDatasetAssetsResponse.g.cs b/src/libs/Ideogram/Generated/Ideogram.Models.UploadDatasetAssetsResponse.g.cs index 656d7e5..c7e7d60 100644 --- a/src/libs/Ideogram/Generated/Ideogram.Models.UploadDatasetAssetsResponse.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.Models.UploadDatasetAssetsResponse.g.cs @@ -4,7 +4,7 @@ namespace Ideogram { /// - /// Example: {"successful_assets":[{"asset_identifier":{"asset_type":"RESPONSE","asset_id":"7uS_VESkRI6O3-sVgHQp_A"},"file_name":"file_name"},{"asset_identifier":{"asset_type":"RESPONSE","asset_id":"7uS_VESkRI6O3-sVgHQp_A"},"file_name":"file_name"}],"total_count":0,"failed_assets":[{"file_name":"file_name","failure_reason":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"},{"file_name":"file_name","failure_reason":"openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464"}],"success_count":6,"failure_count":1} + /// Example: {"successful_assets":[{"asset_identifier":{"asset_type":"RESPONSE","asset_id":"7uS_VESkRI6O3-sVgHQp_A"},"file_name":"file_name"},{"asset_identifier":{"asset_type":"RESPONSE","asset_id":"7uS_VESkRI6O3-sVgHQp_A"},"file_name":"file_name"}],"total_count":0,"failed_assets":[{"file_name":"file_name","failure_reason":null},{"file_name":"file_name","failure_reason":null}],"success_count":6,"failure_count":1} /// public sealed partial class UploadDatasetAssetsResponse { diff --git a/src/libs/Ideogram/openapi.yaml b/src/libs/Ideogram/openapi.yaml index 0eb22fe..3a25f6a 100644 --- a/src/libs/Ideogram/openapi.yaml +++ b/src/libs/Ideogram/openapi.yaml @@ -1,6181 +1 @@ -openapi: '3.2.0' -info: - title: Ideogram - OpenAPI 3.0 - description: This is the API definition for Ideogram AI. - version: 1.0.0 -servers: - - url: '' -paths: - /datasets: - get: - tags: - - datasets - summary: List datasets - description: Lists all datasets for the authenticated user - operationId: list_datasets - responses: - '200': - description: Datasets retrieved successfully - content: - application/json: - schema: - $ref: '#/components/schemas/ListDatasetsResponse' - '401': - description: Unauthorized - x-openapi-router-controller: external_api.generated.openapi.controllers.datasets_controller - post: - tags: - - datasets - summary: Create a new dataset - description: Creates a new dataset - operationId: create_dataset - requestBody: - description: Request to create a new dataset - content: - application/json: - schema: - $ref: '#/components/schemas/CreateDatasetRequest' - required: true - x-body-name: create_dataset_request - responses: - '200': - description: Dataset created successfully - content: - application/json: - schema: - $ref: '#/components/schemas/Dataset' - '400': - description: Bad request - '401': - description: Unauthorized - x-openapi-router-controller: external_api.generated.openapi.controllers.datasets_controller - '/datasets/{dataset_id}/train_model': - post: - tags: - - datasets - summary: Train a model from a dataset - description: "Start training a custom model from a dataset. The dataset must contain at least 5 images. Returns the model ID and training status.\n" - operationId: train_dataset_model - parameters: - - name: dataset_id - in: path - required: true - schema: - type: string - requestBody: - description: Training configuration - content: - application/json: - schema: - $ref: '#/components/schemas/TrainDatasetModelRequest' - required: true - x-body-name: train_dataset_model_request - responses: - '200': - description: Training started successfully - content: - application/json: - schema: - $ref: '#/components/schemas/TrainDatasetModelResponse' - '400': - description: Bad request - '401': - description: Unauthorized - '404': - description: Dataset not found - x-openapi-router-controller: external_api.generated.openapi.controllers.datasets_controller - '/datasets/{dataset_id}/upload_assets': - post: - tags: - - datasets - summary: Upload assets to a dataset - description: "Upload image assets to a dataset for model training. Accepts individual images (JPEG, PNG, WebP), optional .txt caption sidecar files, and/or ZIP archives containing images and captions.\n" - operationId: upload_dataset_assets - parameters: - - name: dataset_id - in: path - required: true - schema: - type: string - requestBody: - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/UploadDatasetAssetsRequest' - required: true - x-body-name: body - responses: - '200': - description: Upload summary - content: - application/json: - schema: - $ref: '#/components/schemas/UploadDatasetAssetsResponse' - '400': - description: Bad request - '401': - description: Unauthorized - '404': - description: Dataset not found - x-openapi-router-controller: external_api.generated.openapi.controllers.datasets_controller - /describe: - post: - tags: - - vision - summary: Describe - description: "Describe an image.\n\nSupported image formats include JPEG, PNG, and WebP.\n" - operationId: post_describe - requestBody: - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/DescribeRequest' - required: true - responses: - '200': - description: Description(s) created successfully. - content: - application/json: - schema: - $ref: '#/components/schemas/DescribeResponse' - '400': - description: Invalid input provided. - '422': - description: Image failed the safety check. - content: - application/json: - schema: - $ref: '#/components/schemas/ImageSafetyError' - '429': - description: Too many requests. - x-fern-examples: - - code-samples: - - sdk: curl - code: "curl -X POST https://api.ideogram.ai/describe \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F image_file=@\n" - x-openapi-router-controller: external_api.generated.openapi.controllers.vision_controller - /edit: - post: - tags: - - generate - summary: Edit (legacy) - description: "Edit a given image synchronously using the provided mask. The mask indicates which part of the image\nshould be edited, while the prompt and chosen style type can further guide the edit.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n" - operationId: post_edit_image - requestBody: - description: A request to edit an image with Ideogram. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/EditImageRequest' - encoding: - prompt: - contentType: text/plain - style: form - model: - contentType: text/plain - style: form - magic_prompt_option: - contentType: text/plain - style: form - seed: - contentType: text/plain - style: form - style_type: - contentType: text/plain - style: form - required: true - x-body-name: body - responses: - '200': - description: Image edits generated successfully. - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageResponse' - '400': - description: Invalid input provided. - '401': - description: Not authorized to generate an image. - '422': - description: Prompt or Initial Image failed the safety checks. - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageSafetyError' - '429': - description: Too many requests. - x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller - /generate: - post: - tags: - - generate - summary: Generate (legacy) - description: "Generates images synchronously based on a given prompt and optional parameters.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n" - operationId: post_generate_image - requestBody: - description: A request to generate an image with Ideogram. - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageRequest' - required: true - x-body-name: generate_image_request - responses: - '200': - description: Image(s) generated successfully. - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageResponse' - '400': - description: Invalid input provided. - '401': - description: Not authorized to generate an image. - '422': - description: Prompt failed the safety check. - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageSafetyError' - '429': - description: Too many requests. - x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller - /internal-testing: - post: - tags: - - internal-testing - summary: Testing - description: "Just a testing endpoint\n" - operationId: post_internal_testing - parameters: - - name: X-Test-Header - in: header - description: Test header - schema: - type: string - - name: X-Test-Header-2 - in: header - description: Test header - schema: - type: string - requestBody: - description: A request for testing. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/InternalTestingRequest' - encoding: - x_position: - contentType: text/plain - style: form - some_text: - contentType: text/plain - style: form - nested_object: - contentType: application/json - style: form - repeated_complex_field: - contentType: application/json - style: form - required: true - responses: - '200': - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/postInternalTesting_200_response' - security: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.internal_testing_controller - /internal/batch: - post: - tags: - - batch - summary: Initiate Batch Magic Prompt Evalution - description: "Runs automated evaluation of multiple LLM models and system prompts for magic prompt generation. \nGenerates images using large batches of user prompt inputs. Internal use only (feature flagged).\n" - operationId: post_batch - requestBody: - description: A request for batch magic prompt evalution. - content: - application/json: - schema: - $ref: '#/components/schemas/InternalBatchRequest' - required: true - x-body-name: internal_batch_request - responses: - '200': - description: Batch magic prompt evalution completed successfully. - content: - application/json: - schema: - $ref: '#/components/schemas/InternalBatchResponse' - '400': - description: Invalid input provided. - '401': - description: Not authorized for batch magic prompt evalution. - '429': - description: Too many requests. - '500': - description: Internal server error. - x-openapi-router-controller: external_api.generated.openapi.controllers.batch_controller - '/internal/batch/get-maybe-batch-results/{job_id}': - get: - tags: - - batch - summary: Get Batch Magic Prompt Job Results if available. - description: "Gets the results of a batch magic prompt job if available.\n" - operationId: get_maybe_batch_results - parameters: - - name: job_id - in: path - description: The ID of the batch job to check results for - required: true - schema: - type: string - responses: - '200': - description: Batch magic prompt job results if available. - content: - application/json: - schema: - $ref: '#/components/schemas/InternalBatchResultsResponse' - '400': - description: Invalid input provided. - '401': - description: Not authorized for batch magic prompt job results request. - '429': - description: Too many requests. - '500': - description: Internal server error. - x-openapi-router-controller: external_api.generated.openapi.controllers.batch_controller - /magic-prompt: - post: - tags: - - prompt - summary: Generate Magic Prompt - description: "Transforms basic prompts into a magic prompt. Internal use only (feature flagged). TODO: update description if enabled externally.\n" - operationId: post_magic_prompt - requestBody: - description: A request to generate a magic prompt - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/MagicPromptRequest' - application/json: - schema: - $ref: '#/components/schemas/MagicPromptRequest' - required: true - x-body-name: body - responses: - '200': - description: Magic prompt generated successfully. - content: - application/json: - schema: - $ref: '#/components/schemas/MagicPromptResponse' - '400': - description: Invalid input provided. - '401': - description: Not authorized to generate magic prompts. - '429': - description: Too many requests. - '500': - description: Internal server error. - x-openapi-router-controller: external_api.generated.openapi.controllers.prompt_controller - /manage/api/add_credits: - post: - tags: - - manage - summary: Add credits to an API user's account. - operationId: post_add_credits_for_api - requestBody: - description: A request to add credits to an API user's account. - content: - application/json: - schema: - $ref: '#/components/schemas/PostAddCreditsRequest' - required: true - x-body-name: post_add_credits_request - responses: - '200': - description: API subscription content - content: - application/json: - schema: - $ref: '#/components/schemas/PostAddCreditsResponse' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/PostAddCreditsError' - '401': - description: Not authorized - '403': - description: Not authorized - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - /manage/api/api_keys: - get: - tags: - - manage - summary: Retrieve current API keys and their respective data. - operationId: get_api_keys - responses: - '200': - description: API keys the user currently manages - content: - application/json: - schema: - $ref: '#/components/schemas/GetApiKeysResponse' - '401': - description: Not authorized - '403': - description: Not authorized - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - post: - tags: - - manage - summary: Creates an API key. - operationId: create_api_key - responses: - '200': - description: The newly created API key - content: - application/json: - schema: - $ref: '#/components/schemas/PostApiKeyResponse' - '401': - description: Not authorized - '402': - description: Payment is required; did you create a subscription? - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - '/manage/api/api_keys/{api_key_id}': - delete: - tags: - - manage - summary: Delete an API key. - operationId: delete_single_api_key - parameters: - - name: api_key_id - in: path - description: The ID of API key to operate on. Expected to be a URL safe Base64 encoded UUID. - required: true - schema: - type: string - example: d7abd0cd4ae94db78676e986a4ebd8dc - responses: - '204': - description: Success - '400': - description: Something went wrong - '401': - description: Not authorized - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - /manage/api/api_keys_v2: - post: - tags: - - manage - summary: Create an API key for a specific organization - operationId: create_api_key_v2 - parameters: - - name: organization_id - in: query - description: Base64 encoded organization ID to create the API key for - required: true - schema: - type: string - responses: - '200': - description: API key created successfully - content: - application/json: - schema: - $ref: '#/components/schemas/CreateApiKeyResponse' - '401': - description: Not authorized - '402': - description: Payment is required before creating an API key. - '403': - description: Not authorized - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - /manage/api/credits: - get: - tags: - - manage - summary: Retrieve user credit information and spending metrics - operationId: get_user_credits - parameters: - - name: organization_id - in: query - description: Base64 encoded organization ID to filter credit information for a specific organization - required: true - schema: - type: string - - name: start_time - in: query - description: Start time to look back for calculating average daily spend and other metrics - required: true - schema: - type: string - format: date-time - - name: end_time - in: query - description: 'Inclusive end time to look back for calculating average daily spend and other metrics. If not provided, the current time will be used.' - schema: - type: string - format: date-time - responses: - '200': - description: User credit information retrieved successfully - content: - application/json: - schema: - $ref: '#/components/schemas/GetUserCreditsResponse' - '401': - description: Not authorized - '403': - description: Not authorized - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - /manage/api/organization/add_members: - post: - tags: - - manage - summary: Add members to a specific organization - operationId: add_organization_members - parameters: - - name: organization_id - in: query - description: Base64 encoded organization ID to add members to - required: true - schema: - type: string - requestBody: - description: A request to add members to an organization. - content: - application/json: - schema: - $ref: '#/components/schemas/AddOrganizationMembersRequest' - required: true - x-body-name: add_organization_members_request - responses: - '200': - description: Results of adding members to the organization - content: - application/json: - schema: - $ref: '#/components/schemas/OrganizationMemberOperationResponse' - '400': - description: Bad Request - '401': - description: Not authorized - '403': - description: Not authorized - must be an organization owner - '404': - description: Organization not found - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - /manage/api/organization/api_keys: - get: - tags: - - manage - summary: Retrieve API keys for a specific organization - operationId: get_api_keys_v2 - parameters: - - name: organization_id - in: query - description: Base64 encoded organization ID to retrieve API keys for - required: true - schema: - type: string - responses: - '200': - description: API keys retrieved successfully - content: - application/json: - schema: - $ref: '#/components/schemas/GetApiKeysV2Response' - '401': - description: Not authorized - '403': - description: Not authorized - '404': - description: Organization not found - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - /manage/api/organization/deactivate_api_key: - post: - tags: - - manage - summary: Deactivate an API key for a specific organization - operationId: deactivate_organization_api_key - parameters: - - name: api_key_id - in: query - description: Base64 encoded API key ID to deactivate - required: true - schema: - type: string - responses: - '204': - description: Success; no content. - '400': - description: Bad Request - '401': - description: Not authorized - '403': - description: Not authorized - must be an organization owner - '404': - description: API key not found - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - /manage/api/organization/list_invoices: - get: - tags: - - manage - summary: Retrieve invoices for a specific organization - operationId: list_organization_invoices - parameters: - - name: organization_id - in: query - description: Base64 encoded organization ID to retrieve invoices for - required: true - schema: - type: string - responses: - '200': - description: Invoices retrieved successfully - content: - application/json: - schema: - $ref: '#/components/schemas/ListOrganizationInvoicesResponse' - example: - invoices: - - start_time: '2024-01-01T00:00:00+00:00' - end_time: '2024-01-31T23:59:59+00:00' - total_spend: - currency_code: USD - amount: 15000 - status: PAID - issued_time: '2024-02-01T00:00:00+00:00' - invoice_paid_date: '2024-02-05T10:30:00+00:00' - line_items: - - charge_name: Image Generation - V3 - quantity: 1000 - unit_price: - currency_code: USD - amount: 10 - total: - currency_code: USD - amount: 10000 - - charge_name: Upscale Image - V1 - quantity: 500 - unit_price: - currency_code: USD - amount: 10 - total: - currency_code: USD - amount: 5000 - '401': - description: Not authorized - '403': - description: Not authorized - '404': - description: Organization not found - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - /manage/api/organization/members: - get: - tags: - - manage - summary: Retrieve members of a specific organization - operationId: get_organization_members - parameters: - - name: organization_id - in: query - description: Base64 encoded organization ID to retrieve members for - required: true - schema: - type: string - responses: - '200': - description: Organization members retrieved successfully - content: - application/json: - schema: - $ref: '#/components/schemas/GetOrganizationMembersResponse' - '401': - description: Not authorized - '403': - description: Not authorized - '404': - description: Organization not found - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - /manage/api/organization/promote_members: - post: - tags: - - manage - summary: Promote members to OWNER role in a specific organization - operationId: promote_organization_members - parameters: - - name: organization_id - in: query - description: Base64 encoded organization ID to promote members in - required: true - schema: - type: string - requestBody: - description: A request to promote members to OWNER role in an organization. - content: - application/json: - schema: - $ref: '#/components/schemas/PromoteOrganizationMembersRequest' - required: true - x-body-name: promote_organization_members_request - responses: - '200': - description: Results of promoting members in the organization - content: - application/json: - schema: - $ref: '#/components/schemas/OrganizationMemberOperationResponse' - '400': - description: Bad Request - '401': - description: Not authorized - '403': - description: Not authorized - must be an organization owner - '404': - description: Organization not found - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - /manage/api/organization/remove_members: - post: - tags: - - manage - summary: Remove members from a specific organization - operationId: remove_organization_members - parameters: - - name: organization_id - in: query - description: Base64 encoded organization ID to remove members from - required: true - schema: - type: string - requestBody: - description: A request to remove members from an organization. - content: - application/json: - schema: - $ref: '#/components/schemas/RemoveOrganizationMembersRequest' - required: true - x-body-name: remove_organization_members_request - responses: - '200': - description: Results of removing members from the organization - content: - application/json: - schema: - $ref: '#/components/schemas/OrganizationMemberOperationResponse' - '400': - description: Bad Request - '401': - description: Not authorized - '403': - description: Not authorized - must be an organization owner - '404': - description: Organization not found - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - /manage/api/organization/user_suggestions: - get: - tags: - - manage - summary: Get search results for user handles with suggestions for a particular organization. - operationId: get_api_organization_user_suggestions - parameters: - - name: organization_id - in: query - description: Base64 encoded organization ID to get user suggestions for - required: true - schema: - type: string - - name: user_handle_prefix - in: query - description: The prefix of the user handle to search for - schema: - type: string - example: sar - - name: maxItems - in: query - description: The maximum number of items to return - schema: - type: integer - default: 3 - responses: - '200': - description: A list of the top responses in alphabetical order by user handle + whether the user has joined the current organization already. - content: - application/json: - schema: - $ref: '#/components/schemas/GetApiOrganizationUserSuggestionsResponse' - '401': - description: Not authorized - '403': - description: Not authorized - '404': - description: Organization not found - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - /manage/api/profiles: - get: - tags: - - manage - summary: Retrieve the user's current API profiles - operationId: get_api_profiles - responses: - '200': - description: User API profiles retrieved successfully - content: - application/json: - schema: - $ref: '#/components/schemas/GetApiProfilesResponse' - '401': - description: Not authorized - '403': - description: Not authorized - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - /manage/api/reactivate: - post: - tags: - - manage - summary: Reactivates a subscription by attempting to re-enable Metronome billing. - operationId: reactivate_subscription - responses: - '200': - description: API subscription content - content: - application/json: - schema: - $ref: '#/components/schemas/PostApiReactivateResponse' - '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: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - /manage/api/spend_commit: - get: - tags: - - manage - summary: Retrieve user spend commit information - operationId: get_user_spend_commit_info - parameters: - - name: organization_id - in: query - description: Base64 encoded organization ID to filter spend commit information for a specific organization - required: true - schema: - type: string - - name: postpaid_only - in: query - description: Whether to only return postpaid commits. Defaults to true. - schema: - type: boolean - responses: - '200': - description: User spend commit information retrieved successfully - content: - application/json: - schema: - $ref: '#/components/schemas/SpendCommitInfoResponse' - example: - commits: - - commit_spend_balance: - currency_code: USD - amount: 7500 - commit_amount: - currency_code: USD - amount: 10000 - commit_start_time: '2025-01-01T00:00:00+00:00' - commit_end_time: '2025-12-31T23:59:59+00:00' - '401': - description: Not authorized - '403': - description: Not authorized - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - /manage/api/stripe_subscription: - get: - tags: - - manage - summary: Retrieve data relevant to connecting to Stripe. - operationId: get_api_stripe_subscription - parameters: - - name: isBusiness - in: query - description: Whether the subscription is intended to be used for business or personal use. - schema: - type: boolean - responses: - '200': - description: API subscription content related to connecting to Stripe - content: - application/json: - schema: - $ref: '#/components/schemas/ManageApiStripeSubscriptionResponse' - '401': - description: Not authorized - '403': - description: Not authorized - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - /manage/api/subscription: - get: - tags: - - manage - summary: Retrieve data relevant to creating an API subscription. - operationId: get_api_subscription - responses: - '200': - description: API subscription content - content: - application/json: - schema: - $ref: '#/components/schemas/ManageApiSubscriptionResponse' - '401': - description: Not authorized - '403': - description: Not authorized - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - post: - tags: - - manage - summary: Update API subscription settings - operationId: post_api_subscription - requestBody: - description: A request to update the API subscription properties. This should only be called after terms have been accepted. - content: - application/json: - schema: - $ref: '#/components/schemas/PostApiSubscriptionRequest' - required: true - x-body-name: post_api_subscription_request - responses: - '200': - description: API subscription content - content: - application/json: - schema: - $ref: '#/components/schemas/PostApiSubscriptionResponse' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/PostApiSubscriptionError' - '401': - description: Not authorized - '403': - description: Not authorized - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - /manage/api/terms: - get: - tags: - - manage - summary: Retrieve the latest terms of service for API usage. - operationId: get_api_terms - responses: - '200': - description: Retrieves the latest API terms - content: - application/json: - schema: - $ref: '#/components/schemas/GetApiTermsResponse' - '401': - description: Not authorized - '403': - description: Not authorized - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - post: - tags: - - manage - summary: Accept terms - operationId: post_api_terms - requestBody: - description: A request to accept the API terms. - content: - application/json: - schema: - $ref: '#/components/schemas/PostApiTermsRequest' - required: true - x-body-name: post_api_terms_request - responses: - '204': - description: Success; no content. - '400': - description: Bad Request - '401': - description: Not authorized - '403': - description: Not authorized - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - /manage/api/usage: - get: - tags: - - manage - summary: Retrieve usage information segmented by time period with tool-specific breakdowns - operationId: get_usage_info - parameters: - - name: organization_id - in: query - description: Base64 encoded organization ID to filter usage information for a specific organization - required: true - schema: - type: string - - name: segment_by - in: query - description: Time segment granularity for usage breakdown - required: true - schema: - $ref: '#/components/schemas/SegmentBy' - - name: start_time - in: query - description: Start time for usage information - required: true - schema: - type: string - format: date-time - - name: end_time - in: query - description: 'Inclusive end time for usage information. If not provided, the current time will be used.' - schema: - type: string - format: date-time - - name: model_versions - in: query - description: Filter usage information by specific model versions - schema: - type: array - items: - $ref: '#/components/schemas/ModelVersion' - default: [ ] - - name: tools - in: query - description: Filter usage information by specific tool types - schema: - type: array - items: - $ref: '#/components/schemas/ToolType' - default: [ ] - - name: api_key_ids - in: query - description: Filter usage information by specific API key IDs - schema: - type: array - items: - type: string - description: Base64 encoded API key ID - default: [ ] - - name: user_emails - in: query - description: Filter usage information by specific user email addresses (for web app usage) - schema: - type: array - items: - type: string - description: User email address - default: [ ] - - name: source - in: query - description: 'Filter usage by source - API for programmatic API usage, APP for web application usage. Defaults to API.' - schema: - $ref: '#/components/schemas/UsageSource' - responses: - '200': - description: Usage information retrieved successfully - content: - application/json: - schema: - $ref: '#/components/schemas/GetUsageInfoResponse' - example: - usage_segments: - - segment_start: '2023-08-09T00:00:00+00:00' - segment_end: '2023-08-09T23:59:59+00:00' - tool_usage: - - full_tool_name: Turbo Image Generation V3 - amount: - currency_code: USD - amount: 1250 - - full_tool_name: Upscale Image V1 - amount: - currency_code: USD - amount: 750 - - full_tool_name: Balanced Edit Image V2 - amount: - currency_code: USD - amount: 500 - - segment_start: '2023-08-10T00:00:00+00:00' - segment_end: '2023-08-10T23:59:59+00:00' - tool_usage: - - full_tool_name: generate - amount: - currency_code: USD - amount: 2000 - '401': - description: Not authorized - '403': - description: Not authorized - security: - - BearerAuth: [ ] - x-openapi-router-controller: external_api.generated.openapi.controllers.manage_controller - /reframe: - post: - tags: - - generate - summary: Reframe (legacy) - description: "Reframe a square image to a chosen resolution. The supported image formats include JPEG, PNG, and WebP.\n\nImage links are available for a limited period of time; if you would like to keep the image, you must download it.\n" - operationId: post_reframe_image - requestBody: - description: A request to reframe an image in a new resolution. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/ReframeImageRequest' - required: true - x-body-name: body - responses: - '200': - description: Image re-frames generated successfully. - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageResponse' - '400': - description: Invalid input provided. - '401': - description: Not authorized to generate an image. - '422': - description: Prompt or Image failed the safety checks. - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageSafetyError' - '429': - description: Too many requests. - x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller - /remix: - post: - tags: - - generate - summary: Remix (legacy) - description: "Remix provided images synchronously based on a given prompt and optional parameters.\n\nInput images are cropped to the chosen aspect ratio before being remixed.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n" - operationId: post_remix_image - requestBody: - description: A request to remix a provided image with Ideogram. Input images are cropped to the chosen aspect ratio before being remixed. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/RemixImageRequest' - encoding: - image_request: - contentType: application/json - style: form - required: true - responses: - '200': - description: Image(s) generated successfully. - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageResponse' - '400': - description: Invalid input provided. - '403': - description: Not authorized to generate an image. - '422': - description: Prompt or provided image failed safety check. - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageSafetyError' - '429': - description: Too many requests. - x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller - /upscale: - post: - tags: - - generate - summary: Upscale - description: "Upscale provided images synchronously with an optional prompt.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n" - operationId: post_upscale_image - requestBody: - description: A request to upscale a provided image with Ideogram. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/UpscaleImageRequest' - encoding: - image_request: - contentType: application/json - style: form - required: true - responses: - '200': - description: Image(s) generated successfully. - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageResponse' - '400': - description: Invalid input provided. - '403': - description: Not authorized to generate an image. - '422': - description: Prompt or provided image failed safety check. - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageSafetyError' - '429': - description: Too many requests. - x-fern-examples: - - request: - image_request: - resemblance: 55 - detail: 90 - response: - body: - created: '2000-01-23T04:56:07+00:00' - data: - - prompt: A photo of a cat - resolution: 1280x800 - is_image_safe: true - seed: 12345 - url: https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89 - style_type: GENERAL - code-samples: - - sdk: curl - code: "curl -X POST https://api.ideogram.ai/upscale \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F image_file=@ \\\n -F image_request='{\n \"resemblance\": 55,\n \"detail\": 90\n }'\n" - - sdk: python - code: "import requests\nimport json\n\nresponse = requests.post(\n \"https://api.ideogram.ai/upscale\",\n headers={\n \"Api-Key\": \"\"\n },\n data={\n \"image_request\": json.dumps({\n \"resemblance\": 55,\n \"detail\": 90\n })\n },\n files={\n \"image_file\": open(\"\", \"rb\")\n }\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n" - - sdk: typescript - code: "const formData = new FormData();\nformData.append('image_request', JSON.stringify({\n resemblance: 55,\n detail: 90\n}));\nformData.append('image_file', new Blob([fs.readFileSync(\"\")], {\n type: 'image/png'\n}));\nconst response = await fetch('https://api.ideogram.ai/upscale', {\n method: 'POST',\n headers: { 'Api-Key': '' },\n body: formData\n});\nconst data = await response.json();\nconsole.log(data);\n" - x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller - /v1/ideogram-v3/edit: - post: - tags: - - generate - summary: Edit with Ideogram 3.0 - description: "Edit a given image synchronously using the provided mask with Ideogram 3.0. The mask indicates which part of the image\nshould be edited, while the prompt and chosen style can further guide the edit.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n" - operationId: post_edit_image_v3 - requestBody: - description: A request to edit an image with Ideogram 3.0. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/EditImageRequestV3' - encoding: - color_palette: - contentType: application/json - style: form - required: true - x-body-name: body - responses: - '200': - description: Image edits generated successfully. - content: - application/json: - schema: - $ref: '#/components/schemas/ImageGenerationResponseV3' - '400': - description: Invalid input provided. - '401': - description: Not authorized to generate an image. - '422': - description: Prompt or Initial Image failed the safety checks. - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageSafetyError' - '429': - description: Too many requests. - x-fern-examples: - - request: - prompt: A photo of a cat wearing a hat. - style_type: AUTO - response: - body: - created: '2000-01-23T04:56:07+00:00' - data: - - prompt: A photo of a cat wearing a hat. - resolution: 1024x1024 - is_image_safe: true - seed: 12345 - url: https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89 - style_type: AUTO - code-samples: - - sdk: curl - code: "curl -X POST https://api.ideogram.ai/v1/ideogram-v3/edit \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F image=@ \\\n -F mask=@ \\\n -F prompt=\"A photo of a cat wearing a hat.\" \\\n -F rendering_speed=\"DEFAULT\"\n" - - sdk: python - code: "import requests\n\nresponse = requests.post(\n \"https://api.ideogram.ai/v1/ideogram-v3/edit\",\n headers={\n \"Api-Key\": \"\"\n },\n data={\n \"prompt\": \"A photo of a cat wearing a hat.\",\n \"rendering_speed\": \"DEFAULT\"\n },\n files={\n \"image\": open(\"\", \"rb\"),\n \"mask\": open(\"\", \"rb\"),\n }\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n" - - sdk: typescript - code: "const formData = new FormData();\nformData.append('prompt', 'A photo of a cat');\nformData.append('rendering_speed', 'TURBO');\nconst response = await fetch('https://api.ideogram.ai/v1/ideogram-v3/edit', {\n method: 'POST',\n headers: { 'Api-Key': '' },\n body: formData\n});\nconst data = await response.json();\nconsole.log(data);\n" - x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller - /v1/ideogram-v3/generate: - post: - tags: - - generate - summary: Generate with Ideogram 3.0 - description: "Generates images synchronously based on a given prompt and optional parameters using the Ideogram 3.0 model.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n" - operationId: post_generate_image_v3 - requestBody: - description: A request to generate an image with Ideogram 3.0. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/GenerateImageRequestV3' - encoding: - color_palette: - contentType: application/json - style: form - application/json: - schema: - $ref: '#/components/schemas/GenerateImageRequestV3' - required: true - x-body-name: body - responses: - '200': - description: Image(s) generated successfully. - content: - application/json: - schema: - $ref: '#/components/schemas/ImageGenerationResponseV3' - '400': - description: Invalid input provided. - '401': - description: Not authorized to generate an image. - '422': - description: Prompt failed the safety check. - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageSafetyError' - '429': - description: Too many requests. - x-fern-examples: - - request: - prompt: A photo of a cat sleeping on a couch. - rendering_speed: TURBO - aspect_ratio: 1x1 - style_type: AUTO - response: - body: - created: '2000-01-23T04:56:07+00:00' - data: - - prompt: A photo of a cat sleeping on a couch. - resolution: 1024x1024 - is_image_safe: true - seed: 12345 - url: https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89 - style_type: GENERAL - code-samples: - - sdk: curl - code: "curl -X POST https://api.ideogram.ai/v1/ideogram-v3/generate \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F prompt=\"A photo of a cat sleeping on a couch.\" \\\n -F rendering_speed=\"TURBO\"\n" - - sdk: python - code: "import requests\n\n# Generate with Ideogram 3.0 (POST /v1/ideogram-v3/generate)\nresponse = requests.post(\n \"https://api.ideogram.ai/v1/ideogram-v3/generate\",\n headers={\n \"Api-Key\": \"\"\n },\n json={\n \"prompt\": \"A picture of a cat\",\n \"rendering_speed\": \"TURBO\"\n }\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n\n# Generate with style reference images\nresponse = requests.post(\n \"https://api.ideogram.ai/v1/ideogram-v3/generate\",\n headers={\n \"Api-Key\": \"\"\n },\n data={\n \"prompt\": \"A picture of a cat\",\n \"aspect_ratio\": \"3x1\"\n },\n files=[\n (\"style_reference_images\", open(\"style_reference_image_1.png\", \"rb\")),\n (\"style_reference_images\", open(\"style_reference_image_2.png\", \"rb\")),\n ]\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n" - - sdk: typescript - code: "const formData = new FormData();\nformData.append('prompt', 'A photo of a cat');\nformData.append('rendering_speed', 'TURBO');\n// To add style reference images, uncomment the following lines\n// formData.append('style_reference_images', '');\n// formData.append('style_reference_images', '');\nconst response = await fetch('https://api.ideogram.ai/v1/ideogram-v3/generate', {\n method: 'POST',\n headers: { 'Api-Key': '' },\n body: formData\n});\nconst data = await response.json();\nconsole.log(data);\n" - x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller - /v1/ideogram-v3/generate-design: - post: - tags: - - generate - summary: Generate a design from a text prompt with text detection and correction - description: "Generates a design synchronously from a text prompt using the Ideogram 3.0 model, then detects and corrects text layers within the generated image.\n\nThe response includes the generated image URL along with detected text layers (with font, size, color, position) and image asset layers.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n" - operationId: post_generate_design_v3 - requestBody: - description: A request to generate a design with Ideogram 3.0. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/GenerateDesignRequestV3' - encoding: - color_palette: - contentType: application/json - style: form - application/json: - schema: - $ref: '#/components/schemas/GenerateDesignRequestV3' - required: true - x-body-name: body - responses: - '200': - description: Design(s) generated successfully with text correction. - content: - application/json: - schema: - $ref: '#/components/schemas/LayeredImageGenerationResponseV3' - '400': - description: Invalid input provided. - '401': - description: Not authorized to generate an image. - '422': - description: Prompt failed the safety check. - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageSafetyError' - '429': - description: Too many requests. - x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller - /v1/ideogram-v3/generate-transparent: - post: - tags: - - generate - summary: Generate with Ideogram 3.0 (Transparent Background) - description: "Generates images with transparent background synchronously based on a given prompt and optional parameters using\nthe Ideogram 3.0 model. Images will be generated using maximum supported resolution at the specified aspect ratio\nto allow best results with upscaler. The selected resolution is written to the response, not the upscaled final\nresolution.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n" - operationId: post_generate_image_v3_transparent - requestBody: - description: 'A request to generate an image with transparent background using Ideogram 3.0, with optional upscaling.' - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/GenerateTransparentImageRequestV3' - application/json: - schema: - $ref: '#/components/schemas/GenerateTransparentImageRequestV3' - required: true - x-body-name: body - responses: - '200': - description: Image(s) generated successfully. - content: - application/json: - schema: - $ref: '#/components/schemas/ImageGenerationResponseV3' - '400': - description: Invalid input provided. - '401': - description: Not authorized to generate an image. - '422': - description: Prompt failed the safety check. - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageSafetyError' - '429': - description: Too many requests. - x-fern-examples: - - request: - prompt: A logo for Ideogram Coffee. - rendering_speed: TURBO - aspect_ratio: 1x1 - upscale_factor: X2 - response: - body: - created: '2000-01-23T04:56:07+00:00' - data: - - prompt: A logo for Ideogram Coffee. - resolution: 1024x1024 - upscaled_resolution: 2048x2028 - is_image_safe: true - seed: 12345 - url: https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89 - code-samples: - - sdk: curl - code: "curl -X POST https://api.ideogram.ai/v1/ideogram-v3/generate-transparent \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F prompt=\"A logo for Ideogram Coffee.\" \\\n -F rendering_speed=\"TURBO\"\n" - - sdk: python - code: "import requests\n\n# Generate with Ideogram 3.0 (POST /v1/ideogram-v3/generate-transparent)\nresponse = requests.post(\n \"https://api.ideogram.ai/v1/ideogram-v3/generate-transparent\",\n headers={\n \"Api-Key\": \"\"\n },\n json={\n \"prompt\": \"A logo for Ideogram Coffee.\",\n \"rendering_speed\": \"TURBO\"\n }\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n" - - sdk: typescript - code: "const formData = new FormData();\nformData.append('prompt', 'A logo for Ideogram Coffee.');\nformData.append('rendering_speed', 'TURBO');\nconst response = await fetch('https://api.ideogram.ai/v1/ideogram-v3/generate-transparent', {\n method: 'POST',\n headers: { 'Api-Key': '' },\n body: formData\n});\nconst data = await response.json();\nconsole.log(data);\n" - x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller - /v1/ideogram-v3/graphic: - post: - tags: - - generate - summary: Generate graphics with Ideogram 3.0 and text correction - description: "Deprecated: Use /v1/ideogram-v3/generate-design for text-to-design or /v1/ideogram-v3/layerize-design for image-to-design.\n\nGenerates graphics synchronously based on a given prompt and optional parameters using the Ideogram 3.0 model, with text detection and correction capabilities.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n" - operationId: post_generate_graphic_v3 - requestBody: - description: A request to generate a graphic with Ideogram 3.0. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/GenerateGraphicRequestV3' - encoding: - color_palette: - contentType: application/json - style: form - application/json: - schema: - $ref: '#/components/schemas/GenerateGraphicRequestV3' - required: true - x-body-name: body - responses: - '200': - description: Graphic(s) generated successfully with text correction. - content: - application/json: - schema: - $ref: '#/components/schemas/LayeredImageGenerationResponseV3' - '400': - description: Invalid input provided. - '401': - description: Not authorized to generate an image. - '422': - description: Prompt failed the safety check. - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageSafetyError' - '429': - description: Too many requests. - deprecated: true - x-fern-examples: - - request: - prompt: A birthday card saying 'Happy Birthday' - rendering_speed: TURBO - aspect_ratio: 1x1 - style_type: AUTO - response: - body: - created: '2000-01-23T04:56:07+00:00' - data: - - prompt: A birthday card saying 'Happy Birthday' - resolution: 1024x1024 - is_image_safe: true - seed: 12345 - url: https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89 - style_type: GENERAL - code-samples: - - sdk: curl - code: "curl -X POST https://api.ideogram.ai/v1/ideogram-v3/graphic \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F prompt=\"A birthday card saying 'Happy Birthday'\" \\\n -F rendering_speed=\"TURBO\"\n" - - sdk: python - code: "import requests\n\nresponse = requests.post(\n \"https://api.ideogram.ai/v1/ideogram-v3/graphic\",\n headers={\n \"Api-Key\": \"\"\n },\n json={\n \"prompt\": \"A birthday card saying 'Happy Birthday'\",\n \"rendering_speed\": \"TURBO\"\n }\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n" - - sdk: typescript - code: "const formData = new FormData();\nformData.append('prompt', 'A birthday card saying Happy Birthday');\nformData.append('rendering_speed', 'TURBO');\nconst response = await fetch('https://api.ideogram.ai/v1/ideogram-v3/graphic', {\n method: 'POST',\n headers: { 'Api-Key': '' },\n body: formData\n});\nconst data = await response.json();\nconsole.log(data);\n" - x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller - /v1/ideogram-v3/layerize-design: - post: - tags: - - generate - summary: Layerize an existing flat graphic image with text detection and correction - description: "Processes an existing flat graphic image to detect and correct text layers without generating a new image from scratch.\n\nThe uploaded image is analyzed for text content, which is then removed and returned as structured text layers with font matching, sizing, and color information.\n\nSupported image formats include JPEG, PNG, and WebP (max size 10MB).\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n" - operationId: post_layerize_design_v3 - requestBody: - description: A request to layerize an existing flat graphic image. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/LayerizeDesignRequestV3' - required: true - x-body-name: body - responses: - '200': - description: Design layerized successfully with text correction. - content: - application/json: - schema: - $ref: '#/components/schemas/LayeredImageGenerationResponseV3' - '400': - description: Invalid input provided. - '401': - description: Not authorized to generate an image. - '429': - description: Too many requests. - x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller - /v1/ideogram-v3/reframe: - post: - tags: - - generate - summary: Reframe with Ideogram 3.0 - description: "Reframe a square image to a chosen resolution with Ideogram 3.0. The supported image formats include JPEG, PNG, and WebP.\n\nImage links are available for a limited period of time; if you would like to keep the image, you must download it.\n" - operationId: post_reframe_image_v3 - requestBody: - description: A request to reframe an image in a new resolution. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/ReframeImageRequestV3' - encoding: - color_palette: - contentType: application/json - style: form - required: true - x-body-name: body - responses: - '200': - description: Image re-frames generated successfully. - content: - application/json: - schema: - $ref: '#/components/schemas/ImageGenerationResponseV3' - '400': - description: Invalid input provided. - '401': - description: Not authorized to generate an image. - '422': - description: Prompt or Image failed the safety checks. - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageSafetyError' - '429': - description: Too many requests. - x-fern-examples: - - request: - resolution: 512x1536 - response: - body: - created: '2000-01-23T04:56:07+00:00' - data: - - prompt: A photo of a cat - resolution: 1280x800 - is_image_safe: true - seed: 12345 - url: https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89 - style_type: GENERAL - code-samples: - - sdk: curl - code: "curl -X POST https://api.ideogram.ai/v1/ideogram-v3/reframe \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F image=@ \\\n -F resolution=\"512x1536\"\n" - - sdk: python - code: "import requests\n\nresponse = requests.post(\n \"https://api.ideogram.ai/v1/ideogram-v3/reframe\",\n headers={\n \"Api-Key\": \"\"\n },\n data={\n \"resolution\": \"512x1536\"\n },\n files={\n \"image\": open(\"\", \"rb\"),\n }\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n" - - sdk: typescript - code: "const formData = new FormData();\nformData.append('resolution', '512x1536');\nformData.append('image', '');\nconst response = await fetch('https://api.ideogram.ai/v1/ideogram-v3/reframe', {\n method: 'POST',\n headers: { 'Api-Key': '' },\n body: formData\n});\nconst data = await response.json();\nconsole.log(data);\n" - x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller - /v1/ideogram-v3/remix: - post: - tags: - - generate - summary: Remix with Ideogram 3.0 - description: "Remix provided images synchronously based on a given prompt and optional parameters with the Ideogram 3.0 model.\n\nInput images are cropped to the chosen aspect ratio before being remixed.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n" - operationId: post_remix_image_v3 - requestBody: - description: A request to remix an image with Ideogram 3.0. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/RemixImageRequestV3' - encoding: - color_palette: - contentType: application/json - style: form - required: true - x-body-name: body - responses: - '200': - description: Image(s) generated successfully. - content: - application/json: - schema: - $ref: '#/components/schemas/ImageGenerationResponseV3' - '400': - description: Invalid input provided. - '403': - description: Not authorized to generate an image. - '422': - description: Prompt or provided image failed safety check. - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageSafetyError' - '429': - description: Too many requests. - x-fern-examples: - - request: - prompt: A photo of a cat - rendering_speed: DEFAULT - image_weight: 50 - aspect_ratio: 1x2 - style_type: AUTO - response: - body: - created: '2000-01-23T04:56:07+00:00' - data: - - prompt: A photo of a cat - resolution: 1280x800 - is_image_safe: true - seed: 12345 - url: https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89 - style_type: GENERAL - code-samples: - - sdk: curl - code: "curl -X POST https://api.ideogram.ai/v1/ideogram-v3/remix \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F image=@ \\\n -F prompt=\"A photo of a cat\" \\\n -F rendering_speed=\"TURBO\"\n" - - sdk: python - code: "import requests\n\nresponse = requests.post(\n \"https://api.ideogram.ai/v1/ideogram-v3/remix\",\n headers={\n \"Api-Key\": \"\"\n },\n data={\n \"prompt\": \"A photo of a cat\",\n \"rendering_speed\": \"TURBO\"\n },\n files={\n \"image\": open(\"\", \"rb\"),\n }\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n" - - sdk: typescript - code: "const formData = new FormData();\nformData.append('prompt', 'A photo of a cat');\nformData.append('rendering_speed', 'TURBO');\nformData.append('image', '');\nconst response = await fetch('https://api.ideogram.ai/v1/ideogram-v3/remix', {\n method: 'POST',\n headers: { 'Api-Key': '' },\n body: formData\n});\nconst data = await response.json();\nconsole.log(data);\n" - x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller - /v1/ideogram-v3/replace-background: - post: - tags: - - generate - summary: Replace Background with Ideogram 3.0 - description: "Replace the background of a given image synchronously using a prompt with Ideogram 3.0. The foreground subject\nwill be identified and kept, while the background is replaced based on the prompt and chosen style.\nSupported image formats include JPEG, PNG, and WebP.\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n" - operationId: post_replace_background_v3 - requestBody: - description: A request to replace the background of an image with Ideogram 3.0. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/ReplaceBackgroundRequestV3' - encoding: - color_palette: - contentType: application/json - style: form - required: true - x-body-name: body - responses: - '200': - description: Background replacement generated successfully. - content: - application/json: - schema: - $ref: '#/components/schemas/ImageGenerationResponseV3' - '400': - description: Invalid input provided. - '401': - description: Not authorized to generate an image. - '422': - description: Prompt or Initial Image failed the safety checks. - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageSafetyError' - '429': - description: Too many requests. - x-fern-examples: - - request: - prompt: Add a forest in the background - magic_prompt: ON - rendering_speed: QUALITY - response: - body: - created: '2000-01-23T04:56:07+00:00' - data: - - prompt: Add a forest in the background - resolution: 1280x800 - is_image_safe: true - seed: 12345 - url: https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89 - style_type: GENERAL - code-samples: - - sdk: curl - code: "curl -X POST https://api.ideogram.ai/v1/ideogram-v3/replace-background \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F image=@ \\\n -F prompt=\"Add a forest in the background\"\n" - - sdk: python - code: "import requests\n\nresponse = requests.post(\n \"https://api.ideogram.ai/v1/ideogram-v3/replace-background\",\n headers={\n \"Api-Key\": \"\" \n },\n data={\n \"prompt\": \"Add a forest in the background\",\n \"magic_prompt\": \"ON\"\n },\n files={\n \"image\": open(\"\", \"rb\"),\n }\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n" - - sdk: typescript - code: "const formData = new FormData();\nformData.append('prompt', 'Add a forest in the background');\nformData.append('image', '');\nconst response = await fetch('https://api.ideogram.ai/v1/ideogram-v3/replace-background', {\n method: 'POST',\n headers: { 'Api-Key': '' },\n body: formData\n});\nconst data = await response.json();\nconsole.log(data);\n" - x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller - /v1/ideogram-v3/try-on: - post: - tags: - - generate - summary: Virtual Try-On with Ideogram 3.0 - description: "Performs virtual clothing try-on by automatically segmenting the clothing in the provided image\nand replacing it based on the prompt. The user provides an image and an optional prompt describing\nthe desired clothing change (e.g., \"change his shirt to a pink shirt\").\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n" - operationId: post_try_on_v3 - requestBody: - description: A request to perform virtual try-on with Ideogram 3.0. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/TryOnRequestV3' - required: true - x-body-name: body - responses: - '200': - description: Try-on completed successfully. - content: - application/json: - schema: - $ref: '#/components/schemas/ImageGenerationResponseV3' - '400': - description: Invalid input provided. - '401': - description: Not authorized to generate an image. - '422': - description: 'Prompt or provided image failed safety check, or clothing segmentation failed.' - content: - application/json: - schema: - $ref: '#/components/schemas/GenerateImageSafetyError' - '429': - description: Too many requests. - x-fern-examples: - - request: - prompt: Change his shirt to a pink shirt - rendering_speed: DEFAULT - response: - body: - created: '2000-01-23T04:56:07+00:00' - data: - - prompt: Change his shirt to a pink shirt - resolution: 1024x1024 - is_image_safe: true - seed: 12345 - url: https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89 - style_type: AUTO - code-samples: - - sdk: curl - code: "curl -X POST https://api.ideogram.ai/v1/ideogram-v3/try-on \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F image=@ \\\n -F prompt=\"Change his shirt to a pink shirt\" \\\n -F rendering_speed=\"DEFAULT\"\n" - - sdk: python - code: "import requests\n\nresponse = requests.post(\n \"https://api.ideogram.ai/v1/ideogram-v3/try-on\",\n headers={\n \"Api-Key\": \"\"\n },\n data={\n \"prompt\": \"Change his shirt to a pink shirt\",\n \"rendering_speed\": \"DEFAULT\"\n },\n files={\n \"image\": open(\"\", \"rb\"),\n }\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n" - - sdk: typescript - code: "const formData = new FormData();\nformData.append('prompt', 'Change his shirt to a pink shirt');\nformData.append('rendering_speed', 'DEFAULT');\nformData.append('image', '');\nconst response = await fetch('https://api.ideogram.ai/v1/ideogram-v3/try-on', {\n method: 'POST',\n headers: { 'Api-Key': '' },\n body: formData\n});\nconst data = await response.json();\nconsole.log(data);\n" - x-openapi-router-controller: external_api.generated.openapi.controllers.generate_controller -components: - schemas: - DescribeResponse: - title: DescribeResponse - type: object - properties: - descriptions: - type: array - items: - $ref: '#/components/schemas/Description' - description: A collection of descriptions for given content. - description: The response for a describe request encapsulates a list of descriptions. - example: - descriptions: - - text: 'A meticulously illustrated cat with striped patterns, sitting upright. The cat''s eyes are a captivating shade of yellow, and it appears to be gazing intently at something. The background consists of abstract, swirling patterns in shades of black, white, and beige, creating an almost fluid or wavy appearance. The cat is positioned in the foreground, with the background elements fading into the distance, giving a sense of depth to the image.' - DescribeRequest: - required: - - image_file - type: object - properties: - image_file: - type: string - description: 'An image binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.' - format: binary - describe_model_version: - $ref: '#/components/schemas/DescribeModelVersion' - EditImageRequest: - required: - - image_file - - mask - - model - - prompt - type: object - properties: - image_file: - type: string - description: 'An image binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.' - format: binary - mask: - type: string - description: 'A black and white image of the same size as the image being edited (max size 10MB). Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time.' - format: binary - prompt: - type: string - description: The prompt used to describe the edited result. - example: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there is an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.' - model: - $ref: '#/components/schemas/ModelEnum' - magic_prompt_option: - $ref: '#/components/schemas/MagicPromptOption' - num_images: - $ref: '#/components/schemas/NumImages' - seed: - $ref: '#/components/schemas/Seed' - style_type: - $ref: '#/components/schemas/StyleType' - GenerateImageRequest: - title: GenerateImageRequest - required: - - image_request - type: object - properties: - image_request: - $ref: '#/components/schemas/ImageRequest' - example: - image_request: - aspect_ratio: ASPECT_10_16 - magic_prompt_option: AUTO - model: V_2 - prompt: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there is an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.' - GenerateImageRequestV3: - required: - - prompt - type: object - properties: - prompt: - type: string - description: The prompt to use to generate the image. - example: A photo of a cat - seed: - title: Seed - maximum: 2147483647 - minimum: 0 - type: integer - description: Random seed. Set for reproducible generation. - example: 12345 - resolution: - $ref: '#/components/schemas/ResolutionV3' - aspect_ratio: - $ref: '#/components/schemas/AspectRatioV3' - rendering_speed: - $ref: '#/components/schemas/RenderingSpeed' - magic_prompt: - $ref: '#/components/schemas/MagicPromptOption' - negative_prompt: - type: string - description: "Description of what to exclude from an image. Descriptions in the prompt take precedence\nto descriptions in the negative prompt.\n" - example: 'brush strokes, painting' - num_images: - maximum: 8 - minimum: 1 - type: integer - description: Number of images to generate. - default: 1 - color_palette: - $ref: '#/components/schemas/ColorPaletteWithPresetNameOrMembers' - style_codes: - type: array - items: - $ref: '#/components/schemas/StyleCode' - description: A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type. - example: - - AAFF5733 - - 0133FF57 - - DE3357FF - style_type: - $ref: '#/components/schemas/StyleTypeV3' - style_preset: - $ref: '#/components/schemas/StylePresetV3' - custom_model_uri: - type: string - description: "A custom model URI in the format model//version/. \nWhen provided, the model version and style will be resolved from this URI, and style_type is not required.\n" - example: model/my-custom-model/version/1 - style_reference_images: - type: array - items: - type: string - format: binary - description: 'A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format.' - character_reference_images: - type: array - items: - type: string - format: binary - description: 'Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format.' - character_reference_images_mask: - type: array - items: - type: string - format: binary - description: 'Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format.' - GenerateGraphicRequestV3: - type: object - properties: - prompt: - type: string - description: The prompt to use to generate the graphic. - example: A birthday card saying 'Happy Birthday' - seed: - title: Seed - maximum: 2147483647 - minimum: 0 - type: integer - description: Random seed. Set for reproducible generation. - example: 12345 - resolution: - $ref: '#/components/schemas/ResolutionV3' - aspect_ratio: - $ref: '#/components/schemas/AspectRatioV3' - rendering_speed: - $ref: '#/components/schemas/RenderingSpeed' - magic_prompt: - $ref: '#/components/schemas/MagicPromptOption' - negative_prompt: - type: string - description: "Description of what to exclude from a graphic. Descriptions in the prompt take precedence\nto descriptions in the negative prompt.\n" - example: 'brush strokes, painting' - num_images: - maximum: 8 - minimum: 1 - type: integer - description: Number of graphics to generate. - default: 1 - color_palette: - $ref: '#/components/schemas/ColorPaletteWithPresetNameOrMembers' - style_codes: - type: array - items: - $ref: '#/components/schemas/StyleCode' - description: A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type. - example: - - AAFF5733 - - 0133FF57 - - DE3357FF - style_type: - $ref: '#/components/schemas/StyleTypeV3' - style_preset: - $ref: '#/components/schemas/StylePresetV3' - custom_model_uri: - type: string - description: "A custom model URI in the format model//version/. \nWhen provided, the model version and style will be resolved from this URI, and style_type is not required.\n" - example: model/my-custom-model/version/1 - flat_graphic_image: - type: string - description: 'An existing flat graphic image to process for text detection and correction without generating a new image. When provided, image generation is bypassed. The image should be in JPEG, PNG or WebP format (max size 10MB).' - format: binary - font_file_h1: - type: string - description: 'Custom font file for H1 (heading) text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_h1.' - format: binary - font_name_h1: - type: string - description: Font name from the available font library for H1 text. Ignored if font_file_h1 is provided. - example: Ubuntu-Bold.ttf - font_file_h2: - type: string - description: 'Custom font file for H2 (subheading) text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_h2.' - format: binary - font_name_h2: - type: string - description: Font name from the available font library for H2 text. Ignored if font_file_h2 is provided. - font_file_body: - type: string - description: 'Custom font file for body text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_body.' - format: binary - font_name_body: - type: string - description: Font name from the available font library for body text. Ignored if font_file_body is provided. - font_file_small: - type: string - description: 'Custom font file for small/caption text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_small.' - format: binary - font_name_small: - type: string - description: Font name from the available font library for small text. Ignored if font_file_small is provided. - style_reference_images: - type: array - items: - type: string - format: binary - description: 'A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format.' - reference_asset_images: - type: array - items: - type: string - format: binary - description: 'A set of asset images (e.g., logos, icons) to use as references for detection and replacement (maximum 10 images). The images should be in JPEG, PNG or WebP format.' - GenerateDesignRequestV3: - required: - - prompt - type: object - properties: - prompt: - type: string - description: The prompt to use to generate the design. - example: A birthday card saying 'Happy Birthday' - seed: - title: Seed - maximum: 2147483647 - minimum: 0 - type: integer - description: Random seed. Set for reproducible generation. - example: 12345 - resolution: - $ref: '#/components/schemas/ResolutionV3' - aspect_ratio: - $ref: '#/components/schemas/AspectRatioV3' - rendering_speed: - $ref: '#/components/schemas/RenderingSpeed' - magic_prompt: - $ref: '#/components/schemas/MagicPromptOption' - negative_prompt: - type: string - description: "Description of what to exclude from a design. Descriptions in the prompt take precedence\nto descriptions in the negative prompt.\n" - example: 'brush strokes, painting' - num_images: - maximum: 8 - minimum: 1 - type: integer - description: Number of designs to generate. - default: 1 - color_palette: - $ref: '#/components/schemas/ColorPaletteWithPresetNameOrMembers' - style_codes: - type: array - items: - $ref: '#/components/schemas/StyleCode' - description: A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type. - example: - - AAFF5733 - - 0133FF57 - - DE3357FF - style_type: - $ref: '#/components/schemas/StyleTypeV3' - style_preset: - $ref: '#/components/schemas/StylePresetV3' - custom_model_uri: - type: string - description: "A custom model URI in the format model//version/. \nWhen provided, the model version and style will be resolved from this URI, and style_type is not required.\n" - example: model/my-custom-model/version/1 - font_file_h1: - type: string - description: 'Custom font file for H1 (heading) text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_h1.' - format: binary - font_name_h1: - type: string - description: Font name from the available font library for H1 text. Ignored if font_file_h1 is provided. - example: Ubuntu-Bold.ttf - font_file_h2: - type: string - description: 'Custom font file for H2 (subheading) text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_h2.' - format: binary - font_name_h2: - type: string - description: Font name from the available font library for H2 text. Ignored if font_file_h2 is provided. - font_file_body: - type: string - description: 'Custom font file for body text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_body.' - format: binary - font_name_body: - type: string - description: Font name from the available font library for body text. Ignored if font_file_body is provided. - font_file_small: - type: string - description: 'Custom font file for small/caption text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_small.' - format: binary - font_name_small: - type: string - description: Font name from the available font library for small text. Ignored if font_file_small is provided. - style_reference_images: - type: array - items: - type: string - format: binary - description: 'A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format.' - reference_asset_images: - type: array - items: - type: string - format: binary - description: 'A set of asset images (e.g., logos, icons) to use as references for detection and replacement (maximum 10 images). The images should be in JPEG, PNG or WebP format.' - LayerizeDesignRequestV3: - required: - - flat_graphic_image - type: object - properties: - flat_graphic_image: - type: string - description: 'The flat graphic image to process for text detection and correction. The image should be in JPEG, PNG or WebP format (max size 10MB).' - format: binary - prompt: - type: string - description: 'An optional prompt to describe the image. If not provided, a prompt will be auto-generated from the image via captioning.' - seed: - $ref: '#/components/schemas/Seed' - font_file_h1: - type: string - description: 'Custom font file for H1 (heading) text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_h1.' - format: binary - font_name_h1: - type: string - description: Font name from the available font library for H1 text. Ignored if font_file_h1 is provided. - example: Ubuntu-Bold.ttf - font_file_h2: - type: string - description: 'Custom font file for H2 (subheading) text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_h2.' - format: binary - font_name_h2: - type: string - description: Font name from the available font library for H2 text. Ignored if font_file_h2 is provided. - font_file_body: - type: string - description: 'Custom font file for body text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_body.' - format: binary - font_name_body: - type: string - description: Font name from the available font library for body text. Ignored if font_file_body is provided. - font_file_small: - type: string - description: 'Custom font file for small/caption text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_small.' - format: binary - font_name_small: - type: string - description: Font name from the available font library for small text. Ignored if font_file_small is provided. - reference_asset_images: - type: array - items: - type: string - format: binary - description: 'A set of asset images (e.g., logos, icons) to use as references for detection and replacement (maximum 10 images). The images should be in JPEG, PNG or WebP format.' - GenerateTransparentImageRequestV3: - required: - - prompt - type: object - properties: - prompt: - type: string - description: The prompt to use to generate the image. - example: A photo of a cat - seed: - title: Seed - maximum: 2147483647 - minimum: 0 - type: integer - description: Random seed. Set for reproducible generation. - example: 12345 - upscale_factor: - $ref: '#/components/schemas/UpscaleFactor' - aspect_ratio: - $ref: '#/components/schemas/AspectRatioV3' - rendering_speed: - $ref: '#/components/schemas/RenderingSpeed' - magic_prompt: - $ref: '#/components/schemas/MagicPromptOption' - negative_prompt: - type: string - description: "Description of what to exclude from an image. Descriptions in the prompt take precedence\nto descriptions in the negative prompt.\n" - example: 'brush strokes, painting' - num_images: - maximum: 8 - minimum: 1 - type: integer - description: Number of images to generate. - default: 1 - custom_model_uri: - type: string - description: "A custom model URI in the format model//version/. \nWhen provided, the model version and style will be resolved from this URI, and style_type is not required.\nA model must be able to generate transparent background to be used for this endpoint.\n" - example: model/my-custom-model/version/1 - RemixImageRequestV3: - required: - - image - - prompt - type: object - properties: - image: - type: string - description: 'The image to remix binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.' - format: binary - prompt: - type: string - description: The prompt to use to generate the image. - example: A photo of a cat - image_weight: - maximum: 100 - minimum: 1 - type: integer - default: 50 - example: 50 - seed: - $ref: '#/components/schemas/Seed' - resolution: - $ref: '#/components/schemas/ResolutionV3' - aspect_ratio: - $ref: '#/components/schemas/AspectRatioV3' - rendering_speed: - $ref: '#/components/schemas/RenderingSpeed' - magic_prompt: - $ref: '#/components/schemas/MagicPromptOption' - negative_prompt: - type: string - description: "Description of what to exclude from an image. Descriptions in the prompt take precedence\nto descriptions in the negative prompt.\n" - example: 'brush strokes, painting' - num_images: - maximum: 8 - minimum: 1 - type: integer - description: Number of images to generate. - default: 1 - color_palette: - $ref: '#/components/schemas/ColorPaletteWithPresetNameOrMembers' - style_codes: - $ref: '#/components/schemas/StyleCodes' - style_type: - $ref: '#/components/schemas/StyleTypeV3' - style_preset: - $ref: '#/components/schemas/StylePresetV3' - custom_model_uri: - type: string - description: "A custom model URI in the format model//version/. \nWhen provided, the model version and style will be resolved from this URI, and style_type is not required.\n" - example: model/my-custom-model/version/1 - style_reference_images: - type: array - items: - type: string - format: binary - description: 'A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format.' - character_reference_images: - type: array - items: - type: string - format: binary - description: 'Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format.' - character_reference_images_mask: - type: array - items: - type: string - format: binary - description: 'Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format.' - EditImageRequestV3: - required: - - image - - mask - - prompt - type: object - properties: - image: - type: string - description: 'The image being edited (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.' - format: binary - mask: - type: string - description: 'A black and white image of the same size as the image being edited (max size 10MB). Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time.' - format: binary - prompt: - type: string - description: The prompt used to describe the edited result. - example: A photo of a cat. - magic_prompt: - $ref: '#/components/schemas/MagicPromptOption' - num_images: - $ref: '#/components/schemas/NumImages' - seed: - $ref: '#/components/schemas/Seed' - rendering_speed: - $ref: '#/components/schemas/RenderingSpeed' - style_type: - $ref: '#/components/schemas/StyleTypeV3' - style_preset: - $ref: '#/components/schemas/StylePresetV3' - custom_model_uri: - type: string - description: "A custom model URI in the format model//version/. \nWhen provided, the model version and style will be resolved from this URI, and style_type is not required.\n" - example: model/my-custom-model/version/1 - color_palette: - $ref: '#/components/schemas/ColorPaletteWithPresetNameOrMembers' - style_codes: - $ref: '#/components/schemas/StyleCodes' - style_reference_images: - type: array - items: - type: string - format: binary - description: 'A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format.' - character_reference_images: - type: array - items: - type: string - format: binary - description: 'Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format.' - character_reference_images_mask: - type: array - items: - type: string - format: binary - description: 'Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format.' - TryOnRequestV3: - required: - - image - - product_reference_images - type: object - properties: - image: - type: string - description: 'The image containing a person wearing clothing to be modified (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.' - format: binary - prompt: - type: string - description: The prompt describing the desired clothing change. Defaults to "Person wearing this piece of clothing" if omitted or empty. - default: Person wearing this piece of clothing - example: Change his shirt to a pink shirt - magic_prompt: - $ref: '#/components/schemas/MagicPromptOption' - num_images: - $ref: '#/components/schemas/NumImages' - seed: - $ref: '#/components/schemas/Seed' - rendering_speed: - $ref: '#/components/schemas/RenderingSpeed' - style_type: - $ref: '#/components/schemas/StyleTypeV3' - style_preset: - $ref: '#/components/schemas/StylePresetV3' - product_reference_images: - maxItems: 1 - minItems: 1 - type: array - items: - type: string - format: binary - description: 'An image to use as the product reference for the try-on (exactly 1 image required). The image should be in JPEG, PNG or WebP format.' - ReframeImageRequestV3: - required: - - image - - resolution - type: object - properties: - image: - type: string - description: 'The image being reframed (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.' - format: binary - resolution: - $ref: '#/components/schemas/ResolutionV3' - num_images: - $ref: '#/components/schemas/NumImages' - seed: - $ref: '#/components/schemas/Seed' - rendering_speed: - $ref: '#/components/schemas/RenderingSpeed' - style_preset: - $ref: '#/components/schemas/StylePresetV3' - color_palette: - $ref: '#/components/schemas/ColorPaletteWithPresetNameOrMembers' - style_codes: - $ref: '#/components/schemas/StyleCodes' - style_reference_images: - type: array - items: - type: string - format: binary - description: 'A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format.' - ReplaceBackgroundRequestV3: - required: - - image - - prompt - type: object - properties: - image: - type: string - description: 'The image whose background is being replaced (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.' - format: binary - prompt: - type: string - description: The prompt describing the desired new background. - example: A vibrant cityscape at night. - magic_prompt: - $ref: '#/components/schemas/MagicPromptOption' - num_images: - $ref: '#/components/schemas/NumImages' - seed: - $ref: '#/components/schemas/Seed' - rendering_speed: - $ref: '#/components/schemas/RenderingSpeed' - style_preset: - $ref: '#/components/schemas/StylePresetV3' - color_palette: - $ref: '#/components/schemas/ColorPaletteWithPresetNameOrMembers' - style_codes: - $ref: '#/components/schemas/StyleCodes' - style_reference_images: - type: array - items: - type: string - format: binary - description: 'A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format.' - InternalTestingRequest: - required: - - required_date_type_field - type: object - properties: - x_position: - type: - - 'null' - - integer - image_file: - type: string - description: 'An image binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.' - format: binary - another_image_file: - type: string - description: 'An image binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.' - format: binary - some_text: - type: string - nested_object: - $ref: '#/components/schemas/InternalTestingNestedObject' - nested_object_required_fields: - $ref: '#/components/schemas/InternalTestingNestedObjectRequiredFields' - date_type_field: - type: string - format: date - required_date_type_field: - type: string - format: date - date_time_type_field: - type: string - format: date-time - repeated_primitive_field: - type: array - items: - type: string - repeated_complex_field: - type: array - items: - $ref: '#/components/schemas/InternalTestingNestedObject' - enum_type_field: - $ref: '#/components/schemas/InternalTestingEnumField' - InternalTestingEnumField: - title: InternalTestingEnumField - enum: - - EIN - - ZWEI - - DREI - type: string - InternalTestingNestedObject: - title: InternalTestingNestedObject - type: object - properties: - prop_one: - title: prop_one - type: string - prop_two: - title: prop_two - type: string - InternalTestingNestedObjectRequiredFields: - title: InternalTestingNestedObjectRequiredFields - required: - - prop_one - - prop_two - type: object - properties: - prop_one: - title: prop_one - type: string - prop_two: - title: prop_two - type: string - RemixImageRequest: - required: - - image_file - - image_request - type: object - properties: - image_request: - $ref: '#/components/schemas/InitialImageRequest' - image_file: - type: string - description: 'An image binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.' - format: binary - description: 'A request to generate an image from a source image and a provided caption, provided images are cropped to match the chosen output aspect ratio.' - ReframeImageRequest: - required: - - image_file - - model - - resolution - type: object - properties: - image_file: - type: string - description: 'The image being reframed (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.' - format: binary - resolution: - $ref: '#/components/schemas/Resolution' - model: - $ref: '#/components/schemas/ModelEnum' - num_images: - $ref: '#/components/schemas/NumImages' - seed: - $ref: '#/components/schemas/Seed' - style_type: - $ref: '#/components/schemas/StyleType' - UpscaleImageRequest: - required: - - image_file - - image_request - type: object - properties: - image_request: - $ref: '#/components/schemas/UpscaleInitialImageRequest' - image_file: - type: string - description: 'An image binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.' - format: binary - ImageRequest: - title: ImageRequest - required: - - prompt - type: object - properties: - prompt: - type: string - description: The prompt to use to generate the image. - example: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there is an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.' - aspect_ratio: - $ref: '#/components/schemas/AspectRatio' - model: - $ref: '#/components/schemas/ModelEnum' - magic_prompt_option: - $ref: '#/components/schemas/MagicPromptOption' - magic_prompt_version: - $ref: '#/components/schemas/MagicPromptVersionEnum' - seed: - title: Seed - maximum: 2147483647 - minimum: 0 - type: integer - description: Random seed. Set for reproducible generation. - example: 12345 - style_type: - $ref: '#/components/schemas/StyleType' - negative_prompt: - type: string - description: 'Only available for model versions V_1, V_1_TURBO, V_2 and V_2_TURBO. Description of what to exclude from an image. Descriptions in the prompt take precedence to descriptions in the negative prompt.' - example: 'brush strokes, painting' - num_images: - title: NumImages - maximum: 8 - minimum: 1 - type: integer - description: The number of images to generate. - default: 1 - resolution: - $ref: '#/components/schemas/Resolution' - color_palette: - $ref: '#/components/schemas/ColorPaletteWithPresetNameOrMembers' - example: - aspect_ratio: ASPECT_10_16 - magic_prompt_option: AUTO - model: V_2 - prompt: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there is an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.' - InitialImageRequest: - title: InitialImageRequest - type: object - allOf: - - $ref: '#/components/schemas/ImageRequest' - properties: - image_weight: - maximum: 100 - minimum: 1 - type: integer - default: 50 - example: 50 - description: A request to generate a new image using a provided image and a prompt. - example: - aspect_ratio: ASPECT_10_16 - magic_prompt_option: ON - model: V_2 - prompt: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there is an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.' - image_weight: 50 - UpscaleInitialImageRequest: - title: UpscaleInitialImageRequest - type: object - properties: - prompt: - title: prompt - type: string - description: An optional prompt to guide the upscale - example: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there is an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.' - resemblance: - title: resemblance - maximum: 100 - minimum: 1 - type: integer - default: 50 - example: 50 - detail: - title: detail - maximum: 100 - minimum: 1 - type: integer - default: 50 - example: 50 - magic_prompt_option: - $ref: '#/components/schemas/MagicPromptOption' - magic_prompt_version: - $ref: '#/components/schemas/MagicPromptVersionEnum' - num_images: - title: NumImages - maximum: 8 - minimum: 1 - type: integer - description: The number of images to generate. - default: 1 - seed: - title: Seed - maximum: 2147483647 - minimum: 0 - type: integer - description: Random seed. Set for reproducible generation. - example: 12345 - description: A request to upscale a provided image with the help of an optional prompt. - GenerateImageResponse: - title: GenerateImageResponse - required: - - created - - data - type: object - properties: - created: - title: created - type: string - description: The time the request was created. - format: date-time - data: - title: data - type: array - items: - $ref: '#/components/schemas/ImageObject' - description: A list of ImageObjects that contain the generated image(s). - description: "The response which contains information about the generated image, including the download link.\nImages links are available for a limited period of time; if you would like to keep the image, you must download it." - example: - data: - - style_type: REALISTIC - seed: 12345 - upscaled_resolution: 4096x4096 - prompt: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there''s an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.' - resolution: 1024x1024 - url: https://ideogram.ai/api/images/direct/8YEpFzHuS-S6xXEGmCsf7g - is_image_safe: true - - style_type: REALISTIC - seed: 12345 - upscaled_resolution: 4096x4096 - prompt: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there''s an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.' - resolution: 1024x1024 - url: https://ideogram.ai/api/images/direct/8YEpFzHuS-S6xXEGmCsf7g - is_image_safe: true - created: '2000-01-23T04:56:07+00:00' - ImageGenerationResponseV3: - title: ImageGenerationResponseV3 - required: - - created - - data - type: object - properties: - created: - title: created - type: string - description: The time the request was created. - format: date-time - data: - title: data - type: array - items: - $ref: '#/components/schemas/ImageGenerationObjectV3' - description: A list of ImageObjects that contain the generated image(s). - description: "The response which contains information about the generated image, including the download link.\nImages links are available for a limited period of time; if you would like to keep the image, you must download it." - example: - data: - - style_type: GENERAL - seed: 12345 - upscaled_resolution: 4096x4096 - prompt: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there''s an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.' - resolution: 1280x800 - url: https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89 - is_image_safe: true - - style_type: GENERAL - seed: 12345 - upscaled_resolution: 4096x4096 - prompt: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there''s an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.' - resolution: 1280x800 - url: https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89 - is_image_safe: true - created: '2000-01-23T04:56:07+00:00' - ImageGenerationObjectV3: - title: ImageGenerationObjectV3 - required: - - is_image_safe - - prompt - - resolution - - seed - type: object - properties: - url: - title: url - type: - - 'null' - - string - description: The direct link to the image generated. - format: uri - example: https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89 - prompt: - title: prompt - type: string - description: The prompt used for the generation. This may be different from the original prompt. - example: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there''s an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.' - resolution: - $ref: '#/components/schemas/ResolutionV3' - upscaled_resolution: - title: FreeformResolution - pattern: '^\d{2,5}x\d{2,5}$' - type: string - description: 'Output resolution, only used if operations alters image dimensions, such as upscale, crop etc.' - example: 4096x4096 - is_image_safe: - title: is_image_safe - type: boolean - description: 'Whether this request passes safety checks. If false, the url field will be empty.' - seed: - title: Seed - maximum: 2147483647 - minimum: 0 - type: integer - description: Random seed. Set for reproducible generation. - example: 12345 - style_type: - $ref: '#/components/schemas/StyleTypeV3' - example: - style_type: GENERAL - seed: 12345 - upscaled_resolution: 4096x4096 - prompt: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there''s an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.' - resolution: 1280x800 - url: https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89 - is_image_safe: true - ImageObject: - title: ImageObject - required: - - is_image_safe - - prompt - - resolution - - seed - type: object - properties: - url: - title: url - type: - - 'null' - - string - description: The direct link to the image generated. - format: uri - example: https://ideogram.ai/api/images/direct/8YEpFzHuS-S6xXEGmCsf7g - prompt: - title: prompt - type: string - description: The prompt used for the generation. This may be different from the original prompt. - example: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there''s an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.' - resolution: - title: resolution - type: string - description: The resolution of the final image. - example: 1024x1024 - upscaled_resolution: - title: FreeformResolution - pattern: '^\d{2,5}x\d{2,5}$' - type: string - description: 'Output resolution, only used if operations alters image dimensions, such as upscale, crop etc.' - example: 4096x4096 - is_image_safe: - title: is_image_safe - type: boolean - description: 'Whether this request passes safety checks. If false, the url field will be empty.' - seed: - title: Seed - maximum: 2147483647 - minimum: 0 - type: integer - description: Random seed. Set for reproducible generation. - example: 12345 - style_type: - $ref: '#/components/schemas/StyleType' - example: - style_type: REALISTIC - seed: 12345 - upscaled_resolution: 4096x4096 - prompt: 'A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there''s an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.' - resolution: 1024x1024 - url: https://ideogram.ai/api/images/direct/8YEpFzHuS-S6xXEGmCsf7g - is_image_safe: true - LayeredImageGenerationObjectV3: - title: LayeredImageGenerationObjectV3 - type: object - allOf: - - $ref: '#/components/schemas/ImageGenerationObjectV3' - properties: - url: - title: url - type: - - 'null' - - string - description: 'The direct link to the text-erased base image. This is the background image with text removed, suitable for re-compositing with the text layers. Falls back to the cover image if the text-erased image is unavailable.' - format: uri - text_containers: - title: text_containers - type: - - 'null' - - array - items: - $ref: '#/components/schemas/TextContainerV3' - description: Hierarchical text container data as a list of TextContainerV3 objects. - text_html: - title: text_html - type: - - 'null' - - string - description: Rendered HTML string for text overlays with inline CSS for absolute positioning. - image_layers: - title: image_layers - type: array - items: - $ref: '#/components/schemas/ImageLayerV3' - example: - text_containers: - - id: id - items: - - font_candidates: - - font_candidates - - font_candidates - spans: - - color: '#212121' - text: text - font_fx: - - bold - - italic - - color: '#212121' - text: text - font_fx: - - bold - - italic - font_size: 5 - glyph_type: bullet - line_height: 2.302136 - x: 0 - width: 1 - style_class: body - y: 6 - angle: 0 - alignment: center - font_file: font_file - height: 5 - - font_candidates: - - font_candidates - - font_candidates - spans: - - color: '#212121' - text: text - font_fx: - - bold - - italic - - color: '#212121' - text: text - font_fx: - - bold - - italic - font_size: 5 - glyph_type: bullet - line_height: 2.302136 - x: 0 - width: 1 - style_class: body - y: 6 - angle: 0 - alignment: center - font_file: font_file - height: 5 - - id: id - items: - - font_candidates: - - font_candidates - - font_candidates - spans: - - color: '#212121' - text: text - font_fx: - - bold - - italic - - color: '#212121' - text: text - font_fx: - - bold - - italic - font_size: 5 - glyph_type: bullet - line_height: 2.302136 - x: 0 - width: 1 - style_class: body - y: 6 - angle: 0 - alignment: center - font_file: font_file - height: 5 - - font_candidates: - - font_candidates - - font_candidates - spans: - - color: '#212121' - text: text - font_fx: - - bold - - italic - - color: '#212121' - text: text - font_fx: - - bold - - italic - font_size: 5 - glyph_type: bullet - line_height: 2.302136 - x: 0 - width: 1 - style_class: body - y: 6 - angle: 0 - alignment: center - font_file: font_file - height: 5 - image_layers: - - ref_id: REF_0 - x: 7 - width: 3 - y: 9 - height: 2 - - ref_id: REF_0 - x: 7 - width: 3 - y: 9 - height: 2 - url: https://openapi-generator.tech - text_html: text_html - LayeredImageGenerationResponseV3: - title: LayeredImageGenerationResponseV3 - required: - - created - - data - type: object - properties: - created: - title: created - type: string - description: The time the request was created. - format: date-time - data: - title: data - type: array - items: - $ref: '#/components/schemas/LayeredImageGenerationObjectV3' - description: A list of ImageObjects that contain the generated image(s). - description: "The response which contains information about the generated image, including the download link and other text layeres.\nImages links are available for a limited period of time; if you would like to keep the image, you must download it." - example: - data: - - text_containers: - - id: id - items: - - font_candidates: - - font_candidates - - font_candidates - spans: - - color: '#212121' - text: text - font_fx: - - bold - - italic - - color: '#212121' - text: text - font_fx: - - bold - - italic - font_size: 5 - glyph_type: bullet - line_height: 2.302136 - x: 0 - width: 1 - style_class: body - y: 6 - angle: 0 - alignment: center - font_file: font_file - height: 5 - - font_candidates: - - font_candidates - - font_candidates - spans: - - color: '#212121' - text: text - font_fx: - - bold - - italic - - color: '#212121' - text: text - font_fx: - - bold - - italic - font_size: 5 - glyph_type: bullet - line_height: 2.302136 - x: 0 - width: 1 - style_class: body - y: 6 - angle: 0 - alignment: center - font_file: font_file - height: 5 - - id: id - items: - - font_candidates: - - font_candidates - - font_candidates - spans: - - color: '#212121' - text: text - font_fx: - - bold - - italic - - color: '#212121' - text: text - font_fx: - - bold - - italic - font_size: 5 - glyph_type: bullet - line_height: 2.302136 - x: 0 - width: 1 - style_class: body - y: 6 - angle: 0 - alignment: center - font_file: font_file - height: 5 - - font_candidates: - - font_candidates - - font_candidates - spans: - - color: '#212121' - text: text - font_fx: - - bold - - italic - - color: '#212121' - text: text - font_fx: - - bold - - italic - font_size: 5 - glyph_type: bullet - line_height: 2.302136 - x: 0 - width: 1 - style_class: body - y: 6 - angle: 0 - alignment: center - font_file: font_file - height: 5 - image_layers: - - ref_id: REF_0 - x: 7 - width: 3 - y: 9 - height: 2 - - ref_id: REF_0 - x: 7 - width: 3 - y: 9 - height: 2 - url: https://openapi-generator.tech - text_html: text_html - - text_containers: - - id: id - items: - - font_candidates: - - font_candidates - - font_candidates - spans: - - color: '#212121' - text: text - font_fx: - - bold - - italic - - color: '#212121' - text: text - font_fx: - - bold - - italic - font_size: 5 - glyph_type: bullet - line_height: 2.302136 - x: 0 - width: 1 - style_class: body - y: 6 - angle: 0 - alignment: center - font_file: font_file - height: 5 - - font_candidates: - - font_candidates - - font_candidates - spans: - - color: '#212121' - text: text - font_fx: - - bold - - italic - - color: '#212121' - text: text - font_fx: - - bold - - italic - font_size: 5 - glyph_type: bullet - line_height: 2.302136 - x: 0 - width: 1 - style_class: body - y: 6 - angle: 0 - alignment: center - font_file: font_file - height: 5 - - id: id - items: - - font_candidates: - - font_candidates - - font_candidates - spans: - - color: '#212121' - text: text - font_fx: - - bold - - italic - - color: '#212121' - text: text - font_fx: - - bold - - italic - font_size: 5 - glyph_type: bullet - line_height: 2.302136 - x: 0 - width: 1 - style_class: body - y: 6 - angle: 0 - alignment: center - font_file: font_file - height: 5 - - font_candidates: - - font_candidates - - font_candidates - spans: - - color: '#212121' - text: text - font_fx: - - bold - - italic - - color: '#212121' - text: text - font_fx: - - bold - - italic - font_size: 5 - glyph_type: bullet - line_height: 2.302136 - x: 0 - width: 1 - style_class: body - y: 6 - angle: 0 - alignment: center - font_file: font_file - height: 5 - image_layers: - - ref_id: REF_0 - x: 7 - width: 3 - y: 9 - height: 2 - - ref_id: REF_0 - x: 7 - width: 3 - y: 9 - height: 2 - url: https://openapi-generator.tech - text_html: text_html - created: '2000-01-23T04:56:07+00:00' - MagicPromptVersionEnum: - title: MagicPromptVersionEnum - enum: - - V_0 - - V_0_1 - - V_0_2 - - V_0_3 - - V_0_4 - - V_0_5 - - V_0_6 - - V_0_7 - - V_0_8 - type: string - description: The magic prompt version to use when magic prompt option is set to AUTO or ON. - example: V_0 - ModelEnum: - title: ModelEnum - enum: - - V_1 - - V_1_TURBO - - V_2 - - V_2_TURBO - - V_2A - - V_2A_TURBO - - V_3 - - AUTO - type: string - description: 'The model used to generate an image or edit one. /generate and /remix supports all model types, however, /edit is only supported for V_2 and V_2_TURBO.' - default: V_2 - example: V_2_TURBO - GenerateImageSafetyError: - title: GenerateImageSafetyError - required: - - error - type: object - properties: - error: - title: error - type: string - example: Prompt provided failed safety check due to the inclusion of prohibited content. - example: - error: Prompt provided failed safety check due to the inclusion of prohibited content. - MagicPromptRequest: - title: MagicPromptRequest - required: - - classify_prompt_category - - magic_prompt_version - - prompt - type: object - properties: - prompt: - type: string - description: The prompt to enhance with a magic prompt - example: a cat - magic_prompt_version: - $ref: '#/components/schemas/MagicPromptVersionEnum' - classify_prompt_category: - type: boolean - description: Whether to classify the prompt into a use case category. - default: true - example: false - style_type: - $ref: '#/components/schemas/StyleTypeV3' - seed: - type: integer - description: Random seed for reproducible generation - example: 12345 - character_reference_images: - type: array - items: - type: string - format: binary - description: 'Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format.' - system_prompt: - type: string - description: A system prompt to use for the magic prompt. - example: You are a helpful assistant that generates magic prompts for images. - description: A request to generate a magic prompt - example: - prompt: a cat - magic_prompt_version: V_0_4 - classify_prompt_category: true - style_type: AUTO - seed: 12345 - MagicPromptResponse: - title: MagicPromptResponse - required: - - magic_prompt - type: object - properties: - magic_prompt: - type: string - description: The generated magic prompt - description: The response containing generated magic prompt - example: - magic_prompt: 'A photorealistic cat with striking green eyes, sitting gracefully on a vintage wooden chair. The cat''s fur has beautiful orange and white markings, and soft natural lighting illuminates the scene from a nearby window.' - InternalBatchRequest: - title: InternalBatchRequest - required: - - user_prompts - type: object - properties: - user_prompts: - title: user_prompts - type: array - items: - type: string - description: The prompts to enhance with a magic prompt. - example: - - a cat - - a dog - experiment_variant: - title: experiment_variant - type: string - description: The experiment variant used for template selection for the magic prompts. - example: MAGIC_PROMPT_NO_TEXT - sampling_request_params: - $ref: '#/components/schemas/SamplingRequestParams' - description: A request for batch magic prompt evalution. - example: - user_prompts: - - a cat - - a dog - sampling_request_params: - aspect_ratio: 1x1 - style_type: GENERAL - magic_prompt_version: V_0 - seed: 12345 - negative_prompt: 'brush strokes, painting' - magic_prompt_option: ON - model: V_2_TURBO - resolution: 1280x800 - num_images: 1 - color_palette: - name: PASTEL - experiment_variant: MAGIC_PROMPT_NO_TEXT - InternalBatchResponse: - title: InternalBatchResponse - required: - - job_id - type: object - properties: - job_id: - title: job_id - type: string - description: The job id for the batch generation. - description: A response for batch magic prompt evalution containing relavent information for /internal/batch/status GET request to find out if the batch generation has completed. - example: - job_id: job_id - SamplingRequestParams: - title: SamplingRequestParams - type: object - properties: - aspect_ratio: - title: aspect_ratio - allOf: - - $ref: '#/components/schemas/AspectRatioV3' - example: 1x1 - model: - $ref: '#/components/schemas/ModelEnum' - magic_prompt_option: - $ref: '#/components/schemas/MagicPromptOption' - magic_prompt_version: - $ref: '#/components/schemas/MagicPromptVersionEnum' - seed: - title: Seed - maximum: 2147483647 - minimum: 0 - type: integer - description: Random seed. Set for reproducible generation. - example: 12345 - style_type: - $ref: '#/components/schemas/StyleTypeV3' - negative_prompt: - title: negative_prompt - type: string - description: 'Only available for model versions V_1, V_1_TURBO, V_2 and V_2_TURBO. Description of what to exclude from an image. Descriptions in the prompt take precedence to descriptions in the negative prompt.' - example: 'brush strokes, painting' - num_images: - title: NumImages - maximum: 8 - minimum: 1 - type: integer - description: The number of images to generate. - default: 1 - resolution: - $ref: '#/components/schemas/ResolutionV3' - color_palette: - $ref: '#/components/schemas/ColorPaletteWithPresetNameOrMembers' - example: - aspect_ratio: 1x1 - style_type: GENERAL - magic_prompt_version: V_0 - seed: 12345 - negative_prompt: 'brush strokes, painting' - magic_prompt_option: ON - model: V_2_TURBO - resolution: 1280x800 - num_images: 1 - color_palette: - name: PASTEL - TextSpanV3: - title: TextSpanV3 - required: - - color - - font_fx - - text - type: object - properties: - text: - title: text - type: string - description: The text content for this segment. Line breaks within the span are represented as \n. - font_fx: - title: font_fx - type: array - items: - enum: - - bold - - italic - - underline - - strikethrough - - all_caps - - small_caps - - superscript - - subscript - type: string - description: "Ordered list of style effects applied to this text span.\nThis is the primary style field for layered text.\n" - example: - - bold - - italic - color: - title: color - pattern: '^#[0-9A-Fa-f]{6}$' - type: string - description: The hex color of the text (e.g. "#FF0000" for red). - example: '#212121' - description: 'An atomic text segment within a text item, carrying text content and visual styling.' - example: - color: '#212121' - text: text - font_fx: - - bold - - italic - TextItemV3: - title: TextItemV3 - required: - - alignment - - height - - spans - - style_class - - width - - x - - y - type: object - properties: - x: - title: x - type: integer - description: The x coordinate of the item in pixels. - y: - title: y - type: integer - description: The y coordinate of the item in pixels. - width: - title: width - type: integer - description: The width of the item in pixels. - height: - title: height - type: integer - description: The height of the item in pixels. - alignment: - title: alignment - enum: - - left - - center - - right - type: string - description: The text alignment of the item. - example: center - angle: - title: angle - type: number - description: 'The angle rotation of the text, measured clockwise in degrees.' - format: float - example: 0 - style_class: - title: style_class - enum: - - h1 - - h2 - - body - - small - type: string - description: Typographic classification of the text. - example: body - glyph_type: - title: glyph_type - enum: - - bullet - - number - type: - - 'null' - - string - description: 'The type of list marker glyph, if any. Null for non-list items.' - example: null - font_file: - title: font_file - type: - - 'null' - - string - description: The matched font file for this item. - font_candidates: - title: font_candidates - type: - - 'null' - - array - items: - type: string - description: A list of alternate matching font files for this item. - font_size: - title: font_size - type: - - 'null' - - integer - description: The font size in points. Null for non-editable items. - line_height: - title: line_height - type: - - 'null' - - number - description: 'The line height multiplier (e.g., 1.2). Null for non-editable items.' - format: float - spans: - title: spans - type: array - items: - $ref: '#/components/schemas/TextSpanV3' - description: Ordered list of text spans. Concatenating span text values produces the full item text. - description: 'A single text block within a container, representing one logical unit of text (e.g., a headline, a paragraph, a list entry).' - example: - font_candidates: - - font_candidates - - font_candidates - spans: - - color: '#212121' - text: text - font_fx: - - bold - - italic - - color: '#212121' - text: text - font_fx: - - bold - - italic - font_size: 5 - glyph_type: bullet - line_height: 2.302136 - x: 0 - width: 1 - style_class: body - y: 6 - angle: 0 - alignment: center - font_file: font_file - height: 5 - TextContainerV3: - title: TextContainerV3 - required: - - id - - items - type: object - properties: - id: - title: id - type: string - description: 'Unique container identifier (e.g., "container_01").' - items: - title: items - type: array - items: - $ref: '#/components/schemas/TextItemV3' - description: Ordered list of text items in this container. - description: 'A spatial grouping of related text items that form a cohesive visual unit (e.g., a title group, a list, a card).' - example: - id: id - items: - - font_candidates: - - font_candidates - - font_candidates - spans: - - color: '#212121' - text: text - font_fx: - - bold - - italic - - color: '#212121' - text: text - font_fx: - - bold - - italic - font_size: 5 - glyph_type: bullet - line_height: 2.302136 - x: 0 - width: 1 - style_class: body - y: 6 - angle: 0 - alignment: center - font_file: font_file - height: 5 - - font_candidates: - - font_candidates - - font_candidates - spans: - - color: '#212121' - text: text - font_fx: - - bold - - italic - - color: '#212121' - text: text - font_fx: - - bold - - italic - font_size: 5 - glyph_type: bullet - line_height: 2.302136 - x: 0 - width: 1 - style_class: body - y: 6 - angle: 0 - alignment: center - font_file: font_file - height: 5 - ImageLayerV3: - title: ImageLayerV3 - required: - - height - - width - - x - - y - type: object - properties: - x: - title: x - type: integer - description: The x coordinate of the layer. - y: - title: y - type: integer - description: The y coordinate of the layer. - width: - title: width - type: integer - description: The width of the layer. - height: - title: height - type: integer - description: The height of the layer. - ref_id: - title: ref_id - type: string - description: 'Reference ID matching a provided reference image (e.g., "REF_0"), or -1 if no match.' - example: REF_0 - description: 'An image layer (logo, brand asset, icon) for a layered image generation.' - example: - ref_id: REF_0 - x: 7 - width: 3 - y: 9 - height: 2 - InternalBatchResultsResponse: - title: InternalBatchResultsResponse - required: - - job_status - type: object - properties: - job_status: - title: job_status - type: string - description: The status of the batch generation job. - example: COMPLETE - results: - title: results - type: array - items: - $ref: '#/components/schemas/InternalBatchResultsResponse_results_inner' - description: 'The batch generation results, with each entry containing a prompt and its corresponding image URL.' - description: A response for batch magic prompt job results. - example: - job_status: COMPLETE - results: - - image_url: image_url - prompt: a cat - - image_url: image_url - prompt: a cat - ImageSafetyError: - title: ImageSafetyError - required: - - error - type: object - properties: - error: - title: error - type: string - example: Image provided failed safety check due to the inclusion of prohibited content. - example: - error: Image provided failed safety check due to the inclusion of prohibited content. - ManageApiSubscriptionResponse: - title: ManageApiSubscriptionResponse - required: - - current_balance - - has_accepted_terms - - has_stripe_setup - type: object - properties: - has_accepted_terms: - title: has_accepted_terms - type: boolean - description: Whether or not the latest required terms have been accepted. - has_stripe_setup: - title: has_stripe_setup - type: boolean - description: Whether or not Stripe is setup for API usage. - metronome_dashboard_url: - title: metronome_dashboard_url - type: string - description: The URL to display the customer usage dashboard. - deprecated: true - metronome_dashboard_dark_mode_url: - title: metronome_dashboard_dark_mode_url - type: string - description: 'The URL to display the customer usage dashboard, in dark mode.' - deprecated: true - metronome_links: - $ref: '#/components/schemas/MetronomeLinks' - recharge_settings: - $ref: '#/components/schemas/RechargeSettingsResponse' - stripe_billing_url: - title: stripe_billing_url - type: string - description: The URL for the user to manage the existing Stripe subscription plan. - current_balance: - $ref: '#/components/schemas/Price' - example: - recharge_settings: - is_active: true - has_stripe_setup: true - metronome_dashboard_dark_mode_url: metronome_dashboard_dark_mode_url - stripe_billing_url: stripe_billing_url - current_balance: - amount: 1050 - currency_code: USD - has_accepted_terms: true - metronome_dashboard_url: metronome_dashboard_url - metronome_links: - usage_iframe_url: usage_iframe_url - usage_iframe_dark_mode_url: usage_iframe_dark_mode_url - credits_iframe_dark_mode_url: credits_iframe_dark_mode_url - invoices_iframe_dark_mode_url: invoices_iframe_dark_mode_url - invoices_iframe_url: invoices_iframe_url - credits_iframe_url: credits_iframe_url - MetronomeLinks: - title: MetronomeLinks - type: object - properties: - invoices_iframe_url: - title: invoices_iframe_url - type: string - description: The URL to display the customer invoice and API usage. - invoices_iframe_dark_mode_url: - title: invoices_iframe_dark_mode_url - type: string - description: The URL to display the customer invoice and API usage. - credits_iframe_url: - title: credits_iframe_url - type: string - description: The URL to display the customer invoice and API usage. - credits_iframe_dark_mode_url: - title: credits_iframe_dark_mode_url - type: string - description: The URL to display the customer invoice and API usage. - usage_iframe_url: - title: usage_iframe_url - type: string - description: The URL to display the customer usage dashboard. - usage_iframe_dark_mode_url: - title: usage_iframe_dark_mode_url - type: string - description: 'The URL to display the customer usage dashboard, in dark mode.' - example: - usage_iframe_url: usage_iframe_url - usage_iframe_dark_mode_url: usage_iframe_dark_mode_url - credits_iframe_dark_mode_url: credits_iframe_dark_mode_url - invoices_iframe_dark_mode_url: invoices_iframe_dark_mode_url - invoices_iframe_url: invoices_iframe_url - credits_iframe_url: credits_iframe_url - RechargeSettingsResponse: - title: RechargeSettingsResponse - required: - - is_active - allOf: - - $ref: '#/components/schemas/RechargeSettings' - properties: - is_active: - title: is_active - type: boolean - description: Whether or not the recharge setting is currently active. - example: - is_active: true - RechargeSettings: - title: RechargeSettings - required: - - minimum_balance_threshold - - top_up_balance - type: object - properties: - top_up_balance: - $ref: '#/components/schemas/Price' - minimum_balance_threshold: - $ref: '#/components/schemas/Price' - description: The current recharge settings for the API subscription. - example: - minimum_balance_threshold: - amount: 1050 - currency_code: USD - top_up_balance: - amount: 1050 - currency_code: USD - PostApiSubscriptionResponse: - title: PostApiSubscriptionResponse - type: object - properties: - recharge_settings: - $ref: '#/components/schemas/RechargeSettingsResponse' - description: The updated API subscription. - example: - recharge_settings: - is_active: true - PostApiSubscriptionError: - title: PostApiSubscriptionError - type: object - properties: - messages: - title: messages - type: array - items: - type: string - description: 'An error message, indicating what went wrong.' - description: Error messages about what the error could be. - description: Represents an error when attempting to update the API subscription. - example: - messages: - - messages - - messages - PostApiSubscriptionRequest: - title: PostApiSubscriptionRequest - type: object - properties: - recharge_settings: - $ref: '#/components/schemas/RechargeSettings' - is_active: - title: is_active - type: boolean - description: Whether to enable or disable auto recharge. - description: Request to update API settings. Fields which are omitted will be ignored. - example: - recharge_settings: - minimum_balance_threshold: - amount: 1050 - currency_code: USD - top_up_balance: - amount: 1050 - currency_code: USD - is_active: true - PostApiReactivateResponse: - title: PostApiReactivateResponse - type: object - properties: - recharge_settings: - $ref: '#/components/schemas/RechargeSettingsResponse' - description: Response to re-activating API settings. - example: - recharge_settings: - is_active: true - GetApiKeysResponse: - title: GetApiKeysResponse - type: object - properties: - current_api_keys: - title: current_api_keys - type: array - items: - $ref: '#/components/schemas/RedactedApiKey' - description: The current API keys that are active. Only returns redacted keys. - default: [ ] - example: - current_api_keys: - - creation_time: '2000-01-23T04:56:07+00:00' - redacted_api_key: vkpDja - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg== - - creation_time: '2000-01-23T04:56:07+00:00' - redacted_api_key: vkpDja - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg== - RedactedApiKey: - title: RedactedApiKey - required: - - api_key_id - - creation_time - - redacted_api_key - type: object - properties: - redacted_api_key: - title: redacted_api_key - type: string - description: A redacted text snippet of the API key. Contains the first 4 characters of the API key - example: vkpDja - creation_time: - title: creation_time - type: string - description: The time at which the key was created - format: date-time - api_key_id: - title: api_key_id - type: string - description: A URL safe base64 encoded UUID - example: JRPVD7jWR1aTBYiJ0UFVOg== - description: A representation of an API key that does not contain the full key. - example: - creation_time: '2000-01-23T04:56:07+00:00' - redacted_api_key: vkpDja - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg== - PostApiKeyResponse: - title: PostApiKeyResponse - required: - - api_key - - api_key_id - type: object - properties: - api_key: - title: api_key - type: string - description: The API key to use when making authenticated requests with the API. This key will only be shown once. - example: example_api_key_replace_with_your_actual_key - api_key_id: - title: api_key_id - type: string - description: The ID of the API key. A URL safe base64 encoded UUID - example: JRPVD7jWR1aTBYiJ0UFVOg== - example: - api_key: example_api_key_replace_with_your_actual_key - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg== - ManageApiStripeSubscriptionResponse: - title: ManageApiStripeSubscriptionResponse - type: object - properties: - stripe_subscription_url: - title: stripe_subscription_url - type: string - description: The URL for the user to checkout the Stripe subscription plan. - stripe_billing_url: - title: stripe_billing_url - type: string - description: DEPRECATED. The URL for the user to manage the existing Stripe subscription plan. Get this from ManageApiSubscriptionResponse instead. - deprecated: true - example: - stripe_subscription_url: stripe_subscription_url - stripe_billing_url: stripe_billing_url - GetApiTermsResponse: - title: GetApiTermsResponse - required: - - api_terms - type: object - properties: - api_terms: - $ref: '#/components/schemas/ApiTerms' - example: - api_terms: - terms_url: terms_url - terms_id: terms_id - ApiTerms: - title: ApiTerms - required: - - terms_id - - terms_url - type: object - properties: - terms_id: - title: terms_id - type: string - description: The ID of the terms. - terms_url: - title: terms_url - type: string - description: The URL where the terms are hosted. - example: - terms_url: terms_url - terms_id: terms_id - PostApiTermsRequest: - title: PostApiTermsRequest - required: - - terms_id - type: object - properties: - terms_id: - title: terms_id - type: string - description: The ID of the terms which are being accepted. - example: TOS_2024_04_20 - example: - terms_id: TOS_2024_04_20 - PostAddCreditsResponse: - title: PostAddCreditsResponse - required: - - amount - type: object - properties: - amount: - $ref: '#/components/schemas/Price' - example: - amount: - amount: 1050 - currency_code: USD - PostAddCreditsError: - title: PostAddCreditsError - type: object - properties: - messages: - title: messages - type: array - items: - type: string - description: 'An error message, indicating what went wrong.' - description: Error messages about what the error could be. - description: Represents an error when attempting to add credits to an API user's account. - example: - messages: - - messages - - messages - PostAddCreditsRequest: - title: PostAddCreditsRequest - required: - - amount - type: object - properties: - amount: - $ref: '#/components/schemas/Price' - example: - amount: - amount: 1050 - currency_code: USD - GetUserCreditsResponse: - title: GetUserCreditsResponse - required: - - average_daily_spend - - total_spend - type: object - properties: - available_credits: - $ref: '#/components/schemas/Price' - total_spend: - $ref: '#/components/schemas/Price' - average_daily_spend: - $ref: '#/components/schemas/Price' - example: - total_spend: - amount: 1050 - currency_code: USD - average_daily_spend: - amount: 1050 - currency_code: USD - available_credits: - amount: 1050 - currency_code: USD - SpendCommitInfoResponse: - title: SpendCommitInfoResponse - required: - - commits - type: object - properties: - commits: - title: commits - type: array - items: - $ref: '#/components/schemas/SpendCommitInfo' - description: A list of spend commit information - example: - commits: - - commit_start_time: '2000-01-23T04:56:07+00:00' - is_postpaid_commit: true - commit_amount_spent: - amount: 1050 - currency_code: USD - commit_amount: - amount: 1050 - currency_code: USD - commit_end_time: '2000-01-23T04:56:07+00:00' - - commit_start_time: '2000-01-23T04:56:07+00:00' - is_postpaid_commit: true - commit_amount_spent: - amount: 1050 - currency_code: USD - commit_amount: - amount: 1050 - currency_code: USD - commit_end_time: '2000-01-23T04:56:07+00:00' - SpendCommitInfo: - title: SpendCommitInfo - required: - - commit_amount - - commit_amount_spent - - commit_end_time - - commit_start_time - - is_postpaid_commit - type: object - properties: - commit_amount_spent: - $ref: '#/components/schemas/Price' - commit_amount: - $ref: '#/components/schemas/Price' - commit_start_time: - title: commit_start_time - type: string - description: The start time of the commit period - format: date-time - commit_end_time: - title: commit_end_time - type: string - description: The end time of the commit period - format: date-time - is_postpaid_commit: - title: is_postpaid_commit - type: boolean - description: Whether the commit is postpaid (true) or prepaid (false) - example: - commit_start_time: '2000-01-23T04:56:07+00:00' - is_postpaid_commit: true - commit_amount_spent: - amount: 1050 - currency_code: USD - commit_amount: - amount: 1050 - currency_code: USD - commit_end_time: '2000-01-23T04:56:07+00:00' - GetUsageInfoResponse: - title: GetUsageInfoResponse - required: - - usage_segments - type: object - properties: - usage_segments: - title: usage_segments - type: array - items: - $ref: '#/components/schemas/UsageSegment' - description: List of usage segments with tool-specific breakdowns - example: - usage_segments: - - segment_start: '2023-08-09T00:00:00+00:00' - tool_usage: - - user_email_address: user@company.com - model_version: V_0_3 - full_tool_name: Turbo Image Generation V3 - amount: - amount: 1050 - currency_code: USD - tool_type: GENERATE - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg - - user_email_address: user@company.com - model_version: V_0_3 - full_tool_name: Turbo Image Generation V3 - amount: - amount: 1050 - currency_code: USD - tool_type: GENERATE - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg - segment_end: '2023-08-09T23:59:59+00:00' - - segment_start: '2023-08-09T00:00:00+00:00' - tool_usage: - - user_email_address: user@company.com - model_version: V_0_3 - full_tool_name: Turbo Image Generation V3 - amount: - amount: 1050 - currency_code: USD - tool_type: GENERATE - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg - - user_email_address: user@company.com - model_version: V_0_3 - full_tool_name: Turbo Image Generation V3 - amount: - amount: 1050 - currency_code: USD - tool_type: GENERATE - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg - segment_end: '2023-08-09T23:59:59+00:00' - UsageSegment: - title: UsageSegment - required: - - segment_end - - segment_start - - tool_usage - type: object - properties: - segment_start: - title: segment_start - type: string - description: Start time of the usage segment - format: date-time - example: '2023-08-09T00:00:00+00:00' - segment_end: - title: segment_end - type: string - description: End time of the usage segment - format: date-time - example: '2023-08-09T23:59:59+00:00' - tool_usage: - title: tool_usage - type: array - items: - $ref: '#/components/schemas/ToolUsage' - description: Tool-specific usage breakdown within this segment - example: - segment_start: '2023-08-09T00:00:00+00:00' - tool_usage: - - user_email_address: user@company.com - model_version: V_0_3 - full_tool_name: Turbo Image Generation V3 - amount: - amount: 1050 - currency_code: USD - tool_type: GENERATE - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg - - user_email_address: user@company.com - model_version: V_0_3 - full_tool_name: Turbo Image Generation V3 - amount: - amount: 1050 - currency_code: USD - tool_type: GENERATE - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg - segment_end: '2023-08-09T23:59:59+00:00' - ToolUsage: - title: ToolUsage - required: - - amount - - full_tool_name - - tool_type - type: object - properties: - full_tool_name: - title: full_tool_name - type: string - description: Name of the tool used - example: Turbo Image Generation V3 - amount: - $ref: '#/components/schemas/Price' - api_key_id: - title: api_key_id - type: string - description: Base64 encoded API key ID (for API usage) - example: JRPVD7jWR1aTBYiJ0UFVOg - user_email_address: - title: user_email_address - type: string - description: User email address (for web app usage) - example: user@company.com - tool_type: - $ref: '#/components/schemas/ToolType' - model_version: - $ref: '#/components/schemas/ModelVersion' - example: - user_email_address: user@company.com - model_version: V_0_3 - full_tool_name: Turbo Image Generation V3 - amount: - amount: 1050 - currency_code: USD - tool_type: GENERATE - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg - ToolType: - title: ToolType - enum: - - GENERATE - - REMIX - - EDIT - - UPSCALE - - DESCRIBE - - OTHER - type: string - description: Tool type for filtering usage information - example: GENERATE - SegmentBy: - title: SegmentBy - enum: - - DAY - - HOUR - type: string - description: Time segment granularity for usage breakdown - example: DAY - UsageSource: - title: UsageSource - enum: - - API - - APP - type: string - description: 'Filter usage by source - API for programmatic API usage, APP for web application usage' - default: API - ModelVersion: - title: ModelVersion - enum: - - V_0_1 - - V_0_2 - - V_0_3 - - V_1_1 - - V_1_5 - - V_2_1 - - V_3_0 - - V_3_1 - - EXTERNAL_GOOGLE_VEO_3_0 - - EXTERNAL_BYTEDANCE_SEEDANCE_1_0_PRO - - EXTERNAL_MINIMAX_HAILUO_02 - - EXTERNAL_MODEL - - AUTO - type: string - description: "The model_version to use.\n- V_0_3: Model 1.0\n- V_1_1: Model 1.1\n- V_1_5: Model 2.0\n- V_2_1: Model 2a\n- V_3_0: Model 3.0 March 26\n- V_3_1: Model 3.0 Latest\n- AUTO: Automatically select the best model version based on the request.\n" - example: V_0_3 - GetApiProfilesResponse: - title: GetApiProfilesResponse - required: - - profiles - type: object - properties: - profiles: - title: profiles - type: array - items: - $ref: '#/components/schemas/ApiProfile' - description: List of user's API profiles - default: [ ] - example: - profiles: - - is_metronome_2_user: true - role: OWNER - avatar_url: https://example.com/avatar.jpg - organization_id: b3JnYW5pemF0aW9uXzEyMw - name: Gamma - type: INDIVIDUAL - api_keys: - - creation_time: '2000-01-23T04:56:07+00:00' - redacted_api_key: ATG56••••••••••••• - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg - status: null - - creation_time: '2000-01-23T04:56:07+00:00' - redacted_api_key: ATG56••••••••••••• - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg - status: null - max_num_inflight_requests_permitted: 10 - - is_metronome_2_user: true - role: OWNER - avatar_url: https://example.com/avatar.jpg - organization_id: b3JnYW5pemF0aW9uXzEyMw - name: Gamma - type: INDIVIDUAL - api_keys: - - creation_time: '2000-01-23T04:56:07+00:00' - redacted_api_key: ATG56••••••••••••• - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg - status: null - - creation_time: '2000-01-23T04:56:07+00:00' - redacted_api_key: ATG56••••••••••••• - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg - status: null - max_num_inflight_requests_permitted: 10 - ApiProfile: - title: ApiProfile - required: - - api_keys - - is_metronome_2_user - - max_num_inflight_requests_permitted - - name - - organization_id - - role - - type - type: object - properties: - type: - $ref: '#/components/schemas/ApiProfileType' - name: - title: name - type: string - description: The display name of the profile - example: Gamma - avatar_url: - title: avatar_url - type: string - description: URL to the profile avatar - example: https://example.com/avatar.jpg - organization_id: - title: organization_id - type: string - description: Base64 encoded organization ID (only for ENTERPRISE profiles) - example: b3JnYW5pemF0aW9uXzEyMw - role: - $ref: '#/components/schemas/ApiProfileRole' - api_keys: - title: api_keys - type: array - items: - $ref: '#/components/schemas/ApiProfileApiKey' - description: List of API keys associated with this profile - default: [ ] - is_metronome_2_user: - title: is_metronome_2_user - type: boolean - description: Whether the user is on Metronome 2.0 - max_num_inflight_requests_permitted: - title: max_num_inflight_requests_permitted - type: integer - description: The maximum number of inflight requests permitted for the profile - example: 10 - example: - is_metronome_2_user: true - role: OWNER - avatar_url: https://example.com/avatar.jpg - organization_id: b3JnYW5pemF0aW9uXzEyMw - name: Gamma - type: INDIVIDUAL - api_keys: - - creation_time: '2000-01-23T04:56:07+00:00' - redacted_api_key: ATG56••••••••••••• - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg - status: null - - creation_time: '2000-01-23T04:56:07+00:00' - redacted_api_key: ATG56••••••••••••• - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg - status: null - max_num_inflight_requests_permitted: 10 - ApiProfileType: - title: ApiProfileType - enum: - - INDIVIDUAL - - ENTERPRISE - type: string - description: Type of API profile - example: INDIVIDUAL - ApiProfileRole: - title: ApiProfileRole - enum: - - OWNER - - MEMBER - type: string - description: Role within an enterprise organization profile - example: OWNER - ApiProfileApiKey: - title: ApiProfileApiKey - required: - - api_key_id - - creation_time - - redacted_api_key - - status - type: object - properties: - api_key_id: - title: api_key_id - type: string - description: Base64 encoded API key ID - example: JRPVD7jWR1aTBYiJ0UFVOg - redacted_api_key: - title: redacted_api_key - type: string - description: A redacted text snippet of the API key. Contains the first 4 characters of the API key - example: ATG56••••••••••••• - creation_time: - title: creation_time - type: string - description: The date at which the API key was created - format: date-time - status: - $ref: '#/components/schemas/ApiKeyStatus' - example: - creation_time: '2000-01-23T04:56:07+00:00' - redacted_api_key: ATG56••••••••••••• - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg - status: null - ApiKeyStatus: - title: ApiKeyStatus - enum: - - ACTIVE - - DISABLED - type: string - description: Status of the API key - GetApiOrganizationUserSuggestionsResponse: - title: GetApiOrganizationUserSuggestionsResponse - required: - - user_suggestions - type: object - properties: - user_suggestions: - title: user_suggestions - type: array - items: - $ref: '#/components/schemas/ApiOrganizationUserSuggestion' - description: List of user suggestions for the organization - default: [ ] - example: - user_suggestions: - - display_handle: john_doe - joined: false - profile_pic: https://example.com/avatars/user123.jpg - name: John Doe - - display_handle: john_doe - joined: false - profile_pic: https://example.com/avatars/user123.jpg - name: John Doe - ApiOrganizationUserSuggestion: - title: ApiOrganizationUserSuggestion - required: - - display_handle - - joined - type: object - properties: - display_handle: - title: display_handle - type: string - description: The display handle of the user - example: john_doe - joined: - title: joined - type: boolean - description: Whether the user has already joined the organization - example: false - profile_pic: - title: profile_pic - type: string - description: URL to the user's profile picture - format: uri - example: https://example.com/avatars/user123.jpg - name: - title: name - type: string - description: The full name of the user - example: John Doe - example: - display_handle: john_doe - joined: false - profile_pic: https://example.com/avatars/user123.jpg - name: John Doe - GetOrganizationMembersResponse: - title: GetOrganizationMembersResponse - required: - - members - type: object - properties: - members: - title: members - type: array - items: - $ref: '#/components/schemas/OrganizationMember' - description: List of organization members - default: [ ] - example: - members: - - display_handle: john_doe - email_address: john.doe@example.com - role: OWNER - full_name: full_name - avatar_url: https://example.com/avatars/user123.jpg - user_id: dXNlcl8xMjM - - display_handle: john_doe - email_address: john.doe@example.com - role: OWNER - full_name: full_name - avatar_url: https://example.com/avatars/user123.jpg - user_id: dXNlcl8xMjM - OrganizationMember: - title: OrganizationMember - required: - - avatar_url - - display_handle - - email_address - - role - - user_id - type: object - properties: - user_id: - title: user_id - type: string - description: Base64 encoded user ID - example: dXNlcl8xMjM - display_handle: - title: display_handle - type: string - description: The display handle/username of the member - example: john_doe - email_address: - title: email_address - type: string - description: The email address of the member - example: john.doe@example.com - avatar_url: - title: avatar_url - type: string - description: URL to the member's avatar image - format: uri - example: https://example.com/avatars/user123.jpg - role: - $ref: '#/components/schemas/ApiProfileRole' - full_name: - title: full_name - type: - - 'null' - - string - description: User's full name if entered through user profile. - example: - display_handle: john_doe - email_address: john.doe@example.com - role: OWNER - full_name: full_name - avatar_url: https://example.com/avatars/user123.jpg - user_id: dXNlcl8xMjM - CreateApiKeyResponse: - title: CreateApiKeyResponse - required: - - api_key - - api_key_id - - creation_time - type: object - properties: - api_key: - title: api_key - type: string - description: The API key to use when making authenticated requests with the API. This key will only be shown once. - example: example_api_key_replace_with_your_actual_key - api_key_id: - title: api_key_id - type: string - description: The ID of the API key. A URL safe base64 encoded UUID - example: JRPVD7jWR1aTBYiJ0UFVOg== - creation_time: - title: creation_time - type: string - description: The time at which the API key was created - format: date-time - example: '2024-05-25T02:00:30+00:00' - example: - creation_time: '2024-05-25T02:00:30+00:00' - api_key: example_api_key_replace_with_your_actual_key - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg== - GetApiKeysV2Response: - title: GetApiKeysV2Response - required: - - api_keys - type: object - properties: - api_keys: - title: api_keys - type: array - items: - $ref: '#/components/schemas/ApiProfileApiKey' - description: List of API keys associated with the organization - default: [ ] - example: - api_keys: - - creation_time: '2000-01-23T04:56:07+00:00' - redacted_api_key: ATG56••••••••••••• - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg - status: null - - creation_time: '2000-01-23T04:56:07+00:00' - redacted_api_key: ATG56••••••••••••• - api_key_id: JRPVD7jWR1aTBYiJ0UFVOg - status: null - OrganizationMemberOperationResponse: - title: OrganizationMemberOperationResponse - required: - - results - type: object - properties: - results: - title: results - type: array - items: - $ref: '#/components/schemas/OrganizationMemberOperationResult' - description: List of results for each member operation - example: - results: - - success: true - message: message - - success: true - message: message - OrganizationMemberOperationResult: - title: OrganizationMemberOperationResult - required: - - success - type: object - properties: - success: - title: success - type: boolean - description: Whether the operation was successful for this member - message: - title: message - type: string - description: A message describing the outcome of the operation for this member - example: - success: true - message: message - AddOrganizationMembersRequest: - title: AddOrganizationMembersRequest - required: - - members - type: object - properties: - members: - title: members - type: array - items: - $ref: '#/components/schemas/LiteOrganizationMember' - description: List of organization members to add - default: [ ] - example: - members: - - display_handle: john_doe - email_address: john.doe@example.com - user_id: dXNlcl8xMjM - - display_handle: john_doe - email_address: john.doe@example.com - user_id: dXNlcl8xMjM - LiteOrganizationMember: - title: LiteOrganizationMember - type: object - properties: - user_id: - title: user_id - type: string - description: Base64 encoded user ID - example: dXNlcl8xMjM - display_handle: - title: display_handle - type: string - description: The display handle/username of the member - example: john_doe - email_address: - title: email_address - type: string - description: The email address of the member - example: john.doe@example.com - description: A lite representation of an organization member with optional fields for identification - example: - display_handle: john_doe - email_address: john.doe@example.com - user_id: dXNlcl8xMjM - RemoveOrganizationMembersRequest: - title: RemoveOrganizationMembersRequest - required: - - members - type: object - properties: - members: - title: members - type: array - items: - $ref: '#/components/schemas/LiteOrganizationMember' - description: List of organization members to remove - default: [ ] - example: - members: - - display_handle: john_doe - email_address: john.doe@example.com - user_id: dXNlcl8xMjM - - display_handle: john_doe - email_address: john.doe@example.com - user_id: dXNlcl8xMjM - PromoteOrganizationMembersRequest: - title: PromoteOrganizationMembersRequest - required: - - members - type: object - properties: - members: - title: members - type: array - items: - $ref: '#/components/schemas/LiteOrganizationMember' - description: List of organization members to promote to OWNER role - default: [ ] - example: - members: - - display_handle: john_doe - email_address: john.doe@example.com - user_id: dXNlcl8xMjM - - display_handle: john_doe - email_address: john.doe@example.com - user_id: dXNlcl8xMjM - ListOrganizationInvoicesResponse: - title: ListOrganizationInvoicesResponse - required: - - invoices - type: object - properties: - invoices: - title: invoices - type: array - items: - $ref: '#/components/schemas/Invoice' - description: List of invoices - default: [ ] - example: - invoices: - - total_spend: - amount: 1050 - currency_code: USD - start_time: '2024-01-01T00:00:00+00:00' - end_time: '2024-01-31T23:59:59+00:00' - line_items: - - charge_name: Image Generation - V3 - total: - amount: 1050 - currency_code: USD - quantity: 1000 - unit_price: - amount: 1050 - currency_code: USD - - charge_name: Image Generation - V3 - total: - amount: 1050 - currency_code: USD - quantity: 1000 - unit_price: - amount: 1050 - currency_code: USD - issued_time: '2024-01-01T00:00:00+00:00' - invoice_status: PAID - - total_spend: - amount: 1050 - currency_code: USD - start_time: '2024-01-01T00:00:00+00:00' - end_time: '2024-01-31T23:59:59+00:00' - line_items: - - charge_name: Image Generation - V3 - total: - amount: 1050 - currency_code: USD - quantity: 1000 - unit_price: - amount: 1050 - currency_code: USD - - charge_name: Image Generation - V3 - total: - amount: 1050 - currency_code: USD - quantity: 1000 - unit_price: - amount: 1050 - currency_code: USD - issued_time: '2024-01-01T00:00:00+00:00' - invoice_status: PAID - Invoice: - title: Invoice - required: - - end_time - - invoice_status - - issued_time - - line_items - - start_time - - total_spend - type: object - properties: - start_time: - title: start_time - type: string - description: The start time of the invoice period - format: date-time - example: '2024-01-01T00:00:00+00:00' - end_time: - title: end_time - type: string - description: The end time of the invoice period - format: date-time - example: '2024-01-31T23:59:59+00:00' - issued_time: - title: issued_time - type: string - description: The date when the invoice was issued - format: date-time - example: '2024-01-01T00:00:00+00:00' - total_spend: - $ref: '#/components/schemas/Price' - invoice_status: - $ref: '#/components/schemas/InvoiceStatus' - line_items: - title: line_items - type: array - items: - $ref: '#/components/schemas/InvoiceLineItem' - description: A list of line items within the invoice - default: [ ] - example: - total_spend: - amount: 1050 - currency_code: USD - start_time: '2024-01-01T00:00:00+00:00' - end_time: '2024-01-31T23:59:59+00:00' - line_items: - - charge_name: Image Generation - V3 - total: - amount: 1050 - currency_code: USD - quantity: 1000 - unit_price: - amount: 1050 - currency_code: USD - - charge_name: Image Generation - V3 - total: - amount: 1050 - currency_code: USD - quantity: 1000 - unit_price: - amount: 1050 - currency_code: USD - issued_time: '2024-01-01T00:00:00+00:00' - invoice_status: PAID - InvoiceStatus: - title: InvoiceStatus - enum: - - DRAFT - - PENDING_PAYMENT - - PAID - type: string - description: Status of the invoice - example: PAID - InvoiceLineItem: - title: InvoiceLineItem - required: - - charge_name - - quantity - - total - - unit_price - type: object - properties: - charge_name: - title: charge_name - type: string - description: The name of the charge - example: Image Generation - V3 - quantity: - title: quantity - type: integer - description: The quantity of the charge - example: 1000 - unit_price: - $ref: '#/components/schemas/Price' - total: - $ref: '#/components/schemas/Price' - example: - charge_name: Image Generation - V3 - total: - amount: 1050 - currency_code: USD - quantity: 1000 - unit_price: - amount: 1050 - currency_code: USD - ListDatasetsResponse: - title: ListDatasetsResponse - required: - - datasets - type: object - properties: - datasets: - title: datasets - type: array - items: - $ref: '#/components/schemas/Dataset' - description: List of datasets for the authenticated user. - default: [ ] - example: - datasets: - - collection_id: collection_id - creation_time: '2000-01-23T04:56:07+00:00' - user_id: user_id - name: name - cover_asset_identifier: - asset_type: RESPONSE - asset_id: 7uS_VESkRI6O3-sVgHQp_A - sharing: - - updated_time: '2000-01-23T04:56:07+00:00' - organization: - role: null - publishing_disabled: true - organization_id: organization_id - name: name - avatar: - avatar_url: avatar_url - type: null - permission: null - user: - badge: badge - subscription_plan_id: subscription_plan_id - display_handle: display_handle - user_id: user_id - photo_url: photo_url - - updated_time: '2000-01-23T04:56:07+00:00' - organization: - role: null - publishing_disabled: true - organization_id: organization_id - name: name - avatar: - avatar_url: avatar_url - type: null - permission: null - user: - badge: badge - subscription_plan_id: subscription_plan_id - display_handle: display_handle - user_id: user_id - photo_url: photo_url - - collection_id: collection_id - creation_time: '2000-01-23T04:56:07+00:00' - user_id: user_id - name: name - cover_asset_identifier: - asset_type: RESPONSE - asset_id: 7uS_VESkRI6O3-sVgHQp_A - sharing: - - updated_time: '2000-01-23T04:56:07+00:00' - organization: - role: null - publishing_disabled: true - organization_id: organization_id - name: name - avatar: - avatar_url: avatar_url - type: null - permission: null - user: - badge: badge - subscription_plan_id: subscription_plan_id - display_handle: display_handle - user_id: user_id - photo_url: photo_url - - updated_time: '2000-01-23T04:56:07+00:00' - organization: - role: null - publishing_disabled: true - organization_id: organization_id - name: name - avatar: - avatar_url: avatar_url - type: null - permission: null - user: - badge: badge - subscription_plan_id: subscription_plan_id - display_handle: display_handle - user_id: user_id - photo_url: photo_url - Dataset: - title: Dataset - required: - - collection_id - - creation_time - - name - - user_id - type: object - properties: - collection_id: - title: collection_id - type: string - description: Unique identifier for the collection. - name: - title: name - type: string - description: Display name of the collection. - user_id: - title: user_id - type: string - description: ID of the user who owns this collection. - creation_time: - title: creation_time - type: string - description: When the collection was created. - format: date-time - cover_asset_identifier: - $ref: '#/components/schemas/AssetIdentifier' - sharing: - title: sharing - type: - - 'null' - - array - items: - $ref: '#/components/schemas/SharingInfo' - description: Sharing details for this collection including the owner entry. - description: A dataset for organizing assets. - example: - collection_id: collection_id - creation_time: '2000-01-23T04:56:07+00:00' - user_id: user_id - name: name - cover_asset_identifier: - asset_type: RESPONSE - asset_id: 7uS_VESkRI6O3-sVgHQp_A - sharing: - - updated_time: '2000-01-23T04:56:07+00:00' - organization: - role: null - publishing_disabled: true - organization_id: organization_id - name: name - avatar: - avatar_url: avatar_url - type: null - permission: null - user: - badge: badge - subscription_plan_id: subscription_plan_id - display_handle: display_handle - user_id: user_id - photo_url: photo_url - - updated_time: '2000-01-23T04:56:07+00:00' - organization: - role: null - publishing_disabled: true - organization_id: organization_id - name: name - avatar: - avatar_url: avatar_url - type: null - permission: null - user: - badge: badge - subscription_plan_id: subscription_plan_id - display_handle: display_handle - user_id: user_id - photo_url: photo_url - CreateDatasetRequest: - title: CreateDatasetRequest - required: - - name - type: object - properties: - name: - title: name - type: string - description: Name of the dataset. - example: - name: name - UploadDatasetAssetsResponse: - title: UploadDatasetAssetsResponse - required: - - failure_count - - success_count - - total_count - type: object - properties: - total_count: - title: total_count - type: integer - description: Total number of images processed. - success_count: - title: success_count - type: integer - description: Number of images successfully uploaded. - failure_count: - title: failure_count - type: integer - description: Number of images that failed to upload. - successful_assets: - title: successful_assets - type: array - items: - $ref: '#/components/schemas/DatasetUploadSucceededAsset' - description: Details of successfully uploaded assets. - default: [ ] - failed_assets: - title: failed_assets - type: array - items: - $ref: '#/components/schemas/DatasetUploadFailedAsset' - description: Details of assets that failed to upload. - default: [ ] - example: - successful_assets: - - asset_identifier: - asset_type: RESPONSE - asset_id: 7uS_VESkRI6O3-sVgHQp_A - file_name: file_name - - asset_identifier: - asset_type: RESPONSE - asset_id: 7uS_VESkRI6O3-sVgHQp_A - file_name: file_name - total_count: 0 - failed_assets: - - file_name: file_name - failure_reason: null - - file_name: file_name - failure_reason: null - success_count: 6 - failure_count: 1 - DatasetUploadSucceededAsset: - title: DatasetUploadSucceededAsset - required: - - asset_identifier - type: object - properties: - asset_identifier: - $ref: '#/components/schemas/AssetIdentifier' - file_name: - title: file_name - type: - - 'null' - - string - description: Original filename of the uploaded image. - example: - asset_identifier: - asset_type: RESPONSE - asset_id: 7uS_VESkRI6O3-sVgHQp_A - file_name: file_name - DatasetUploadFailedAsset: - title: DatasetUploadFailedAsset - required: - - failure_reason - type: object - properties: - file_name: - title: file_name - type: - - 'null' - - string - description: Original filename of the failed image. - failure_reason: - $ref: '#/components/schemas/DatasetAssetFailureReason' - example: - file_name: file_name - failure_reason: null - DatasetAssetFailureReason: - title: DatasetAssetFailureReason - enum: - - FAILED_SAFETY_CHECK - - FILE_TOO_LARGE - - INTERNAL_ERROR - - INVALID_CAPTION - - INVALID_IMAGE - - INVALID_ZIP - - TOO_MANY_IMAGES - type: string - description: Reason why an asset failed to upload. - UploadDatasetAssetsRequest: - required: - - files - type: object - properties: - files: - type: array - items: - type: string - format: binary - description: "Image files (JPEG, PNG, WebP), .txt caption sidecar files, and/or ZIP archives containing images and captions. Caption .txt files are matched to images by filename stem (e.g. sunset.txt provides the caption for sunset.jpg).\n" - TrainDatasetModelResponse: - title: TrainDatasetModelResponse - required: - - dataset_id - - model_id - - model_name - - training_status - type: object - properties: - model_id: - title: model_id - type: string - description: Unique identifier of the created model. - dataset_id: - title: dataset_id - type: string - description: Identifier of the dataset used for training. - training_status: - title: training_status - type: string - description: Current training status of the model. - model_name: - title: model_name - type: string - description: Name of the model. - example: - training_status: training_status - model_name: model_name - dataset_id: dataset_id - model_id: model_id - TrainDatasetModelRequest: - title: TrainDatasetModelRequest - required: - - model_name - type: object - properties: - model_name: - title: model_name - type: string - description: "Name for the trained model. Must be 5-30 characters, alphanumeric with spaces and hyphens allowed.\n" - example: my-custom-model - training_steps: - title: training_steps - type: integer - description: "Number of training steps. Must be between 100 and 20000 and a multiple of 100. Defaults to 1000.\n" - example: 1000 - lora_rank: - title: lora_rank - type: integer - description: "LoRA rank for model training. Must be one of 64, 128, or 256. Defaults to 128. Note: lora_rank > 128 requires num_chips >= 32.\n" - example: 64 - num_chips: - title: num_chips - type: integer - description: "Number of TPU chips to use. Must be one of 16 or 32.\n" - example: 16 - ema: - title: ema - type: number - description: "Exponential moving average decay rate. Must be greater than 0.\n" - example: 0.999 - learning_rate: - title: learning_rate - type: number - description: "Learning rate for the optimizer. Must be greater than 0.\n" - example: 0.0001 - example: - model_name: my-custom-model - lora_rank: 64 - num_chips: 16 - ema: 0.999 - training_steps: 1000 - learning_rate: 0.0001 - Description: - title: Description - type: object - properties: - text: - title: text - type: string - description: The generated description for the provided image. - example: 'A meticulously illustrated cat with striped patterns, sitting upright. The cat''s eyes are a captivating shade of yellow, and it appears to be gazing intently at something. The background consists of abstract, swirling patterns in shades of black, white, and beige, creating an almost fluid or wavy appearance. The cat is positioned in the foreground, with the background elements fading into the distance, giving a sense of depth to the image.' - DescribeModelVersion: - title: DescribeModelVersion - enum: - - V_2 - - V_3 - - CUSTOM - type: string - description: The model version to use for describing images. Defaults to V_3. - default: V_3 - MagicPromptOption: - title: MagicPromptOption - enum: - - AUTO - - ON - - OFF - type: string - description: Determine if MagicPrompt should be used in generating the request or not. - externalDocs: - url: https://docs.ideogram.ai/using-ideogram/ideogram-features/magic-prompt - example: ON - NumImages: - title: NumImages - maximum: 8 - minimum: 1 - type: integer - description: The number of images to generate. - default: 1 - Seed: - title: Seed - maximum: 2147483647 - minimum: 0 - type: integer - description: Random seed. Set for reproducible generation. - example: 12345 - StyleType: - title: StyleType - enum: - - AUTO - - GENERAL - - FICTION - - REALISTIC - - DESIGN - - RENDER_3D - - ANIME - - CUSTOM - - STYLIZED - type: string - description: The style type to generate with; this is only applicable for models V_2 and above and should not be specified for model versions V_1. - example: REALISTIC - ResolutionV3: - title: ResolutionV3 - enum: - - 512x1536 - - 576x1408 - - 576x1472 - - 576x1536 - - 640x1344 - - 640x1408 - - 640x1472 - - 640x1536 - - 704x1152 - - 704x1216 - - 704x1280 - - 704x1344 - - 704x1408 - - 704x1472 - - 736x1312 - - 768x1088 - - 768x1216 - - 768x1280 - - 768x1344 - - 800x1280 - - 832x960 - - 832x1024 - - 832x1088 - - 832x1152 - - 832x1216 - - 832x1248 - - 864x1152 - - 896x960 - - 896x1024 - - 896x1088 - - 896x1120 - - 896x1152 - - 960x832 - - 960x896 - - 960x1024 - - 960x1088 - - 1024x832 - - 1024x896 - - 1024x960 - - 1024x1024 - - 1088x768 - - 1088x832 - - 1088x896 - - 1088x960 - - 1120x896 - - 1152x704 - - 1152x832 - - 1152x864 - - 1152x896 - - 1216x704 - - 1216x768 - - 1216x832 - - 1248x832 - - 1280x704 - - 1280x768 - - 1280x800 - - 1312x736 - - 1344x640 - - 1344x704 - - 1344x768 - - 1408x576 - - 1408x640 - - 1408x704 - - 1472x576 - - 1472x640 - - 1472x704 - - 1536x512 - - 1536x576 - - 1536x640 - type: string - description: The resolutions supported for Ideogram 3.0. - example: 1280x800 - AspectRatioV3: - title: AspectRatioV3 - enum: - - 1x3 - - 3x1 - - 1x2 - - 2x1 - - 9x16 - - 16x9 - - 10x16 - - 16x10 - - 2x3 - - 3x2 - - 3x4 - - 4x3 - - 4x5 - - 5x4 - - 1x1 - type: string - description: 'The aspect ratio to use for image generation, which determines the image''s resolution. Cannot be used in conjunction with resolution. Defaults to 1x1.' - RenderingSpeed: - title: RenderingSpeed - enum: - - FLASH - - TURBO - - BALANCED - - DEFAULT - - QUALITY - type: string - description: The rendering speed to use. - default: DEFAULT - ColorPaletteWithPresetNameOrMembers: - title: ColorPaletteWithPresetNameOrMembers - oneOf: - - $ref: '#/components/schemas/ColorPaletteWithPresetName' - - $ref: '#/components/schemas/ColorPaletteWithMembers' - description: 'A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members). Not supported by V_1, V_1_TURBO, V_2A and V_2A_TURBO models.' - ColorPaletteWithPresetName: - title: ColorPaletteWithPresetName - required: - - name - type: object - properties: - name: - $ref: '#/components/schemas/ColorPalettePresetName' - example: - name: PASTEL - ColorPalettePresetName: - title: ColorPalettePresetName - enum: - - EMBER - - FRESH - - JUNGLE - - MAGIC - - MELON - - MOSAIC - - PASTEL - - ULTRAMARINE - type: string - description: A color palette preset value. - example: PASTEL - ColorPaletteWithMembers: - title: ColorPaletteWithMembers - required: - - members - type: object - properties: - members: - title: ColorPaletteMembers - maxItems: 8 - minItems: 1 - type: array - items: - $ref: '#/components/schemas/ColorPaletteMember' - description: "A list of ColorPaletteMembers that define the color palette. Each color palette member\nconsists of a required color hex and an optional weight between 0.05 and 1.0 (inclusive).\nIt is recommended that these weights descend from highest to lowest for the color hexes provided.\n" - example: - - ColorPaletteMember: - color_hex: '#b470b3' - color_weight: 0.49 - - ColorPaletteMember: - color_hex: '#7a79e3' - color_weight: 0.16 - - ColorPaletteMember: - color_hex: '#a26563' - color_weight: 0.1 - - ColorPaletteMember: - color_hex: '#5c7d76' - color_weight: 0.07 - - ColorPaletteMember: - color_hex: '#642a9c' - color_weight: 0.05 - description: A color palette represented only via its members. Cannot be used in conjunction with preset name. - ColorPaletteMembers: - title: ColorPaletteMembers - maxItems: 8 - minItems: 1 - type: array - items: - $ref: '#/components/schemas/ColorPaletteMember' - description: "A list of ColorPaletteMembers that define the color palette. Each color palette member\nconsists of a required color hex and an optional weight between 0.05 and 1.0 (inclusive).\nIt is recommended that these weights descend from highest to lowest for the color hexes provided.\n" - example: - - ColorPaletteMember: - color_hex: '#b470b3' - color_weight: 0.49 - - ColorPaletteMember: - color_hex: '#7a79e3' - color_weight: 0.16 - - ColorPaletteMember: - color_hex: '#a26563' - color_weight: 0.1 - - ColorPaletteMember: - color_hex: '#5c7d76' - color_weight: 0.07 - - ColorPaletteMember: - color_hex: '#642a9c' - color_weight: 0.05 - ColorPaletteMember: - title: ColorPaletteMember - required: - - color_hex - type: object - properties: - color_hex: - title: color_hex - pattern: '^#(?:[0-9a-fA-F]{3}){1,2}$' - type: string - description: The hexadecimal representation of the color with an optional chosen weight. - example: '#FFFFFF' - color_weight: - title: color_weight - maximum: 1.0 - minimum: 0.05 - type: number - description: The weight of the color in the color palette. - example: 0.25 - description: A member of a color palette. - StyleCodes: - type: array - items: - $ref: '#/components/schemas/StyleCode' - description: A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type. - example: - - AAFF5733 - - 0133FF57 - - DE3357FF - StyleCode: - pattern: '^[0-9a-fA-F]{8}$' - type: string - description: The 8 character hexadecimal representation of the style code. - example: ABCD1234 - StyleTypeV3: - title: StyleTypeV3 - enum: - - AUTO - - GENERAL - - REALISTIC - - DESIGN - - CUSTOM - - FICTION - - STYLIZED - type: string - description: The style type to generate with. - default: GENERAL - example: GENERAL - StylePresetV3: - title: StylePresetV3 - enum: - - 80S_ILLUSTRATION - - 90S_NOSTALGIA - - ABSTRACT_ORGANIC - - ANALOG_NOSTALGIA - - ART_BRUT - - ART_DECO - - ART_POSTER - - AURA - - AVANT_GARDE - - BAUHAUS - - BLUEPRINT - - BLURRY_MOTION - - BRIGHT_ART - - C4D_CARTOON - - CHILDRENS_BOOK - - COLLAGE - - COLORING_BOOK_I - - COLORING_BOOK_II - - CUBISM - - DARK_AURA - - DOODLE - - DOUBLE_EXPOSURE - - DRAMATIC_CINEMA - - EDITORIAL - - EMOTIONAL_MINIMAL - - ETHEREAL_PARTY - - EXPIRED_FILM - - FLAT_ART - - FLAT_VECTOR - - FOREST_REVERIE - - GEO_MINIMALIST - - GLASS_PRISM - - GOLDEN_HOUR - - GRAFFITI_I - - GRAFFITI_II - - HALFTONE_PRINT - - HIGH_CONTRAST - - HIPPIE_ERA - - ICONIC - - JAPANDI_FUSION - - JAZZY - - LONG_EXPOSURE - - MAGAZINE_EDITORIAL - - MINIMAL_ILLUSTRATION - - MIXED_MEDIA - - MONOCHROME - - NIGHTLIFE - - OIL_PAINTING - - OLD_CARTOONS - - PAINT_GESTURE - - POP_ART - - RETRO_ETCHING - - RIVIERA_POP - - SPOTLIGHT_80S - - STYLIZED_RED - - SURREAL_COLLAGE - - TRAVEL_POSTER - - VINTAGE_GEO - - VINTAGE_POSTER - - WATERCOLOR - - WEIRD - - WOODBLOCK_PRINT - type: string - description: A predefined style preset that applies a specific artistic style to the generated image. - example: BRIGHT_ART - UpscaleFactor: - title: UpscaleFactor - enum: - - X1 - - X2 - - X4 - type: string - description: Upscale the initially generated image by the given factor. Upscale factors other than X1 will incur additional cost. - default: X1 - example: X2 - Resolution: - title: Resolution - enum: - - RESOLUTION_512_1536 - - RESOLUTION_576_1408 - - RESOLUTION_576_1472 - - RESOLUTION_576_1536 - - RESOLUTION_640_1024 - - RESOLUTION_640_1344 - - RESOLUTION_640_1408 - - RESOLUTION_640_1472 - - RESOLUTION_640_1536 - - RESOLUTION_704_1152 - - RESOLUTION_704_1216 - - RESOLUTION_704_1280 - - RESOLUTION_704_1344 - - RESOLUTION_704_1408 - - RESOLUTION_704_1472 - - RESOLUTION_720_1280 - - RESOLUTION_736_1312 - - RESOLUTION_768_1024 - - RESOLUTION_768_1088 - - RESOLUTION_768_1152 - - RESOLUTION_768_1216 - - RESOLUTION_768_1232 - - RESOLUTION_768_1280 - - RESOLUTION_768_1344 - - RESOLUTION_832_960 - - RESOLUTION_832_1024 - - RESOLUTION_832_1088 - - RESOLUTION_832_1152 - - RESOLUTION_832_1216 - - RESOLUTION_832_1248 - - RESOLUTION_864_1152 - - RESOLUTION_896_960 - - RESOLUTION_896_1024 - - RESOLUTION_896_1088 - - RESOLUTION_896_1120 - - RESOLUTION_896_1152 - - RESOLUTION_960_832 - - RESOLUTION_960_896 - - RESOLUTION_960_1024 - - RESOLUTION_960_1088 - - RESOLUTION_1024_640 - - RESOLUTION_1024_768 - - RESOLUTION_1024_832 - - RESOLUTION_1024_896 - - RESOLUTION_1024_960 - - RESOLUTION_1024_1024 - - RESOLUTION_1088_768 - - RESOLUTION_1088_832 - - RESOLUTION_1088_896 - - RESOLUTION_1088_960 - - RESOLUTION_1120_896 - - RESOLUTION_1152_704 - - RESOLUTION_1152_768 - - RESOLUTION_1152_832 - - RESOLUTION_1152_864 - - RESOLUTION_1152_896 - - RESOLUTION_1216_704 - - RESOLUTION_1216_768 - - RESOLUTION_1216_832 - - RESOLUTION_1232_768 - - RESOLUTION_1248_832 - - RESOLUTION_1280_704 - - RESOLUTION_1280_720 - - RESOLUTION_1280_768 - - RESOLUTION_1280_800 - - RESOLUTION_1312_736 - - RESOLUTION_1344_640 - - RESOLUTION_1344_704 - - RESOLUTION_1344_768 - - RESOLUTION_1408_576 - - RESOLUTION_1408_640 - - RESOLUTION_1408_704 - - RESOLUTION_1472_576 - - RESOLUTION_1472_640 - - RESOLUTION_1472_704 - - RESOLUTION_1536_512 - - RESOLUTION_1536_576 - - RESOLUTION_1536_640 - type: string - description: '(For model_version for 2.0 only, cannot be used in conjunction with aspect_ratio) The resolution to use for image generation, represented in width x height. If not specified, defaults to using aspect_ratio.' - example: RESOLUTION_1024_1024 - AspectRatio: - title: AspectRatio - enum: - - ASPECT_10_16 - - ASPECT_16_10 - - ASPECT_9_16 - - ASPECT_16_9 - - ASPECT_3_2 - - ASPECT_2_3 - - ASPECT_4_3 - - ASPECT_3_4 - - ASPECT_1_1 - - ASPECT_1_3 - - ASPECT_3_1 - type: string - description: '(Cannot be used in conjunction with resolution) The aspect ratio to use for image generation, which determines the image''s resolution. Defaults to ASPECT_1_1.' - externalDocs: - url: https://docs.ideogram.ai/usage/advanced-prompting/aspect-ratios - example: ASPECT_10_16 - FreeformResolution: - title: FreeformResolution - pattern: '^\d{2,5}x\d{2,5}$' - type: string - description: 'Output resolution, only used if operations alters image dimensions, such as upscale, crop etc.' - example: 4096x4096 - Price: - title: Price - required: - - amount - - currency_code - type: object - properties: - currency_code: - title: currency_code - type: string - description: The ISO 4217 currency code for the price object. - example: USD - amount: - title: amount - type: number - description: 'The amount of the currency in the common denomination. For example, in USD this is cents.' - example: 1050 - description: Represents a price. - example: - amount: 1050 - currency_code: USD - AssetIdentifier: - title: AssetIdentifier - required: - - asset_id - - asset_type - type: object - properties: - asset_type: - $ref: '#/components/schemas/AssetType' - asset_id: - type: string - description: An identifier for an ideogram asset. - example: - asset_type: RESPONSE - asset_id: 7uS_VESkRI6O3-sVgHQp_A - AssetType: - title: AssetType - enum: - - ASSET - - CANVAS_ASSET - - LAYERED_ASSET - - RESPONSE - - UPLOAD - type: string - SharingInfo: - title: SharingInfo - required: - - permission - - updated_time - type: object - properties: - permission: - $ref: '#/components/schemas/SharingPermission' - updated_time: - title: updated_time - type: string - description: When this sharing entry was last updated. - format: date-time - organization: - $ref: '#/components/schemas/OrganizationObject' - user: - $ref: '#/components/schemas/User' - example: - updated_time: '2000-01-23T04:56:07+00:00' - organization: - role: null - publishing_disabled: true - organization_id: organization_id - name: name - avatar: - avatar_url: avatar_url - type: null - permission: null - user: - badge: badge - subscription_plan_id: subscription_plan_id - display_handle: display_handle - user_id: user_id - photo_url: photo_url - SharingPermission: - title: SharingPermission - enum: - - OWNER - - EDITOR - - VIEWER - type: string - description: Permission level for the shared organization. OWNER is read-only and cannot be set via add/remove. - OrganizationObject: - title: OrganizationObject - required: - - name - - organization_id - type: object - properties: - organization_id: - title: organization_id - type: string - description: ID of the organization - name: - title: name - type: string - description: Name of the organization - type: - $ref: '#/components/schemas/OrganizationType' - role: - $ref: '#/components/schemas/OrganizationRoleEnum' - avatar: - $ref: '#/components/schemas/OrganizationAvatarObject' - publishing_disabled: - title: publishing_disabled - type: boolean - description: Whether publishing is disabled for this organization. - description: An organization object - example: - role: null - publishing_disabled: true - organization_id: organization_id - name: name - avatar: - avatar_url: avatar_url - type: null - OrganizationType: - title: OrganizationType - enum: - - PRIVATE - - TEAM - - ENTERPRISE - type: string - description: The type of organization - OrganizationRoleEnum: - title: OrganizationRoleEnum - enum: - - OWNER - - WRITER - type: string - description: Role of a user in an organization. - OrganizationAvatarObject: - title: OrganizationAvatarObject - required: - - avatar_url - type: object - properties: - avatar_url: - title: avatar_url - type: string - example: - avatar_url: avatar_url - User: - title: User - required: - - display_handle - - photo_url - - user_id - type: object - properties: - user_id: - title: user_id - type: string - display_handle: - title: display_handle - type: string - photo_url: - title: photo_url - type: string - subscription_plan_id: - title: subscription_plan_id - type: string - badge: - title: badge - type: string - example: - badge: badge - subscription_plan_id: subscription_plan_id - display_handle: display_handle - user_id: user_id - photo_url: photo_url - postInternalTesting_200_response: - title: postInternalTesting_200_response - type: object - properties: - response_content: - title: response_content - type: string - example: - response_content: response_content - InternalBatchResultsResponse_results_inner: - title: InternalBatchResultsResponse_results_inner - required: - - image_url - - prompt - type: object - properties: - prompt: - title: prompt - type: string - description: The prompt used for generation. - example: a cat - image_url: - title: image_url - type: string - description: The URL of the generated image. - example: - image_url: image_url - prompt: a cat - securitySchemes: - ApiKeyAuth: - type: apiKey - description: API key for access control. Use in the header with the name \"Api-Key\" - name: Api-Key - in: header - x-apikeyInfoFunc: external_api.generated.openapi.controllers.security_controller.info_from_ApiKeyAuth - BearerAuth: - type: http - scheme: bearer - bearerFormat: JWT - x-bearerInfoFunc: external_api.generated.openapi.controllers.security_controller.info_from_BearerAuth -security: - - ApiKeyAuth: [ ] -tags: - - name: generate - description: All things related to generating content. - externalDocs: - description: Find out more - url: https://docs.ideogram.ai - - name: manage - description: Content related to managing API account and API access - externalDocs: - description: Find out more - url: https://docs.ideogram.ai - - name: vision - description: Operations related to understanding visual content - externalDocs: - description: Find out more - url: https://docs.ideogram.ai - - name: internal-testing - description: Operations and endpoints designed for doing internal testing. Not intended to be called outside a test environment. - externalDocs: - description: Find out more - url: https://docs.ideogram.ai - - name: datasets - description: Operations related to managing datasets - externalDocs: - description: Find out more - url: https://docs.ideogram.ai \ No newline at end of file +{"openapi": "3.0.2", "info": {"description": "This is the API definition for Ideogram AI.", "title": "Ideogram - OpenAPI 3.0", "version": "1.0.0"}, "servers": [{"url": ""}], "security": [{"ApiKeyAuth": []}], "tags": [{"description": "All things related to generating content.", "externalDocs": {"description": "Find out more", "url": "https://docs.ideogram.ai"}, "name": "generate"}, {"description": "Content related to managing API account and API access", "externalDocs": {"description": "Find out more", "url": "https://docs.ideogram.ai"}, "name": "manage"}, {"description": "Operations related to understanding visual content", "externalDocs": {"description": "Find out more", "url": "https://docs.ideogram.ai"}, "name": "vision"}, {"description": "Operations and endpoints designed for doing internal testing. Not intended to be called outside a test environment.", "externalDocs": {"description": "Find out more", "url": "https://docs.ideogram.ai"}, "name": "internal-testing"}, {"description": "Operations related to managing datasets", "externalDocs": {"description": "Find out more", "url": "https://docs.ideogram.ai"}, "name": "datasets"}], "paths": {"/datasets": {"get": {"description": "Lists all datasets for the authenticated user", "operationId": "list_datasets", "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListDatasetsResponse"}}}, "description": "Datasets retrieved successfully"}, "401": {"description": "Unauthorized"}}, "summary": "List datasets", "tags": ["datasets"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.datasets_controller"}, "post": {"description": "Creates a new dataset", "operationId": "create_dataset", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateDatasetRequest"}}}, "description": "Request to create a new dataset", "required": true, "x-body-name": "create_dataset_request"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/Dataset"}}}, "description": "Dataset created successfully"}, "400": {"description": "Bad request"}, "401": {"description": "Unauthorized"}}, "summary": "Create a new dataset", "tags": ["datasets"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.datasets_controller"}}, "/datasets/{dataset_id}/train_model": {"post": {"description": "Start training a custom model from a dataset. The dataset must contain at least 5 images. Returns the model ID and training status.\n", "operationId": "train_dataset_model", "parameters": [{"in": "path", "name": "dataset_id", "required": true, "schema": {"type": "string"}}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TrainDatasetModelRequest"}}}, "description": "Training configuration", "required": true, "x-body-name": "train_dataset_model_request"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TrainDatasetModelResponse"}}}, "description": "Training started successfully"}, "400": {"description": "Bad request"}, "401": {"description": "Unauthorized"}, "404": {"description": "Dataset not found"}}, "summary": "Train a model from a dataset", "tags": ["datasets"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.datasets_controller"}}, "/datasets/{dataset_id}/upload_assets": {"post": {"description": "Upload image assets to a dataset for model training. Accepts individual images (JPEG, PNG, WebP), optional .txt caption sidecar files, and/or ZIP archives containing images and captions.\n", "operationId": "upload_dataset_assets", "parameters": [{"in": "path", "name": "dataset_id", "required": true, "schema": {"type": "string"}}], "requestBody": {"content": {"multipart/form-data": {"schema": {"$ref": "#/components/schemas/UploadDatasetAssetsRequest"}}}, "required": true, "x-body-name": "body"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UploadDatasetAssetsResponse"}}}, "description": "Upload summary"}, "400": {"description": "Bad request"}, "401": {"description": "Unauthorized"}, "404": {"description": "Dataset not found"}}, "summary": "Upload assets to a dataset", "tags": ["datasets"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.datasets_controller"}}, "/describe": {"post": {"description": "Describe an image.\n\nSupported image formats include JPEG, PNG, and WebP.\n", "operationId": "post_describe", "requestBody": {"content": {"multipart/form-data": {"schema": {"$ref": "#/components/schemas/DescribeRequest"}}}, "required": true}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DescribeResponse"}}}, "description": "Description(s) created successfully."}, "400": {"description": "Invalid input provided."}, "422": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageSafetyError"}}}, "description": "Image failed the safety check."}, "429": {"description": "Too many requests."}}, "summary": "Describe", "tags": ["vision"], "x-fern-examples": [{"code-samples": [{"sdk": "curl", "code": "curl -X POST https://api.ideogram.ai/describe \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F image_file=@\n"}]}], "x-openapi-router-controller": "external_api.generated.openapi.controllers.vision_controller"}}, "/edit": {"post": {"description": "Edit a given image synchronously using the provided mask. The mask indicates which part of the image\nshould be edited, while the prompt and chosen style type can further guide the edit.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n", "operationId": "post_edit_image", "requestBody": {"content": {"multipart/form-data": {"encoding": {"prompt": {"contentType": "text/plain", "style": "form"}, "model": {"contentType": "text/plain", "style": "form"}, "magic_prompt_option": {"contentType": "text/plain", "style": "form"}, "seed": {"contentType": "text/plain", "style": "form"}, "style_type": {"contentType": "text/plain", "style": "form"}}, "schema": {"$ref": "#/components/schemas/EditImageRequest"}}}, "description": "A request to edit an image with Ideogram.", "required": true, "x-body-name": "body"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageResponse"}}}, "description": "Image edits generated successfully."}, "400": {"description": "Invalid input provided."}, "401": {"description": "Not authorized to generate an image."}, "422": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageSafetyError"}}}, "description": "Prompt or Initial Image failed the safety checks."}, "429": {"description": "Too many requests."}}, "summary": "Edit (legacy)", "tags": ["generate"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.generate_controller"}}, "/generate": {"post": {"description": "Generates images synchronously based on a given prompt and optional parameters.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n", "operationId": "post_generate_image", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageRequest"}}}, "description": "A request to generate an image with Ideogram.", "required": true, "x-body-name": "generate_image_request"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageResponse"}}}, "description": "Image(s) generated successfully."}, "400": {"description": "Invalid input provided."}, "401": {"description": "Not authorized to generate an image."}, "422": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageSafetyError"}}}, "description": "Prompt failed the safety check."}, "429": {"description": "Too many requests."}}, "summary": "Generate (legacy)", "tags": ["generate"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.generate_controller"}}, "/internal-testing": {"post": {"description": "Just a testing endpoint\n", "operationId": "post_internal_testing", "parameters": [{"description": "Test header", "explode": false, "in": "header", "name": "X-Test-Header", "required": false, "schema": {"type": "string"}, "style": "simple"}, {"description": "Test header", "explode": false, "in": "header", "name": "X-Test-Header-2", "required": false, "schema": {"type": "string"}, "style": "simple"}], "requestBody": {"content": {"multipart/form-data": {"encoding": {"x_position": {"contentType": "text/plain", "style": "form"}, "some_text": {"contentType": "text/plain", "style": "form"}, "nested_object": {"contentType": "application/json", "style": "form"}, "repeated_complex_field": {"contentType": "application/json", "style": "form"}}, "schema": {"$ref": "#/components/schemas/InternalTestingRequest"}}}, "description": "A request for testing.", "required": true}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/postInternalTesting_200_response"}}}, "description": "Success"}}, "security": [], "summary": "Testing", "tags": ["internal-testing"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.internal_testing_controller"}}, "/internal/batch": {"post": {"description": "Runs automated evaluation of multiple LLM models and system prompts for magic prompt generation. \nGenerates images using large batches of user prompt inputs. Internal use only (feature flagged).\n", "operationId": "post_batch", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/InternalBatchRequest"}}}, "description": "A request for batch magic prompt evalution.", "required": true, "x-body-name": "internal_batch_request"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/InternalBatchResponse"}}}, "description": "Batch magic prompt evalution completed successfully."}, "400": {"description": "Invalid input provided."}, "401": {"description": "Not authorized for batch magic prompt evalution."}, "429": {"description": "Too many requests."}, "500": {"description": "Internal server error."}}, "summary": "Initiate Batch Magic Prompt Evalution", "tags": ["batch"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.batch_controller"}}, "/internal/batch/get-maybe-batch-results/{job_id}": {"get": {"description": "Gets the results of a batch magic prompt job if available.\n", "operationId": "get_maybe_batch_results", "parameters": [{"description": "The ID of the batch job to check results for", "explode": false, "in": "path", "name": "job_id", "required": true, "schema": {"type": "string"}, "style": "simple"}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/InternalBatchResultsResponse"}}}, "description": "Batch magic prompt job results if available."}, "400": {"description": "Invalid input provided."}, "401": {"description": "Not authorized for batch magic prompt job results request."}, "429": {"description": "Too many requests."}, "500": {"description": "Internal server error."}}, "summary": "Get Batch Magic Prompt Job Results if available.", "tags": ["batch"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.batch_controller"}}, "/magic-prompt": {"post": {"description": "Transforms basic prompts into a magic prompt. Internal use only (feature flagged). TODO: update description if enabled externally.\n", "operationId": "post_magic_prompt", "requestBody": {"content": {"multipart/form-data": {"schema": {"$ref": "#/components/schemas/MagicPromptRequest"}}, "application/json": {"schema": {"$ref": "#/components/schemas/MagicPromptRequest"}}}, "description": "A request to generate a magic prompt", "required": true, "x-body-name": "body"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/MagicPromptResponse"}}}, "description": "Magic prompt generated successfully."}, "400": {"description": "Invalid input provided."}, "401": {"description": "Not authorized to generate magic prompts."}, "429": {"description": "Too many requests."}, "500": {"description": "Internal server error."}}, "summary": "Generate Magic Prompt", "tags": ["prompt"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.prompt_controller"}}, "/manage/api/add_credits": {"post": {"operationId": "post_add_credits_for_api", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PostAddCreditsRequest"}}}, "description": "A request to add credits to an API user's account.", "required": true, "x-body-name": "post_add_credits_request"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PostAddCreditsResponse"}}}, "description": "API subscription content"}, "400": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PostAddCreditsError"}}}, "description": "Bad request"}, "401": {"description": "Not authorized"}, "403": {"description": "Not authorized"}}, "security": [{"BearerAuth": []}], "summary": "Add credits to an API user's account.", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}}, "/manage/api/api_keys": {"get": {"operationId": "get_api_keys", "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetApiKeysResponse"}}}, "description": "API keys the user currently manages"}, "401": {"description": "Not authorized"}, "403": {"description": "Not authorized"}}, "security": [{"BearerAuth": []}], "summary": "Retrieve current API keys and their respective data.", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}, "post": {"operationId": "create_api_key", "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PostApiKeyResponse"}}}, "description": "The newly created API key"}, "401": {"description": "Not authorized"}, "402": {"description": "Payment is required; did you create a subscription?"}}, "security": [{"BearerAuth": []}], "summary": "Creates an API key.", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}}, "/manage/api/api_keys/{api_key_id}": {"delete": {"operationId": "delete_single_api_key", "parameters": [{"description": "The ID of API key to operate on. Expected to be a URL safe Base64 encoded UUID.", "example": "d7abd0cd4ae94db78676e986a4ebd8dc", "in": "path", "name": "api_key_id", "required": true, "schema": {"type": "string"}}], "responses": {"204": {"description": "Success"}, "400": {"description": "Something went wrong"}, "401": {"description": "Not authorized"}}, "security": [{"BearerAuth": []}], "summary": "Delete an API key.", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}}, "/manage/api/api_keys_v2": {"post": {"operationId": "create_api_key_v2", "parameters": [{"description": "Base64 encoded organization ID to create the API key for", "in": "query", "name": "organization_id", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateApiKeyResponse"}}}, "description": "API key created successfully"}, "401": {"description": "Not authorized"}, "402": {"description": "Payment is required before creating an API key."}, "403": {"description": "Not authorized"}}, "security": [{"BearerAuth": []}], "summary": "Create an API key for a specific organization", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}}, "/manage/api/credits": {"get": {"operationId": "get_user_credits", "parameters": [{"description": "Base64 encoded organization ID to filter credit information for a specific organization", "in": "query", "name": "organization_id", "required": true, "schema": {"type": "string"}}, {"description": "Start time to look back for calculating average daily spend and other metrics", "in": "query", "name": "start_time", "required": true, "schema": {"format": "date-time", "type": "string"}}, {"description": "Inclusive end time to look back for calculating average daily spend and other metrics. If not provided, the current time will be used.", "in": "query", "name": "end_time", "required": false, "schema": {"format": "date-time", "type": "string"}}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetUserCreditsResponse"}}}, "description": "User credit information retrieved successfully"}, "401": {"description": "Not authorized"}, "403": {"description": "Not authorized"}}, "security": [{"BearerAuth": []}], "summary": "Retrieve user credit information and spending metrics", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}}, "/manage/api/organization/add_members": {"post": {"operationId": "add_organization_members", "parameters": [{"description": "Base64 encoded organization ID to add members to", "in": "query", "name": "organization_id", "required": true, "schema": {"type": "string"}}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AddOrganizationMembersRequest"}}}, "description": "A request to add members to an organization.", "required": true, "x-body-name": "add_organization_members_request"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationMemberOperationResponse"}}}, "description": "Results of adding members to the organization"}, "400": {"description": "Bad Request"}, "401": {"description": "Not authorized"}, "403": {"description": "Not authorized - must be an organization owner"}, "404": {"description": "Organization not found"}}, "security": [{"BearerAuth": []}], "summary": "Add members to a specific organization", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}}, "/manage/api/organization/api_keys": {"get": {"operationId": "get_api_keys_v2", "parameters": [{"description": "Base64 encoded organization ID to retrieve API keys for", "in": "query", "name": "organization_id", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetApiKeysV2Response"}}}, "description": "API keys retrieved successfully"}, "401": {"description": "Not authorized"}, "403": {"description": "Not authorized"}, "404": {"description": "Organization not found"}}, "security": [{"BearerAuth": []}], "summary": "Retrieve API keys for a specific organization", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}}, "/manage/api/organization/deactivate_api_key": {"post": {"operationId": "deactivate_organization_api_key", "parameters": [{"description": "Base64 encoded API key ID to deactivate", "in": "query", "name": "api_key_id", "required": true, "schema": {"type": "string"}}], "responses": {"204": {"description": "Success; no content."}, "400": {"description": "Bad Request"}, "401": {"description": "Not authorized"}, "403": {"description": "Not authorized - must be an organization owner"}, "404": {"description": "API key not found"}}, "security": [{"BearerAuth": []}], "summary": "Deactivate an API key for a specific organization", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}}, "/manage/api/organization/list_invoices": {"get": {"operationId": "list_organization_invoices", "parameters": [{"description": "Base64 encoded organization ID to retrieve invoices for", "in": "query", "name": "organization_id", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"content": {"application/json": {"example": {"invoices": [{"start_time": "2024-01-01T00:00:00+00:00", "end_time": "2024-01-31T23:59:59+00:00", "total_spend": {"currency_code": "USD", "amount": 15000}, "status": "PAID", "issued_time": "2024-02-01T00:00:00+00:00", "invoice_paid_date": "2024-02-05T10:30:00+00:00", "line_items": [{"charge_name": "Image Generation - V3", "quantity": 1000, "unit_price": {"currency_code": "USD", "amount": 10}, "total": {"currency_code": "USD", "amount": 10000}}, {"charge_name": "Upscale Image - V1", "quantity": 500, "unit_price": {"currency_code": "USD", "amount": 10}, "total": {"currency_code": "USD", "amount": 5000}}]}]}, "schema": {"$ref": "#/components/schemas/ListOrganizationInvoicesResponse"}}}, "description": "Invoices retrieved successfully"}, "401": {"description": "Not authorized"}, "403": {"description": "Not authorized"}, "404": {"description": "Organization not found"}}, "security": [{"BearerAuth": []}], "summary": "Retrieve invoices for a specific organization", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}}, "/manage/api/organization/members": {"get": {"operationId": "get_organization_members", "parameters": [{"description": "Base64 encoded organization ID to retrieve members for", "in": "query", "name": "organization_id", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetOrganizationMembersResponse"}}}, "description": "Organization members retrieved successfully"}, "401": {"description": "Not authorized"}, "403": {"description": "Not authorized"}, "404": {"description": "Organization not found"}}, "security": [{"BearerAuth": []}], "summary": "Retrieve members of a specific organization", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}}, "/manage/api/organization/promote_members": {"post": {"operationId": "promote_organization_members", "parameters": [{"description": "Base64 encoded organization ID to promote members in", "in": "query", "name": "organization_id", "required": true, "schema": {"type": "string"}}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PromoteOrganizationMembersRequest"}}}, "description": "A request to promote members to OWNER role in an organization.", "required": true, "x-body-name": "promote_organization_members_request"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationMemberOperationResponse"}}}, "description": "Results of promoting members in the organization"}, "400": {"description": "Bad Request"}, "401": {"description": "Not authorized"}, "403": {"description": "Not authorized - must be an organization owner"}, "404": {"description": "Organization not found"}}, "security": [{"BearerAuth": []}], "summary": "Promote members to OWNER role in a specific organization", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}}, "/manage/api/organization/remove_members": {"post": {"operationId": "remove_organization_members", "parameters": [{"description": "Base64 encoded organization ID to remove members from", "in": "query", "name": "organization_id", "required": true, "schema": {"type": "string"}}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/RemoveOrganizationMembersRequest"}}}, "description": "A request to remove members from an organization.", "required": true, "x-body-name": "remove_organization_members_request"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationMemberOperationResponse"}}}, "description": "Results of removing members from the organization"}, "400": {"description": "Bad Request"}, "401": {"description": "Not authorized"}, "403": {"description": "Not authorized - must be an organization owner"}, "404": {"description": "Organization not found"}}, "security": [{"BearerAuth": []}], "summary": "Remove members from a specific organization", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}}, "/manage/api/organization/user_suggestions": {"get": {"operationId": "get_api_organization_user_suggestions", "parameters": [{"description": "Base64 encoded organization ID to get user suggestions for", "in": "query", "name": "organization_id", "required": true, "schema": {"type": "string"}}, {"description": "The prefix of the user handle to search for", "example": "sar", "in": "query", "name": "user_handle_prefix", "schema": {"type": "string"}}, {"description": "The maximum number of items to return", "in": "query", "name": "maxItems", "schema": {"default": 3, "type": "integer"}}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetApiOrganizationUserSuggestionsResponse"}}}, "description": "A list of the top responses in alphabetical order by user handle + whether the user has joined the current organization already."}, "401": {"description": "Not authorized"}, "403": {"description": "Not authorized"}, "404": {"description": "Organization not found"}}, "security": [{"BearerAuth": []}], "summary": "Get search results for user handles with suggestions for a particular organization.", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}}, "/manage/api/profiles": {"get": {"operationId": "get_api_profiles", "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetApiProfilesResponse"}}}, "description": "User API profiles retrieved successfully"}, "401": {"description": "Not authorized"}, "403": {"description": "Not authorized"}}, "security": [{"BearerAuth": []}], "summary": "Retrieve the user's current API profiles", "tags": ["manage"], "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", "parameters": [{"description": "Base64 encoded organization ID to filter spend commit information for a specific organization", "in": "query", "name": "organization_id", "required": true, "schema": {"type": "string"}}, {"description": "Whether to only return postpaid commits. Defaults to true.", "in": "query", "name": "postpaid_only", "required": false, "schema": {"type": "boolean"}}], "responses": {"200": {"content": {"application/json": {"example": {"commits": [{"commit_spend_balance": {"currency_code": "USD", "amount": 7500}, "commit_amount": {"currency_code": "USD", "amount": 10000}, "commit_start_time": "2025-01-01T00:00:00+00:00", "commit_end_time": "2025-12-31T23:59:59+00:00"}]}, "schema": {"$ref": "#/components/schemas/SpendCommitInfoResponse"}}}, "description": "User spend commit information retrieved successfully"}, "401": {"description": "Not authorized"}, "403": {"description": "Not authorized"}}, "security": [{"BearerAuth": []}], "summary": "Retrieve user spend commit information", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}}, "/manage/api/stripe_subscription": {"get": {"operationId": "get_api_stripe_subscription", "parameters": [{"description": "Whether the subscription is intended to be used for business or personal use.", "in": "query", "name": "isBusiness", "schema": {"type": "boolean"}}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ManageApiStripeSubscriptionResponse"}}}, "description": "API subscription content related to connecting to Stripe"}, "401": {"description": "Not authorized"}, "403": {"description": "Not authorized"}}, "security": [{"BearerAuth": []}], "summary": "Retrieve data relevant to connecting to Stripe.", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}}, "/manage/api/subscription": {"get": {"operationId": "get_api_subscription", "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ManageApiSubscriptionResponse"}}}, "description": "API subscription content"}, "401": {"description": "Not authorized"}, "403": {"description": "Not authorized"}}, "security": [{"BearerAuth": []}], "summary": "Retrieve data relevant to creating an API subscription.", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}, "post": {"operationId": "post_api_subscription", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PostApiSubscriptionRequest"}}}, "description": "A request to update the API subscription properties. This should only be called after terms have been accepted.", "required": true, "x-body-name": "post_api_subscription_request"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PostApiSubscriptionResponse"}}}, "description": "API subscription content"}, "400": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PostApiSubscriptionError"}}}, "description": "Bad request"}, "401": {"description": "Not authorized"}, "403": {"description": "Not authorized"}}, "security": [{"BearerAuth": []}], "summary": "Update API subscription settings", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}}, "/manage/api/terms": {"get": {"operationId": "get_api_terms", "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetApiTermsResponse"}}}, "description": "Retrieves the latest API terms"}, "401": {"description": "Not authorized"}, "403": {"description": "Not authorized"}}, "security": [{"BearerAuth": []}], "summary": "Retrieve the latest terms of service for API usage.", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}, "post": {"operationId": "post_api_terms", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PostApiTermsRequest"}}}, "description": "A request to accept the API terms.", "required": true, "x-body-name": "post_api_terms_request"}, "responses": {"204": {"description": "Success; no content."}, "400": {"description": "Bad Request"}, "401": {"description": "Not authorized"}, "403": {"description": "Not authorized"}}, "security": [{"BearerAuth": []}], "summary": "Accept terms", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}}, "/manage/api/usage": {"get": {"operationId": "get_usage_info", "parameters": [{"description": "Base64 encoded organization ID to filter usage information for a specific organization", "in": "query", "name": "organization_id", "required": true, "schema": {"type": "string"}}, {"description": "Time segment granularity for usage breakdown", "in": "query", "name": "segment_by", "required": true, "schema": {"$ref": "#/components/schemas/SegmentBy"}}, {"description": "Start time for usage information", "in": "query", "name": "start_time", "required": true, "schema": {"format": "date-time", "type": "string"}}, {"description": "Inclusive end time for usage information. If not provided, the current time will be used.", "in": "query", "name": "end_time", "required": false, "schema": {"format": "date-time", "type": "string"}}, {"description": "Filter usage information by specific model versions", "explode": true, "in": "query", "name": "model_versions", "required": false, "schema": {"default": [], "items": {"$ref": "#/components/schemas/ModelVersion"}, "type": "array"}, "style": "form"}, {"description": "Filter usage information by specific tool types", "explode": true, "in": "query", "name": "tools", "required": false, "schema": {"default": [], "items": {"$ref": "#/components/schemas/ToolType"}, "type": "array"}, "style": "form"}, {"description": "Filter usage information by specific API key IDs", "explode": true, "in": "query", "name": "api_key_ids", "required": false, "schema": {"default": [], "items": {"description": "Base64 encoded API key ID", "type": "string"}, "type": "array"}, "style": "form"}, {"description": "Filter usage information by specific user email addresses (for web app usage)", "explode": true, "in": "query", "name": "user_emails", "required": false, "schema": {"default": [], "items": {"description": "User email address", "type": "string"}, "type": "array"}, "style": "form"}, {"description": "Filter usage by source - API for programmatic API usage, APP for web application usage. Defaults to API.", "in": "query", "name": "source", "required": false, "schema": {"$ref": "#/components/schemas/UsageSource"}}], "responses": {"200": {"content": {"application/json": {"example": {"usage_segments": [{"segment_start": "2023-08-09T00:00:00+00:00", "segment_end": "2023-08-09T23:59:59+00:00", "tool_usage": [{"full_tool_name": "Turbo Image Generation V3", "amount": {"currency_code": "USD", "amount": 1250}}, {"full_tool_name": "Upscale Image V1", "amount": {"currency_code": "USD", "amount": 750}}, {"full_tool_name": "Balanced Edit Image V2", "amount": {"currency_code": "USD", "amount": 500}}]}, {"segment_start": "2023-08-10T00:00:00+00:00", "segment_end": "2023-08-10T23:59:59+00:00", "tool_usage": [{"full_tool_name": "generate", "amount": {"currency_code": "USD", "amount": 2000}}]}]}, "schema": {"$ref": "#/components/schemas/GetUsageInfoResponse"}}}, "description": "Usage information retrieved successfully"}, "401": {"description": "Not authorized"}, "403": {"description": "Not authorized"}}, "security": [{"BearerAuth": []}], "summary": "Retrieve usage information segmented by time period with tool-specific breakdowns", "tags": ["manage"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.manage_controller"}}, "/reframe": {"post": {"description": "Reframe a square image to a chosen resolution. The supported image formats include JPEG, PNG, and WebP.\n\nImage links are available for a limited period of time; if you would like to keep the image, you must download it.\n", "operationId": "post_reframe_image", "requestBody": {"content": {"multipart/form-data": {"schema": {"$ref": "#/components/schemas/ReframeImageRequest"}}}, "description": "A request to reframe an image in a new resolution.", "required": true, "x-body-name": "body"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageResponse"}}}, "description": "Image re-frames generated successfully."}, "400": {"description": "Invalid input provided."}, "401": {"description": "Not authorized to generate an image."}, "422": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageSafetyError"}}}, "description": "Prompt or Image failed the safety checks."}, "429": {"description": "Too many requests."}}, "summary": "Reframe (legacy)", "tags": ["generate"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.generate_controller"}}, "/remix": {"post": {"description": "Remix provided images synchronously based on a given prompt and optional parameters.\n\nInput images are cropped to the chosen aspect ratio before being remixed.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n", "operationId": "post_remix_image", "requestBody": {"content": {"multipart/form-data": {"encoding": {"image_request": {"contentType": "application/json", "style": "form"}}, "schema": {"$ref": "#/components/schemas/RemixImageRequest"}}}, "description": "A request to remix a provided image with Ideogram. Input images are cropped to the chosen aspect ratio before being remixed.", "required": true}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageResponse"}}}, "description": "Image(s) generated successfully."}, "400": {"description": "Invalid input provided."}, "403": {"description": "Not authorized to generate an image."}, "422": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageSafetyError"}}}, "description": "Prompt or provided image failed safety check."}, "429": {"description": "Too many requests."}}, "summary": "Remix (legacy)", "tags": ["generate"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.generate_controller"}}, "/upscale": {"post": {"description": "Upscale provided images synchronously with an optional prompt.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n", "operationId": "post_upscale_image", "requestBody": {"content": {"multipart/form-data": {"encoding": {"image_request": {"contentType": "application/json", "style": "form"}}, "schema": {"$ref": "#/components/schemas/UpscaleImageRequest"}}}, "description": "A request to upscale a provided image with Ideogram.", "required": true}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageResponse"}}}, "description": "Image(s) generated successfully."}, "400": {"description": "Invalid input provided."}, "403": {"description": "Not authorized to generate an image."}, "422": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageSafetyError"}}}, "description": "Prompt or provided image failed safety check."}, "429": {"description": "Too many requests."}}, "summary": "Upscale", "tags": ["generate"], "x-fern-examples": [{"request": {"image_request": {"resemblance": 55, "detail": 90}}, "response": {"body": {"created": "2000-01-23T04:56:07+00:00", "data": [{"prompt": "A photo of a cat", "resolution": "1280x800", "is_image_safe": true, "seed": 12345, "url": "https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89", "style_type": "GENERAL"}]}}, "code-samples": [{"sdk": "curl", "code": "curl -X POST https://api.ideogram.ai/upscale \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F image_file=@ \\\n -F image_request='{\n \"resemblance\": 55,\n \"detail\": 90\n }'\n"}, {"sdk": "python", "code": "import requests\nimport json\n\nresponse = requests.post(\n \"https://api.ideogram.ai/upscale\",\n headers={\n \"Api-Key\": \"\"\n },\n data={\n \"image_request\": json.dumps({\n \"resemblance\": 55,\n \"detail\": 90\n })\n },\n files={\n \"image_file\": open(\"\", \"rb\")\n }\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n"}, {"sdk": "typescript", "code": "const formData = new FormData();\nformData.append('image_request', JSON.stringify({\n resemblance: 55,\n detail: 90\n}));\nformData.append('image_file', new Blob([fs.readFileSync(\"\")], {\n type: 'image/png'\n}));\nconst response = await fetch('https://api.ideogram.ai/upscale', {\n method: 'POST',\n headers: { 'Api-Key': '' },\n body: formData\n});\nconst data = await response.json();\nconsole.log(data);\n"}]}], "x-openapi-router-controller": "external_api.generated.openapi.controllers.generate_controller"}}, "/v1/ideogram-v3/edit": {"post": {"description": "Edit a given image synchronously using the provided mask with Ideogram 3.0. The mask indicates which part of the image\nshould be edited, while the prompt and chosen style can further guide the edit.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n", "operationId": "post_edit_image_v3", "requestBody": {"content": {"multipart/form-data": {"encoding": {"color_palette": {"contentType": "application/json", "style": "form"}}, "schema": {"$ref": "#/components/schemas/EditImageRequestV3"}}}, "description": "A request to edit an image with Ideogram 3.0.", "required": true, "x-body-name": "body"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageGenerationResponseV3"}}}, "description": "Image edits generated successfully."}, "400": {"description": "Invalid input provided."}, "401": {"description": "Not authorized to generate an image."}, "422": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageSafetyError"}}}, "description": "Prompt or Initial Image failed the safety checks."}, "429": {"description": "Too many requests."}}, "summary": "Edit with Ideogram 3.0", "tags": ["generate"], "x-fern-examples": [{"request": {"prompt": "A photo of a cat wearing a hat.", "style_type": "AUTO"}, "response": {"body": {"created": "2000-01-23T04:56:07+00:00", "data": [{"prompt": "A photo of a cat wearing a hat.", "resolution": "1024x1024", "is_image_safe": true, "seed": 12345, "url": "https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89", "style_type": "AUTO"}]}}, "code-samples": [{"sdk": "curl", "code": "curl -X POST https://api.ideogram.ai/v1/ideogram-v3/edit \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F image=@ \\\n -F mask=@ \\\n -F prompt=\"A photo of a cat wearing a hat.\" \\\n -F rendering_speed=\"DEFAULT\"\n"}, {"sdk": "python", "code": "import requests\n\nresponse = requests.post(\n \"https://api.ideogram.ai/v1/ideogram-v3/edit\",\n headers={\n \"Api-Key\": \"\"\n },\n data={\n \"prompt\": \"A photo of a cat wearing a hat.\",\n \"rendering_speed\": \"DEFAULT\"\n },\n files={\n \"image\": open(\"\", \"rb\"),\n \"mask\": open(\"\", \"rb\"),\n }\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n"}, {"sdk": "typescript", "code": "const formData = new FormData();\nformData.append('prompt', 'A photo of a cat');\nformData.append('rendering_speed', 'TURBO');\nconst response = await fetch('https://api.ideogram.ai/v1/ideogram-v3/edit', {\n method: 'POST',\n headers: { 'Api-Key': '' },\n body: formData\n});\nconst data = await response.json();\nconsole.log(data);\n"}]}], "x-openapi-router-controller": "external_api.generated.openapi.controllers.generate_controller"}}, "/v1/ideogram-v3/generate": {"post": {"description": "Generates images synchronously based on a given prompt and optional parameters using the Ideogram 3.0 model.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n", "operationId": "post_generate_image_v3", "requestBody": {"content": {"multipart/form-data": {"encoding": {"color_palette": {"contentType": "application/json", "style": "form"}}, "schema": {"$ref": "#/components/schemas/GenerateImageRequestV3"}}, "application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageRequestV3"}}}, "description": "A request to generate an image with Ideogram 3.0.", "required": true, "x-body-name": "body"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageGenerationResponseV3"}}}, "description": "Image(s) generated successfully."}, "400": {"description": "Invalid input provided."}, "401": {"description": "Not authorized to generate an image."}, "422": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageSafetyError"}}}, "description": "Prompt failed the safety check."}, "429": {"description": "Too many requests."}}, "summary": "Generate with Ideogram 3.0", "tags": ["generate"], "x-fern-examples": [{"request": {"prompt": "A photo of a cat sleeping on a couch.", "rendering_speed": "TURBO", "aspect_ratio": "1x1", "style_type": "AUTO"}, "response": {"body": {"created": "2000-01-23T04:56:07+00:00", "data": [{"prompt": "A photo of a cat sleeping on a couch.", "resolution": "1024x1024", "is_image_safe": true, "seed": 12345, "url": "https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89", "style_type": "GENERAL"}]}}, "code-samples": [{"sdk": "curl", "code": "curl -X POST https://api.ideogram.ai/v1/ideogram-v3/generate \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F prompt=\"A photo of a cat sleeping on a couch.\" \\\n -F rendering_speed=\"TURBO\"\n"}, {"sdk": "python", "code": "import requests\n\n# Generate with Ideogram 3.0 (POST /v1/ideogram-v3/generate)\nresponse = requests.post(\n \"https://api.ideogram.ai/v1/ideogram-v3/generate\",\n headers={\n \"Api-Key\": \"\"\n },\n json={\n \"prompt\": \"A picture of a cat\",\n \"rendering_speed\": \"TURBO\"\n }\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n\n# Generate with style reference images\nresponse = requests.post(\n \"https://api.ideogram.ai/v1/ideogram-v3/generate\",\n headers={\n \"Api-Key\": \"\"\n },\n data={\n \"prompt\": \"A picture of a cat\",\n \"aspect_ratio\": \"3x1\"\n },\n files=[\n (\"style_reference_images\", open(\"style_reference_image_1.png\", \"rb\")),\n (\"style_reference_images\", open(\"style_reference_image_2.png\", \"rb\")),\n ]\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n"}, {"sdk": "typescript", "code": "const formData = new FormData();\nformData.append('prompt', 'A photo of a cat');\nformData.append('rendering_speed', 'TURBO');\n// To add style reference images, uncomment the following lines\n// formData.append('style_reference_images', '');\n// formData.append('style_reference_images', '');\nconst response = await fetch('https://api.ideogram.ai/v1/ideogram-v3/generate', {\n method: 'POST',\n headers: { 'Api-Key': '' },\n body: formData\n});\nconst data = await response.json();\nconsole.log(data);\n"}]}], "x-openapi-router-controller": "external_api.generated.openapi.controllers.generate_controller"}}, "/v1/ideogram-v3/generate-design": {"post": {"description": "Generates a design synchronously from a text prompt using the Ideogram 3.0 model, then detects and corrects text layers within the generated image.\n\nThe response includes the generated image URL along with detected text layers (with font, size, color, position) and image asset layers.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n", "operationId": "post_generate_design_v3", "requestBody": {"content": {"multipart/form-data": {"encoding": {"color_palette": {"contentType": "application/json", "style": "form"}}, "schema": {"$ref": "#/components/schemas/GenerateDesignRequestV3"}}, "application/json": {"schema": {"$ref": "#/components/schemas/GenerateDesignRequestV3"}}}, "description": "A request to generate a design with Ideogram 3.0.", "required": true, "x-body-name": "body"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/LayeredImageGenerationResponseV3"}}}, "description": "Design(s) generated successfully with text correction."}, "400": {"description": "Invalid input provided."}, "401": {"description": "Not authorized to generate an image."}, "422": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageSafetyError"}}}, "description": "Prompt failed the safety check."}, "429": {"description": "Too many requests."}}, "summary": "Generate a design from a text prompt with text detection and correction", "tags": ["generate"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.generate_controller"}}, "/v1/ideogram-v3/generate-transparent": {"post": {"description": "Generates images with transparent background synchronously based on a given prompt and optional parameters using\nthe Ideogram 3.0 model. Images will be generated using maximum supported resolution at the specified aspect ratio\nto allow best results with upscaler. The selected resolution is written to the response, not the upscaled final\nresolution.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n", "operationId": "post_generate_image_v3_transparent", "requestBody": {"content": {"multipart/form-data": {"schema": {"$ref": "#/components/schemas/GenerateTransparentImageRequestV3"}}, "application/json": {"schema": {"$ref": "#/components/schemas/GenerateTransparentImageRequestV3"}}}, "description": "A request to generate an image with transparent background using Ideogram 3.0, with optional upscaling.", "required": true, "x-body-name": "body"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageGenerationResponseV3"}}}, "description": "Image(s) generated successfully."}, "400": {"description": "Invalid input provided."}, "401": {"description": "Not authorized to generate an image."}, "422": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageSafetyError"}}}, "description": "Prompt failed the safety check."}, "429": {"description": "Too many requests."}}, "summary": "Generate with Ideogram 3.0 (Transparent Background)", "tags": ["generate"], "x-fern-examples": [{"request": {"prompt": "A logo for Ideogram Coffee.", "rendering_speed": "TURBO", "aspect_ratio": "1x1", "upscale_factor": "X2"}, "response": {"body": {"created": "2000-01-23T04:56:07+00:00", "data": [{"prompt": "A logo for Ideogram Coffee.", "resolution": "1024x1024", "upscaled_resolution": "2048x2028", "is_image_safe": true, "seed": 12345, "url": "https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89"}]}}, "code-samples": [{"sdk": "curl", "code": "curl -X POST https://api.ideogram.ai/v1/ideogram-v3/generate-transparent \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F prompt=\"A logo for Ideogram Coffee.\" \\\n -F rendering_speed=\"TURBO\"\n"}, {"sdk": "python", "code": "import requests\n\n# Generate with Ideogram 3.0 (POST /v1/ideogram-v3/generate-transparent)\nresponse = requests.post(\n \"https://api.ideogram.ai/v1/ideogram-v3/generate-transparent\",\n headers={\n \"Api-Key\": \"\"\n },\n json={\n \"prompt\": \"A logo for Ideogram Coffee.\",\n \"rendering_speed\": \"TURBO\"\n }\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n"}, {"sdk": "typescript", "code": "const formData = new FormData();\nformData.append('prompt', 'A logo for Ideogram Coffee.');\nformData.append('rendering_speed', 'TURBO');\nconst response = await fetch('https://api.ideogram.ai/v1/ideogram-v3/generate-transparent', {\n method: 'POST',\n headers: { 'Api-Key': '' },\n body: formData\n});\nconst data = await response.json();\nconsole.log(data);\n"}]}], "x-openapi-router-controller": "external_api.generated.openapi.controllers.generate_controller"}}, "/v1/ideogram-v3/graphic": {"post": {"deprecated": true, "description": "Deprecated: Use /v1/ideogram-v3/generate-design for text-to-design or /v1/ideogram-v3/layerize-design for image-to-design.\n\nGenerates graphics synchronously based on a given prompt and optional parameters using the Ideogram 3.0 model, with text detection and correction capabilities.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n", "operationId": "post_generate_graphic_v3", "requestBody": {"content": {"multipart/form-data": {"encoding": {"color_palette": {"contentType": "application/json", "style": "form"}}, "schema": {"$ref": "#/components/schemas/GenerateGraphicRequestV3"}}, "application/json": {"schema": {"$ref": "#/components/schemas/GenerateGraphicRequestV3"}}}, "description": "A request to generate a graphic with Ideogram 3.0.", "required": true, "x-body-name": "body"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/LayeredImageGenerationResponseV3"}}}, "description": "Graphic(s) generated successfully with text correction."}, "400": {"description": "Invalid input provided."}, "401": {"description": "Not authorized to generate an image."}, "422": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageSafetyError"}}}, "description": "Prompt failed the safety check."}, "429": {"description": "Too many requests."}}, "summary": "Generate graphics with Ideogram 3.0 and text correction", "tags": ["generate"], "x-fern-examples": [{"request": {"prompt": "A birthday card saying 'Happy Birthday'", "rendering_speed": "TURBO", "aspect_ratio": "1x1", "style_type": "AUTO"}, "response": {"body": {"created": "2000-01-23T04:56:07+00:00", "data": [{"prompt": "A birthday card saying 'Happy Birthday'", "resolution": "1024x1024", "is_image_safe": true, "seed": 12345, "url": "https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89", "style_type": "GENERAL"}]}}, "code-samples": [{"sdk": "curl", "code": "curl -X POST https://api.ideogram.ai/v1/ideogram-v3/graphic \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F prompt=\"A birthday card saying 'Happy Birthday'\" \\\n -F rendering_speed=\"TURBO\"\n"}, {"sdk": "python", "code": "import requests\n\nresponse = requests.post(\n \"https://api.ideogram.ai/v1/ideogram-v3/graphic\",\n headers={\n \"Api-Key\": \"\"\n },\n json={\n \"prompt\": \"A birthday card saying 'Happy Birthday'\",\n \"rendering_speed\": \"TURBO\"\n }\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n"}, {"sdk": "typescript", "code": "const formData = new FormData();\nformData.append('prompt', 'A birthday card saying Happy Birthday');\nformData.append('rendering_speed', 'TURBO');\nconst response = await fetch('https://api.ideogram.ai/v1/ideogram-v3/graphic', {\n method: 'POST',\n headers: { 'Api-Key': '' },\n body: formData\n});\nconst data = await response.json();\nconsole.log(data);\n"}]}], "x-openapi-router-controller": "external_api.generated.openapi.controllers.generate_controller"}}, "/v1/ideogram-v3/layerize-design": {"post": {"description": "Processes an existing flat graphic image to detect and correct text layers without generating a new image from scratch.\n\nThe uploaded image is analyzed for text content, which is then removed and returned as structured text layers with font matching, sizing, and color information.\n\nSupported image formats include JPEG, PNG, and WebP (max size 10MB).\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n", "operationId": "post_layerize_design_v3", "requestBody": {"content": {"multipart/form-data": {"schema": {"$ref": "#/components/schemas/LayerizeDesignRequestV3"}}}, "description": "A request to layerize an existing flat graphic image.", "required": true, "x-body-name": "body"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/LayeredImageGenerationResponseV3"}}}, "description": "Design layerized successfully with text correction."}, "400": {"description": "Invalid input provided."}, "401": {"description": "Not authorized to generate an image."}, "429": {"description": "Too many requests."}}, "summary": "Layerize an existing flat graphic image with text detection and correction", "tags": ["generate"], "x-openapi-router-controller": "external_api.generated.openapi.controllers.generate_controller"}}, "/v1/ideogram-v3/reframe": {"post": {"description": "Reframe a square image to a chosen resolution with Ideogram 3.0. The supported image formats include JPEG, PNG, and WebP.\n\nImage links are available for a limited period of time; if you would like to keep the image, you must download it.\n", "operationId": "post_reframe_image_v3", "requestBody": {"content": {"multipart/form-data": {"encoding": {"color_palette": {"contentType": "application/json", "style": "form"}}, "schema": {"$ref": "#/components/schemas/ReframeImageRequestV3"}}}, "description": "A request to reframe an image in a new resolution.", "required": true, "x-body-name": "body"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageGenerationResponseV3"}}}, "description": "Image re-frames generated successfully."}, "400": {"description": "Invalid input provided."}, "401": {"description": "Not authorized to generate an image."}, "422": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageSafetyError"}}}, "description": "Prompt or Image failed the safety checks."}, "429": {"description": "Too many requests."}}, "summary": "Reframe with Ideogram 3.0", "tags": ["generate"], "x-fern-examples": [{"request": {"resolution": "512x1536"}, "response": {"body": {"created": "2000-01-23T04:56:07+00:00", "data": [{"prompt": "A photo of a cat", "resolution": "1280x800", "is_image_safe": true, "seed": 12345, "url": "https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89", "style_type": "GENERAL"}]}}, "code-samples": [{"sdk": "curl", "code": "curl -X POST https://api.ideogram.ai/v1/ideogram-v3/reframe \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F image=@ \\\n -F resolution=\"512x1536\"\n"}, {"sdk": "python", "code": "import requests\n\nresponse = requests.post(\n \"https://api.ideogram.ai/v1/ideogram-v3/reframe\",\n headers={\n \"Api-Key\": \"\"\n },\n data={\n \"resolution\": \"512x1536\"\n },\n files={\n \"image\": open(\"\", \"rb\"),\n }\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n"}, {"sdk": "typescript", "code": "const formData = new FormData();\nformData.append('resolution', '512x1536');\nformData.append('image', '');\nconst response = await fetch('https://api.ideogram.ai/v1/ideogram-v3/reframe', {\n method: 'POST',\n headers: { 'Api-Key': '' },\n body: formData\n});\nconst data = await response.json();\nconsole.log(data);\n"}]}], "x-openapi-router-controller": "external_api.generated.openapi.controllers.generate_controller"}}, "/v1/ideogram-v3/remix": {"post": {"description": "Remix provided images synchronously based on a given prompt and optional parameters with the Ideogram 3.0 model.\n\nInput images are cropped to the chosen aspect ratio before being remixed.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n", "operationId": "post_remix_image_v3", "requestBody": {"content": {"multipart/form-data": {"encoding": {"color_palette": {"contentType": "application/json", "style": "form"}}, "schema": {"$ref": "#/components/schemas/RemixImageRequestV3"}}}, "description": "A request to remix an image with Ideogram 3.0.", "required": true, "x-body-name": "body"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageGenerationResponseV3"}}}, "description": "Image(s) generated successfully."}, "400": {"description": "Invalid input provided."}, "403": {"description": "Not authorized to generate an image."}, "422": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageSafetyError"}}}, "description": "Prompt or provided image failed safety check."}, "429": {"description": "Too many requests."}}, "summary": "Remix with Ideogram 3.0", "tags": ["generate"], "x-fern-examples": [{"request": {"prompt": "A photo of a cat", "rendering_speed": "DEFAULT", "image_weight": 50, "aspect_ratio": "1x2", "style_type": "AUTO"}, "response": {"body": {"created": "2000-01-23T04:56:07+00:00", "data": [{"prompt": "A photo of a cat", "resolution": "1280x800", "is_image_safe": true, "seed": 12345, "url": "https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89", "style_type": "GENERAL"}]}}, "code-samples": [{"sdk": "curl", "code": "curl -X POST https://api.ideogram.ai/v1/ideogram-v3/remix \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F image=@ \\\n -F prompt=\"A photo of a cat\" \\\n -F rendering_speed=\"TURBO\"\n"}, {"sdk": "python", "code": "import requests\n\nresponse = requests.post(\n \"https://api.ideogram.ai/v1/ideogram-v3/remix\",\n headers={\n \"Api-Key\": \"\"\n },\n data={\n \"prompt\": \"A photo of a cat\",\n \"rendering_speed\": \"TURBO\"\n },\n files={\n \"image\": open(\"\", \"rb\"),\n }\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n"}, {"sdk": "typescript", "code": "const formData = new FormData();\nformData.append('prompt', 'A photo of a cat');\nformData.append('rendering_speed', 'TURBO');\nformData.append('image', '');\nconst response = await fetch('https://api.ideogram.ai/v1/ideogram-v3/remix', {\n method: 'POST',\n headers: { 'Api-Key': '' },\n body: formData\n});\nconst data = await response.json();\nconsole.log(data);\n"}]}], "x-openapi-router-controller": "external_api.generated.openapi.controllers.generate_controller"}}, "/v1/ideogram-v3/replace-background": {"post": {"description": "Replace the background of a given image synchronously using a prompt with Ideogram 3.0. The foreground subject\nwill be identified and kept, while the background is replaced based on the prompt and chosen style.\nSupported image formats include JPEG, PNG, and WebP.\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n", "operationId": "post_replace_background_v3", "requestBody": {"content": {"multipart/form-data": {"encoding": {"color_palette": {"contentType": "application/json", "style": "form"}}, "schema": {"$ref": "#/components/schemas/ReplaceBackgroundRequestV3"}}}, "description": "A request to replace the background of an image with Ideogram 3.0.", "required": true, "x-body-name": "body"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageGenerationResponseV3"}}}, "description": "Background replacement generated successfully."}, "400": {"description": "Invalid input provided."}, "401": {"description": "Not authorized to generate an image."}, "422": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageSafetyError"}}}, "description": "Prompt or Initial Image failed the safety checks."}, "429": {"description": "Too many requests."}}, "summary": "Replace Background with Ideogram 3.0", "tags": ["generate"], "x-fern-examples": [{"request": {"prompt": "Add a forest in the background", "magic_prompt": "ON", "rendering_speed": "QUALITY"}, "response": {"body": {"created": "2000-01-23T04:56:07+00:00", "data": [{"prompt": "Add a forest in the background", "resolution": "1280x800", "is_image_safe": true, "seed": 12345, "url": "https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89", "style_type": "GENERAL"}]}}, "code-samples": [{"sdk": "curl", "code": "curl -X POST https://api.ideogram.ai/v1/ideogram-v3/replace-background \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F image=@ \\\n -F prompt=\"Add a forest in the background\"\n"}, {"sdk": "python", "code": "import requests\n\nresponse = requests.post(\n \"https://api.ideogram.ai/v1/ideogram-v3/replace-background\",\n headers={\n \"Api-Key\": \"\" \n },\n data={\n \"prompt\": \"Add a forest in the background\",\n \"magic_prompt\": \"ON\"\n },\n files={\n \"image\": open(\"\", \"rb\"),\n }\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n"}, {"sdk": "typescript", "code": "const formData = new FormData();\nformData.append('prompt', 'Add a forest in the background');\nformData.append('image', '');\nconst response = await fetch('https://api.ideogram.ai/v1/ideogram-v3/replace-background', {\n method: 'POST',\n headers: { 'Api-Key': '' },\n body: formData\n});\nconst data = await response.json();\nconsole.log(data);\n"}]}], "x-openapi-router-controller": "external_api.generated.openapi.controllers.generate_controller"}}, "/v1/ideogram-v3/try-on": {"post": {"description": "Performs virtual clothing try-on by automatically segmenting the clothing in the provided image\nand replacing it based on the prompt. The user provides an image and an optional prompt describing\nthe desired clothing change (e.g., \"change his shirt to a pink shirt\").\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n", "operationId": "post_try_on_v3", "requestBody": {"content": {"multipart/form-data": {"schema": {"$ref": "#/components/schemas/TryOnRequestV3"}}}, "description": "A request to perform virtual try-on with Ideogram 3.0.", "required": true, "x-body-name": "body"}, "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageGenerationResponseV3"}}}, "description": "Try-on completed successfully."}, "400": {"description": "Invalid input provided."}, "401": {"description": "Not authorized to generate an image."}, "422": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GenerateImageSafetyError"}}}, "description": "Prompt or provided image failed safety check, or clothing segmentation failed."}, "429": {"description": "Too many requests."}}, "summary": "Virtual Try-On with Ideogram 3.0", "tags": ["generate"], "x-fern-examples": [{"request": {"prompt": "Change his shirt to a pink shirt", "rendering_speed": "DEFAULT"}, "response": {"body": {"created": "2000-01-23T04:56:07+00:00", "data": [{"prompt": "Change his shirt to a pink shirt", "resolution": "1024x1024", "is_image_safe": true, "seed": 12345, "url": "https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89", "style_type": "AUTO"}]}}, "code-samples": [{"sdk": "curl", "code": "curl -X POST https://api.ideogram.ai/v1/ideogram-v3/try-on \\\n -H \"Api-Key: \" \\\n -H \"Content-Type: multipart/form-data\" \\\n -F image=@ \\\n -F prompt=\"Change his shirt to a pink shirt\" \\\n -F rendering_speed=\"DEFAULT\"\n"}, {"sdk": "python", "code": "import requests\n\nresponse = requests.post(\n \"https://api.ideogram.ai/v1/ideogram-v3/try-on\",\n headers={\n \"Api-Key\": \"\"\n },\n data={\n \"prompt\": \"Change his shirt to a pink shirt\",\n \"rendering_speed\": \"DEFAULT\"\n },\n files={\n \"image\": open(\"\", \"rb\"),\n }\n)\nprint(response.json())\nwith open('output.png', 'wb') as f:\n f.write(requests.get(response.json()['data'][0]['url']).content)\n"}, {"sdk": "typescript", "code": "const formData = new FormData();\nformData.append('prompt', 'Change his shirt to a pink shirt');\nformData.append('rendering_speed', 'DEFAULT');\nformData.append('image', '');\nconst response = await fetch('https://api.ideogram.ai/v1/ideogram-v3/try-on', {\n method: 'POST',\n headers: { 'Api-Key': '' },\n body: formData\n});\nconst data = await response.json();\nconsole.log(data);\n"}]}], "x-openapi-router-controller": "external_api.generated.openapi.controllers.generate_controller"}}}, "components": {"schemas": {"DescribeResponse": {"description": "The response for a describe request encapsulates a list of descriptions.", "example": {"descriptions": [{"text": "A meticulously illustrated cat with striped patterns, sitting upright. The cat's eyes are a captivating shade of yellow, and it appears to be gazing intently at something. The background consists of abstract, swirling patterns in shades of black, white, and beige, creating an almost fluid or wavy appearance. The cat is positioned in the foreground, with the background elements fading into the distance, giving a sense of depth to the image."}]}, "properties": {"descriptions": {"description": "A collection of descriptions for given content.", "items": {"$ref": "#/components/schemas/Description"}, "type": "array"}}, "title": "DescribeResponse", "type": "object"}, "DescribeRequest": {"properties": {"image_file": {"description": "An image binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.", "format": "binary", "type": "string"}, "describe_model_version": {"$ref": "#/components/schemas/DescribeModelVersion"}}, "required": ["image_file"], "type": "object"}, "EditImageRequest": {"properties": {"image_file": {"description": "An image binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.", "format": "binary", "type": "string"}, "mask": {"description": "A black and white image of the same size as the image being edited (max size 10MB). Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time.", "format": "binary", "type": "string"}, "prompt": {"description": "The prompt used to describe the edited result.", "example": "A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there is an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.", "type": "string"}, "model": {"$ref": "#/components/schemas/ModelEnum"}, "magic_prompt_option": {"$ref": "#/components/schemas/MagicPromptOption"}, "num_images": {"$ref": "#/components/schemas/NumImages"}, "seed": {"$ref": "#/components/schemas/Seed"}, "style_type": {"$ref": "#/components/schemas/StyleType"}}, "required": ["image_file", "mask", "model", "prompt"], "type": "object"}, "GenerateImageRequest": {"example": {"image_request": {"aspect_ratio": "ASPECT_10_16", "magic_prompt_option": "AUTO", "model": "V_2", "prompt": "A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there is an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset."}}, "properties": {"image_request": {"$ref": "#/components/schemas/ImageRequest"}}, "required": ["image_request"], "title": "GenerateImageRequest", "type": "object"}, "GenerateImageRequestV3": {"properties": {"prompt": {"description": "The prompt to use to generate the image.", "example": "A photo of a cat", "type": "string"}, "seed": {"description": "Random seed. Set for reproducible generation.", "example": 12345, "maximum": 2147483647, "minimum": 0, "title": "Seed", "type": "integer"}, "resolution": {"$ref": "#/components/schemas/ResolutionV3"}, "aspect_ratio": {"$ref": "#/components/schemas/AspectRatioV3"}, "rendering_speed": {"$ref": "#/components/schemas/RenderingSpeed"}, "magic_prompt": {"$ref": "#/components/schemas/MagicPromptOption"}, "negative_prompt": {"description": "Description of what to exclude from an image. Descriptions in the prompt take precedence\nto descriptions in the negative prompt.\n", "example": "brush strokes, painting", "type": "string"}, "num_images": {"default": 1, "description": "Number of images to generate.", "maximum": 8, "minimum": 1, "type": "integer"}, "color_palette": {"$ref": "#/components/schemas/ColorPaletteWithPresetNameOrMembers"}, "style_codes": {"description": "A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.", "example": ["AAFF5733", "0133FF57", "DE3357FF"], "items": {"$ref": "#/components/schemas/StyleCode"}, "type": "array"}, "style_type": {"$ref": "#/components/schemas/StyleTypeV3"}, "style_preset": {"$ref": "#/components/schemas/StylePresetV3"}, "custom_model_uri": {"description": "A custom model URI in the format model//version/. \nWhen provided, the model version and style will be resolved from this URI, and style_type is not required.\n", "example": "model/my-custom-model/version/1", "type": "string"}, "style_reference_images": {"description": "A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format.", "items": {"format": "binary", "type": "string"}, "type": "array"}, "character_reference_images": {"description": "Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format.", "items": {"format": "binary", "type": "string"}, "type": "array"}, "character_reference_images_mask": {"description": "Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format.", "items": {"format": "binary", "type": "string"}, "type": "array"}}, "required": ["prompt"], "type": "object"}, "GenerateGraphicRequestV3": {"properties": {"prompt": {"description": "The prompt to use to generate the graphic.", "example": "A birthday card saying 'Happy Birthday'", "type": "string"}, "seed": {"description": "Random seed. Set for reproducible generation.", "example": 12345, "maximum": 2147483647, "minimum": 0, "title": "Seed", "type": "integer"}, "resolution": {"$ref": "#/components/schemas/ResolutionV3"}, "aspect_ratio": {"$ref": "#/components/schemas/AspectRatioV3"}, "rendering_speed": {"$ref": "#/components/schemas/RenderingSpeed"}, "magic_prompt": {"$ref": "#/components/schemas/MagicPromptOption"}, "negative_prompt": {"description": "Description of what to exclude from a graphic. Descriptions in the prompt take precedence\nto descriptions in the negative prompt.\n", "example": "brush strokes, painting", "type": "string"}, "num_images": {"default": 1, "description": "Number of graphics to generate.", "maximum": 8, "minimum": 1, "type": "integer"}, "color_palette": {"$ref": "#/components/schemas/ColorPaletteWithPresetNameOrMembers"}, "style_codes": {"description": "A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.", "example": ["AAFF5733", "0133FF57", "DE3357FF"], "items": {"$ref": "#/components/schemas/StyleCode"}, "type": "array"}, "style_type": {"$ref": "#/components/schemas/StyleTypeV3"}, "style_preset": {"$ref": "#/components/schemas/StylePresetV3"}, "custom_model_uri": {"description": "A custom model URI in the format model//version/. \nWhen provided, the model version and style will be resolved from this URI, and style_type is not required.\n", "example": "model/my-custom-model/version/1", "type": "string"}, "flat_graphic_image": {"description": "An existing flat graphic image to process for text detection and correction without generating a new image. When provided, image generation is bypassed. The image should be in JPEG, PNG or WebP format (max size 10MB).", "format": "binary", "type": "string"}, "font_file_h1": {"description": "Custom font file for H1 (heading) text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_h1.", "format": "binary", "type": "string"}, "font_name_h1": {"description": "Font name from the available font library for H1 text. Ignored if font_file_h1 is provided.", "example": "Ubuntu-Bold.ttf", "type": "string"}, "font_file_h2": {"description": "Custom font file for H2 (subheading) text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_h2.", "format": "binary", "type": "string"}, "font_name_h2": {"description": "Font name from the available font library for H2 text. Ignored if font_file_h2 is provided.", "type": "string"}, "font_file_body": {"description": "Custom font file for body text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_body.", "format": "binary", "type": "string"}, "font_name_body": {"description": "Font name from the available font library for body text. Ignored if font_file_body is provided.", "type": "string"}, "font_file_small": {"description": "Custom font file for small/caption text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_small.", "format": "binary", "type": "string"}, "font_name_small": {"description": "Font name from the available font library for small text. Ignored if font_file_small is provided.", "type": "string"}, "style_reference_images": {"description": "A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format.", "items": {"format": "binary", "type": "string"}, "type": "array"}, "reference_asset_images": {"description": "A set of asset images (e.g., logos, icons) to use as references for detection and replacement (maximum 10 images). The images should be in JPEG, PNG or WebP format.", "items": {"format": "binary", "type": "string"}, "type": "array"}}, "type": "object"}, "GenerateDesignRequestV3": {"properties": {"prompt": {"description": "The prompt to use to generate the design.", "example": "A birthday card saying 'Happy Birthday'", "type": "string"}, "seed": {"description": "Random seed. Set for reproducible generation.", "example": 12345, "maximum": 2147483647, "minimum": 0, "title": "Seed", "type": "integer"}, "resolution": {"$ref": "#/components/schemas/ResolutionV3"}, "aspect_ratio": {"$ref": "#/components/schemas/AspectRatioV3"}, "rendering_speed": {"$ref": "#/components/schemas/RenderingSpeed"}, "magic_prompt": {"$ref": "#/components/schemas/MagicPromptOption"}, "negative_prompt": {"description": "Description of what to exclude from a design. Descriptions in the prompt take precedence\nto descriptions in the negative prompt.\n", "example": "brush strokes, painting", "type": "string"}, "num_images": {"default": 1, "description": "Number of designs to generate.", "maximum": 8, "minimum": 1, "type": "integer"}, "color_palette": {"$ref": "#/components/schemas/ColorPaletteWithPresetNameOrMembers"}, "style_codes": {"description": "A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.", "example": ["AAFF5733", "0133FF57", "DE3357FF"], "items": {"$ref": "#/components/schemas/StyleCode"}, "type": "array"}, "style_type": {"$ref": "#/components/schemas/StyleTypeV3"}, "style_preset": {"$ref": "#/components/schemas/StylePresetV3"}, "custom_model_uri": {"description": "A custom model URI in the format model//version/. \nWhen provided, the model version and style will be resolved from this URI, and style_type is not required.\n", "example": "model/my-custom-model/version/1", "type": "string"}, "font_file_h1": {"description": "Custom font file for H1 (heading) text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_h1.", "format": "binary", "type": "string"}, "font_name_h1": {"description": "Font name from the available font library for H1 text. Ignored if font_file_h1 is provided.", "example": "Ubuntu-Bold.ttf", "type": "string"}, "font_file_h2": {"description": "Custom font file for H2 (subheading) text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_h2.", "format": "binary", "type": "string"}, "font_name_h2": {"description": "Font name from the available font library for H2 text. Ignored if font_file_h2 is provided.", "type": "string"}, "font_file_body": {"description": "Custom font file for body text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_body.", "format": "binary", "type": "string"}, "font_name_body": {"description": "Font name from the available font library for body text. Ignored if font_file_body is provided.", "type": "string"}, "font_file_small": {"description": "Custom font file for small/caption text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_small.", "format": "binary", "type": "string"}, "font_name_small": {"description": "Font name from the available font library for small text. Ignored if font_file_small is provided.", "type": "string"}, "style_reference_images": {"description": "A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format.", "items": {"format": "binary", "type": "string"}, "type": "array"}, "reference_asset_images": {"description": "A set of asset images (e.g., logos, icons) to use as references for detection and replacement (maximum 10 images). The images should be in JPEG, PNG or WebP format.", "items": {"format": "binary", "type": "string"}, "type": "array"}}, "required": ["prompt"], "type": "object"}, "LayerizeDesignRequestV3": {"properties": {"flat_graphic_image": {"description": "The flat graphic image to process for text detection and correction. The image should be in JPEG, PNG or WebP format (max size 10MB).", "format": "binary", "type": "string"}, "prompt": {"description": "An optional prompt to describe the image. If not provided, a prompt will be auto-generated from the image via captioning.", "type": "string"}, "seed": {"$ref": "#/components/schemas/Seed"}, "font_file_h1": {"description": "Custom font file for H1 (heading) text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_h1.", "format": "binary", "type": "string"}, "font_name_h1": {"description": "Font name from the available font library for H1 text. Ignored if font_file_h1 is provided.", "example": "Ubuntu-Bold.ttf", "type": "string"}, "font_file_h2": {"description": "Custom font file for H2 (subheading) text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_h2.", "format": "binary", "type": "string"}, "font_name_h2": {"description": "Font name from the available font library for H2 text. Ignored if font_file_h2 is provided.", "type": "string"}, "font_file_body": {"description": "Custom font file for body text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_body.", "format": "binary", "type": "string"}, "font_name_body": {"description": "Font name from the available font library for body text. Ignored if font_file_body is provided.", "type": "string"}, "font_file_small": {"description": "Custom font file for small/caption text. Supported formats .ttf, .otf, .woff, .woff2 (max 5MB). Takes priority over font_name_small.", "format": "binary", "type": "string"}, "font_name_small": {"description": "Font name from the available font library for small text. Ignored if font_file_small is provided.", "type": "string"}, "reference_asset_images": {"description": "A set of asset images (e.g., logos, icons) to use as references for detection and replacement (maximum 10 images). The images should be in JPEG, PNG or WebP format.", "items": {"format": "binary", "type": "string"}, "type": "array"}}, "required": ["flat_graphic_image"], "type": "object"}, "GenerateTransparentImageRequestV3": {"properties": {"prompt": {"description": "The prompt to use to generate the image.", "example": "A photo of a cat", "type": "string"}, "seed": {"description": "Random seed. Set for reproducible generation.", "example": 12345, "maximum": 2147483647, "minimum": 0, "title": "Seed", "type": "integer"}, "upscale_factor": {"$ref": "#/components/schemas/UpscaleFactor"}, "aspect_ratio": {"$ref": "#/components/schemas/AspectRatioV3"}, "rendering_speed": {"$ref": "#/components/schemas/RenderingSpeed"}, "magic_prompt": {"$ref": "#/components/schemas/MagicPromptOption"}, "negative_prompt": {"description": "Description of what to exclude from an image. Descriptions in the prompt take precedence\nto descriptions in the negative prompt.\n", "example": "brush strokes, painting", "type": "string"}, "num_images": {"default": 1, "description": "Number of images to generate.", "maximum": 8, "minimum": 1, "type": "integer"}, "custom_model_uri": {"description": "A custom model URI in the format model//version/. \nWhen provided, the model version and style will be resolved from this URI, and style_type is not required.\nA model must be able to generate transparent background to be used for this endpoint.\n", "example": "model/my-custom-model/version/1", "type": "string"}}, "required": ["prompt"], "type": "object"}, "RemixImageRequestV3": {"properties": {"image": {"description": "The image to remix binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.", "format": "binary", "type": "string"}, "prompt": {"description": "The prompt to use to generate the image.", "example": "A photo of a cat", "type": "string"}, "image_weight": {"default": 50, "example": 50, "maximum": 100, "minimum": 1, "type": "integer"}, "seed": {"$ref": "#/components/schemas/Seed"}, "resolution": {"$ref": "#/components/schemas/ResolutionV3"}, "aspect_ratio": {"$ref": "#/components/schemas/AspectRatioV3"}, "rendering_speed": {"$ref": "#/components/schemas/RenderingSpeed"}, "magic_prompt": {"$ref": "#/components/schemas/MagicPromptOption"}, "negative_prompt": {"description": "Description of what to exclude from an image. Descriptions in the prompt take precedence\nto descriptions in the negative prompt.\n", "example": "brush strokes, painting", "type": "string"}, "num_images": {"default": 1, "description": "Number of images to generate.", "maximum": 8, "minimum": 1, "type": "integer"}, "color_palette": {"$ref": "#/components/schemas/ColorPaletteWithPresetNameOrMembers"}, "style_codes": {"$ref": "#/components/schemas/StyleCodes"}, "style_type": {"$ref": "#/components/schemas/StyleTypeV3"}, "style_preset": {"$ref": "#/components/schemas/StylePresetV3"}, "custom_model_uri": {"description": "A custom model URI in the format model//version/. \nWhen provided, the model version and style will be resolved from this URI, and style_type is not required.\n", "example": "model/my-custom-model/version/1", "type": "string"}, "style_reference_images": {"description": "A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format.", "items": {"format": "binary", "type": "string"}, "type": "array"}, "character_reference_images": {"description": "Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format.", "items": {"format": "binary", "type": "string"}, "type": "array"}, "character_reference_images_mask": {"description": "Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format.", "items": {"format": "binary", "type": "string"}, "type": "array"}}, "required": ["image", "prompt"], "type": "object"}, "EditImageRequestV3": {"properties": {"image": {"description": "The image being edited (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.", "format": "binary", "type": "string"}, "mask": {"description": "A black and white image of the same size as the image being edited (max size 10MB). Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time.", "format": "binary", "type": "string"}, "prompt": {"description": "The prompt used to describe the edited result.", "example": "A photo of a cat.", "type": "string"}, "magic_prompt": {"$ref": "#/components/schemas/MagicPromptOption"}, "num_images": {"$ref": "#/components/schemas/NumImages"}, "seed": {"$ref": "#/components/schemas/Seed"}, "rendering_speed": {"$ref": "#/components/schemas/RenderingSpeed"}, "style_type": {"$ref": "#/components/schemas/StyleTypeV3"}, "style_preset": {"$ref": "#/components/schemas/StylePresetV3"}, "custom_model_uri": {"description": "A custom model URI in the format model//version/. \nWhen provided, the model version and style will be resolved from this URI, and style_type is not required.\n", "example": "model/my-custom-model/version/1", "type": "string"}, "color_palette": {"$ref": "#/components/schemas/ColorPaletteWithPresetNameOrMembers"}, "style_codes": {"$ref": "#/components/schemas/StyleCodes"}, "style_reference_images": {"description": "A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format.", "items": {"format": "binary", "type": "string"}, "type": "array"}, "character_reference_images": {"description": "Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format.", "items": {"format": "binary", "type": "string"}, "type": "array"}, "character_reference_images_mask": {"description": "Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format.", "items": {"format": "binary", "type": "string"}, "type": "array"}}, "required": ["image", "mask", "prompt"], "type": "object"}, "TryOnRequestV3": {"properties": {"image": {"description": "The image containing a person wearing clothing to be modified (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.", "format": "binary", "type": "string"}, "prompt": {"default": "Person wearing this piece of clothing", "description": "The prompt describing the desired clothing change. Defaults to \"Person wearing this piece of clothing\" if omitted or empty.", "example": "Change his shirt to a pink shirt", "type": "string"}, "magic_prompt": {"$ref": "#/components/schemas/MagicPromptOption"}, "num_images": {"$ref": "#/components/schemas/NumImages"}, "seed": {"$ref": "#/components/schemas/Seed"}, "rendering_speed": {"$ref": "#/components/schemas/RenderingSpeed"}, "style_type": {"$ref": "#/components/schemas/StyleTypeV3"}, "style_preset": {"$ref": "#/components/schemas/StylePresetV3"}, "product_reference_images": {"description": "An image to use as the product reference for the try-on (exactly 1 image required). The image should be in JPEG, PNG or WebP format.", "items": {"format": "binary", "type": "string"}, "maxItems": 1, "minItems": 1, "type": "array"}}, "required": ["image", "product_reference_images"], "type": "object"}, "ReframeImageRequestV3": {"properties": {"image": {"description": "The image being reframed (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.", "format": "binary", "type": "string"}, "resolution": {"$ref": "#/components/schemas/ResolutionV3"}, "num_images": {"$ref": "#/components/schemas/NumImages"}, "seed": {"$ref": "#/components/schemas/Seed"}, "rendering_speed": {"$ref": "#/components/schemas/RenderingSpeed"}, "style_preset": {"$ref": "#/components/schemas/StylePresetV3"}, "color_palette": {"$ref": "#/components/schemas/ColorPaletteWithPresetNameOrMembers"}, "style_codes": {"$ref": "#/components/schemas/StyleCodes"}, "style_reference_images": {"description": "A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format.", "items": {"format": "binary", "type": "string"}, "type": "array"}}, "required": ["image", "resolution"], "type": "object"}, "ReplaceBackgroundRequestV3": {"properties": {"image": {"description": "The image whose background is being replaced (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.", "format": "binary", "type": "string"}, "prompt": {"description": "The prompt describing the desired new background.", "example": "A vibrant cityscape at night.", "type": "string"}, "magic_prompt": {"$ref": "#/components/schemas/MagicPromptOption"}, "num_images": {"$ref": "#/components/schemas/NumImages"}, "seed": {"$ref": "#/components/schemas/Seed"}, "rendering_speed": {"$ref": "#/components/schemas/RenderingSpeed"}, "style_preset": {"$ref": "#/components/schemas/StylePresetV3"}, "color_palette": {"$ref": "#/components/schemas/ColorPaletteWithPresetNameOrMembers"}, "style_codes": {"$ref": "#/components/schemas/StyleCodes"}, "style_reference_images": {"description": "A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format.", "items": {"format": "binary", "type": "string"}, "type": "array"}}, "required": ["image", "prompt"], "type": "object"}, "InternalTestingRequest": {"properties": {"x_position": {"nullable": true, "type": "integer"}, "image_file": {"description": "An image binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.", "format": "binary", "type": "string"}, "another_image_file": {"description": "An image binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.", "format": "binary", "type": "string"}, "some_text": {"type": "string"}, "nested_object": {"$ref": "#/components/schemas/InternalTestingNestedObject"}, "nested_object_required_fields": {"$ref": "#/components/schemas/InternalTestingNestedObjectRequiredFields"}, "date_type_field": {"format": "date", "type": "string"}, "required_date_type_field": {"format": "date", "type": "string"}, "date_time_type_field": {"format": "date-time", "type": "string"}, "repeated_primitive_field": {"items": {"type": "string"}, "type": "array"}, "repeated_complex_field": {"items": {"$ref": "#/components/schemas/InternalTestingNestedObject"}, "type": "array"}, "enum_type_field": {"$ref": "#/components/schemas/InternalTestingEnumField"}}, "required": ["required_date_type_field"], "type": "object"}, "InternalTestingEnumField": {"enum": ["EIN", "ZWEI", "DREI"], "title": "InternalTestingEnumField", "type": "string"}, "InternalTestingNestedObject": {"properties": {"prop_one": {"title": "prop_one", "type": "string"}, "prop_two": {"title": "prop_two", "type": "string"}}, "title": "InternalTestingNestedObject", "type": "object"}, "InternalTestingNestedObjectRequiredFields": {"properties": {"prop_one": {"title": "prop_one", "type": "string"}, "prop_two": {"title": "prop_two", "type": "string"}}, "required": ["prop_one", "prop_two"], "title": "InternalTestingNestedObjectRequiredFields", "type": "object"}, "RemixImageRequest": {"description": "A request to generate an image from a source image and a provided caption, provided images are cropped to match the chosen output aspect ratio.", "properties": {"image_request": {"$ref": "#/components/schemas/InitialImageRequest"}, "image_file": {"description": "An image binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.", "format": "binary", "type": "string"}}, "required": ["image_file", "image_request"], "type": "object"}, "ReframeImageRequest": {"properties": {"image_file": {"description": "The image being reframed (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.", "format": "binary", "type": "string"}, "resolution": {"$ref": "#/components/schemas/Resolution"}, "model": {"$ref": "#/components/schemas/ModelEnum"}, "num_images": {"$ref": "#/components/schemas/NumImages"}, "seed": {"$ref": "#/components/schemas/Seed"}, "style_type": {"$ref": "#/components/schemas/StyleType"}}, "required": ["image_file", "model", "resolution"], "type": "object"}, "UpscaleImageRequest": {"properties": {"image_request": {"$ref": "#/components/schemas/UpscaleInitialImageRequest"}, "image_file": {"description": "An image binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.", "format": "binary", "type": "string"}}, "required": ["image_file", "image_request"], "type": "object"}, "ImageRequest": {"example": {"aspect_ratio": "ASPECT_10_16", "magic_prompt_option": "AUTO", "model": "V_2", "prompt": "A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there is an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset."}, "properties": {"prompt": {"description": "The prompt to use to generate the image.", "example": "A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there is an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.", "type": "string"}, "aspect_ratio": {"$ref": "#/components/schemas/AspectRatio"}, "model": {"$ref": "#/components/schemas/ModelEnum"}, "magic_prompt_option": {"$ref": "#/components/schemas/MagicPromptOption"}, "magic_prompt_version": {"$ref": "#/components/schemas/MagicPromptVersionEnum"}, "seed": {"description": "Random seed. Set for reproducible generation.", "example": 12345, "maximum": 2147483647, "minimum": 0, "title": "Seed", "type": "integer"}, "style_type": {"$ref": "#/components/schemas/StyleType"}, "negative_prompt": {"description": "Only available for model versions V_1, V_1_TURBO, V_2 and V_2_TURBO. Description of what to exclude from an image. Descriptions in the prompt take precedence to descriptions in the negative prompt.", "example": "brush strokes, painting", "type": "string"}, "num_images": {"default": 1, "description": "The number of images to generate.", "maximum": 8, "minimum": 1, "title": "NumImages", "type": "integer"}, "resolution": {"$ref": "#/components/schemas/Resolution"}, "color_palette": {"$ref": "#/components/schemas/ColorPaletteWithPresetNameOrMembers"}}, "required": ["prompt"], "title": "ImageRequest", "type": "object"}, "InitialImageRequest": {"allOf": [{"$ref": "#/components/schemas/ImageRequest"}], "description": "A request to generate a new image using a provided image and a prompt.", "example": {"aspect_ratio": "ASPECT_10_16", "magic_prompt_option": "ON", "model": "V_2", "prompt": "A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there is an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.", "image_weight": 50}, "properties": {"image_weight": {"default": 50, "example": 50, "maximum": 100, "minimum": 1, "type": "integer"}}, "title": "InitialImageRequest", "type": "object"}, "UpscaleInitialImageRequest": {"description": "A request to upscale a provided image with the help of an optional prompt.", "properties": {"prompt": {"description": "An optional prompt to guide the upscale", "example": "A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there is an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.", "title": "prompt", "type": "string"}, "resemblance": {"default": 50, "example": 50, "maximum": 100, "minimum": 1, "title": "resemblance", "type": "integer"}, "detail": {"default": 50, "example": 50, "maximum": 100, "minimum": 1, "title": "detail", "type": "integer"}, "magic_prompt_option": {"$ref": "#/components/schemas/MagicPromptOption"}, "magic_prompt_version": {"$ref": "#/components/schemas/MagicPromptVersionEnum"}, "num_images": {"default": 1, "description": "The number of images to generate.", "maximum": 8, "minimum": 1, "title": "NumImages", "type": "integer"}, "seed": {"description": "Random seed. Set for reproducible generation.", "example": 12345, "maximum": 2147483647, "minimum": 0, "title": "Seed", "type": "integer"}}, "title": "UpscaleInitialImageRequest", "type": "object"}, "GenerateImageResponse": {"description": "The response which contains information about the generated image, including the download link.\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", "example": {"data": [{"style_type": "REALISTIC", "seed": 12345, "upscaled_resolution": "4096x4096", "prompt": "A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there's an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.", "resolution": "1024x1024", "url": "https://ideogram.ai/api/images/direct/8YEpFzHuS-S6xXEGmCsf7g", "is_image_safe": true}, {"style_type": "REALISTIC", "seed": 12345, "upscaled_resolution": "4096x4096", "prompt": "A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there's an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.", "resolution": "1024x1024", "url": "https://ideogram.ai/api/images/direct/8YEpFzHuS-S6xXEGmCsf7g", "is_image_safe": true}], "created": "2000-01-23T04:56:07+00:00"}, "properties": {"created": {"description": "The time the request was created.", "format": "date-time", "title": "created", "type": "string"}, "data": {"description": "A list of ImageObjects that contain the generated image(s).", "items": {"$ref": "#/components/schemas/ImageObject"}, "title": "data", "type": "array"}}, "required": ["created", "data"], "title": "GenerateImageResponse", "type": "object"}, "ImageGenerationResponseV3": {"description": "The response which contains information about the generated image, including the download link.\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", "example": {"data": [{"style_type": "GENERAL", "seed": 12345, "upscaled_resolution": "4096x4096", "prompt": "A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there's an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.", "resolution": "1280x800", "url": "https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89", "is_image_safe": true}, {"style_type": "GENERAL", "seed": 12345, "upscaled_resolution": "4096x4096", "prompt": "A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there's an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.", "resolution": "1280x800", "url": "https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89", "is_image_safe": true}], "created": "2000-01-23T04:56:07+00:00"}, "properties": {"created": {"description": "The time the request was created.", "format": "date-time", "title": "created", "type": "string"}, "data": {"description": "A list of ImageObjects that contain the generated image(s).", "items": {"$ref": "#/components/schemas/ImageGenerationObjectV3"}, "title": "data", "type": "array"}}, "required": ["created", "data"], "title": "ImageGenerationResponseV3", "type": "object"}, "ImageGenerationObjectV3": {"example": {"style_type": "GENERAL", "seed": 12345, "upscaled_resolution": "4096x4096", "prompt": "A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there's an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.", "resolution": "1280x800", "url": "https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89", "is_image_safe": true}, "properties": {"url": {"description": "The direct link to the image generated.", "example": "https://ideogram.ai/api/images/ephemeral/xtdZiqPwRxqY1Y7NExFmzB.png?exp=1743867804&sig=e13e12677633f646d8531a153d20e2d3698dca9ee7661ee5ba4f3b64e7ec3f89", "format": "uri", "nullable": true, "title": "url", "type": "string"}, "prompt": {"description": "The prompt used for the generation. This may be different from the original prompt.", "example": "A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there's an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.", "title": "prompt", "type": "string"}, "resolution": {"$ref": "#/components/schemas/ResolutionV3"}, "upscaled_resolution": {"description": "Output resolution, only used if operations alters image dimensions, such as upscale, crop etc.", "example": "4096x4096", "pattern": "^\\d{2,5}x\\d{2,5}$", "title": "FreeformResolution", "type": "string"}, "is_image_safe": {"description": "Whether this request passes safety checks. If false, the url field will be empty.", "title": "is_image_safe", "type": "boolean"}, "seed": {"description": "Random seed. Set for reproducible generation.", "example": 12345, "maximum": 2147483647, "minimum": 0, "title": "Seed", "type": "integer"}, "style_type": {"$ref": "#/components/schemas/StyleTypeV3"}}, "required": ["is_image_safe", "prompt", "resolution", "seed"], "title": "ImageGenerationObjectV3", "type": "object"}, "ImageObject": {"example": {"style_type": "REALISTIC", "seed": 12345, "upscaled_resolution": "4096x4096", "prompt": "A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there's an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.", "resolution": "1024x1024", "url": "https://ideogram.ai/api/images/direct/8YEpFzHuS-S6xXEGmCsf7g", "is_image_safe": true}, "properties": {"url": {"description": "The direct link to the image generated.", "example": "https://ideogram.ai/api/images/direct/8YEpFzHuS-S6xXEGmCsf7g", "format": "uri", "nullable": true, "title": "url", "type": "string"}, "prompt": {"description": "The prompt used for the generation. This may be different from the original prompt.", "example": "A serene tropical beach scene. Dominating the foreground are tall palm trees with lush green leaves, standing tall against a backdrop of a sandy beach. The beach leads to the azure waters of the sea, which gently kisses the shoreline. In the distance, there's an island or landmass with a silhouette of what appears to be a lighthouse or tower. The sky above is painted with fluffy white clouds, some of which are tinged with hues of pink and orange, suggesting either a sunrise or sunset.", "title": "prompt", "type": "string"}, "resolution": {"description": "The resolution of the final image.", "example": "1024x1024", "title": "resolution", "type": "string"}, "upscaled_resolution": {"description": "Output resolution, only used if operations alters image dimensions, such as upscale, crop etc.", "example": "4096x4096", "pattern": "^\\d{2,5}x\\d{2,5}$", "title": "FreeformResolution", "type": "string"}, "is_image_safe": {"description": "Whether this request passes safety checks. If false, the url field will be empty.", "title": "is_image_safe", "type": "boolean"}, "seed": {"description": "Random seed. Set for reproducible generation.", "example": 12345, "maximum": 2147483647, "minimum": 0, "title": "Seed", "type": "integer"}, "style_type": {"$ref": "#/components/schemas/StyleType"}}, "required": ["is_image_safe", "prompt", "resolution", "seed"], "title": "ImageObject", "type": "object"}, "LayeredImageGenerationObjectV3": {"allOf": [{"$ref": "#/components/schemas/ImageGenerationObjectV3"}], "example": {"text_containers": [{"id": "id", "items": [{"font_candidates": ["font_candidates", "font_candidates"], "spans": [{"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}, {"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}], "font_size": 5, "glyph_type": "bullet", "line_height": 2.302136, "x": 0, "width": 1, "style_class": "body", "y": 6, "angle": 0, "alignment": "center", "font_file": "font_file", "height": 5}, {"font_candidates": ["font_candidates", "font_candidates"], "spans": [{"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}, {"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}], "font_size": 5, "glyph_type": "bullet", "line_height": 2.302136, "x": 0, "width": 1, "style_class": "body", "y": 6, "angle": 0, "alignment": "center", "font_file": "font_file", "height": 5}]}, {"id": "id", "items": [{"font_candidates": ["font_candidates", "font_candidates"], "spans": [{"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}, {"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}], "font_size": 5, "glyph_type": "bullet", "line_height": 2.302136, "x": 0, "width": 1, "style_class": "body", "y": 6, "angle": 0, "alignment": "center", "font_file": "font_file", "height": 5}, {"font_candidates": ["font_candidates", "font_candidates"], "spans": [{"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}, {"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}], "font_size": 5, "glyph_type": "bullet", "line_height": 2.302136, "x": 0, "width": 1, "style_class": "body", "y": 6, "angle": 0, "alignment": "center", "font_file": "font_file", "height": 5}]}], "image_layers": [{"ref_id": "REF_0", "x": 7, "width": 3, "y": 9, "height": 2}, {"ref_id": "REF_0", "x": 7, "width": 3, "y": 9, "height": 2}], "url": "https://openapi-generator.tech", "text_html": "text_html"}, "properties": {"url": {"description": "The direct link to the text-erased base image. This is the background image with text removed, suitable for re-compositing with the text layers. Falls back to the cover image if the text-erased image is unavailable.", "format": "uri", "nullable": true, "title": "url", "type": "string"}, "text_containers": {"description": "Hierarchical text container data as a list of TextContainerV3 objects.", "items": {"$ref": "#/components/schemas/TextContainerV3"}, "nullable": true, "title": "text_containers", "type": "array"}, "text_html": {"description": "Rendered HTML string for text overlays with inline CSS for absolute positioning.", "nullable": true, "title": "text_html", "type": "string"}, "image_layers": {"items": {"$ref": "#/components/schemas/ImageLayerV3"}, "title": "image_layers", "type": "array"}}, "title": "LayeredImageGenerationObjectV3", "type": "object"}, "LayeredImageGenerationResponseV3": {"description": "The response which contains information about the generated image, including the download link and other text layeres.\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", "example": {"data": [{"text_containers": [{"id": "id", "items": [{"font_candidates": ["font_candidates", "font_candidates"], "spans": [{"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}, {"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}], "font_size": 5, "glyph_type": "bullet", "line_height": 2.302136, "x": 0, "width": 1, "style_class": "body", "y": 6, "angle": 0, "alignment": "center", "font_file": "font_file", "height": 5}, {"font_candidates": ["font_candidates", "font_candidates"], "spans": [{"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}, {"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}], "font_size": 5, "glyph_type": "bullet", "line_height": 2.302136, "x": 0, "width": 1, "style_class": "body", "y": 6, "angle": 0, "alignment": "center", "font_file": "font_file", "height": 5}]}, {"id": "id", "items": [{"font_candidates": ["font_candidates", "font_candidates"], "spans": [{"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}, {"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}], "font_size": 5, "glyph_type": "bullet", "line_height": 2.302136, "x": 0, "width": 1, "style_class": "body", "y": 6, "angle": 0, "alignment": "center", "font_file": "font_file", "height": 5}, {"font_candidates": ["font_candidates", "font_candidates"], "spans": [{"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}, {"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}], "font_size": 5, "glyph_type": "bullet", "line_height": 2.302136, "x": 0, "width": 1, "style_class": "body", "y": 6, "angle": 0, "alignment": "center", "font_file": "font_file", "height": 5}]}], "image_layers": [{"ref_id": "REF_0", "x": 7, "width": 3, "y": 9, "height": 2}, {"ref_id": "REF_0", "x": 7, "width": 3, "y": 9, "height": 2}], "url": "https://openapi-generator.tech", "text_html": "text_html"}, {"text_containers": [{"id": "id", "items": [{"font_candidates": ["font_candidates", "font_candidates"], "spans": [{"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}, {"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}], "font_size": 5, "glyph_type": "bullet", "line_height": 2.302136, "x": 0, "width": 1, "style_class": "body", "y": 6, "angle": 0, "alignment": "center", "font_file": "font_file", "height": 5}, {"font_candidates": ["font_candidates", "font_candidates"], "spans": [{"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}, {"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}], "font_size": 5, "glyph_type": "bullet", "line_height": 2.302136, "x": 0, "width": 1, "style_class": "body", "y": 6, "angle": 0, "alignment": "center", "font_file": "font_file", "height": 5}]}, {"id": "id", "items": [{"font_candidates": ["font_candidates", "font_candidates"], "spans": [{"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}, {"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}], "font_size": 5, "glyph_type": "bullet", "line_height": 2.302136, "x": 0, "width": 1, "style_class": "body", "y": 6, "angle": 0, "alignment": "center", "font_file": "font_file", "height": 5}, {"font_candidates": ["font_candidates", "font_candidates"], "spans": [{"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}, {"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}], "font_size": 5, "glyph_type": "bullet", "line_height": 2.302136, "x": 0, "width": 1, "style_class": "body", "y": 6, "angle": 0, "alignment": "center", "font_file": "font_file", "height": 5}]}], "image_layers": [{"ref_id": "REF_0", "x": 7, "width": 3, "y": 9, "height": 2}, {"ref_id": "REF_0", "x": 7, "width": 3, "y": 9, "height": 2}], "url": "https://openapi-generator.tech", "text_html": "text_html"}], "created": "2000-01-23T04:56:07+00:00"}, "properties": {"created": {"description": "The time the request was created.", "format": "date-time", "title": "created", "type": "string"}, "data": {"description": "A list of ImageObjects that contain the generated image(s).", "items": {"$ref": "#/components/schemas/LayeredImageGenerationObjectV3"}, "title": "data", "type": "array"}}, "required": ["created", "data"], "title": "LayeredImageGenerationResponseV3", "type": "object"}, "MagicPromptVersionEnum": {"description": "The magic prompt version to use when magic prompt option is set to AUTO or ON.", "enum": ["V_0", "V_0_1", "V_0_2", "V_0_3", "V_0_4", "V_0_5", "V_0_6", "V_0_7", "V_0_8"], "example": "V_0", "title": "MagicPromptVersionEnum", "type": "string"}, "ModelEnum": {"default": "V_2", "description": "The model used to generate an image or edit one. /generate and /remix supports all model types, however, /edit is only supported for V_2 and V_2_TURBO.", "enum": ["V_1", "V_1_TURBO", "V_2", "V_2_TURBO", "V_2A", "V_2A_TURBO", "V_3", "AUTO"], "example": "V_2_TURBO", "title": "ModelEnum", "type": "string"}, "GenerateImageSafetyError": {"example": {"error": "Prompt provided failed safety check due to the inclusion of prohibited content."}, "properties": {"error": {"example": "Prompt provided failed safety check due to the inclusion of prohibited content.", "title": "error", "type": "string"}}, "required": ["error"], "title": "GenerateImageSafetyError", "type": "object"}, "MagicPromptRequest": {"description": "A request to generate a magic prompt", "example": {"prompt": "a cat", "magic_prompt_version": "V_0_4", "classify_prompt_category": true, "style_type": "AUTO", "seed": 12345}, "properties": {"prompt": {"description": "The prompt to enhance with a magic prompt", "example": "a cat", "type": "string"}, "magic_prompt_version": {"$ref": "#/components/schemas/MagicPromptVersionEnum"}, "classify_prompt_category": {"default": true, "description": "Whether to classify the prompt into a use case category.", "example": false, "type": "boolean"}, "style_type": {"$ref": "#/components/schemas/StyleTypeV3"}, "seed": {"description": "Random seed for reproducible generation", "example": 12345, "type": "integer"}, "character_reference_images": {"description": "Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format.", "items": {"format": "binary", "type": "string"}, "type": "array"}, "system_prompt": {"description": "A system prompt to use for the magic prompt.", "example": "You are a helpful assistant that generates magic prompts for images.", "type": "string"}}, "required": ["classify_prompt_category", "magic_prompt_version", "prompt"], "title": "MagicPromptRequest", "type": "object"}, "MagicPromptResponse": {"description": "The response containing generated magic prompt", "example": {"magic_prompt": "A photorealistic cat with striking green eyes, sitting gracefully on a vintage wooden chair. The cat's fur has beautiful orange and white markings, and soft natural lighting illuminates the scene from a nearby window."}, "properties": {"magic_prompt": {"description": "The generated magic prompt", "type": "string"}}, "required": ["magic_prompt"], "title": "MagicPromptResponse", "type": "object"}, "InternalBatchRequest": {"description": "A request for batch magic prompt evalution.", "example": {"user_prompts": ["a cat", "a dog"], "sampling_request_params": {"aspect_ratio": "1x1", "style_type": "GENERAL", "magic_prompt_version": "V_0", "seed": 12345, "negative_prompt": "brush strokes, painting", "magic_prompt_option": "ON", "model": "V_2_TURBO", "resolution": "1280x800", "num_images": 1, "color_palette": {"name": "PASTEL"}}, "experiment_variant": "MAGIC_PROMPT_NO_TEXT"}, "properties": {"user_prompts": {"description": "The prompts to enhance with a magic prompt.", "example": ["a cat", "a dog"], "items": {"type": "string"}, "title": "user_prompts", "type": "array"}, "experiment_variant": {"description": "The experiment variant used for template selection for the magic prompts.", "example": "MAGIC_PROMPT_NO_TEXT", "title": "experiment_variant", "type": "string"}, "sampling_request_params": {"$ref": "#/components/schemas/SamplingRequestParams"}}, "required": ["user_prompts"], "title": "InternalBatchRequest", "type": "object"}, "InternalBatchResponse": {"description": "A response for batch magic prompt evalution containing relavent information for /internal/batch/status GET request to find out if the batch generation has completed.", "example": {"job_id": "job_id"}, "properties": {"job_id": {"description": "The job id for the batch generation.", "title": "job_id", "type": "string"}}, "required": ["job_id"], "title": "InternalBatchResponse", "type": "object"}, "SamplingRequestParams": {"example": {"aspect_ratio": "1x1", "style_type": "GENERAL", "magic_prompt_version": "V_0", "seed": 12345, "negative_prompt": "brush strokes, painting", "magic_prompt_option": "ON", "model": "V_2_TURBO", "resolution": "1280x800", "num_images": 1, "color_palette": {"name": "PASTEL"}}, "properties": {"aspect_ratio": {"allOf": [{"$ref": "#/components/schemas/AspectRatioV3"}], "example": "1x1", "title": "aspect_ratio"}, "model": {"$ref": "#/components/schemas/ModelEnum"}, "magic_prompt_option": {"$ref": "#/components/schemas/MagicPromptOption"}, "magic_prompt_version": {"$ref": "#/components/schemas/MagicPromptVersionEnum"}, "seed": {"description": "Random seed. Set for reproducible generation.", "example": 12345, "maximum": 2147483647, "minimum": 0, "title": "Seed", "type": "integer"}, "style_type": {"$ref": "#/components/schemas/StyleTypeV3"}, "negative_prompt": {"description": "Only available for model versions V_1, V_1_TURBO, V_2 and V_2_TURBO. Description of what to exclude from an image. Descriptions in the prompt take precedence to descriptions in the negative prompt.", "example": "brush strokes, painting", "title": "negative_prompt", "type": "string"}, "num_images": {"default": 1, "description": "The number of images to generate.", "maximum": 8, "minimum": 1, "title": "NumImages", "type": "integer"}, "resolution": {"$ref": "#/components/schemas/ResolutionV3"}, "color_palette": {"$ref": "#/components/schemas/ColorPaletteWithPresetNameOrMembers"}}, "title": "SamplingRequestParams", "type": "object"}, "TextSpanV3": {"description": "An atomic text segment within a text item, carrying text content and visual styling.", "example": {"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}, "properties": {"text": {"description": "The text content for this segment. Line breaks within the span are represented as \\n.", "title": "text", "type": "string"}, "font_fx": {"description": "Ordered list of style effects applied to this text span.\nThis is the primary style field for layered text.\n", "example": ["bold", "italic"], "items": {"enum": ["bold", "italic", "underline", "strikethrough", "all_caps", "small_caps", "superscript", "subscript"], "type": "string"}, "title": "font_fx", "type": "array"}, "color": {"description": "The hex color of the text (e.g. \"#FF0000\" for red).", "example": "#212121", "pattern": "^#[0-9A-Fa-f]{6}$", "title": "color", "type": "string"}}, "required": ["color", "font_fx", "text"], "title": "TextSpanV3", "type": "object"}, "TextItemV3": {"description": "A single text block within a container, representing one logical unit of text (e.g., a headline, a paragraph, a list entry).", "example": {"font_candidates": ["font_candidates", "font_candidates"], "spans": [{"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}, {"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}], "font_size": 5, "glyph_type": "bullet", "line_height": 2.302136, "x": 0, "width": 1, "style_class": "body", "y": 6, "angle": 0, "alignment": "center", "font_file": "font_file", "height": 5}, "properties": {"x": {"description": "The x coordinate of the item in pixels.", "title": "x", "type": "integer"}, "y": {"description": "The y coordinate of the item in pixels.", "title": "y", "type": "integer"}, "width": {"description": "The width of the item in pixels.", "title": "width", "type": "integer"}, "height": {"description": "The height of the item in pixels.", "title": "height", "type": "integer"}, "alignment": {"description": "The text alignment of the item.", "enum": ["left", "center", "right"], "example": "center", "title": "alignment", "type": "string"}, "angle": {"description": "The angle rotation of the text, measured clockwise in degrees.", "example": 0, "format": "float", "title": "angle", "type": "number"}, "style_class": {"description": "Typographic classification of the text.", "enum": ["h1", "h2", "body", "small"], "example": "body", "title": "style_class", "type": "string"}, "glyph_type": {"description": "The type of list marker glyph, if any. Null for non-list items.", "enum": ["bullet", "number"], "nullable": true, "title": "glyph_type", "type": "string", "example": null}, "font_file": {"description": "The matched font file for this item.", "nullable": true, "title": "font_file", "type": "string"}, "font_candidates": {"description": "A list of alternate matching font files for this item.", "items": {"type": "string"}, "nullable": true, "title": "font_candidates", "type": "array"}, "font_size": {"description": "The font size in points. Null for non-editable items.", "nullable": true, "title": "font_size", "type": "integer"}, "line_height": {"description": "The line height multiplier (e.g., 1.2). Null for non-editable items.", "format": "float", "nullable": true, "title": "line_height", "type": "number"}, "spans": {"description": "Ordered list of text spans. Concatenating span text values produces the full item text.", "items": {"$ref": "#/components/schemas/TextSpanV3"}, "title": "spans", "type": "array"}}, "required": ["alignment", "height", "spans", "style_class", "width", "x", "y"], "title": "TextItemV3", "type": "object"}, "TextContainerV3": {"description": "A spatial grouping of related text items that form a cohesive visual unit (e.g., a title group, a list, a card).", "example": {"id": "id", "items": [{"font_candidates": ["font_candidates", "font_candidates"], "spans": [{"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}, {"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}], "font_size": 5, "glyph_type": "bullet", "line_height": 2.302136, "x": 0, "width": 1, "style_class": "body", "y": 6, "angle": 0, "alignment": "center", "font_file": "font_file", "height": 5}, {"font_candidates": ["font_candidates", "font_candidates"], "spans": [{"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}, {"color": "#212121", "text": "text", "font_fx": ["bold", "italic"]}], "font_size": 5, "glyph_type": "bullet", "line_height": 2.302136, "x": 0, "width": 1, "style_class": "body", "y": 6, "angle": 0, "alignment": "center", "font_file": "font_file", "height": 5}]}, "properties": {"id": {"description": "Unique container identifier (e.g., \"container_01\").", "title": "id", "type": "string"}, "items": {"description": "Ordered list of text items in this container.", "items": {"$ref": "#/components/schemas/TextItemV3"}, "title": "items", "type": "array"}}, "required": ["id", "items"], "title": "TextContainerV3", "type": "object"}, "ImageLayerV3": {"description": "An image layer (logo, brand asset, icon) for a layered image generation.", "example": {"ref_id": "REF_0", "x": 7, "width": 3, "y": 9, "height": 2}, "properties": {"x": {"description": "The x coordinate of the layer.", "title": "x", "type": "integer"}, "y": {"description": "The y coordinate of the layer.", "title": "y", "type": "integer"}, "width": {"description": "The width of the layer.", "title": "width", "type": "integer"}, "height": {"description": "The height of the layer.", "title": "height", "type": "integer"}, "ref_id": {"description": "Reference ID matching a provided reference image (e.g., \"REF_0\"), or -1 if no match.", "example": "REF_0", "title": "ref_id", "type": "string"}}, "required": ["height", "width", "x", "y"], "title": "ImageLayerV3", "type": "object"}, "InternalBatchResultsResponse": {"description": "A response for batch magic prompt job results.", "example": {"job_status": "COMPLETE", "results": [{"image_url": "image_url", "prompt": "a cat"}, {"image_url": "image_url", "prompt": "a cat"}]}, "properties": {"job_status": {"description": "The status of the batch generation job.", "example": "COMPLETE", "title": "job_status", "type": "string"}, "results": {"description": "The batch generation results, with each entry containing a prompt and its corresponding image URL.", "items": {"$ref": "#/components/schemas/InternalBatchResultsResponse_results_inner"}, "title": "results", "type": "array"}}, "required": ["job_status"], "title": "InternalBatchResultsResponse", "type": "object"}, "ImageSafetyError": {"example": {"error": "Image provided failed safety check due to the inclusion of prohibited content."}, "properties": {"error": {"example": "Image provided failed safety check due to the inclusion of prohibited content.", "title": "error", "type": "string"}}, "required": ["error"], "title": "ImageSafetyError", "type": "object"}, "ManageApiSubscriptionResponse": {"example": {"recharge_settings": {"is_active": true}, "has_stripe_setup": true, "metronome_dashboard_dark_mode_url": "metronome_dashboard_dark_mode_url", "stripe_billing_url": "stripe_billing_url", "current_balance": {"amount": 1050, "currency_code": "USD"}, "has_accepted_terms": true, "metronome_dashboard_url": "metronome_dashboard_url", "metronome_links": {"usage_iframe_url": "usage_iframe_url", "usage_iframe_dark_mode_url": "usage_iframe_dark_mode_url", "credits_iframe_dark_mode_url": "credits_iframe_dark_mode_url", "invoices_iframe_dark_mode_url": "invoices_iframe_dark_mode_url", "invoices_iframe_url": "invoices_iframe_url", "credits_iframe_url": "credits_iframe_url"}}, "properties": {"has_accepted_terms": {"description": "Whether or not the latest required terms have been accepted.", "title": "has_accepted_terms", "type": "boolean"}, "has_stripe_setup": {"description": "Whether or not Stripe is setup for API usage.", "title": "has_stripe_setup", "type": "boolean"}, "metronome_dashboard_url": {"deprecated": true, "description": "The URL to display the customer usage dashboard.", "title": "metronome_dashboard_url", "type": "string"}, "metronome_dashboard_dark_mode_url": {"deprecated": true, "description": "The URL to display the customer usage dashboard, in dark mode.", "title": "metronome_dashboard_dark_mode_url", "type": "string"}, "metronome_links": {"$ref": "#/components/schemas/MetronomeLinks"}, "recharge_settings": {"$ref": "#/components/schemas/RechargeSettingsResponse"}, "stripe_billing_url": {"description": "The URL for the user to manage the existing Stripe subscription plan.", "title": "stripe_billing_url", "type": "string"}, "current_balance": {"$ref": "#/components/schemas/Price"}}, "required": ["current_balance", "has_accepted_terms", "has_stripe_setup"], "title": "ManageApiSubscriptionResponse", "type": "object"}, "MetronomeLinks": {"example": {"usage_iframe_url": "usage_iframe_url", "usage_iframe_dark_mode_url": "usage_iframe_dark_mode_url", "credits_iframe_dark_mode_url": "credits_iframe_dark_mode_url", "invoices_iframe_dark_mode_url": "invoices_iframe_dark_mode_url", "invoices_iframe_url": "invoices_iframe_url", "credits_iframe_url": "credits_iframe_url"}, "properties": {"invoices_iframe_url": {"description": "The URL to display the customer invoice and API usage.", "title": "invoices_iframe_url", "type": "string"}, "invoices_iframe_dark_mode_url": {"description": "The URL to display the customer invoice and API usage.", "title": "invoices_iframe_dark_mode_url", "type": "string"}, "credits_iframe_url": {"description": "The URL to display the customer invoice and API usage.", "title": "credits_iframe_url", "type": "string"}, "credits_iframe_dark_mode_url": {"description": "The URL to display the customer invoice and API usage.", "title": "credits_iframe_dark_mode_url", "type": "string"}, "usage_iframe_url": {"description": "The URL to display the customer usage dashboard.", "title": "usage_iframe_url", "type": "string"}, "usage_iframe_dark_mode_url": {"description": "The URL to display the customer usage dashboard, in dark mode.", "title": "usage_iframe_dark_mode_url", "type": "string"}}, "title": "MetronomeLinks", "type": "object"}, "RechargeSettingsResponse": {"allOf": [{"$ref": "#/components/schemas/RechargeSettings"}], "example": {"is_active": true}, "properties": {"is_active": {"description": "Whether or not the recharge setting is currently active.", "title": "is_active", "type": "boolean"}}, "required": ["is_active"], "title": "RechargeSettingsResponse"}, "RechargeSettings": {"description": "The current recharge settings for the API subscription.", "example": {"minimum_balance_threshold": {"amount": 1050, "currency_code": "USD"}, "top_up_balance": {"amount": 1050, "currency_code": "USD"}}, "properties": {"top_up_balance": {"$ref": "#/components/schemas/Price"}, "minimum_balance_threshold": {"$ref": "#/components/schemas/Price"}}, "required": ["minimum_balance_threshold", "top_up_balance"], "title": "RechargeSettings", "type": "object"}, "PostApiSubscriptionResponse": {"description": "The updated API subscription.", "example": {"recharge_settings": {"is_active": true}}, "properties": {"recharge_settings": {"$ref": "#/components/schemas/RechargeSettingsResponse"}}, "title": "PostApiSubscriptionResponse", "type": "object"}, "PostApiSubscriptionError": {"description": "Represents an error when attempting to update the API subscription.", "example": {"messages": ["messages", "messages"]}, "properties": {"messages": {"description": "Error messages about what the error could be.", "items": {"description": "An error message, indicating what went wrong.", "type": "string"}, "title": "messages", "type": "array"}}, "title": "PostApiSubscriptionError", "type": "object"}, "PostApiSubscriptionRequest": {"description": "Request to update API settings. Fields which are omitted will be ignored.", "example": {"recharge_settings": {"minimum_balance_threshold": {"amount": 1050, "currency_code": "USD"}, "top_up_balance": {"amount": 1050, "currency_code": "USD"}}, "is_active": true}, "properties": {"recharge_settings": {"$ref": "#/components/schemas/RechargeSettings"}, "is_active": {"description": "Whether to enable or disable auto recharge.", "title": "is_active", "type": "boolean"}}, "title": "PostApiSubscriptionRequest", "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": [{"creation_time": "2000-01-23T04:56:07+00:00", "redacted_api_key": "vkpDja", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg=="}, {"creation_time": "2000-01-23T04:56:07+00:00", "redacted_api_key": "vkpDja", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg=="}]}, "properties": {"current_api_keys": {"default": [], "description": "The current API keys that are active. Only returns redacted keys.", "items": {"$ref": "#/components/schemas/RedactedApiKey"}, "title": "current_api_keys", "type": "array"}}, "title": "GetApiKeysResponse", "type": "object"}, "RedactedApiKey": {"description": "A representation of an API key that does not contain the full key.", "example": {"creation_time": "2000-01-23T04:56:07+00:00", "redacted_api_key": "vkpDja", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg=="}, "properties": {"redacted_api_key": {"description": "A redacted text snippet of the API key. Contains the first 4 characters of the API key", "example": "vkpDja", "title": "redacted_api_key", "type": "string"}, "creation_time": {"description": "The time at which the key was created", "format": "date-time", "title": "creation_time", "type": "string"}, "api_key_id": {"description": "A URL safe base64 encoded UUID", "example": "JRPVD7jWR1aTBYiJ0UFVOg==", "title": "api_key_id", "type": "string"}}, "required": ["api_key_id", "creation_time", "redacted_api_key"], "title": "RedactedApiKey", "type": "object"}, "PostApiKeyResponse": {"example": {"api_key": "example_api_key_replace_with_your_actual_key", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg=="}, "properties": {"api_key": {"description": "The API key to use when making authenticated requests with the API. This key will only be shown once.", "example": "example_api_key_replace_with_your_actual_key", "title": "api_key", "type": "string"}, "api_key_id": {"description": "The ID of the API key. A URL safe base64 encoded UUID", "example": "JRPVD7jWR1aTBYiJ0UFVOg==", "title": "api_key_id", "type": "string"}}, "required": ["api_key", "api_key_id"], "title": "PostApiKeyResponse", "type": "object"}, "ManageApiStripeSubscriptionResponse": {"example": {"stripe_subscription_url": "stripe_subscription_url", "stripe_billing_url": "stripe_billing_url"}, "properties": {"stripe_subscription_url": {"description": "The URL for the user to checkout the Stripe subscription plan.", "title": "stripe_subscription_url", "type": "string"}, "stripe_billing_url": {"deprecated": true, "description": "DEPRECATED. The URL for the user to manage the existing Stripe subscription plan. Get this from ManageApiSubscriptionResponse instead.", "title": "stripe_billing_url", "type": "string"}}, "title": "ManageApiStripeSubscriptionResponse", "type": "object"}, "GetApiTermsResponse": {"example": {"api_terms": {"terms_url": "terms_url", "terms_id": "terms_id"}}, "properties": {"api_terms": {"$ref": "#/components/schemas/ApiTerms"}}, "required": ["api_terms"], "title": "GetApiTermsResponse", "type": "object"}, "ApiTerms": {"example": {"terms_url": "terms_url", "terms_id": "terms_id"}, "properties": {"terms_id": {"description": "The ID of the terms.", "title": "terms_id", "type": "string"}, "terms_url": {"description": "The URL where the terms are hosted.", "title": "terms_url", "type": "string"}}, "required": ["terms_id", "terms_url"], "title": "ApiTerms", "type": "object"}, "PostApiTermsRequest": {"example": {"terms_id": "TOS_2024_04_20"}, "properties": {"terms_id": {"description": "The ID of the terms which are being accepted.", "example": "TOS_2024_04_20", "title": "terms_id", "type": "string"}}, "required": ["terms_id"], "title": "PostApiTermsRequest", "type": "object"}, "PostAddCreditsResponse": {"example": {"amount": {"amount": 1050, "currency_code": "USD"}}, "properties": {"amount": {"$ref": "#/components/schemas/Price"}}, "required": ["amount"], "title": "PostAddCreditsResponse", "type": "object"}, "PostAddCreditsError": {"description": "Represents an error when attempting to add credits to an API user's account.", "example": {"messages": ["messages", "messages"]}, "properties": {"messages": {"description": "Error messages about what the error could be.", "items": {"description": "An error message, indicating what went wrong.", "type": "string"}, "title": "messages", "type": "array"}}, "title": "PostAddCreditsError", "type": "object"}, "PostAddCreditsRequest": {"example": {"amount": {"amount": 1050, "currency_code": "USD"}}, "properties": {"amount": {"$ref": "#/components/schemas/Price"}}, "required": ["amount"], "title": "PostAddCreditsRequest", "type": "object"}, "GetUserCreditsResponse": {"example": {"total_spend": {"amount": 1050, "currency_code": "USD"}, "average_daily_spend": {"amount": 1050, "currency_code": "USD"}, "available_credits": {"amount": 1050, "currency_code": "USD"}}, "properties": {"available_credits": {"$ref": "#/components/schemas/Price"}, "total_spend": {"$ref": "#/components/schemas/Price"}, "average_daily_spend": {"$ref": "#/components/schemas/Price"}}, "required": ["average_daily_spend", "total_spend"], "title": "GetUserCreditsResponse", "type": "object"}, "SpendCommitInfoResponse": {"example": {"commits": [{"commit_start_time": "2000-01-23T04:56:07+00:00", "is_postpaid_commit": true, "commit_amount_spent": {"amount": 1050, "currency_code": "USD"}, "commit_amount": {"amount": 1050, "currency_code": "USD"}, "commit_end_time": "2000-01-23T04:56:07+00:00"}, {"commit_start_time": "2000-01-23T04:56:07+00:00", "is_postpaid_commit": true, "commit_amount_spent": {"amount": 1050, "currency_code": "USD"}, "commit_amount": {"amount": 1050, "currency_code": "USD"}, "commit_end_time": "2000-01-23T04:56:07+00:00"}]}, "properties": {"commits": {"description": "A list of spend commit information", "items": {"$ref": "#/components/schemas/SpendCommitInfo"}, "title": "commits", "type": "array"}}, "required": ["commits"], "title": "SpendCommitInfoResponse", "type": "object"}, "SpendCommitInfo": {"example": {"commit_start_time": "2000-01-23T04:56:07+00:00", "is_postpaid_commit": true, "commit_amount_spent": {"amount": 1050, "currency_code": "USD"}, "commit_amount": {"amount": 1050, "currency_code": "USD"}, "commit_end_time": "2000-01-23T04:56:07+00:00"}, "properties": {"commit_amount_spent": {"$ref": "#/components/schemas/Price"}, "commit_amount": {"$ref": "#/components/schemas/Price"}, "commit_start_time": {"description": "The start time of the commit period", "format": "date-time", "title": "commit_start_time", "type": "string"}, "commit_end_time": {"description": "The end time of the commit period", "format": "date-time", "title": "commit_end_time", "type": "string"}, "is_postpaid_commit": {"description": "Whether the commit is postpaid (true) or prepaid (false)", "title": "is_postpaid_commit", "type": "boolean"}}, "required": ["commit_amount", "commit_amount_spent", "commit_end_time", "commit_start_time", "is_postpaid_commit"], "title": "SpendCommitInfo", "type": "object"}, "GetUsageInfoResponse": {"example": {"usage_segments": [{"segment_start": "2023-08-09T00:00:00+00:00", "tool_usage": [{"user_email_address": "user@company.com", "model_version": "V_0_3", "full_tool_name": "Turbo Image Generation V3", "amount": {"amount": 1050, "currency_code": "USD"}, "tool_type": "GENERATE", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg"}, {"user_email_address": "user@company.com", "model_version": "V_0_3", "full_tool_name": "Turbo Image Generation V3", "amount": {"amount": 1050, "currency_code": "USD"}, "tool_type": "GENERATE", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg"}], "segment_end": "2023-08-09T23:59:59+00:00"}, {"segment_start": "2023-08-09T00:00:00+00:00", "tool_usage": [{"user_email_address": "user@company.com", "model_version": "V_0_3", "full_tool_name": "Turbo Image Generation V3", "amount": {"amount": 1050, "currency_code": "USD"}, "tool_type": "GENERATE", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg"}, {"user_email_address": "user@company.com", "model_version": "V_0_3", "full_tool_name": "Turbo Image Generation V3", "amount": {"amount": 1050, "currency_code": "USD"}, "tool_type": "GENERATE", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg"}], "segment_end": "2023-08-09T23:59:59+00:00"}]}, "properties": {"usage_segments": {"description": "List of usage segments with tool-specific breakdowns", "items": {"$ref": "#/components/schemas/UsageSegment"}, "title": "usage_segments", "type": "array"}}, "required": ["usage_segments"], "title": "GetUsageInfoResponse", "type": "object"}, "UsageSegment": {"example": {"segment_start": "2023-08-09T00:00:00+00:00", "tool_usage": [{"user_email_address": "user@company.com", "model_version": "V_0_3", "full_tool_name": "Turbo Image Generation V3", "amount": {"amount": 1050, "currency_code": "USD"}, "tool_type": "GENERATE", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg"}, {"user_email_address": "user@company.com", "model_version": "V_0_3", "full_tool_name": "Turbo Image Generation V3", "amount": {"amount": 1050, "currency_code": "USD"}, "tool_type": "GENERATE", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg"}], "segment_end": "2023-08-09T23:59:59+00:00"}, "properties": {"segment_start": {"description": "Start time of the usage segment", "example": "2023-08-09T00:00:00+00:00", "format": "date-time", "title": "segment_start", "type": "string"}, "segment_end": {"description": "End time of the usage segment", "example": "2023-08-09T23:59:59+00:00", "format": "date-time", "title": "segment_end", "type": "string"}, "tool_usage": {"description": "Tool-specific usage breakdown within this segment", "items": {"$ref": "#/components/schemas/ToolUsage"}, "title": "tool_usage", "type": "array"}}, "required": ["segment_end", "segment_start", "tool_usage"], "title": "UsageSegment", "type": "object"}, "ToolUsage": {"example": {"user_email_address": "user@company.com", "model_version": "V_0_3", "full_tool_name": "Turbo Image Generation V3", "amount": {"amount": 1050, "currency_code": "USD"}, "tool_type": "GENERATE", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg"}, "properties": {"full_tool_name": {"description": "Name of the tool used", "example": "Turbo Image Generation V3", "title": "full_tool_name", "type": "string"}, "amount": {"$ref": "#/components/schemas/Price"}, "api_key_id": {"description": "Base64 encoded API key ID (for API usage)", "example": "JRPVD7jWR1aTBYiJ0UFVOg", "title": "api_key_id", "type": "string"}, "user_email_address": {"description": "User email address (for web app usage)", "example": "user@company.com", "title": "user_email_address", "type": "string"}, "tool_type": {"$ref": "#/components/schemas/ToolType"}, "model_version": {"$ref": "#/components/schemas/ModelVersion"}}, "required": ["amount", "full_tool_name", "tool_type"], "title": "ToolUsage", "type": "object"}, "ToolType": {"description": "Tool type for filtering usage information", "enum": ["GENERATE", "REMIX", "EDIT", "UPSCALE", "DESCRIBE", "OTHER"], "example": "GENERATE", "title": "ToolType", "type": "string"}, "SegmentBy": {"description": "Time segment granularity for usage breakdown", "enum": ["DAY", "HOUR"], "example": "DAY", "title": "SegmentBy", "type": "string"}, "UsageSource": {"default": "API", "description": "Filter usage by source - API for programmatic API usage, APP for web application usage", "enum": ["API", "APP"], "title": "UsageSource", "type": "string"}, "ModelVersion": {"description": "The model_version to use.\n- V_0_3: Model 1.0\n- V_1_1: Model 1.1\n- V_1_5: Model 2.0\n- V_2_1: Model 2a\n- V_3_0: Model 3.0 March 26\n- V_3_1: Model 3.0 Latest\n- AUTO: Automatically select the best model version based on the request.\n", "enum": ["V_0_1", "V_0_2", "V_0_3", "V_1_1", "V_1_5", "V_2_1", "V_3_0", "V_3_1", "EXTERNAL_GOOGLE_VEO_3_0", "EXTERNAL_BYTEDANCE_SEEDANCE_1_0_PRO", "EXTERNAL_MINIMAX_HAILUO_02", "EXTERNAL_MODEL", "AUTO"], "example": "V_0_3", "title": "ModelVersion", "type": "string"}, "GetApiProfilesResponse": {"example": {"profiles": [{"is_metronome_2_user": true, "role": "OWNER", "avatar_url": "https://example.com/avatar.jpg", "organization_id": "b3JnYW5pemF0aW9uXzEyMw", "name": "Gamma", "type": "INDIVIDUAL", "api_keys": [{"creation_time": "2000-01-23T04:56:07+00:00", "redacted_api_key": "ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg", "status": null}, {"creation_time": "2000-01-23T04:56:07+00:00", "redacted_api_key": "ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg", "status": null}], "max_num_inflight_requests_permitted": 10}, {"is_metronome_2_user": true, "role": "OWNER", "avatar_url": "https://example.com/avatar.jpg", "organization_id": "b3JnYW5pemF0aW9uXzEyMw", "name": "Gamma", "type": "INDIVIDUAL", "api_keys": [{"creation_time": "2000-01-23T04:56:07+00:00", "redacted_api_key": "ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg", "status": null}, {"creation_time": "2000-01-23T04:56:07+00:00", "redacted_api_key": "ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg", "status": null}], "max_num_inflight_requests_permitted": 10}]}, "properties": {"profiles": {"default": [], "description": "List of user's API profiles", "items": {"$ref": "#/components/schemas/ApiProfile"}, "title": "profiles", "type": "array"}}, "required": ["profiles"], "title": "GetApiProfilesResponse", "type": "object"}, "ApiProfile": {"example": {"is_metronome_2_user": true, "role": "OWNER", "avatar_url": "https://example.com/avatar.jpg", "organization_id": "b3JnYW5pemF0aW9uXzEyMw", "name": "Gamma", "type": "INDIVIDUAL", "api_keys": [{"creation_time": "2000-01-23T04:56:07+00:00", "redacted_api_key": "ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg", "status": null}, {"creation_time": "2000-01-23T04:56:07+00:00", "redacted_api_key": "ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg", "status": null}], "max_num_inflight_requests_permitted": 10}, "properties": {"type": {"$ref": "#/components/schemas/ApiProfileType"}, "name": {"description": "The display name of the profile", "example": "Gamma", "title": "name", "type": "string"}, "avatar_url": {"description": "URL to the profile avatar", "example": "https://example.com/avatar.jpg", "title": "avatar_url", "type": "string"}, "organization_id": {"description": "Base64 encoded organization ID (only for ENTERPRISE profiles)", "example": "b3JnYW5pemF0aW9uXzEyMw", "title": "organization_id", "type": "string"}, "role": {"$ref": "#/components/schemas/ApiProfileRole"}, "api_keys": {"default": [], "description": "List of API keys associated with this profile", "items": {"$ref": "#/components/schemas/ApiProfileApiKey"}, "title": "api_keys", "type": "array"}, "is_metronome_2_user": {"description": "Whether the user is on Metronome 2.0", "title": "is_metronome_2_user", "type": "boolean"}, "max_num_inflight_requests_permitted": {"description": "The maximum number of inflight requests permitted for the profile", "example": 10, "title": "max_num_inflight_requests_permitted", "type": "integer"}}, "required": ["api_keys", "is_metronome_2_user", "max_num_inflight_requests_permitted", "name", "organization_id", "role", "type"], "title": "ApiProfile", "type": "object"}, "ApiProfileType": {"description": "Type of API profile", "enum": ["INDIVIDUAL", "ENTERPRISE"], "example": "INDIVIDUAL", "title": "ApiProfileType", "type": "string"}, "ApiProfileRole": {"description": "Role within an enterprise organization profile", "enum": ["OWNER", "MEMBER"], "example": "OWNER", "title": "ApiProfileRole", "type": "string"}, "ApiProfileApiKey": {"example": {"creation_time": "2000-01-23T04:56:07+00:00", "redacted_api_key": "ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg", "status": null}, "properties": {"api_key_id": {"description": "Base64 encoded API key ID", "example": "JRPVD7jWR1aTBYiJ0UFVOg", "title": "api_key_id", "type": "string"}, "redacted_api_key": {"description": "A redacted text snippet of the API key. Contains the first 4 characters of the API key", "example": "ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022", "title": "redacted_api_key", "type": "string"}, "creation_time": {"description": "The date at which the API key was created", "format": "date-time", "title": "creation_time", "type": "string"}, "status": {"$ref": "#/components/schemas/ApiKeyStatus"}}, "required": ["api_key_id", "creation_time", "redacted_api_key", "status"], "title": "ApiProfileApiKey", "type": "object"}, "ApiKeyStatus": {"description": "Status of the API key", "enum": ["ACTIVE", "DISABLED"], "title": "ApiKeyStatus", "type": "string"}, "GetApiOrganizationUserSuggestionsResponse": {"example": {"user_suggestions": [{"display_handle": "john_doe", "joined": false, "profile_pic": "https://example.com/avatars/user123.jpg", "name": "John Doe"}, {"display_handle": "john_doe", "joined": false, "profile_pic": "https://example.com/avatars/user123.jpg", "name": "John Doe"}]}, "properties": {"user_suggestions": {"default": [], "description": "List of user suggestions for the organization", "items": {"$ref": "#/components/schemas/ApiOrganizationUserSuggestion"}, "title": "user_suggestions", "type": "array"}}, "required": ["user_suggestions"], "title": "GetApiOrganizationUserSuggestionsResponse", "type": "object"}, "ApiOrganizationUserSuggestion": {"example": {"display_handle": "john_doe", "joined": false, "profile_pic": "https://example.com/avatars/user123.jpg", "name": "John Doe"}, "properties": {"display_handle": {"description": "The display handle of the user", "example": "john_doe", "title": "display_handle", "type": "string"}, "joined": {"description": "Whether the user has already joined the organization", "example": false, "title": "joined", "type": "boolean"}, "profile_pic": {"description": "URL to the user's profile picture", "example": "https://example.com/avatars/user123.jpg", "format": "uri", "title": "profile_pic", "type": "string"}, "name": {"description": "The full name of the user", "example": "John Doe", "title": "name", "type": "string"}}, "required": ["display_handle", "joined"], "title": "ApiOrganizationUserSuggestion", "type": "object"}, "GetOrganizationMembersResponse": {"example": {"members": [{"display_handle": "john_doe", "email_address": "john.doe@example.com", "role": "OWNER", "full_name": "full_name", "avatar_url": "https://example.com/avatars/user123.jpg", "user_id": "dXNlcl8xMjM"}, {"display_handle": "john_doe", "email_address": "john.doe@example.com", "role": "OWNER", "full_name": "full_name", "avatar_url": "https://example.com/avatars/user123.jpg", "user_id": "dXNlcl8xMjM"}]}, "properties": {"members": {"default": [], "description": "List of organization members", "items": {"$ref": "#/components/schemas/OrganizationMember"}, "title": "members", "type": "array"}}, "required": ["members"], "title": "GetOrganizationMembersResponse", "type": "object"}, "OrganizationMember": {"example": {"display_handle": "john_doe", "email_address": "john.doe@example.com", "role": "OWNER", "full_name": "full_name", "avatar_url": "https://example.com/avatars/user123.jpg", "user_id": "dXNlcl8xMjM"}, "properties": {"user_id": {"description": "Base64 encoded user ID", "example": "dXNlcl8xMjM", "title": "user_id", "type": "string"}, "display_handle": {"description": "The display handle/username of the member", "example": "john_doe", "title": "display_handle", "type": "string"}, "email_address": {"description": "The email address of the member", "example": "john.doe@example.com", "title": "email_address", "type": "string"}, "avatar_url": {"description": "URL to the member's avatar image", "example": "https://example.com/avatars/user123.jpg", "format": "uri", "title": "avatar_url", "type": "string"}, "role": {"$ref": "#/components/schemas/ApiProfileRole"}, "full_name": {"description": "User's full name if entered through user profile.", "nullable": true, "title": "full_name", "type": "string"}}, "required": ["avatar_url", "display_handle", "email_address", "role", "user_id"], "title": "OrganizationMember", "type": "object"}, "CreateApiKeyResponse": {"example": {"creation_time": "2024-05-25T02:00:30+00:00", "api_key": "example_api_key_replace_with_your_actual_key", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg=="}, "properties": {"api_key": {"description": "The API key to use when making authenticated requests with the API. This key will only be shown once.", "example": "example_api_key_replace_with_your_actual_key", "title": "api_key", "type": "string"}, "api_key_id": {"description": "The ID of the API key. A URL safe base64 encoded UUID", "example": "JRPVD7jWR1aTBYiJ0UFVOg==", "title": "api_key_id", "type": "string"}, "creation_time": {"description": "The time at which the API key was created", "example": "2024-05-25T02:00:30+00:00", "format": "date-time", "title": "creation_time", "type": "string"}}, "required": ["api_key", "api_key_id", "creation_time"], "title": "CreateApiKeyResponse", "type": "object"}, "GetApiKeysV2Response": {"example": {"api_keys": [{"creation_time": "2000-01-23T04:56:07+00:00", "redacted_api_key": "ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg", "status": null}, {"creation_time": "2000-01-23T04:56:07+00:00", "redacted_api_key": "ATG56\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022", "api_key_id": "JRPVD7jWR1aTBYiJ0UFVOg", "status": null}]}, "properties": {"api_keys": {"default": [], "description": "List of API keys associated with the organization", "items": {"$ref": "#/components/schemas/ApiProfileApiKey"}, "title": "api_keys", "type": "array"}}, "required": ["api_keys"], "title": "GetApiKeysV2Response", "type": "object"}, "OrganizationMemberOperationResponse": {"example": {"results": [{"success": true, "message": "message"}, {"success": true, "message": "message"}]}, "properties": {"results": {"description": "List of results for each member operation", "items": {"$ref": "#/components/schemas/OrganizationMemberOperationResult"}, "title": "results", "type": "array"}}, "required": ["results"], "title": "OrganizationMemberOperationResponse", "type": "object"}, "OrganizationMemberOperationResult": {"example": {"success": true, "message": "message"}, "properties": {"success": {"description": "Whether the operation was successful for this member", "title": "success", "type": "boolean"}, "message": {"description": "A message describing the outcome of the operation for this member", "title": "message", "type": "string"}}, "required": ["success"], "title": "OrganizationMemberOperationResult", "type": "object"}, "AddOrganizationMembersRequest": {"example": {"members": [{"display_handle": "john_doe", "email_address": "john.doe@example.com", "user_id": "dXNlcl8xMjM"}, {"display_handle": "john_doe", "email_address": "john.doe@example.com", "user_id": "dXNlcl8xMjM"}]}, "properties": {"members": {"default": [], "description": "List of organization members to add", "items": {"$ref": "#/components/schemas/LiteOrganizationMember"}, "title": "members", "type": "array"}}, "required": ["members"], "title": "AddOrganizationMembersRequest", "type": "object"}, "LiteOrganizationMember": {"description": "A lite representation of an organization member with optional fields for identification", "example": {"display_handle": "john_doe", "email_address": "john.doe@example.com", "user_id": "dXNlcl8xMjM"}, "properties": {"user_id": {"description": "Base64 encoded user ID", "example": "dXNlcl8xMjM", "title": "user_id", "type": "string"}, "display_handle": {"description": "The display handle/username of the member", "example": "john_doe", "title": "display_handle", "type": "string"}, "email_address": {"description": "The email address of the member", "example": "john.doe@example.com", "title": "email_address", "type": "string"}}, "title": "LiteOrganizationMember", "type": "object"}, "RemoveOrganizationMembersRequest": {"example": {"members": [{"display_handle": "john_doe", "email_address": "john.doe@example.com", "user_id": "dXNlcl8xMjM"}, {"display_handle": "john_doe", "email_address": "john.doe@example.com", "user_id": "dXNlcl8xMjM"}]}, "properties": {"members": {"default": [], "description": "List of organization members to remove", "items": {"$ref": "#/components/schemas/LiteOrganizationMember"}, "title": "members", "type": "array"}}, "required": ["members"], "title": "RemoveOrganizationMembersRequest", "type": "object"}, "PromoteOrganizationMembersRequest": {"example": {"members": [{"display_handle": "john_doe", "email_address": "john.doe@example.com", "user_id": "dXNlcl8xMjM"}, {"display_handle": "john_doe", "email_address": "john.doe@example.com", "user_id": "dXNlcl8xMjM"}]}, "properties": {"members": {"default": [], "description": "List of organization members to promote to OWNER role", "items": {"$ref": "#/components/schemas/LiteOrganizationMember"}, "title": "members", "type": "array"}}, "required": ["members"], "title": "PromoteOrganizationMembersRequest", "type": "object"}, "ListOrganizationInvoicesResponse": {"example": {"invoices": [{"total_spend": {"amount": 1050, "currency_code": "USD"}, "start_time": "2024-01-01T00:00:00+00:00", "end_time": "2024-01-31T23:59:59+00:00", "line_items": [{"charge_name": "Image Generation - V3", "total": {"amount": 1050, "currency_code": "USD"}, "quantity": 1000, "unit_price": {"amount": 1050, "currency_code": "USD"}}, {"charge_name": "Image Generation - V3", "total": {"amount": 1050, "currency_code": "USD"}, "quantity": 1000, "unit_price": {"amount": 1050, "currency_code": "USD"}}], "issued_time": "2024-01-01T00:00:00+00:00", "invoice_status": "PAID"}, {"total_spend": {"amount": 1050, "currency_code": "USD"}, "start_time": "2024-01-01T00:00:00+00:00", "end_time": "2024-01-31T23:59:59+00:00", "line_items": [{"charge_name": "Image Generation - V3", "total": {"amount": 1050, "currency_code": "USD"}, "quantity": 1000, "unit_price": {"amount": 1050, "currency_code": "USD"}}, {"charge_name": "Image Generation - V3", "total": {"amount": 1050, "currency_code": "USD"}, "quantity": 1000, "unit_price": {"amount": 1050, "currency_code": "USD"}}], "issued_time": "2024-01-01T00:00:00+00:00", "invoice_status": "PAID"}]}, "properties": {"invoices": {"default": [], "description": "List of invoices", "items": {"$ref": "#/components/schemas/Invoice"}, "title": "invoices", "type": "array"}}, "required": ["invoices"], "title": "ListOrganizationInvoicesResponse", "type": "object"}, "Invoice": {"example": {"total_spend": {"amount": 1050, "currency_code": "USD"}, "start_time": "2024-01-01T00:00:00+00:00", "end_time": "2024-01-31T23:59:59+00:00", "line_items": [{"charge_name": "Image Generation - V3", "total": {"amount": 1050, "currency_code": "USD"}, "quantity": 1000, "unit_price": {"amount": 1050, "currency_code": "USD"}}, {"charge_name": "Image Generation - V3", "total": {"amount": 1050, "currency_code": "USD"}, "quantity": 1000, "unit_price": {"amount": 1050, "currency_code": "USD"}}], "issued_time": "2024-01-01T00:00:00+00:00", "invoice_status": "PAID"}, "properties": {"start_time": {"description": "The start time of the invoice period", "example": "2024-01-01T00:00:00+00:00", "format": "date-time", "title": "start_time", "type": "string"}, "end_time": {"description": "The end time of the invoice period", "example": "2024-01-31T23:59:59+00:00", "format": "date-time", "title": "end_time", "type": "string"}, "issued_time": {"description": "The date when the invoice was issued", "example": "2024-01-01T00:00:00+00:00", "format": "date-time", "title": "issued_time", "type": "string"}, "total_spend": {"$ref": "#/components/schemas/Price"}, "invoice_status": {"$ref": "#/components/schemas/InvoiceStatus"}, "line_items": {"default": [], "description": "A list of line items within the invoice", "items": {"$ref": "#/components/schemas/InvoiceLineItem"}, "title": "line_items", "type": "array"}}, "required": ["end_time", "invoice_status", "issued_time", "line_items", "start_time", "total_spend"], "title": "Invoice", "type": "object"}, "InvoiceStatus": {"description": "Status of the invoice", "enum": ["DRAFT", "PENDING_PAYMENT", "PAID"], "example": "PAID", "title": "InvoiceStatus", "type": "string"}, "InvoiceLineItem": {"example": {"charge_name": "Image Generation - V3", "total": {"amount": 1050, "currency_code": "USD"}, "quantity": 1000, "unit_price": {"amount": 1050, "currency_code": "USD"}}, "properties": {"charge_name": {"description": "The name of the charge", "example": "Image Generation - V3", "title": "charge_name", "type": "string"}, "quantity": {"description": "The quantity of the charge", "example": 1000, "title": "quantity", "type": "integer"}, "unit_price": {"$ref": "#/components/schemas/Price"}, "total": {"$ref": "#/components/schemas/Price"}}, "required": ["charge_name", "quantity", "total", "unit_price"], "title": "InvoiceLineItem", "type": "object"}, "ListDatasetsResponse": {"example": {"datasets": [{"collection_id": "collection_id", "creation_time": "2000-01-23T04:56:07+00:00", "user_id": "user_id", "name": "name", "cover_asset_identifier": {"asset_type": "RESPONSE", "asset_id": "7uS_VESkRI6O3-sVgHQp_A"}, "sharing": [{"updated_time": "2000-01-23T04:56:07+00:00", "organization": {"role": null, "publishing_disabled": true, "organization_id": "organization_id", "name": "name", "avatar": {"avatar_url": "avatar_url"}, "type": null}, "permission": null, "user": {"badge": "badge", "subscription_plan_id": "subscription_plan_id", "display_handle": "display_handle", "user_id": "user_id", "photo_url": "photo_url"}}, {"updated_time": "2000-01-23T04:56:07+00:00", "organization": {"role": null, "publishing_disabled": true, "organization_id": "organization_id", "name": "name", "avatar": {"avatar_url": "avatar_url"}, "type": null}, "permission": null, "user": {"badge": "badge", "subscription_plan_id": "subscription_plan_id", "display_handle": "display_handle", "user_id": "user_id", "photo_url": "photo_url"}}]}, {"collection_id": "collection_id", "creation_time": "2000-01-23T04:56:07+00:00", "user_id": "user_id", "name": "name", "cover_asset_identifier": {"asset_type": "RESPONSE", "asset_id": "7uS_VESkRI6O3-sVgHQp_A"}, "sharing": [{"updated_time": "2000-01-23T04:56:07+00:00", "organization": {"role": null, "publishing_disabled": true, "organization_id": "organization_id", "name": "name", "avatar": {"avatar_url": "avatar_url"}, "type": null}, "permission": null, "user": {"badge": "badge", "subscription_plan_id": "subscription_plan_id", "display_handle": "display_handle", "user_id": "user_id", "photo_url": "photo_url"}}, {"updated_time": "2000-01-23T04:56:07+00:00", "organization": {"role": null, "publishing_disabled": true, "organization_id": "organization_id", "name": "name", "avatar": {"avatar_url": "avatar_url"}, "type": null}, "permission": null, "user": {"badge": "badge", "subscription_plan_id": "subscription_plan_id", "display_handle": "display_handle", "user_id": "user_id", "photo_url": "photo_url"}}]}]}, "properties": {"datasets": {"default": [], "description": "List of datasets for the authenticated user.", "items": {"$ref": "#/components/schemas/Dataset"}, "title": "datasets", "type": "array"}}, "required": ["datasets"], "title": "ListDatasetsResponse", "type": "object"}, "Dataset": {"description": "A dataset for organizing assets.", "example": {"collection_id": "collection_id", "creation_time": "2000-01-23T04:56:07+00:00", "user_id": "user_id", "name": "name", "cover_asset_identifier": {"asset_type": "RESPONSE", "asset_id": "7uS_VESkRI6O3-sVgHQp_A"}, "sharing": [{"updated_time": "2000-01-23T04:56:07+00:00", "organization": {"role": null, "publishing_disabled": true, "organization_id": "organization_id", "name": "name", "avatar": {"avatar_url": "avatar_url"}, "type": null}, "permission": null, "user": {"badge": "badge", "subscription_plan_id": "subscription_plan_id", "display_handle": "display_handle", "user_id": "user_id", "photo_url": "photo_url"}}, {"updated_time": "2000-01-23T04:56:07+00:00", "organization": {"role": null, "publishing_disabled": true, "organization_id": "organization_id", "name": "name", "avatar": {"avatar_url": "avatar_url"}, "type": null}, "permission": null, "user": {"badge": "badge", "subscription_plan_id": "subscription_plan_id", "display_handle": "display_handle", "user_id": "user_id", "photo_url": "photo_url"}}]}, "properties": {"collection_id": {"description": "Unique identifier for the collection.", "title": "collection_id", "type": "string"}, "name": {"description": "Display name of the collection.", "title": "name", "type": "string"}, "user_id": {"description": "ID of the user who owns this collection.", "title": "user_id", "type": "string"}, "creation_time": {"description": "When the collection was created.", "format": "date-time", "title": "creation_time", "type": "string"}, "cover_asset_identifier": {"$ref": "#/components/schemas/AssetIdentifier"}, "sharing": {"description": "Sharing details for this collection including the owner entry.", "items": {"$ref": "#/components/schemas/SharingInfo"}, "nullable": true, "title": "sharing", "type": "array"}}, "required": ["collection_id", "creation_time", "name", "user_id"], "title": "Dataset", "type": "object"}, "CreateDatasetRequest": {"example": {"name": "name"}, "properties": {"name": {"description": "Name of the dataset.", "title": "name", "type": "string"}}, "required": ["name"], "title": "CreateDatasetRequest", "type": "object"}, "UploadDatasetAssetsResponse": {"example": {"successful_assets": [{"asset_identifier": {"asset_type": "RESPONSE", "asset_id": "7uS_VESkRI6O3-sVgHQp_A"}, "file_name": "file_name"}, {"asset_identifier": {"asset_type": "RESPONSE", "asset_id": "7uS_VESkRI6O3-sVgHQp_A"}, "file_name": "file_name"}], "total_count": 0, "failed_assets": [{"file_name": "file_name", "failure_reason": null}, {"file_name": "file_name", "failure_reason": null}], "success_count": 6, "failure_count": 1}, "properties": {"total_count": {"description": "Total number of images processed.", "title": "total_count", "type": "integer"}, "success_count": {"description": "Number of images successfully uploaded.", "title": "success_count", "type": "integer"}, "failure_count": {"description": "Number of images that failed to upload.", "title": "failure_count", "type": "integer"}, "successful_assets": {"default": [], "description": "Details of successfully uploaded assets.", "items": {"$ref": "#/components/schemas/DatasetUploadSucceededAsset"}, "title": "successful_assets", "type": "array"}, "failed_assets": {"default": [], "description": "Details of assets that failed to upload.", "items": {"$ref": "#/components/schemas/DatasetUploadFailedAsset"}, "title": "failed_assets", "type": "array"}}, "required": ["failure_count", "success_count", "total_count"], "title": "UploadDatasetAssetsResponse", "type": "object"}, "DatasetUploadSucceededAsset": {"example": {"asset_identifier": {"asset_type": "RESPONSE", "asset_id": "7uS_VESkRI6O3-sVgHQp_A"}, "file_name": "file_name"}, "properties": {"asset_identifier": {"$ref": "#/components/schemas/AssetIdentifier"}, "file_name": {"description": "Original filename of the uploaded image.", "nullable": true, "title": "file_name", "type": "string"}}, "required": ["asset_identifier"], "title": "DatasetUploadSucceededAsset", "type": "object"}, "DatasetUploadFailedAsset": {"example": {"file_name": "file_name", "failure_reason": null}, "properties": {"file_name": {"description": "Original filename of the failed image.", "nullable": true, "title": "file_name", "type": "string"}, "failure_reason": {"$ref": "#/components/schemas/DatasetAssetFailureReason"}}, "required": ["failure_reason"], "title": "DatasetUploadFailedAsset", "type": "object"}, "DatasetAssetFailureReason": {"description": "Reason why an asset failed to upload.", "enum": ["FAILED_SAFETY_CHECK", "FILE_TOO_LARGE", "INTERNAL_ERROR", "INVALID_CAPTION", "INVALID_IMAGE", "INVALID_ZIP", "TOO_MANY_IMAGES"], "title": "DatasetAssetFailureReason", "type": "string"}, "UploadDatasetAssetsRequest": {"properties": {"files": {"description": "Image files (JPEG, PNG, WebP), .txt caption sidecar files, and/or ZIP archives containing images and captions. Caption .txt files are matched to images by filename stem (e.g. sunset.txt provides the caption for sunset.jpg).\n", "items": {"format": "binary", "type": "string"}, "type": "array"}}, "required": ["files"], "type": "object"}, "TrainDatasetModelResponse": {"example": {"training_status": "training_status", "model_name": "model_name", "dataset_id": "dataset_id", "model_id": "model_id"}, "properties": {"model_id": {"description": "Unique identifier of the created model.", "title": "model_id", "type": "string"}, "dataset_id": {"description": "Identifier of the dataset used for training.", "title": "dataset_id", "type": "string"}, "training_status": {"description": "Current training status of the model.", "title": "training_status", "type": "string"}, "model_name": {"description": "Name of the model.", "title": "model_name", "type": "string"}}, "required": ["dataset_id", "model_id", "model_name", "training_status"], "title": "TrainDatasetModelResponse", "type": "object"}, "TrainDatasetModelRequest": {"example": {"model_name": "my-custom-model", "lora_rank": 64, "num_chips": 16, "ema": 0.999, "training_steps": 1000, "learning_rate": 0.0001}, "properties": {"model_name": {"description": "Name for the trained model. Must be 5-30 characters, alphanumeric with spaces and hyphens allowed.\n", "example": "my-custom-model", "title": "model_name", "type": "string"}, "training_steps": {"description": "Number of training steps. Must be between 100 and 20000 and a multiple of 100. Defaults to 1000.\n", "example": 1000, "title": "training_steps", "type": "integer"}, "lora_rank": {"description": "LoRA rank for model training. Must be one of 64, 128, or 256. Defaults to 128. Note: lora_rank > 128 requires num_chips >= 32.\n", "example": 64, "title": "lora_rank", "type": "integer"}, "num_chips": {"description": "Number of TPU chips to use. Must be one of 16 or 32.\n", "example": 16, "title": "num_chips", "type": "integer"}, "ema": {"description": "Exponential moving average decay rate. Must be greater than 0.\n", "example": 0.999, "title": "ema", "type": "number"}, "learning_rate": {"description": "Learning rate for the optimizer. Must be greater than 0.\n", "example": 0.0001, "title": "learning_rate", "type": "number"}}, "required": ["model_name"], "title": "TrainDatasetModelRequest", "type": "object"}, "Description": {"properties": {"text": {"description": "The generated description for the provided image.", "example": "A meticulously illustrated cat with striped patterns, sitting upright. The cat's eyes are a captivating shade of yellow, and it appears to be gazing intently at something. The background consists of abstract, swirling patterns in shades of black, white, and beige, creating an almost fluid or wavy appearance. The cat is positioned in the foreground, with the background elements fading into the distance, giving a sense of depth to the image.", "title": "text", "type": "string"}}, "title": "Description", "type": "object"}, "DescribeModelVersion": {"default": "V_3", "description": "The model version to use for describing images. Defaults to V_3.", "enum": ["V_2", "V_3", "CUSTOM"], "title": "DescribeModelVersion", "type": "string"}, "MagicPromptOption": {"description": "Determine if MagicPrompt should be used in generating the request or not.", "enum": ["AUTO", "ON", "OFF"], "example": "ON", "externalDocs": {"url": "https://docs.ideogram.ai/using-ideogram/ideogram-features/magic-prompt"}, "title": "MagicPromptOption", "type": "string"}, "NumImages": {"default": 1, "description": "The number of images to generate.", "maximum": 8, "minimum": 1, "title": "NumImages", "type": "integer"}, "Seed": {"description": "Random seed. Set for reproducible generation.", "example": 12345, "maximum": 2147483647, "minimum": 0, "title": "Seed", "type": "integer"}, "StyleType": {"description": "The style type to generate with; this is only applicable for models V_2 and above and should not be specified for model versions V_1.", "enum": ["AUTO", "GENERAL", "FICTION", "REALISTIC", "DESIGN", "RENDER_3D", "ANIME", "CUSTOM", "STYLIZED"], "example": "REALISTIC", "title": "StyleType", "type": "string"}, "ResolutionV3": {"description": "The resolutions supported for Ideogram 3.0.", "enum": ["512x1536", "576x1408", "576x1472", "576x1536", "640x1344", "640x1408", "640x1472", "640x1536", "704x1152", "704x1216", "704x1280", "704x1344", "704x1408", "704x1472", "736x1312", "768x1088", "768x1216", "768x1280", "768x1344", "800x1280", "832x960", "832x1024", "832x1088", "832x1152", "832x1216", "832x1248", "864x1152", "896x960", "896x1024", "896x1088", "896x1120", "896x1152", "960x832", "960x896", "960x1024", "960x1088", "1024x832", "1024x896", "1024x960", "1024x1024", "1088x768", "1088x832", "1088x896", "1088x960", "1120x896", "1152x704", "1152x832", "1152x864", "1152x896", "1216x704", "1216x768", "1216x832", "1248x832", "1280x704", "1280x768", "1280x800", "1312x736", "1344x640", "1344x704", "1344x768", "1408x576", "1408x640", "1408x704", "1472x576", "1472x640", "1472x704", "1536x512", "1536x576", "1536x640"], "example": "1280x800", "title": "ResolutionV3", "type": "string"}, "AspectRatioV3": {"description": "The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1.", "enum": ["1x3", "3x1", "1x2", "2x1", "9x16", "16x9", "10x16", "16x10", "2x3", "3x2", "3x4", "4x3", "4x5", "5x4", "1x1"], "title": "AspectRatioV3", "type": "string"}, "RenderingSpeed": {"default": "DEFAULT", "description": "The rendering speed to use.", "enum": ["FLASH", "TURBO", "BALANCED", "DEFAULT", "QUALITY"], "title": "RenderingSpeed", "type": "string"}, "ColorPaletteWithPresetNameOrMembers": {"description": "A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members). Not supported by V_1, V_1_TURBO, V_2A and V_2A_TURBO models.", "oneOf": [{"$ref": "#/components/schemas/ColorPaletteWithPresetName"}, {"$ref": "#/components/schemas/ColorPaletteWithMembers"}], "title": "ColorPaletteWithPresetNameOrMembers"}, "ColorPaletteWithPresetName": {"example": {"name": "PASTEL"}, "properties": {"name": {"$ref": "#/components/schemas/ColorPalettePresetName"}}, "required": ["name"], "title": "ColorPaletteWithPresetName", "type": "object"}, "ColorPalettePresetName": {"description": "A color palette preset value.", "enum": ["EMBER", "FRESH", "JUNGLE", "MAGIC", "MELON", "MOSAIC", "PASTEL", "ULTRAMARINE"], "example": "PASTEL", "title": "ColorPalettePresetName", "type": "string"}, "ColorPaletteWithMembers": {"description": "A color palette represented only via its members. Cannot be used in conjunction with preset name.", "properties": {"members": {"description": "A list of ColorPaletteMembers that define the color palette. Each color palette member\nconsists of a required color hex and an optional weight between 0.05 and 1.0 (inclusive).\nIt is recommended that these weights descend from highest to lowest for the color hexes provided.\n", "example": [{"ColorPaletteMember": {"color_hex": "#b470b3", "color_weight": 0.49}}, {"ColorPaletteMember": {"color_hex": "#7a79e3", "color_weight": 0.16}}, {"ColorPaletteMember": {"color_hex": "#a26563", "color_weight": 0.1}}, {"ColorPaletteMember": {"color_hex": "#5c7d76", "color_weight": 0.07}}, {"ColorPaletteMember": {"color_hex": "#642a9c", "color_weight": 0.05}}], "items": {"$ref": "#/components/schemas/ColorPaletteMember"}, "maxItems": 8, "minItems": 1, "title": "ColorPaletteMembers", "type": "array"}}, "required": ["members"], "title": "ColorPaletteWithMembers", "type": "object"}, "ColorPaletteMembers": {"description": "A list of ColorPaletteMembers that define the color palette. Each color palette member\nconsists of a required color hex and an optional weight between 0.05 and 1.0 (inclusive).\nIt is recommended that these weights descend from highest to lowest for the color hexes provided.\n", "example": [{"ColorPaletteMember": {"color_hex": "#b470b3", "color_weight": 0.49}}, {"ColorPaletteMember": {"color_hex": "#7a79e3", "color_weight": 0.16}}, {"ColorPaletteMember": {"color_hex": "#a26563", "color_weight": 0.1}}, {"ColorPaletteMember": {"color_hex": "#5c7d76", "color_weight": 0.07}}, {"ColorPaletteMember": {"color_hex": "#642a9c", "color_weight": 0.05}}], "items": {"$ref": "#/components/schemas/ColorPaletteMember"}, "maxItems": 8, "minItems": 1, "title": "ColorPaletteMembers", "type": "array"}, "ColorPaletteMember": {"description": "A member of a color palette.", "properties": {"color_hex": {"description": "The hexadecimal representation of the color with an optional chosen weight.", "example": "#FFFFFF", "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$", "title": "color_hex", "type": "string"}, "color_weight": {"description": "The weight of the color in the color palette.", "example": 0.25, "maximum": 1.0, "minimum": 0.05, "title": "color_weight", "type": "number"}}, "required": ["color_hex"], "title": "ColorPaletteMember", "type": "object"}, "StyleCodes": {"description": "A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.", "example": ["AAFF5733", "0133FF57", "DE3357FF"], "items": {"$ref": "#/components/schemas/StyleCode"}, "type": "array"}, "StyleCode": {"description": "The 8 character hexadecimal representation of the style code.", "example": "ABCD1234", "pattern": "^[0-9a-fA-F]{8}$", "type": "string"}, "StyleTypeV3": {"default": "GENERAL", "description": "The style type to generate with.", "enum": ["AUTO", "GENERAL", "REALISTIC", "DESIGN", "CUSTOM", "FICTION", "STYLIZED"], "example": "GENERAL", "title": "StyleTypeV3", "type": "string"}, "StylePresetV3": {"description": "A predefined style preset that applies a specific artistic style to the generated image.", "enum": ["80S_ILLUSTRATION", "90S_NOSTALGIA", "ABSTRACT_ORGANIC", "ANALOG_NOSTALGIA", "ART_BRUT", "ART_DECO", "ART_POSTER", "AURA", "AVANT_GARDE", "BAUHAUS", "BLUEPRINT", "BLURRY_MOTION", "BRIGHT_ART", "C4D_CARTOON", "CHILDRENS_BOOK", "COLLAGE", "COLORING_BOOK_I", "COLORING_BOOK_II", "CUBISM", "DARK_AURA", "DOODLE", "DOUBLE_EXPOSURE", "DRAMATIC_CINEMA", "EDITORIAL", "EMOTIONAL_MINIMAL", "ETHEREAL_PARTY", "EXPIRED_FILM", "FLAT_ART", "FLAT_VECTOR", "FOREST_REVERIE", "GEO_MINIMALIST", "GLASS_PRISM", "GOLDEN_HOUR", "GRAFFITI_I", "GRAFFITI_II", "HALFTONE_PRINT", "HIGH_CONTRAST", "HIPPIE_ERA", "ICONIC", "JAPANDI_FUSION", "JAZZY", "LONG_EXPOSURE", "MAGAZINE_EDITORIAL", "MINIMAL_ILLUSTRATION", "MIXED_MEDIA", "MONOCHROME", "NIGHTLIFE", "OIL_PAINTING", "OLD_CARTOONS", "PAINT_GESTURE", "POP_ART", "RETRO_ETCHING", "RIVIERA_POP", "SPOTLIGHT_80S", "STYLIZED_RED", "SURREAL_COLLAGE", "TRAVEL_POSTER", "VINTAGE_GEO", "VINTAGE_POSTER", "WATERCOLOR", "WEIRD", "WOODBLOCK_PRINT"], "example": "BRIGHT_ART", "title": "StylePresetV3", "type": "string"}, "UpscaleFactor": {"default": "X1", "description": "Upscale the initially generated image by the given factor. Upscale factors other than X1 will incur additional cost.", "enum": ["X1", "X2", "X4"], "example": "X2", "title": "UpscaleFactor", "type": "string"}, "Resolution": {"description": "(For model_version for 2.0 only, cannot be used in conjunction with aspect_ratio) The resolution to use for image generation, represented in width x height. If not specified, defaults to using aspect_ratio.", "enum": ["RESOLUTION_512_1536", "RESOLUTION_576_1408", "RESOLUTION_576_1472", "RESOLUTION_576_1536", "RESOLUTION_640_1024", "RESOLUTION_640_1344", "RESOLUTION_640_1408", "RESOLUTION_640_1472", "RESOLUTION_640_1536", "RESOLUTION_704_1152", "RESOLUTION_704_1216", "RESOLUTION_704_1280", "RESOLUTION_704_1344", "RESOLUTION_704_1408", "RESOLUTION_704_1472", "RESOLUTION_720_1280", "RESOLUTION_736_1312", "RESOLUTION_768_1024", "RESOLUTION_768_1088", "RESOLUTION_768_1152", "RESOLUTION_768_1216", "RESOLUTION_768_1232", "RESOLUTION_768_1280", "RESOLUTION_768_1344", "RESOLUTION_832_960", "RESOLUTION_832_1024", "RESOLUTION_832_1088", "RESOLUTION_832_1152", "RESOLUTION_832_1216", "RESOLUTION_832_1248", "RESOLUTION_864_1152", "RESOLUTION_896_960", "RESOLUTION_896_1024", "RESOLUTION_896_1088", "RESOLUTION_896_1120", "RESOLUTION_896_1152", "RESOLUTION_960_832", "RESOLUTION_960_896", "RESOLUTION_960_1024", "RESOLUTION_960_1088", "RESOLUTION_1024_640", "RESOLUTION_1024_768", "RESOLUTION_1024_832", "RESOLUTION_1024_896", "RESOLUTION_1024_960", "RESOLUTION_1024_1024", "RESOLUTION_1088_768", "RESOLUTION_1088_832", "RESOLUTION_1088_896", "RESOLUTION_1088_960", "RESOLUTION_1120_896", "RESOLUTION_1152_704", "RESOLUTION_1152_768", "RESOLUTION_1152_832", "RESOLUTION_1152_864", "RESOLUTION_1152_896", "RESOLUTION_1216_704", "RESOLUTION_1216_768", "RESOLUTION_1216_832", "RESOLUTION_1232_768", "RESOLUTION_1248_832", "RESOLUTION_1280_704", "RESOLUTION_1280_720", "RESOLUTION_1280_768", "RESOLUTION_1280_800", "RESOLUTION_1312_736", "RESOLUTION_1344_640", "RESOLUTION_1344_704", "RESOLUTION_1344_768", "RESOLUTION_1408_576", "RESOLUTION_1408_640", "RESOLUTION_1408_704", "RESOLUTION_1472_576", "RESOLUTION_1472_640", "RESOLUTION_1472_704", "RESOLUTION_1536_512", "RESOLUTION_1536_576", "RESOLUTION_1536_640"], "example": "RESOLUTION_1024_1024", "title": "Resolution", "type": "string"}, "AspectRatio": {"description": "(Cannot be used in conjunction with resolution) The aspect ratio to use for image generation, which determines the image's resolution. Defaults to ASPECT_1_1.", "enum": ["ASPECT_10_16", "ASPECT_16_10", "ASPECT_9_16", "ASPECT_16_9", "ASPECT_3_2", "ASPECT_2_3", "ASPECT_4_3", "ASPECT_3_4", "ASPECT_1_1", "ASPECT_1_3", "ASPECT_3_1"], "example": "ASPECT_10_16", "externalDocs": {"url": "https://docs.ideogram.ai/usage/advanced-prompting/aspect-ratios"}, "title": "AspectRatio", "type": "string"}, "FreeformResolution": {"description": "Output resolution, only used if operations alters image dimensions, such as upscale, crop etc.", "example": "4096x4096", "pattern": "^\\d{2,5}x\\d{2,5}$", "title": "FreeformResolution", "type": "string"}, "Price": {"description": "Represents a price.", "example": {"amount": 1050, "currency_code": "USD"}, "properties": {"currency_code": {"description": "The ISO 4217 currency code for the price object.", "example": "USD", "title": "currency_code", "type": "string"}, "amount": {"description": "The amount of the currency in the common denomination. For example, in USD this is cents.", "example": 1050, "title": "amount", "type": "number"}}, "required": ["amount", "currency_code"], "title": "Price", "type": "object"}, "AssetIdentifier": {"description": "An identifier for an ideogram asset.", "example": {"asset_type": "RESPONSE", "asset_id": "7uS_VESkRI6O3-sVgHQp_A"}, "properties": {"asset_type": {"$ref": "#/components/schemas/AssetType"}, "asset_id": {"type": "string"}}, "required": ["asset_id", "asset_type"], "title": "AssetIdentifier", "type": "object"}, "AssetType": {"enum": ["ASSET", "CANVAS_ASSET", "LAYERED_ASSET", "RESPONSE", "UPLOAD"], "title": "AssetType", "type": "string"}, "SharingInfo": {"example": {"updated_time": "2000-01-23T04:56:07+00:00", "organization": {"role": null, "publishing_disabled": true, "organization_id": "organization_id", "name": "name", "avatar": {"avatar_url": "avatar_url"}, "type": null}, "permission": null, "user": {"badge": "badge", "subscription_plan_id": "subscription_plan_id", "display_handle": "display_handle", "user_id": "user_id", "photo_url": "photo_url"}}, "properties": {"permission": {"$ref": "#/components/schemas/SharingPermission"}, "updated_time": {"description": "When this sharing entry was last updated.", "format": "date-time", "title": "updated_time", "type": "string"}, "organization": {"$ref": "#/components/schemas/OrganizationObject"}, "user": {"$ref": "#/components/schemas/User"}}, "required": ["permission", "updated_time"], "title": "SharingInfo", "type": "object"}, "SharingPermission": {"description": "Permission level for the shared organization. OWNER is read-only and cannot be set via add/remove.", "enum": ["OWNER", "EDITOR", "VIEWER"], "title": "SharingPermission", "type": "string"}, "OrganizationObject": {"description": "An organization object", "example": {"role": null, "publishing_disabled": true, "organization_id": "organization_id", "name": "name", "avatar": {"avatar_url": "avatar_url"}, "type": null}, "properties": {"organization_id": {"description": "ID of the organization", "title": "organization_id", "type": "string"}, "name": {"description": "Name of the organization", "title": "name", "type": "string"}, "type": {"$ref": "#/components/schemas/OrganizationType"}, "role": {"$ref": "#/components/schemas/OrganizationRoleEnum"}, "avatar": {"$ref": "#/components/schemas/OrganizationAvatarObject"}, "publishing_disabled": {"description": "Whether publishing is disabled for this organization.", "title": "publishing_disabled", "type": "boolean"}}, "required": ["name", "organization_id"], "title": "OrganizationObject", "type": "object"}, "OrganizationType": {"description": "The type of organization", "enum": ["PRIVATE", "TEAM", "ENTERPRISE"], "title": "OrganizationType", "type": "string"}, "OrganizationRoleEnum": {"description": "Role of a user in an organization.", "enum": ["OWNER", "WRITER"], "title": "OrganizationRoleEnum", "type": "string"}, "OrganizationAvatarObject": {"example": {"avatar_url": "avatar_url"}, "properties": {"avatar_url": {"title": "avatar_url", "type": "string"}}, "required": ["avatar_url"], "title": "OrganizationAvatarObject", "type": "object"}, "User": {"example": {"badge": "badge", "subscription_plan_id": "subscription_plan_id", "display_handle": "display_handle", "user_id": "user_id", "photo_url": "photo_url"}, "properties": {"user_id": {"title": "user_id", "type": "string"}, "display_handle": {"title": "display_handle", "type": "string"}, "photo_url": {"title": "photo_url", "type": "string"}, "subscription_plan_id": {"title": "subscription_plan_id", "type": "string"}, "badge": {"title": "badge", "type": "string"}}, "required": ["display_handle", "photo_url", "user_id"], "title": "User", "type": "object"}, "postInternalTesting_200_response": {"example": {"response_content": "response_content"}, "properties": {"response_content": {"title": "response_content", "type": "string"}}, "title": "postInternalTesting_200_response", "type": "object"}, "InternalBatchResultsResponse_results_inner": {"example": {"image_url": "image_url", "prompt": "a cat"}, "properties": {"prompt": {"description": "The prompt used for generation.", "example": "a cat", "title": "prompt", "type": "string"}, "image_url": {"description": "The URL of the generated image.", "title": "image_url", "type": "string"}}, "required": ["image_url", "prompt"], "title": "InternalBatchResultsResponse_results_inner", "type": "object"}}, "securitySchemes": {"ApiKeyAuth": {"description": "API key for access control. Use in the header with the name \\\"Api-Key\\\"", "in": "header", "name": "Api-Key", "type": "apiKey", "x-apikeyInfoFunc": "external_api.generated.openapi.controllers.security_controller.info_from_ApiKeyAuth"}, "BearerAuth": {"bearerFormat": "JWT", "scheme": "bearer", "type": "http", "x-bearerInfoFunc": "external_api.generated.openapi.controllers.security_controller.info_from_BearerAuth"}}}}