diff --git a/src/libs/Ideogram/Generated/Ideogram.DatasetsClient.g.cs b/src/libs/Ideogram/Generated/Ideogram.DatasetsClient.g.cs index 76cc19d..feacc49 100644 --- a/src/libs/Ideogram/Generated/Ideogram.DatasetsClient.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.DatasetsClient.g.cs @@ -4,7 +4,7 @@ namespace Ideogram { /// - /// Operations related to managing datasets.
+ /// Operations related to managing datasets
/// If no httpClient is provided, a new one will be created.
/// If no baseUri is provided, the default baseUri from OpenAPI spec will be used. ///
diff --git a/src/libs/Ideogram/Generated/Ideogram.IBatchClient.g.cs b/src/libs/Ideogram/Generated/Ideogram.IBatchClient.g.cs index c215900..56dfc26 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IBatchClient.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IBatchClient.g.cs @@ -32,12 +32,12 @@ public partial interface IBatchClient : global::System.IDisposable /// ensuring is populated. /// public bool ReadResponseAsString { get; set; } - /// /// Client-wide request defaults such as headers, query parameters, retries, and timeout. /// public global::Ideogram.AutoSDKClientOptions Options { get; } + /// /// /// diff --git a/src/libs/Ideogram/Generated/Ideogram.IDatasetsClient.g.cs b/src/libs/Ideogram/Generated/Ideogram.IDatasetsClient.g.cs index a68c8af..02b7948 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IDatasetsClient.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IDatasetsClient.g.cs @@ -4,7 +4,7 @@ namespace Ideogram { /// - /// Operations related to managing datasets.
+ /// Operations related to managing datasets
/// If no httpClient is provided, a new one will be created.
/// If no baseUri is provided, the default baseUri from OpenAPI spec will be used. ///
@@ -33,12 +33,12 @@ public partial interface IDatasetsClient : global::System.IDisposable /// ensuring is populated. /// public bool ReadResponseAsString { get; set; } - /// /// Client-wide request defaults such as headers, query parameters, retries, and timeout. /// public global::Ideogram.AutoSDKClientOptions Options { get; } + /// /// /// diff --git a/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.g.cs b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.g.cs index 8aa8871..b465a92 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IGenerateClient.g.cs @@ -33,12 +33,12 @@ public partial interface IGenerateClient : global::System.IDisposable /// ensuring is populated. /// public bool ReadResponseAsString { get; set; } - /// /// Client-wide request defaults such as headers, query parameters, retries, and timeout. /// public global::Ideogram.AutoSDKClientOptions Options { get; } + /// /// /// diff --git a/src/libs/Ideogram/Generated/Ideogram.IIdeogramClient.g.cs b/src/libs/Ideogram/Generated/Ideogram.IIdeogramClient.g.cs index cf150f5..e9c6bf5 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IIdeogramClient.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IIdeogramClient.g.cs @@ -33,12 +33,12 @@ public partial interface IIdeogramClient : global::System.IDisposable /// ensuring is populated. /// public bool ReadResponseAsString { get; set; } - /// /// Client-wide request defaults such as headers, query parameters, retries, and timeout. /// public global::Ideogram.AutoSDKClientOptions Options { get; } + /// /// /// diff --git a/src/libs/Ideogram/Generated/Ideogram.IInternalTestingClient.g.cs b/src/libs/Ideogram/Generated/Ideogram.IInternalTestingClient.g.cs index a64746e..5f4465c 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IInternalTestingClient.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IInternalTestingClient.g.cs @@ -33,12 +33,12 @@ public partial interface IInternalTestingClient : global::System.IDisposable /// ensuring is populated. /// public bool ReadResponseAsString { get; set; } - /// /// Client-wide request defaults such as headers, query parameters, retries, and timeout. /// public global::Ideogram.AutoSDKClientOptions Options { get; } + /// /// /// diff --git a/src/libs/Ideogram/Generated/Ideogram.IManageClient.g.cs b/src/libs/Ideogram/Generated/Ideogram.IManageClient.g.cs index 1193e39..0fd0ad4 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IManageClient.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IManageClient.g.cs @@ -4,7 +4,7 @@ namespace Ideogram { /// - /// Content related to managing API account and API access.
+ /// Content related to managing API account and API access
/// If no httpClient is provided, a new one will be created.
/// If no baseUri is provided, the default baseUri from OpenAPI spec will be used. ///
@@ -33,12 +33,12 @@ public partial interface IManageClient : global::System.IDisposable /// ensuring is populated. /// public bool ReadResponseAsString { get; set; } - /// /// Client-wide request defaults such as headers, query parameters, retries, and timeout. /// public global::Ideogram.AutoSDKClientOptions Options { get; } + /// /// /// diff --git a/src/libs/Ideogram/Generated/Ideogram.IModelsClient.g.cs b/src/libs/Ideogram/Generated/Ideogram.IModelsClient.g.cs index 2945969..e2de85e 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IModelsClient.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IModelsClient.g.cs @@ -4,7 +4,7 @@ namespace Ideogram { /// - /// Operations related to managing custom models.
+ /// Operations related to managing custom models
/// If no httpClient is provided, a new one will be created.
/// If no baseUri is provided, the default baseUri from OpenAPI spec will be used. ///
@@ -33,12 +33,12 @@ public partial interface IModelsClient : global::System.IDisposable /// ensuring is populated. /// public bool ReadResponseAsString { get; set; } - /// /// Client-wide request defaults such as headers, query parameters, retries, and timeout. /// public global::Ideogram.AutoSDKClientOptions Options { get; } + /// /// /// diff --git a/src/libs/Ideogram/Generated/Ideogram.IPromptClient.g.cs b/src/libs/Ideogram/Generated/Ideogram.IPromptClient.g.cs index e0bdcd6..5feee5f 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IPromptClient.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IPromptClient.g.cs @@ -32,12 +32,12 @@ public partial interface IPromptClient : global::System.IDisposable /// ensuring is populated. /// public bool ReadResponseAsString { get; set; } - /// /// Client-wide request defaults such as headers, query parameters, retries, and timeout. /// public global::Ideogram.AutoSDKClientOptions Options { get; } + /// /// /// diff --git a/src/libs/Ideogram/Generated/Ideogram.IVisionClient.g.cs b/src/libs/Ideogram/Generated/Ideogram.IVisionClient.g.cs index 1e1a3bc..8718527 100644 --- a/src/libs/Ideogram/Generated/Ideogram.IVisionClient.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.IVisionClient.g.cs @@ -4,7 +4,7 @@ namespace Ideogram { /// - /// Operations related to understanding visual content.
+ /// Operations related to understanding visual content
/// If no httpClient is provided, a new one will be created.
/// If no baseUri is provided, the default baseUri from OpenAPI spec will be used. ///
@@ -33,12 +33,12 @@ public partial interface IVisionClient : global::System.IDisposable /// ensuring is populated. /// public bool ReadResponseAsString { get; set; } - /// /// Client-wide request defaults such as headers, query parameters, retries, and timeout. /// public global::Ideogram.AutoSDKClientOptions Options { get; } + /// /// /// diff --git a/src/libs/Ideogram/Generated/Ideogram.InternalTestingClient.PostInternalTesting.g.cs b/src/libs/Ideogram/Generated/Ideogram.InternalTestingClient.PostInternalTesting.g.cs index 350debb..9135104 100644 --- a/src/libs/Ideogram/Generated/Ideogram.InternalTestingClient.PostInternalTesting.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.InternalTestingClient.PostInternalTesting.g.cs @@ -128,14 +128,14 @@ partial void ProcessPostInternalTestingResponseContent( } } - if (xTestHeader != default) - { - __httpRequest.Headers.TryAddWithoutValidation("X-Test-Header", xTestHeader.ToString()); - } - if (xTestHeader2 != default) - { - __httpRequest.Headers.TryAddWithoutValidation("X-Test-Header-2", xTestHeader2.ToString()); - } + if (xTestHeader != default) + { + __httpRequest.Headers.TryAddWithoutValidation("X-Test-Header", xTestHeader.ToString()); + } + if (xTestHeader2 != default) + { + __httpRequest.Headers.TryAddWithoutValidation("X-Test-Header-2", xTestHeader2.ToString()); + } var __httpRequestContent = new global::System.Net.Http.MultipartFormDataContent(); if (xTestHeader != default) diff --git a/src/libs/Ideogram/Generated/Ideogram.ManageClient.g.cs b/src/libs/Ideogram/Generated/Ideogram.ManageClient.g.cs index 22f99c2..b9db555 100644 --- a/src/libs/Ideogram/Generated/Ideogram.ManageClient.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.ManageClient.g.cs @@ -4,7 +4,7 @@ namespace Ideogram { /// - /// Content related to managing API account and API access.
+ /// Content related to managing API account and API access
/// If no httpClient is provided, a new one will be created.
/// If no baseUri is provided, the default baseUri from OpenAPI spec will be used. ///
diff --git a/src/libs/Ideogram/Generated/Ideogram.ModelsClient.g.cs b/src/libs/Ideogram/Generated/Ideogram.ModelsClient.g.cs index bb0b765..856d94d 100644 --- a/src/libs/Ideogram/Generated/Ideogram.ModelsClient.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.ModelsClient.g.cs @@ -4,7 +4,7 @@ namespace Ideogram { /// - /// Operations related to managing custom models.
+ /// Operations related to managing custom models
/// If no httpClient is provided, a new one will be created.
/// If no baseUri is provided, the default baseUri from OpenAPI spec will be used. ///
diff --git a/src/libs/Ideogram/Generated/Ideogram.OptionsSupport.g.cs b/src/libs/Ideogram/Generated/Ideogram.OptionsSupport.g.cs index b61857e..6aa22ab 100644 --- a/src/libs/Ideogram/Generated/Ideogram.OptionsSupport.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.OptionsSupport.g.cs @@ -106,6 +106,7 @@ public sealed class AutoSDKRetryOptions public global::System.TimeSpan? Delay { get; set; } } + /// /// Runtime hook interface for generated SDK lifecycle events. /// @@ -236,6 +237,7 @@ public sealed class AutoSDKHookContext public global::System.Threading.CancellationToken CancellationToken { get; set; } } + internal static class AutoSDKRequestOptionsSupport { internal static global::Ideogram.AutoSDKHookContext CreateHookContext( diff --git a/src/libs/Ideogram/Generated/Ideogram.VisionClient.g.cs b/src/libs/Ideogram/Generated/Ideogram.VisionClient.g.cs index c95ec28..af92e48 100644 --- a/src/libs/Ideogram/Generated/Ideogram.VisionClient.g.cs +++ b/src/libs/Ideogram/Generated/Ideogram.VisionClient.g.cs @@ -4,7 +4,7 @@ namespace Ideogram { /// - /// Operations related to understanding visual content.
+ /// Operations related to understanding visual content
/// If no httpClient is provided, a new one will be created.
/// If no baseUri is provided, the default baseUri from OpenAPI spec will be used. ///
diff --git a/src/libs/Ideogram/Generated/autosdk.generated-examples.json b/src/libs/Ideogram/Generated/autosdk.generated-examples.json new file mode 100644 index 0000000..fedb446 --- /dev/null +++ b/src/libs/Ideogram/Generated/autosdk.generated-examples.json @@ -0,0 +1,543 @@ +{ + "Examples": [ + { + "Order": 1, + "Title": "Get Batch Magic Prompt Job Results if available.", + "Slug": "get-maybe-batch-results", + "Description": "Gets the results of a batch magic prompt job if available.", + "Language": "http", + "Code": "### Get Batch Magic Prompt Job Results if available.\n# @name get_maybe_batch_results\nGET {{host}}/internal/batch/get-maybe-batch-results/{{job_id}}\nAuthorization: Bearer {{token}}\nAccept: application/json\n\n## Responses\n# 200\n# Description: Batch magic prompt job results if available.\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Not authorized for batch magic prompt job results request.\n# 429\n# Description: Too many requests.\n# 500\n# Description: Internal server error.", + "Format": "http", + "OperationId": "get_maybe_batch_results", + "Setup": null + }, + { + "Order": 2, + "Title": "Initiate Batch Magic Prompt Evalution", + "Slug": "post-batch", + "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).", + "Language": "csharp", + "Code": "using var client = new IdeogramClient(apiKey);\n\nvar request = global::System.Text.Json.JsonSerializer.Deserialize\u003Cglobal::Ideogram.InternalBatchRequest\u003E(\n @\u0022{\n \u0022\u0022user_prompts\u0022\u0022: [\n \u0022\u0022a cat\u0022\u0022,\n \u0022\u0022a dog\u0022\u0022\n ],\n \u0022\u0022sampling_request_params\u0022\u0022: {\n \u0022\u0022aspect_ratio\u0022\u0022: \u0022\u00221x1\u0022\u0022,\n \u0022\u0022style_type\u0022\u0022: \u0022\u0022GENERAL\u0022\u0022,\n \u0022\u0022magic_prompt_version\u0022\u0022: \u0022\u0022V_0\u0022\u0022,\n \u0022\u0022seed\u0022\u0022: 12345,\n \u0022\u0022negative_prompt\u0022\u0022: \u0022\u0022brush strokes, painting\u0022\u0022,\n \u0022\u0022magic_prompt_option\u0022\u0022: \u0022\u0022ON\u0022\u0022,\n \u0022\u0022model\u0022\u0022: \u0022\u0022V_2_TURBO\u0022\u0022,\n \u0022\u0022resolution\u0022\u0022: \u0022\u00221280x800\u0022\u0022,\n \u0022\u0022num_images\u0022\u0022: 1,\n \u0022\u0022color_palette\u0022\u0022: {\n \u0022\u0022name\u0022\u0022: \u0022\u0022PASTEL\u0022\u0022\n }\n },\n \u0022\u0022experiment_variant\u0022\u0022: \u0022\u0022MAGIC_PROMPT_NO_TEXT\u0022\u0022\n}\u0022)!;\n\nvar response = await client.Batch.PostBatchAsync(\n request: request\n);\n\n// Example response:\n// {\n// \u0022job_id\u0022: \u0022job_id\u0022\n// }", + "Format": "sdk", + "OperationId": "post_batch", + "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." + }, + { + "Order": 3, + "Title": "Create a new dataset", + "Slug": "create-dataset", + "Description": "Creates a new dataset", + "Language": "csharp", + "Code": "using var client = new IdeogramClient(apiKey);\n\nvar request = global::System.Text.Json.JsonSerializer.Deserialize\u003Cglobal::Ideogram.CreateDatasetRequest\u003E(\n @\u0022{\n \u0022\u0022name\u0022\u0022: \u0022\u0022name\u0022\u0022\n}\u0022)!;\n\nvar response = await client.Datasets.CreateDatasetAsync(\n request: request\n);\n\n// Example response:\n// {\n// \u0022collection_id\u0022: \u0022collection_id\u0022,\n// \u0022creation_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022user_id\u0022: \u0022user_id\u0022,\n// \u0022name\u0022: \u0022name\u0022,\n// \u0022cover_asset_identifier\u0022: {\n// \u0022asset_type\u0022: \u0022RESPONSE\u0022,\n// \u0022asset_id\u0022: \u00227uS_VESkRI6O3-sVgHQp_A\u0022\n// },\n// \u0022sharing\u0022: [\n// {\n// \u0022updated_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022organization\u0022: {\n// \u0022role\u0022: null,\n// \u0022publishing_disabled\u0022: true,\n// \u0022organization_id\u0022: \u0022organization_id\u0022,\n// \u0022name\u0022: \u0022name\u0022,\n// \u0022avatar\u0022: {\n// \u0022avatar_url\u0022: \u0022avatar_url\u0022\n// },\n// \u0022type\u0022: null\n// },\n// \u0022permission\u0022: null,\n// \u0022user\u0022: {\n// \u0022badge\u0022: \u0022badge\u0022,\n// \u0022subscription_plan_id\u0022: \u0022subscription_plan_id\u0022,\n// \u0022display_handle\u0022: \u0022display_handle\u0022,\n// \u0022user_id\u0022: \u0022user_id\u0022,\n// \u0022photo_url\u0022: \u0022photo_url\u0022\n// }\n// },\n// {\n// \u0022updated_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022organization\u0022: {\n// \u0022role\u0022: null,\n// \u0022publishing_disabled\u0022: true,\n// \u0022organization_id\u0022: \u0022organization_id\u0022,\n// \u0022name\u0022: \u0022name\u0022,\n// \u0022avatar\u0022: {\n// \u0022avatar_url\u0022: \u0022avatar_url\u0022\n// },\n// \u0022type\u0022: null\n// },\n// \u0022permission\u0022: null,\n// \u0022user\u0022: {\n// \u0022badge\u0022: \u0022badge\u0022,\n// \u0022subscription_plan_id\u0022: \u0022subscription_plan_id\u0022,\n// \u0022display_handle\u0022: \u0022display_handle\u0022,\n// \u0022user_id\u0022: \u0022user_id\u0022,\n// \u0022photo_url\u0022: \u0022photo_url\u0022\n// }\n// }\n// ]\n// }", + "Format": "sdk", + "OperationId": "create_dataset", + "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." + }, + { + "Order": 4, + "Title": "List datasets", + "Slug": "list-datasets", + "Description": "Lists all datasets for the authenticated user", + "Language": "csharp", + "Code": "using var client = new IdeogramClient(apiKey);\nvar response = await client.Datasets.ListDatasetsAsync();\n\n// Example response:\n// {\n// \u0022datasets\u0022: [\n// {\n// \u0022collection_id\u0022: \u0022collection_id\u0022,\n// \u0022creation_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022user_id\u0022: \u0022user_id\u0022,\n// \u0022name\u0022: \u0022name\u0022,\n// \u0022cover_asset_identifier\u0022: {\n// \u0022asset_type\u0022: \u0022RESPONSE\u0022,\n// \u0022asset_id\u0022: \u00227uS_VESkRI6O3-sVgHQp_A\u0022\n// },\n// \u0022sharing\u0022: [\n// {\n// \u0022updated_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022organization\u0022: {\n// \u0022role\u0022: null,\n// \u0022publishing_disabled\u0022: true,\n// \u0022organization_id\u0022: \u0022organization_id\u0022,\n// \u0022name\u0022: \u0022name\u0022,\n// \u0022avatar\u0022: {\n// \u0022avatar_url\u0022: \u0022avatar_url\u0022\n// },\n// \u0022type\u0022: null\n// },\n// \u0022permission\u0022: null,\n// \u0022user\u0022: {\n// \u0022badge\u0022: \u0022badge\u0022,\n// \u0022subscription_plan_id\u0022: \u0022subscription_plan_id\u0022,\n// \u0022display_handle\u0022: \u0022display_handle\u0022,\n// \u0022user_id\u0022: \u0022user_id\u0022,\n// \u0022photo_url\u0022: \u0022photo_url\u0022\n// }\n// },\n// {\n// \u0022updated_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022organization\u0022: {\n// \u0022role\u0022: null,\n// \u0022publishing_disabled\u0022: true,\n// \u0022organization_id\u0022: \u0022organization_id\u0022,\n// \u0022name\u0022: \u0022name\u0022,\n// \u0022avatar\u0022: {\n// \u0022avatar_url\u0022: \u0022avatar_url\u0022\n// },\n// \u0022type\u0022: null\n// },\n// \u0022permission\u0022: null,\n// \u0022user\u0022: {\n// \u0022badge\u0022: \u0022badge\u0022,\n// \u0022subscription_plan_id\u0022: \u0022subscription_plan_id\u0022,\n// \u0022display_handle\u0022: \u0022display_handle\u0022,\n// \u0022user_id\u0022: \u0022user_id\u0022,\n// \u0022photo_url\u0022: \u0022photo_url\u0022\n// }\n// }\n// ]\n// },\n// {\n// \u0022collection_id\u0022: \u0022collection_id\u0022,\n// \u0022creation_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022user_id\u0022: \u0022user_id\u0022,\n// \u0022name\u0022: \u0022name\u0022,\n// \u0022cover_asset_identifier\u0022: {\n// \u0022asset_type\u0022: \u0022RESPONSE\u0022,\n// \u0022asset_id\u0022: \u00227uS_VESkRI6O3-sVgHQp_A\u0022\n// },\n// \u0022sharing\u0022: [\n// {\n// \u0022updated_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022organization\u0022: {\n// \u0022role\u0022: null,\n// \u0022publishing_disabled\u0022: true,\n// \u0022organization_id\u0022: \u0022organization_id\u0022,\n// \u0022name\u0022: \u0022name\u0022,\n// \u0022avatar\u0022: {\n// \u0022avatar_url\u0022: \u0022avatar_url\u0022\n// },\n// \u0022type\u0022: null\n// },\n// \u0022permission\u0022: null,\n// \u0022user\u0022: {\n// \u0022badge\u0022: \u0022badge\u0022,\n// \u0022subscription_plan_id\u0022: \u0022subscription_plan_id\u0022,\n// \u0022display_handle\u0022: \u0022display_handle\u0022,\n// \u0022user_id\u0022: \u0022user_id\u0022,\n// \u0022photo_url\u0022: \u0022photo_url\u0022\n// }\n// },\n// {\n// \u0022updated_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022organization\u0022: {\n// \u0022role\u0022: null,\n// \u0022publishing_disabled\u0022: true,\n// \u0022organization_id\u0022: \u0022organization_id\u0022,\n// \u0022name\u0022: \u0022name\u0022,\n// \u0022avatar\u0022: {\n// \u0022avatar_url\u0022: \u0022avatar_url\u0022\n// },\n// \u0022type\u0022: null\n// },\n// \u0022permission\u0022: null,\n// \u0022user\u0022: {\n// \u0022badge\u0022: \u0022badge\u0022,\n// \u0022subscription_plan_id\u0022: \u0022subscription_plan_id\u0022,\n// \u0022display_handle\u0022: \u0022display_handle\u0022,\n// \u0022user_id\u0022: \u0022user_id\u0022,\n// \u0022photo_url\u0022: \u0022photo_url\u0022\n// }\n// }\n// ]\n// }\n// ]\n// }", + "Format": "sdk", + "OperationId": "list_datasets", + "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." + }, + { + "Order": 5, + "Title": "Train a model from a dataset", + "Slug": "train-dataset-model", + "Description": "Start training a custom model from a dataset. The dataset must contain at least 5 images. Returns the model ID and training status.", + "Language": "http", + "Code": "### Train a model from a dataset\n# @name train_dataset_model\nPOST {{host}}/datasets/{{dataset_id}}/train_model\nAuthorization: Bearer {{token}}\nContent-Type: application/json\nAccept: application/json\n\n{\n \u0022model_name\u0022: \u0022my-custom-model\u0022,\n \u0022lora_rank\u0022: 64,\n \u0022num_chips\u0022: 16,\n \u0022ema\u0022: 0.999,\n \u0022training_steps\u0022: 1000,\n \u0022learning_rate\u0022: 0.0001\n}\n\n## Responses\n# 200\n# Description: Training started successfully\n# Content-Type: application/json\n# 400\n# Description: Bad request\n# 401\n# Description: Unauthorized\n# 404\n# Description: Dataset not found", + "Format": "http", + "OperationId": "train_dataset_model", + "Setup": null + }, + { + "Order": 6, + "Title": "Upload assets to a dataset", + "Slug": "upload-dataset-assets", + "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.", + "Language": "http", + "Code": "### Upload assets to a dataset\n# @name upload_dataset_assets\nPOST {{host}}/datasets/{{dataset_id}}/upload_assets\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data\nAccept: application/json\n\n## Responses\n# 200\n# Description: Upload summary\n# Content-Type: application/json\n# 400\n# Description: Bad request\n# 401\n# Description: Unauthorized\n# 404\n# Description: Dataset not found", + "Format": "http", + "OperationId": "upload_dataset_assets", + "Setup": null + }, + { + "Order": 7, + "Title": "Edit (legacy)", + "Slug": "post-edit-image", + "Description": "Edit a given image synchronously using the provided mask. The mask indicates which part of the image\nshould be edited, while the prompt and chosen style type can further guide the edit.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", + "Language": "http", + "Code": "### Edit (legacy)\n# @name post_edit_image\nPOST {{host}}/edit\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data\nAccept: application/json\n\n## Responses\n# 200\n# Description: Image edits generated successfully.\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Not authorized to generate an image.\n# 422\n# Description: Prompt or Initial Image failed the safety checks.\n# Content-Type: application/json\n# 429\n# Description: Too many requests.", + "Format": "http", + "OperationId": "post_edit_image", + "Setup": null + }, + { + "Order": 8, + "Title": "Edit with Ideogram 3.0", + "Slug": "post-edit-image-v3", + "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.", + "Language": "http", + "Code": "### Edit with Ideogram 3.0\n# @name post_edit_image_v3\nPOST {{host}}/v1/ideogram-v3/edit\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data\nAccept: application/json\n\n## Responses\n# 200\n# Description: Image edits generated successfully.\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Not authorized to generate an image.\n# 422\n# Description: Prompt or Initial Image failed the safety checks.\n# Content-Type: application/json\n# 429\n# Description: Too many requests.", + "Format": "http", + "OperationId": "post_edit_image_v3", + "Setup": null + }, + { + "Order": 9, + "Title": "Generate a design from a text prompt with text detection and correction", + "Slug": "post-generate-design-v3", + "Description": "Generates a design synchronously from a text prompt using the Ideogram 3.0 model, then detects and corrects text layers within the generated image.\n\nThe response includes the generated image URL along with detected text layers (with font, size, color, position) and image asset layers.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", + "Language": "http", + "Code": "### Generate a design from a text prompt with text detection and correction\n# @name post_generate_design_v3\nPOST {{host}}/v1/ideogram-v3/generate-design\nAuthorization: Bearer {{token}}\nContent-Type: application/json\nAccept: application/json\n\n{\n \u0022prompt\u0022: \u0022A birthday card saying \\u0027Happy Birthday\\u0027\u0022,\n \u0022seed\u0022: 12345,\n \u0022resolution\u0022: \u00221280x800\u0022,\n \u0022aspect_ratio\u0022: \u00221x3\u0022,\n \u0022rendering_speed\u0022: \u0022DEFAULT\u0022,\n \u0022magic_prompt\u0022: \u0022ON\u0022,\n \u0022negative_prompt\u0022: \u0022brush strokes, painting\u0022,\n \u0022num_images\u0022: 1,\n \u0022color_palette\u0022: {\n \u0022name\u0022: \u0022PASTEL\u0022\n },\n \u0022style_codes\u0022: [\n \u0022AAFF5733\u0022,\n \u00220133FF57\u0022,\n \u0022DE3357FF\u0022\n ],\n \u0022style_type\u0022: \u0022GENERAL\u0022,\n \u0022style_preset\u0022: \u0022BRIGHT_ART\u0022,\n \u0022custom_model_uri\u0022: \u0022model/my-custom-model/version/1\u0022,\n \u0022font_file_h1\u0022: \u0022\u0022,\n \u0022font_name_h1\u0022: \u0022Ubuntu-Bold.ttf\u0022,\n \u0022font_file_h2\u0022: \u0022\u0022,\n \u0022font_name_h2\u0022: \u0022string\u0022,\n \u0022font_file_body\u0022: \u0022\u0022,\n \u0022font_name_body\u0022: \u0022string\u0022,\n \u0022font_file_small\u0022: \u0022\u0022,\n \u0022font_name_small\u0022: \u0022string\u0022,\n \u0022style_reference_images\u0022: [\n \u0022\u0022\n ],\n \u0022reference_asset_images\u0022: [\n \u0022\u0022\n ]\n}\n\n## Responses\n# 200\n# Description: Design(s) generated successfully with text correction.\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Not authorized to generate an image.\n# 422\n# Description: Prompt failed the safety check.\n# Content-Type: application/json\n# 429\n# Description: Too many requests.", + "Format": "http", + "OperationId": "post_generate_design_v3", + "Setup": null + }, + { + "Order": 10, + "Title": "Generate (legacy)", + "Slug": "post-generate-image", + "Description": "Generates images synchronously based on a given prompt and optional parameters.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", + "Language": "csharp", + "Code": "using var client = new IdeogramClient(apiKey);\n\nvar request = global::System.Text.Json.JsonSerializer.Deserialize\u003Cglobal::Ideogram.GenerateImageRequest\u003E(\n @\u0022{\n \u0022\u0022image_request\u0022\u0022: {\n \u0022\u0022aspect_ratio\u0022\u0022: \u0022\u0022ASPECT_10_16\u0022\u0022,\n \u0022\u0022magic_prompt_option\u0022\u0022: \u0022\u0022AUTO\u0022\u0022,\n \u0022\u0022model\u0022\u0022: \u0022\u0022V_2\u0022\u0022,\n \u0022\u0022prompt\u0022\u0022: \u0022\u0022A 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.\u0022\u0022\n }\n}\u0022)!;\n\nvar response = await client.Generate.PostGenerateImageAsync(\n request: request\n);\n\n// Example response:\n// {\n// \u0022data\u0022: [\n// {\n// \u0022style_type\u0022: \u0022REALISTIC\u0022,\n// \u0022seed\u0022: 12345,\n// \u0022upscaled_resolution\u0022: \u00224096x4096\u0022,\n// \u0022prompt\u0022: \u0022A 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\\u0027s 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.\u0022,\n// \u0022resolution\u0022: \u00221024x1024\u0022,\n// \u0022url\u0022: \u0022https://ideogram.ai/api/images/direct/8YEpFzHuS-S6xXEGmCsf7g\u0022,\n// \u0022is_image_safe\u0022: true\n// },\n// {\n// \u0022style_type\u0022: \u0022REALISTIC\u0022,\n// \u0022seed\u0022: 12345,\n// \u0022upscaled_resolution\u0022: \u00224096x4096\u0022,\n// \u0022prompt\u0022: \u0022A 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\\u0027s 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.\u0022,\n// \u0022resolution\u0022: \u00221024x1024\u0022,\n// \u0022url\u0022: \u0022https://ideogram.ai/api/images/direct/8YEpFzHuS-S6xXEGmCsf7g\u0022,\n// \u0022is_image_safe\u0022: true\n// }\n// ],\n// \u0022created\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022\n// }", + "Format": "sdk", + "OperationId": "post_generate_image", + "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." + }, + { + "Order": 11, + "Title": "Generate with Ideogram 3.0", + "Slug": "post-generate-image-v3", + "Description": "Generates images synchronously based on a given prompt and optional parameters using the Ideogram 3.0 model.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", + "Language": "http", + "Code": "### Generate with Ideogram 3.0\n# @name post_generate_image_v3\nPOST {{host}}/v1/ideogram-v3/generate\nAuthorization: Bearer {{token}}\nContent-Type: application/json\nAccept: application/json\n\n{\n \u0022prompt\u0022: \u0022A photo of a cat\u0022,\n \u0022seed\u0022: 12345,\n \u0022resolution\u0022: \u00221280x800\u0022,\n \u0022aspect_ratio\u0022: \u00221x3\u0022,\n \u0022rendering_speed\u0022: \u0022DEFAULT\u0022,\n \u0022magic_prompt\u0022: \u0022ON\u0022,\n \u0022negative_prompt\u0022: \u0022brush strokes, painting\u0022,\n \u0022num_images\u0022: 1,\n \u0022color_palette\u0022: {\n \u0022name\u0022: \u0022PASTEL\u0022\n },\n \u0022style_codes\u0022: [\n \u0022AAFF5733\u0022,\n \u00220133FF57\u0022,\n \u0022DE3357FF\u0022\n ],\n \u0022style_type\u0022: \u0022GENERAL\u0022,\n \u0022style_preset\u0022: \u0022BRIGHT_ART\u0022,\n \u0022custom_model_uri\u0022: \u0022model/my-custom-model/version/1\u0022,\n \u0022style_reference_images\u0022: [\n \u0022\u0022\n ],\n \u0022character_reference_images\u0022: [\n \u0022\u0022\n ],\n \u0022character_reference_images_mask\u0022: [\n \u0022\u0022\n ]\n}\n\n## Responses\n# 200\n# Description: Image(s) generated successfully.\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Not authorized to generate an image.\n# 422\n# Description: Prompt failed the safety check.\n# Content-Type: application/json\n# 429\n# Description: Too many requests.", + "Format": "http", + "OperationId": "post_generate_image_v3", + "Setup": null + }, + { + "Order": 12, + "Title": "Generate with Ideogram 3.0 (Transparent Background)", + "Slug": "post-generate-image-v3-transparent", + "Description": "Generates images with transparent background synchronously based on a given prompt and optional parameters using\nthe Ideogram 3.0 model. Images will be generated using maximum supported resolution at the specified aspect ratio\nto allow best results with upscaler. The selected resolution is written to the response, not the upscaled final\nresolution.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", + "Language": "http", + "Code": "### Generate with Ideogram 3.0 (Transparent Background)\n# @name post_generate_image_v3_transparent\nPOST {{host}}/v1/ideogram-v3/generate-transparent\nAuthorization: Bearer {{token}}\nContent-Type: application/json\nAccept: application/json\n\n{\n \u0022prompt\u0022: \u0022A photo of a cat\u0022,\n \u0022seed\u0022: 12345,\n \u0022upscale_factor\u0022: \u0022X2\u0022,\n \u0022aspect_ratio\u0022: \u00221x3\u0022,\n \u0022rendering_speed\u0022: \u0022DEFAULT\u0022,\n \u0022magic_prompt\u0022: \u0022ON\u0022,\n \u0022negative_prompt\u0022: \u0022brush strokes, painting\u0022,\n \u0022num_images\u0022: 1,\n \u0022custom_model_uri\u0022: \u0022model/my-custom-model/version/1\u0022\n}\n\n## Responses\n# 200\n# Description: Image(s) generated successfully.\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Not authorized to generate an image.\n# 422\n# Description: Prompt failed the safety check.\n# Content-Type: application/json\n# 429\n# Description: Too many requests.", + "Format": "http", + "OperationId": "post_generate_image_v3_transparent", + "Setup": null + }, + { + "Order": 13, + "Title": "Generate with Ideogram 4.0", + "Slug": "post-generate-image-v4", + "Description": "Generates images synchronously using the Ideogram 4.0 model.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", + "Language": "http", + "Code": "### Generate with Ideogram 4.0\n# @name post_generate_image_v4\nPOST {{host}}/v1/ideogram-v4/generate\nAuthorization: Bearer {{token}}\nContent-Type: application/json\nAccept: application/json\n\n{\n \u0022prompt\u0022: \u0022string\u0022,\n \u0022seed\u0022: 0\n}\n\n## Responses\n# 200\n# Description: Image(s) generated successfully.\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Not authorized.\n# 422\n# Description: Prompt failed the safety check.\n# Content-Type: application/json\n# 429\n# Description: Too many requests.", + "Format": "http", + "OperationId": "post_generate_image_v4", + "Setup": null + }, + { + "Order": 14, + "Title": "Layerize an existing flat graphic image with text detection and correction", + "Slug": "post-layerize-design-v3", + "Description": "Processes an existing flat graphic image to detect and correct text layers without generating a new image from scratch.\n\nThe uploaded image is analyzed for text content, which is then removed and returned as structured text layers with font matching, sizing, and color information.\n\nSupported image formats include JPEG, PNG, and WebP (max size 10MB).\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", + "Language": "http", + "Code": "### Layerize an existing flat graphic image with text detection and correction\n# @name post_layerize_design_v3\nPOST {{host}}/v1/ideogram-v3/layerize-design\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data\nAccept: application/json\n\n## Responses\n# 200\n# Description: Design layerized successfully with text correction.\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Not authorized to generate an image.\n# 429\n# Description: Too many requests.", + "Format": "http", + "OperationId": "post_layerize_design_v3", + "Setup": null + }, + { + "Order": 15, + "Title": "Layerize Text", + "Slug": "post-layerize-text-v3", + "Description": "Analyzes an image to detect text regions, then returns each detected text block with its position, content, font information, and styling.\n\nThe response includes a text-erased base image (background with all text removed) and a flat list of detected text blocks.\n\nSupported image formats include JPEG, PNG, and WebP (max size 10MB).\n\nImage links are available for a limited period of time; if you would like to keep the image, you must download it.", + "Language": "http", + "Code": "### Layerize Text\n# @name post_layerize_text_v3\nPOST {{host}}/v1/ideogram-v3/layerize-text\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data\nAccept: application/json\n\n## Responses\n# 200\n# Description: Text layers detected and extracted successfully.\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Not authorized.\n# 429\n# Description: Too many requests.", + "Format": "http", + "OperationId": "post_layerize_text_v3", + "Setup": null + }, + { + "Order": 16, + "Title": "Reframe (legacy)", + "Slug": "post-reframe-image", + "Description": "Reframe a square image to a chosen resolution. The supported image formats include JPEG, PNG, and WebP.\n\nImage links are available for a limited period of time; if you would like to keep the image, you must download it.", + "Language": "http", + "Code": "### Reframe (legacy)\n# @name post_reframe_image\nPOST {{host}}/reframe\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data\nAccept: application/json\n\n## Responses\n# 200\n# Description: Image re-frames generated successfully.\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Not authorized to generate an image.\n# 422\n# Description: Prompt or Image failed the safety checks.\n# Content-Type: application/json\n# 429\n# Description: Too many requests.", + "Format": "http", + "OperationId": "post_reframe_image", + "Setup": null + }, + { + "Order": 17, + "Title": "Reframe with Ideogram 3.0", + "Slug": "post-reframe-image-v3", + "Description": "Reframe a square image to a chosen resolution with Ideogram 3.0. The supported image formats include JPEG, PNG, and WebP.\n\nImage links are available for a limited period of time; if you would like to keep the image, you must download it.", + "Language": "http", + "Code": "### Reframe with Ideogram 3.0\n# @name post_reframe_image_v3\nPOST {{host}}/v1/ideogram-v3/reframe\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data\nAccept: application/json\n\n## Responses\n# 200\n# Description: Image re-frames generated successfully.\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Not authorized to generate an image.\n# 422\n# Description: Prompt or Image failed the safety checks.\n# Content-Type: application/json\n# 429\n# Description: Too many requests.", + "Format": "http", + "OperationId": "post_reframe_image_v3", + "Setup": null + }, + { + "Order": 18, + "Title": "Remix (legacy)", + "Slug": "post-remix-image", + "Description": "Remix provided images synchronously based on a given prompt and optional parameters.\n\nInput images are cropped to the chosen aspect ratio before being remixed.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", + "Language": "http", + "Code": "### Remix (legacy)\n# @name post_remix_image\nPOST {{host}}/remix\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data\nAccept: application/json\n\n## Responses\n# 200\n# Description: Image(s) generated successfully.\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 403\n# Description: Not authorized to generate an image.\n# 422\n# Description: Prompt or provided image failed safety check.\n# Content-Type: application/json\n# 429\n# Description: Too many requests.", + "Format": "http", + "OperationId": "post_remix_image", + "Setup": null + }, + { + "Order": 19, + "Title": "Remix with Ideogram 3.0", + "Slug": "post-remix-image-v3", + "Description": "Remix provided images synchronously based on a given prompt and optional parameters with the Ideogram 3.0 model.\n\nInput images are cropped to the chosen aspect ratio before being remixed.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", + "Language": "http", + "Code": "### Remix with Ideogram 3.0\n# @name post_remix_image_v3\nPOST {{host}}/v1/ideogram-v3/remix\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data\nAccept: application/json\n\n## Responses\n# 200\n# Description: Image(s) generated successfully.\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 403\n# Description: Not authorized to generate an image.\n# 422\n# Description: Prompt or provided image failed safety check.\n# Content-Type: application/json\n# 429\n# Description: Too many requests.", + "Format": "http", + "OperationId": "post_remix_image_v3", + "Setup": null + }, + { + "Order": 20, + "Title": "Replace Background with Ideogram 3.0", + "Slug": "post-replace-background-v3", + "Description": "Replace the background of a given image synchronously using a prompt with Ideogram 3.0. The foreground subject\nwill be identified and kept, while the background is replaced based on the prompt and chosen style.\nSupported image formats include JPEG, PNG, and WebP.\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", + "Language": "http", + "Code": "### Replace Background with Ideogram 3.0\n# @name post_replace_background_v3\nPOST {{host}}/v1/ideogram-v3/replace-background\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data\nAccept: application/json\n\n## Responses\n# 200\n# Description: Background replacement generated successfully.\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Not authorized to generate an image.\n# 422\n# Description: Prompt or Initial Image failed the safety checks.\n# Content-Type: application/json\n# 429\n# Description: Too many requests.", + "Format": "http", + "OperationId": "post_replace_background_v3", + "Setup": null + }, + { + "Order": 21, + "Title": "Virtual Try-On with Ideogram 3.0", + "Slug": "post-try-on-v3", + "Description": "Performs virtual clothing try-on by automatically segmenting the clothing in the provided image\nand replacing it based on the prompt. The user provides an image and an optional prompt describing\nthe desired clothing change (e.g., \u0022change his shirt to a pink shirt\u0022).\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", + "Language": "http", + "Code": "### Virtual Try-On with Ideogram 3.0\n# @name post_try_on_v3\nPOST {{host}}/v1/ideogram-v3/try-on\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data\nAccept: application/json\n\n## Responses\n# 200\n# Description: Try-on completed successfully.\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 401\n# Description: Not authorized to generate an image.\n# 422\n# Description: Prompt or provided image failed safety check, or clothing segmentation failed.\n# Content-Type: application/json\n# 429\n# Description: Too many requests.", + "Format": "http", + "OperationId": "post_try_on_v3", + "Setup": null + }, + { + "Order": 22, + "Title": "Upscale", + "Slug": "post-upscale-image", + "Description": "Upscale provided images synchronously with an optional prompt.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", + "Language": "http", + "Code": "### Upscale\n# @name post_upscale_image\nPOST {{host}}/upscale\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data\nAccept: application/json\n\n## Responses\n# 200\n# Description: Image(s) generated successfully.\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 403\n# Description: Not authorized to generate an image.\n# 422\n# Description: Prompt or provided image failed safety check.\n# Content-Type: application/json\n# 429\n# Description: Too many requests.", + "Format": "http", + "OperationId": "post_upscale_image", + "Setup": null + }, + { + "Order": 23, + "Title": "Testing", + "Slug": "post-internal-testing", + "Description": "Just a testing endpoint", + "Language": "http", + "Code": "### Testing\n# @name post_internal_testing\nPOST {{host}}/internal-testing\nAuthorization: Bearer {{token}}\nX-Test-Header: {{X-Test-Header}}\nX-Test-Header-2: {{X-Test-Header-2}}\nContent-Type: multipart/form-data\nAccept: application/json\n\n## Responses\n# 200\n# Description: Success\n# Content-Type: application/json", + "Format": "http", + "OperationId": "post_internal_testing", + "Setup": null + }, + { + "Order": 24, + "Title": "Add members to a specific organization", + "Slug": "add-organization-members", + "Description": "Generated from OpenAPI examples.", + "Language": "http", + "Code": "### Add members to a specific organization\n# @name add_organization_members\nPOST {{host}}/manage/api/organization/add_members?organization_id={{organization_id}}\nAuthorization: Bearer {{token}}\nContent-Type: application/json\nAccept: application/json\n\n{\n \u0022members\u0022: [\n {\n \u0022display_handle\u0022: \u0022john_doe\u0022,\n \u0022email_address\u0022: \u0022john.doe@example.com\u0022,\n \u0022user_id\u0022: \u0022dXNlcl8xMjM\u0022\n },\n {\n \u0022display_handle\u0022: \u0022john_doe\u0022,\n \u0022email_address\u0022: \u0022john.doe@example.com\u0022,\n \u0022user_id\u0022: \u0022dXNlcl8xMjM\u0022\n }\n ]\n}\n\n## Responses\n# 200\n# Description: Results of adding members to the organization\n# Content-Type: application/json\n# 400\n# Description: Bad Request\n# 401\n# Description: Not authorized\n# 403\n# Description: Not authorized - must be an organization owner\n# 404\n# Description: Organization not found", + "Format": "http", + "OperationId": "add_organization_members", + "Setup": null + }, + { + "Order": 25, + "Title": "Creates an API key.", + "Slug": "create-api-key", + "Description": "Generated from OpenAPI examples.", + "Language": "csharp", + "Code": "using var client = new IdeogramClient(apiKey);\nvar response = await client.Manage.CreateApiKeyAsync();\n\n// Example response:\n// {\n// \u0022api_key\u0022: \u0022example_api_key_replace_with_your_actual_key\u0022,\n// \u0022api_key_id\u0022: \u0022JRPVD7jWR1aTBYiJ0UFVOg==\u0022\n// }", + "Format": "sdk", + "OperationId": "create_api_key", + "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." + }, + { + "Order": 26, + "Title": "Create an API key for a specific organization", + "Slug": "create-api-key-v2", + "Description": "Generated from OpenAPI examples.", + "Language": "http", + "Code": "### Create an API key for a specific organization\n# @name create_api_key_v2\nPOST {{host}}/manage/api/api_keys_v2?organization_id={{organization_id}}\nAuthorization: Bearer {{token}}\nAccept: application/json\n\n## Responses\n# 200\n# Description: API key created successfully\n# Content-Type: application/json\n# 401\n# Description: Not authorized\n# 402\n# Description: Payment is required before creating an API key.\n# 403\n# Description: Not authorized", + "Format": "http", + "OperationId": "create_api_key_v2", + "Setup": null + }, + { + "Order": 27, + "Title": "Delete an API key.", + "Slug": "delete-single-api-key", + "Description": "Generated from OpenAPI examples.", + "Language": "csharp", + "Code": "using var client = new IdeogramClient(apiKey);\n\nawait client.Manage.DeleteSingleApiKeyAsync(\n apiKeyId: \u0022d7abd0cd4ae94db78676e986a4ebd8dc\u0022\n);", + "Format": "sdk", + "OperationId": "delete_single_api_key", + "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." + }, + { + "Order": 28, + "Title": "Retrieve current API keys and their respective data.", + "Slug": "get-api-keys", + "Description": "Generated from OpenAPI examples.", + "Language": "csharp", + "Code": "using var client = new IdeogramClient(apiKey);\nvar response = await client.Manage.GetApiKeysAsync();\n\n// Example response:\n// {\n// \u0022current_api_keys\u0022: [\n// {\n// \u0022creation_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022redacted_api_key\u0022: \u0022vkpDja\u0022,\n// \u0022api_key_id\u0022: \u0022JRPVD7jWR1aTBYiJ0UFVOg==\u0022\n// },\n// {\n// \u0022creation_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022redacted_api_key\u0022: \u0022vkpDja\u0022,\n// \u0022api_key_id\u0022: \u0022JRPVD7jWR1aTBYiJ0UFVOg==\u0022\n// }\n// ]\n// }", + "Format": "sdk", + "OperationId": "get_api_keys", + "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." + }, + { + "Order": 29, + "Title": "Retrieve API keys for a specific organization", + "Slug": "get-api-keys-v2", + "Description": "Generated from OpenAPI examples.", + "Language": "http", + "Code": "### Retrieve API keys for a specific organization\n# @name get_api_keys_v2\nGET {{host}}/manage/api/organization/api_keys?organization_id={{organization_id}}\nAuthorization: Bearer {{token}}\nAccept: application/json\n\n## Responses\n# 200\n# Description: API keys retrieved successfully\n# Content-Type: application/json\n# 401\n# Description: Not authorized\n# 403\n# Description: Not authorized\n# 404\n# Description: Organization not found", + "Format": "http", + "OperationId": "get_api_keys_v2", + "Setup": null + }, + { + "Order": 30, + "Title": "Get search results for user handles with suggestions for a particular organization.", + "Slug": "get-api-organization-user-suggestions", + "Description": "Generated from OpenAPI examples.", + "Language": "http", + "Code": "### Get search results for user handles with suggestions for a particular organization.\n# @name get_api_organization_user_suggestions\nGET {{host}}/manage/api/organization/user_suggestions?organization_id={{organization_id}}\u0026user_handle_prefix=sar\u0026maxItems=3\nAuthorization: Bearer {{token}}\nAccept: application/json\n\n## Responses\n# 200\n# Description: A list of the top responses in alphabetical order by user handle \u002B whether the user has joined the current organization already.\n# Content-Type: application/json\n# 401\n# Description: Not authorized\n# 403\n# Description: Not authorized\n# 404\n# Description: Organization not found", + "Format": "http", + "OperationId": "get_api_organization_user_suggestions", + "Setup": null + }, + { + "Order": 31, + "Title": "Retrieve the user\u0027s current API profiles", + "Slug": "get-api-profiles", + "Description": "Generated from OpenAPI examples.", + "Language": "csharp", + "Code": "using var client = new IdeogramClient(apiKey);\nvar response = await client.Manage.GetApiProfilesAsync();\n\n// Example response:\n// {\n// \u0022profiles\u0022: [\n// {\n// \u0022is_metronome_2_user\u0022: true,\n// \u0022role\u0022: \u0022OWNER\u0022,\n// \u0022avatar_url\u0022: \u0022https://example.com/avatar.jpg\u0022,\n// \u0022organization_id\u0022: \u0022b3JnYW5pemF0aW9uXzEyMw\u0022,\n// \u0022name\u0022: \u0022Gamma\u0022,\n// \u0022type\u0022: \u0022INDIVIDUAL\u0022,\n// \u0022api_keys\u0022: [\n// {\n// \u0022creation_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022redacted_api_key\u0022: \u0022ATG56\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\u0022,\n// \u0022api_key_id\u0022: \u0022JRPVD7jWR1aTBYiJ0UFVOg\u0022,\n// \u0022status\u0022: null\n// },\n// {\n// \u0022creation_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022redacted_api_key\u0022: \u0022ATG56\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\u0022,\n// \u0022api_key_id\u0022: \u0022JRPVD7jWR1aTBYiJ0UFVOg\u0022,\n// \u0022status\u0022: null\n// }\n// ],\n// \u0022max_num_inflight_requests_permitted\u0022: 10\n// },\n// {\n// \u0022is_metronome_2_user\u0022: true,\n// \u0022role\u0022: \u0022OWNER\u0022,\n// \u0022avatar_url\u0022: \u0022https://example.com/avatar.jpg\u0022,\n// \u0022organization_id\u0022: \u0022b3JnYW5pemF0aW9uXzEyMw\u0022,\n// \u0022name\u0022: \u0022Gamma\u0022,\n// \u0022type\u0022: \u0022INDIVIDUAL\u0022,\n// \u0022api_keys\u0022: [\n// {\n// \u0022creation_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022redacted_api_key\u0022: \u0022ATG56\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\u0022,\n// \u0022api_key_id\u0022: \u0022JRPVD7jWR1aTBYiJ0UFVOg\u0022,\n// \u0022status\u0022: null\n// },\n// {\n// \u0022creation_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022redacted_api_key\u0022: \u0022ATG56\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\u0022,\n// \u0022api_key_id\u0022: \u0022JRPVD7jWR1aTBYiJ0UFVOg\u0022,\n// \u0022status\u0022: null\n// }\n// ],\n// \u0022max_num_inflight_requests_permitted\u0022: 10\n// }\n// ]\n// }", + "Format": "sdk", + "OperationId": "get_api_profiles", + "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." + }, + { + "Order": 32, + "Title": "Retrieve data relevant to connecting to Stripe.", + "Slug": "get-api-stripe-subscription", + "Description": "Generated from OpenAPI examples.", + "Language": "csharp", + "Code": "using var client = new IdeogramClient(apiKey);\nvar response = await client.Manage.GetApiStripeSubscriptionAsync();\n\n// Example response:\n// {\n// \u0022stripe_subscription_url\u0022: \u0022stripe_subscription_url\u0022,\n// \u0022stripe_billing_url\u0022: \u0022stripe_billing_url\u0022\n// }", + "Format": "sdk", + "OperationId": "get_api_stripe_subscription", + "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." + }, + { + "Order": 33, + "Title": "Retrieve data relevant to creating an API subscription.", + "Slug": "get-api-subscription", + "Description": "Generated from OpenAPI examples.", + "Language": "csharp", + "Code": "using var client = new IdeogramClient(apiKey);\nvar response = await client.Manage.GetApiSubscriptionAsync();\n\n// Example response:\n// {\n// \u0022recharge_settings\u0022: {\n// \u0022is_active\u0022: true\n// },\n// \u0022has_stripe_setup\u0022: true,\n// \u0022metronome_dashboard_dark_mode_url\u0022: \u0022metronome_dashboard_dark_mode_url\u0022,\n// \u0022stripe_billing_url\u0022: \u0022stripe_billing_url\u0022,\n// \u0022current_balance\u0022: {\n// \u0022amount\u0022: 1050,\n// \u0022currency_code\u0022: \u0022USD\u0022\n// },\n// \u0022has_accepted_terms\u0022: true,\n// \u0022metronome_dashboard_url\u0022: \u0022metronome_dashboard_url\u0022,\n// \u0022metronome_links\u0022: {\n// \u0022usage_iframe_url\u0022: \u0022usage_iframe_url\u0022,\n// \u0022usage_iframe_dark_mode_url\u0022: \u0022usage_iframe_dark_mode_url\u0022,\n// \u0022credits_iframe_dark_mode_url\u0022: \u0022credits_iframe_dark_mode_url\u0022,\n// \u0022invoices_iframe_dark_mode_url\u0022: \u0022invoices_iframe_dark_mode_url\u0022,\n// \u0022invoices_iframe_url\u0022: \u0022invoices_iframe_url\u0022,\n// \u0022credits_iframe_url\u0022: \u0022credits_iframe_url\u0022\n// }\n// }", + "Format": "sdk", + "OperationId": "get_api_subscription", + "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." + }, + { + "Order": 34, + "Title": "Retrieve the latest terms of service for API usage.", + "Slug": "get-api-terms", + "Description": "Generated from OpenAPI examples.", + "Language": "csharp", + "Code": "using var client = new IdeogramClient(apiKey);\nvar response = await client.Manage.GetApiTermsAsync();\n\n// Example response:\n// {\n// \u0022api_terms\u0022: {\n// \u0022terms_url\u0022: \u0022terms_url\u0022,\n// \u0022terms_id\u0022: \u0022terms_id\u0022\n// }\n// }", + "Format": "sdk", + "OperationId": "get_api_terms", + "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." + }, + { + "Order": 35, + "Title": "Retrieve members of a specific organization", + "Slug": "get-organization-members", + "Description": "Generated from OpenAPI examples.", + "Language": "http", + "Code": "### Retrieve members of a specific organization\n# @name get_organization_members\nGET {{host}}/manage/api/organization/members?organization_id={{organization_id}}\nAuthorization: Bearer {{token}}\nAccept: application/json\n\n## Responses\n# 200\n# Description: Organization members retrieved successfully\n# Content-Type: application/json\n# 401\n# Description: Not authorized\n# 403\n# Description: Not authorized\n# 404\n# Description: Organization not found", + "Format": "http", + "OperationId": "get_organization_members", + "Setup": null + }, + { + "Order": 36, + "Title": "Retrieve usage information segmented by time period with tool-specific breakdowns", + "Slug": "get-usage-info", + "Description": "Generated from OpenAPI examples.", + "Language": "http", + "Code": "### Retrieve usage information segmented by time period with tool-specific breakdowns\n# @name get_usage_info\nGET {{host}}/manage/api/usage?organization_id={{organization_id}}\u0026segment_by=DAY\u0026start_time={{start_time}}\u0026end_time={{end_time}}\u0026model_versions=[]\u0026tools=[]\u0026api_key_ids=[]\u0026user_emails=[]\u0026source=API\nAuthorization: Bearer {{token}}\nAccept: application/json\n\n## Responses\n# 200\n# Description: Usage information retrieved successfully\n# Content-Type: application/json\n# 401\n# Description: Not authorized\n# 403\n# Description: Not authorized", + "Format": "http", + "OperationId": "get_usage_info", + "Setup": null + }, + { + "Order": 37, + "Title": "Retrieve user credit information and spending metrics", + "Slug": "get-user-credits", + "Description": "Generated from OpenAPI examples.", + "Language": "http", + "Code": "### Retrieve user credit information and spending metrics\n# @name get_user_credits\nGET {{host}}/manage/api/credits?organization_id={{organization_id}}\u0026start_time={{start_time}}\u0026end_time={{end_time}}\nAuthorization: Bearer {{token}}\nAccept: application/json\n\n## Responses\n# 200\n# Description: User credit information retrieved successfully\n# Content-Type: application/json\n# 401\n# Description: Not authorized\n# 403\n# Description: Not authorized", + "Format": "http", + "OperationId": "get_user_credits", + "Setup": null + }, + { + "Order": 38, + "Title": "Retrieve user spend commit information", + "Slug": "get-user-spend-commit-info", + "Description": "Generated from OpenAPI examples.", + "Language": "http", + "Code": "### Retrieve user spend commit information\n# @name get_user_spend_commit_info\nGET {{host}}/manage/api/spend_commit?organization_id={{organization_id}}\u0026postpaid_only={{postpaid_only}}\nAuthorization: Bearer {{token}}\nAccept: application/json\n\n## Responses\n# 200\n# Description: User spend commit information retrieved successfully\n# Content-Type: application/json\n# 401\n# Description: Not authorized\n# 403\n# Description: Not authorized", + "Format": "http", + "OperationId": "get_user_spend_commit_info", + "Setup": null + }, + { + "Order": 39, + "Title": "Retrieve invoices for a specific organization", + "Slug": "list-organization-invoices", + "Description": "Generated from OpenAPI examples.", + "Language": "http", + "Code": "### Retrieve invoices for a specific organization\n# @name list_organization_invoices\nGET {{host}}/manage/api/organization/list_invoices?organization_id={{organization_id}}\nAuthorization: Bearer {{token}}\nAccept: application/json\n\n## Responses\n# 200\n# Description: Invoices retrieved successfully\n# Content-Type: application/json\n# 401\n# Description: Not authorized\n# 403\n# Description: Not authorized\n# 404\n# Description: Organization not found", + "Format": "http", + "OperationId": "list_organization_invoices", + "Setup": null + }, + { + "Order": 40, + "Title": "Add credits to an API user\u0027s account.", + "Slug": "post-add-credits-for-api", + "Description": "Generated from OpenAPI examples.", + "Language": "csharp", + "Code": "using var client = new IdeogramClient(apiKey);\n\nvar request = global::System.Text.Json.JsonSerializer.Deserialize\u003Cglobal::Ideogram.PostAddCreditsRequest\u003E(\n @\u0022{\n \u0022\u0022amount\u0022\u0022: {\n \u0022\u0022amount\u0022\u0022: 1050,\n \u0022\u0022currency_code\u0022\u0022: \u0022\u0022USD\u0022\u0022\n }\n}\u0022)!;\n\nvar response = await client.Manage.PostAddCreditsForApiAsync(\n request: request\n);\n\n// Example response:\n// {\n// \u0022amount\u0022: {\n// \u0022amount\u0022: 1050,\n// \u0022currency_code\u0022: \u0022USD\u0022\n// }\n// }", + "Format": "sdk", + "OperationId": "post_add_credits_for_api", + "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." + }, + { + "Order": 41, + "Title": "Update API subscription settings", + "Slug": "post-api-subscription", + "Description": "Generated from OpenAPI examples.", + "Language": "csharp", + "Code": "using var client = new IdeogramClient(apiKey);\n\nvar request = global::System.Text.Json.JsonSerializer.Deserialize\u003Cglobal::Ideogram.PostApiSubscriptionRequest\u003E(\n @\u0022{\n \u0022\u0022recharge_settings\u0022\u0022: {\n \u0022\u0022minimum_balance_threshold\u0022\u0022: {\n \u0022\u0022amount\u0022\u0022: 1050,\n \u0022\u0022currency_code\u0022\u0022: \u0022\u0022USD\u0022\u0022\n },\n \u0022\u0022top_up_balance\u0022\u0022: {\n \u0022\u0022amount\u0022\u0022: 1050,\n \u0022\u0022currency_code\u0022\u0022: \u0022\u0022USD\u0022\u0022\n }\n },\n \u0022\u0022is_active\u0022\u0022: true\n}\u0022)!;\n\nvar response = await client.Manage.PostApiSubscriptionAsync(\n request: request\n);\n\n// Example response:\n// {\n// \u0022recharge_settings\u0022: {\n// \u0022is_active\u0022: true\n// }\n// }", + "Format": "sdk", + "OperationId": "post_api_subscription", + "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." + }, + { + "Order": 42, + "Title": "Accept terms", + "Slug": "post-api-terms", + "Description": "Generated from OpenAPI examples.", + "Language": "csharp", + "Code": "using var client = new IdeogramClient(apiKey);\n\nvar request = global::System.Text.Json.JsonSerializer.Deserialize\u003Cglobal::Ideogram.PostApiTermsRequest\u003E(\n @\u0022{\n \u0022\u0022terms_id\u0022\u0022: \u0022\u0022TOS_2024_04_20\u0022\u0022\n}\u0022)!;\n\nawait client.Manage.PostApiTermsAsync(\n request: request\n);", + "Format": "sdk", + "OperationId": "post_api_terms", + "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." + }, + { + "Order": 43, + "Title": "Promote members to OWNER role in a specific organization", + "Slug": "promote-organization-members", + "Description": "Generated from OpenAPI examples.", + "Language": "http", + "Code": "### Promote members to OWNER role in a specific organization\n# @name promote_organization_members\nPOST {{host}}/manage/api/organization/promote_members?organization_id={{organization_id}}\nAuthorization: Bearer {{token}}\nContent-Type: application/json\nAccept: application/json\n\n{\n \u0022members\u0022: [\n {\n \u0022display_handle\u0022: \u0022john_doe\u0022,\n \u0022email_address\u0022: \u0022john.doe@example.com\u0022,\n \u0022user_id\u0022: \u0022dXNlcl8xMjM\u0022\n },\n {\n \u0022display_handle\u0022: \u0022john_doe\u0022,\n \u0022email_address\u0022: \u0022john.doe@example.com\u0022,\n \u0022user_id\u0022: \u0022dXNlcl8xMjM\u0022\n }\n ]\n}\n\n## Responses\n# 200\n# Description: Results of promoting members in the organization\n# Content-Type: application/json\n# 400\n# Description: Bad Request\n# 401\n# Description: Not authorized\n# 403\n# Description: Not authorized - must be an organization owner\n# 404\n# Description: Organization not found", + "Format": "http", + "OperationId": "promote_organization_members", + "Setup": null + }, + { + "Order": 44, + "Title": "Reactivates a subscription by attempting to re-enable Metronome billing.", + "Slug": "reactivate-subscription", + "Description": "Generated from OpenAPI examples.", + "Language": "csharp", + "Code": "using var client = new IdeogramClient(apiKey);\nvar response = await client.Manage.ReactivateSubscriptionAsync();\n\n// Example response:\n// {\n// \u0022recharge_settings\u0022: {\n// \u0022is_active\u0022: true\n// }\n// }", + "Format": "sdk", + "OperationId": "reactivate_subscription", + "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." + }, + { + "Order": 45, + "Title": "Remove members from a specific organization", + "Slug": "remove-organization-members", + "Description": "Generated from OpenAPI examples.", + "Language": "http", + "Code": "### Remove members from a specific organization\n# @name remove_organization_members\nPOST {{host}}/manage/api/organization/remove_members?organization_id={{organization_id}}\nAuthorization: Bearer {{token}}\nContent-Type: application/json\nAccept: application/json\n\n{\n \u0022members\u0022: [\n {\n \u0022display_handle\u0022: \u0022john_doe\u0022,\n \u0022email_address\u0022: \u0022john.doe@example.com\u0022,\n \u0022user_id\u0022: \u0022dXNlcl8xMjM\u0022\n },\n {\n \u0022display_handle\u0022: \u0022john_doe\u0022,\n \u0022email_address\u0022: \u0022john.doe@example.com\u0022,\n \u0022user_id\u0022: \u0022dXNlcl8xMjM\u0022\n }\n ]\n}\n\n## Responses\n# 200\n# Description: Results of removing members from the organization\n# Content-Type: application/json\n# 400\n# Description: Bad Request\n# 401\n# Description: Not authorized\n# 403\n# Description: Not authorized - must be an organization owner\n# 404\n# Description: Organization not found", + "Format": "http", + "OperationId": "remove_organization_members", + "Setup": null + }, + { + "Order": 46, + "Title": "Get model details", + "Slug": "get-custom-model", + "Description": "Get detailed information about a specific custom model, including training run history for owned models. The user must either own the model or the model must be shared with the user\u0027s organization via the model registry. Returns 404 if the model is not found or not accessible.", + "Language": "http", + "Code": "### Get model details\n# @name get_custom_model\nGET {{host}}/models/{{model_id}}\nAuthorization: Bearer {{token}}\nAccept: application/json\n\n## Responses\n# 200\n# Description: Model retrieved successfully\n# Content-Type: application/json\n# 401\n# Description: Unauthorized\n# 404\n# Description: Model not found", + "Format": "http", + "OperationId": "get_custom_model", + "Setup": null + }, + { + "Order": 47, + "Title": "List models", + "Slug": "list-custom-models", + "Description": "Lists custom models for the authenticated user. Use the \u0060scope\u0060 parameter to control which models are returned. \u0060owned\u0060 (default) returns models created by the user. \u0060shared\u0060 returns models shared with the user\u0027s organization via the model registry, excluding the user\u0027s own models.", + "Language": "csharp", + "Code": "using var client = new IdeogramClient(apiKey);\nvar response = await client.Models.ListCustomModelsAsync();\n\n// Example response:\n// {\n// \u0022models\u0022: [\n// {\n// \u0022creation_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022last_update_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022is_available_for_generation\u0022: true,\n// \u0022dataset_id\u0022: \u0022dataset_id\u0022,\n// \u0022name\u0022: \u0022name\u0022,\n// \u0022is_owned\u0022: true,\n// \u0022training_runs\u0022: [\n// {\n// \u0022creation_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022last_update_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022lora_rank\u0022: 6,\n// \u0022num_chips\u0022: 1,\n// \u0022training_run_id\u0022: \u0022training_run_id\u0022,\n// \u0022ema\u0022: 5.962133916683182,\n// \u0022training_steps\u0022: 0,\n// \u0022learning_rate\u0022: 5.637376656633329,\n// \u0022status\u0022: null\n// },\n// {\n// \u0022creation_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022last_update_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022lora_rank\u0022: 6,\n// \u0022num_chips\u0022: 1,\n// \u0022training_run_id\u0022: \u0022training_run_id\u0022,\n// \u0022ema\u0022: 5.962133916683182,\n// \u0022training_steps\u0022: 0,\n// \u0022learning_rate\u0022: 5.637376656633329,\n// \u0022status\u0022: null\n// }\n// ],\n// \u0022model_id\u0022: \u0022model_id\u0022,\n// \u0022custom_model_uri\u0022: \u0022model/my-custom-model/version/1\u0022,\n// \u0022status\u0022: null\n// },\n// {\n// \u0022creation_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022last_update_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022is_available_for_generation\u0022: true,\n// \u0022dataset_id\u0022: \u0022dataset_id\u0022,\n// \u0022name\u0022: \u0022name\u0022,\n// \u0022is_owned\u0022: true,\n// \u0022training_runs\u0022: [\n// {\n// \u0022creation_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022last_update_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022lora_rank\u0022: 6,\n// \u0022num_chips\u0022: 1,\n// \u0022training_run_id\u0022: \u0022training_run_id\u0022,\n// \u0022ema\u0022: 5.962133916683182,\n// \u0022training_steps\u0022: 0,\n// \u0022learning_rate\u0022: 5.637376656633329,\n// \u0022status\u0022: null\n// },\n// {\n// \u0022creation_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022last_update_time\u0022: \u00222000-01-23T04:56:07\\u002B00:00\u0022,\n// \u0022lora_rank\u0022: 6,\n// \u0022num_chips\u0022: 1,\n// \u0022training_run_id\u0022: \u0022training_run_id\u0022,\n// \u0022ema\u0022: 5.962133916683182,\n// \u0022training_steps\u0022: 0,\n// \u0022learning_rate\u0022: 5.637376656633329,\n// \u0022status\u0022: null\n// }\n// ],\n// \u0022model_id\u0022: \u0022model_id\u0022,\n// \u0022custom_model_uri\u0022: \u0022model/my-custom-model/version/1\u0022,\n// \u0022status\u0022: null\n// }\n// ]\n// }", + "Format": "sdk", + "OperationId": "list_custom_models", + "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." + }, + { + "Order": 48, + "Title": "Generate Magic Prompt", + "Slug": "post-magic-prompt", + "Description": "Transforms basic prompts into a magic prompt. Internal use only (feature flagged). TODO: update description if enabled externally.", + "Language": "csharp", + "Code": "using var client = new IdeogramClient(apiKey);\n\nvar request = global::System.Text.Json.JsonSerializer.Deserialize\u003Cglobal::Ideogram.MagicPromptRequest\u003E(\n @\u0022{\n \u0022\u0022prompt\u0022\u0022: \u0022\u0022a cat\u0022\u0022,\n \u0022\u0022magic_prompt_version\u0022\u0022: \u0022\u0022V_0_4\u0022\u0022,\n \u0022\u0022classify_prompt_category\u0022\u0022: true,\n \u0022\u0022style_type\u0022\u0022: \u0022\u0022AUTO\u0022\u0022,\n \u0022\u0022seed\u0022\u0022: 12345\n}\u0022)!;\n\nvar response = await client.Prompt.PostMagicPromptAsync(\n request: request\n);\n\n// Example response:\n// {\n// \u0022magic_prompt\u0022: \u0022A photorealistic cat with striking green eyes, sitting gracefully on a vintage wooden chair. The cat\\u0027s fur has beautiful orange and white markings, and soft natural lighting illuminates the scene from a nearby window.\u0022\n// }", + "Format": "sdk", + "OperationId": "post_magic_prompt", + "Setup": "This example assumes \u0060using Ideogram;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." + }, + { + "Order": 49, + "Title": "Describe", + "Slug": "post-describe", + "Description": "Describe an image.\n\nSupported image formats include JPEG, PNG, and WebP.", + "Language": "http", + "Code": "### Describe\n# @name post_describe\nPOST {{host}}/describe\nAuthorization: Bearer {{token}}\nContent-Type: multipart/form-data\nAccept: application/json\n\n## Responses\n# 200\n# Description: Description(s) created successfully.\n# Content-Type: application/json\n# 400\n# Description: Invalid input provided.\n# 422\n# Description: Image failed the safety check.\n# Content-Type: application/json\n# 429\n# Description: Too many requests.", + "Format": "http", + "OperationId": "post_describe", + "Setup": null + } + ] +} \ No newline at end of file